Note
This plugin is part of the community.general collection (version 3.8.1).
You might already have this collection installed if you are using the ansible
package. It is not included in ansible-core
. To check whether it is installed, run ansible-galaxy collection list
.
To install it, use: ansible-galaxy collection install community.general
.
To use it in a playbook, specify: community.general.ali_instance_info
.
ali_instance_facts
before Ansible 2.9. The usage did not change.The below requirements are needed on the host that executes this module.
Parameter | Choices/Defaults | Comments |
---|---|---|
alicloud_access_key string | Alibaba Cloud access key. If not set then the value of environment variable ALICLOUD_ACCESS_KEY , ALICLOUD_ACCESS_KEY_ID will be used instead.aliases: access_key_id, access_key | |
alicloud_assume_role dictionary | If provided with a role ARN, Ansible will attempt to assume this role using the supplied credentials. The nested assume_role block supports alicloud_assume_role_arn, alicloud_assume_role_session_name, alicloud_assume_role_session_expiration and alicloud_assume_role_policy
aliases: assume_role | |
alicloud_assume_role_arn string | The Alibaba Cloud role_arn. The ARN of the role to assume. If ARN is set to an empty string, it does not perform role switching. It supports environment variable ALICLOUD_ASSUME_ROLE_ARN. ansible will execute with provided credentials. aliases: assume_role_arn | |
alicloud_assume_role_session_expiration integer | The Alibaba Cloud session_expiration. The time after which the established session for assuming role expires. Valid value range 900-3600 seconds. Default to 3600 (in this case Alicloud use own default value). It supports environment variable ALICLOUD_ASSUME_ROLE_SESSION_EXPIRATION aliases: assume_role_session_expiration | |
alicloud_assume_role_session_name string | The Alibaba Cloud session_name. The session name to use when assuming the role. If omitted, 'ansible' is passed to the AssumeRole call as session name. It supports environment variable ALICLOUD_ASSUME_ROLE_SESSION_NAME aliases: assume_role_session_name | |
alicloud_region string / required | The Alibaba Cloud region to use. If not specified then the value of environment variable ALICLOUD_REGION , ALICLOUD_REGION_ID will be used instead.aliases: region, region_id | |
alicloud_secret_key string | Alibaba Cloud secret key. If not set then the value of environment variable ALICLOUD_SECRET_KEY , ALICLOUD_SECRET_ACCESS_KEY will be used instead.aliases: secret_access_key, secret_key | |
alicloud_security_token string | The Alibaba Cloud security token. If not specified then the value of environment variable ALICLOUD_SECURITY_TOKEN will be used instead.aliases: security_token | |
availability_zone string | Aliyun availability zone ID in which to launch the instance. Deprecated parameter, it will be removed in community.general 5.0.0. Please use filter item zone_id instead. aliases: alicloud_zone | |
ecs_role_name string | The RAM Role Name attached on a ECS instance for API operations. You can retrieve this from the 'Access Control' section of the Alibaba Cloud console. If you're running Ansible from an ECS instance with RAM Instance using RAM Role, Ansible will just access the metadata http://100.100.100.200/latest/meta-data/ram/security-credentials/<ecs_role_name> to obtain the STS credential. This is a preferred approach over any other when running in ECS as you can avoid hard coding credentials. Instead these are leased on-the-fly by Ansible which reduces the chance of leakage. aliases: role_name | |
filters dictionary added in 0.2.0 of community.general | A dict of filters to apply. Each dict item consists of a filter key and a filter value. The filter keys can be all of request parameters. See https://www.alibabacloud.com/help/doc-detail/25506.htm for parameter details. Filter keys can be same as request parameter name or be lower case and use underscore ("_") or dash ("-") to connect different words in one parameter. 'InstanceIds' should be a list and it will be appended to instance_ids automatically. 'Tag.n.Key' and 'Tag.n.Value' should be a dict and using tags instead. | |
instance_ids list / elements=string | A list of ECS instance ids. aliases: ids | |
instance_names list / elements=string | A list of ECS instance names. Deprecated parameter, it will be removed in community.general 5.0.0. Please use filter item instance_name instead. aliases: names | |
name_prefix string added in 0.2.0 of community.general | Use a instance name prefix to filter ecs instances. | |
profile string | This is the Alicloud profile name as set in the shared credentials file. It can also be sourced from the ALICLOUD_PROFILE environment variable. | |
shared_credentials_file string | This is the path to the shared credentials file. It can also be sourced from the ALICLOUD_SHARED_CREDENTIALS_FILE environment variable. If this is not set and a profile is specified, ~/.aliyun/config.json will be used. | |
tags dictionary | A hash/dictionaries of instance tags. {"key":"value"}
aliases: instance_tags |
Note
ALICLOUD_ACCESS_KEY
or ALICLOUD_ACCESS_KEY_ID
, ALICLOUD_SECRET_KEY
or ALICLOUD_SECRET_ACCESS_KEY
, ALICLOUD_REGION
or ALICLOUD_REGION_ID
, ALICLOUD_SECURITY_TOKEN
, ALICLOUD_ECS_ROLE_NAME
, ALICLOUD_SHARED_CREDENTIALS_FILE
, ALICLOUD_PROFILE
, ALICLOUD_ASSUME_ROLE_ARN
, ALICLOUD_ASSUME_ROLE_SESSION_NAME
, ALICLOUD_ASSUME_ROLE_SESSION_EXPIRATION
,ALICLOUD_REGION
or ALICLOUD_REGION_ID
can be typically be used to specify the ALICLOUD region, when required, but this can also be configured in the footmark config file# Fetch instances details according to setting different filters - name: Find all instances in the specified region community.general.ali_instance_info: register: all_instances - name: Find all instances based on the specified ids community.general.ali_instance_info: instance_ids: - "i-35b333d9" - "i-ddav43kd" register: instances_by_ids - name: Find all instances based on the specified name_prefix community.general.ali_instance_info: name_prefix: "ecs_instance_" register: instances_by_name_prefix - name: Find instances based on tags community.general.ali_instance_info: tags: Test: "add"
Common return values are documented here, the following are the fields unique to this module:
Key | Returned | Description | ||
---|---|---|---|---|
ids list / elements=string | always | List of ECS instance IDs Sample: ['i-12345er', 'i-3245fs'] | ||
instances complex | always | List of ECS instances | ||
availability_zone string | always | The availability zone of the instance is in. Sample: cn-beijing-a | ||
block_device_mappings complex | always | Any block device mapping entries for the instance. | ||
attach_time string | always | The time stamp when the attachment initiated. Sample: 2018-06-25T04:08:26Z | ||
delete_on_termination boolean | always | Indicates whether the volume is deleted on instance termination. Sample: True | ||
device_name string | always | The device name exposed to the instance (for example, /dev/xvda). Sample: /dev/xvda | ||
status string | always | The attachment state. Sample: in_use | ||
volume_id string | always | The ID of the cloud disk. Sample: d-2zei53pjsi117y6gf9t6 | ||
cpu integer | always | The CPU core count of the instance. Sample: 4 | ||
creation_time string | always | The time the instance was created. Sample: 2018-06-25T04:08Z | ||
description string | always | The instance description. Sample: my ansible instance | ||
eip complex | always | The attribution of EIP associated with the instance. | ||
allocation_id string | always | The ID of the EIP. Sample: eip-12345 | ||
internet_charge_type string | always | The internet charge type of the EIP. Sample: paybybandwidth | ||
ip_address string | always | EIP address. Sample: 42.10.2.2 | ||
expired_time string | always | The time the instance will expire. Sample: 2099-12-31T15:59Z | ||
gpu complex | always | The attribution of instance GPU. | ||
amount integer | always | The count of the GPU. | ||
spec string | always | The specification of the GPU. | ||
host_name string | always | The host name of the instance. Sample: iZ2zewaoZ | ||
id string | always | Alias of instance_id. Sample: i-abc12345 | ||
image_id string | always | The ID of the image used to launch the instance. Sample: m-0011223344 | ||
inner_ip_address string | always | The inner IPv4 address of the classic instance. Sample: 10.0.0.2 | ||
instance_charge_type string | always | The instance charge type. Sample: PostPaid | ||
instance_id string | always | ECS instance resource ID. Sample: i-abc12345 | ||
instance_name string | always | The name of the instance. Sample: my-ecs | ||
instance_type string | always | The instance type of the running instance. Sample: ecs.sn1ne.xlarge | ||
instance_type_family string | always | The instance type family of the instance belongs. Sample: ecs.sn1ne | ||
internet_charge_type string | always | The billing method of the network bandwidth. Sample: PayByBandwidth | ||
internet_max_bandwidth_in integer | always | Maximum incoming bandwidth from the internet network. Sample: 200 | ||
internet_max_bandwidth_out integer | always | Maximum incoming bandwidth from the internet network. Sample: 20 | ||
io_optimized boolean | always | Indicates whether the instance is optimized for EBS I/O. | ||
memory integer | always | Memory size of the instance. Sample: 8192 | ||
network_interfaces complex | always | One or more network interfaces for the instance. | ||
mac_address string | always | The MAC address. Sample: 00:11:22:33:44:55 | ||
network_interface_id string | always | The ID of the network interface. Sample: eni-01234567 | ||
primary_ip_address string | always | The primary IPv4 address of the network interface within the vswitch. Sample: 10.0.0.1 | ||
osname string | always | The operation system name of the instance owned. Sample: CentOS | ||
ostype string | always | The operation system type of the instance owned. Sample: linux | ||
private_ip_address string | always | The IPv4 address of the network interface within the subnet. Sample: 10.0.0.1 | ||
public_ip_address string | always | The public IPv4 address assigned to the instance or eip address Sample: 43.0.0.1 | ||
resource_group_id string | always | The id of the resource group to which the instance belongs. Sample: my-ecs-group | ||
security_groups list / elements=dictionary | always | One or more security groups for the instance. | ||
group_id string | always | The ID of the security group. Sample: sg-0123456 | ||
group_name string | always | The name of the security group. Sample: my-security-group | ||
status string | always | The current status of the instance. Sample: running | ||
tags dictionary | always | Any tags assigned to the instance. | ||
vpc_id string | always | The ID of the VPC the instance is in. Sample: vpc-0011223344 | ||
vswitch_id string | always | The ID of the vswitch in which the instance is running. Sample: vsw-dew00abcdef |
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/general/ali_instance_info_module.html