community.general.ali_instance_info 模块 – 收集阿里云 ECS 实例信息
注意
此模块是 community.general 集合 (版本 10.1.0) 的一部分。
如果您使用的是 ansible
包,则可能已安装此集合。它不包含在 ansible-core
中。要检查是否已安装它,请运行 ansible-galaxy collection list
。
要安装它,请使用:ansible-galaxy collection install community.general
。您需要其他要求才能使用此模块,请参阅 要求 获取详细信息。
要在 playbook 中使用它,请指定:community.general.ali_instance_info
。
摘要
此模块从阿里云的开放 API 中获取数据。必须在 ECS 实例本身内部调用此模块。
要求
执行此模块的主机需要以下要求。
Python >= 3.6
footmark >= 1.13.0
参数
参数 |
注释 |
---|---|
阿里云访问密钥。如果未设置,则将使用环境变量 |
|
如果提供角色 ARN,Ansible 将尝试使用提供的凭据来承担此角色。 嵌套的 assume_role 块支持 |
|
阿里云 |
|
阿里云 |
|
阿里云 session_name。承担角色时要使用的会话名称。如果省略,则将“ansible”作为会话名称传递给 AssumeRole 调用。它支持环境变量 |
|
要使用的阿里云区域。如果未指定,则将使用环境变量 |
|
阿里云密钥。如果未设置,则将使用环境变量 |
|
阿里云安全令牌。如果未指定,则将使用环境变量 |
|
附加在 ECS 实例上用于 API 操作的 RAM 角色名称。您可以从阿里云控制台的“访问控制”部分中检索此名称。 如果您在使用 RAM 角色的 RAM 实例 ECS 实例上运行 Ansible,Ansible 将只访问元数据http://100.100.100.200/latest/meta-data/ram/security-credentials/<ecs_role_name>以获取 STS 凭证。在 ECS 中运行时,这是比任何其他方法都更优选的方法,因为您可以避免硬编码凭证。相反,这些凭证是由 Ansible 即时租用的,从而降低了泄漏的可能性。 |
|
要应用的过滤器字典。每个字典项包含一个过滤器键和一个过滤器值。过滤器键可以是所有请求参数。有关参数详细信息,请参见https://www.alibabacloud.com/help/doc-detail/25506.htm。过滤器键可以与请求参数名称相同,也可以是小写,并使用下划线( |
|
使用实例名称前缀过滤 ECS 实例。 |
|
这是在共享凭证文件中设置的阿里云配置文件名称。它也可以从 |
|
这是共享凭证文件的路径。它也可以从 如果未设置此项并且指定了配置文件,则将使用 |
|
实例标签的哈希/字典。 |
属性
属性 |
支持 |
描述 |
---|---|---|
支持:完全支持 在 community.general 3.3.0 中添加 此操作不会修改状态。 |
可以在 |
|
支持:N/A 此操作不会修改状态。 |
在差异模式下,将返回有关已更改内容(或可能需要在 |
备注
注意
如果模块中未设置参数,则可以使用以下环境变量,优先级递减:
ALICLOUD_ACCESS_KEY
或ALICLOUD_ACCESS_KEY_ID
、ALICLOUD_SECRET_KEY
或ALICLOUD_SECRET_ACCESS_KEY
、ALICLOUD_REGION
或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
或ALICLOUD_REGION_ID
通常可用于指定阿里云区域(如果需要),但这也可以在足迹配置文件中配置。
示例
# 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"
返回值
常用返回值已在此处记录,以下是此模块特有的字段。
键 |
描述 |
---|---|
ECS 实例 ID 列表 返回:始终 示例: |
|
ECS 实例列表 返回:始终 |
|
实例所在的可用区。 返回:始终 示例: |
|
实例的任何块设备映射条目。 返回:始终 |
|
附件启动的时间戳。 返回:始终 示例: |
|
指示在实例终止时是否删除卷。 返回:始终 示例: |
|
公开给实例的设备名称(例如,/dev/xvda)。 返回:始终 示例: |
|
附件状态。 返回:始终 示例: |
|
云盘的 ID。 返回:始终 示例: |
|
实例的 CPU 核心数。 返回:始终 示例: |
|
创建实例的时间。 返回:始终 示例: |
|
实例描述。 返回:始终 示例: |
|
与实例关联的 EIP 的属性。 返回:始终 |
|
EIP 的 ID。 返回:始终 示例: |
|
EIP 的互联网计费类型。 返回:始终 示例: |
|
EIP 地址。 返回:始终 示例: |
|
实例将过期的日期时间。 返回:始终 示例: |
|
实例 GPU 的属性。 返回:始终 |
|
GPU 的数量。 返回:始终 示例: |
|
GPU 的规格。 返回:始终 示例: |
|
实例的主机名。 返回:始终 示例: |
|
instance_id 的别名。 返回:始终 示例: |
|
用于启动实例的镜像的 ID。 返回:始终 示例: |
|
经典实例的内部 IPv4 地址。 返回:始终 示例: |
|
实例计费类型。 返回:始终 示例: |
|
ECS 实例资源 ID。 返回:始终 示例: |
|
实例的名称。 返回:始终 示例: |
|
正在运行的实例的实例类型。 返回:始终 示例: |
|
实例所属的实例类型族。 返回:始终 示例: |
|
网络带宽的计费方式。 返回:始终 示例: |
|
来自互联网网络的最大入站带宽。 返回:始终 示例: |
|
来自互联网网络的最大入站带宽。 返回:始终 示例: |
|
指示实例是否针对 EBS I/O 进行了优化。 返回:始终 示例: |
|
实例的内存大小。 返回:始终 示例: |
|
实例的一个或多个网络接口。 返回:始终 |
|
MAC 地址。 返回:始终 示例: |
|
网络接口的 ID。 返回:始终 示例: |
|
vswitch 中网络接口的主要 IPv4 地址。 返回:始终 示例: |
|
实例拥有的操作系统的名称。 返回:始终 示例: |
|
实例拥有的操作系统的类型。 返回:始终 示例: |
|
子网内网络接口的IPv4地址。 返回:始终 示例: |
|
分配给实例或EIP地址的公有IPv4地址。 返回:始终 示例: |
|
实例所属资源组的ID。 返回:始终 示例: |
|
实例的一个或多个安全组。 返回:始终 |
|
安全组的ID。 返回:始终 示例: |
|
安全组的名称。 返回:始终 示例: |
|
实例的当前状态。 返回:始终 示例: |
|
分配给实例的任何标签。 返回:始终 |
|
实例所在的VPC的ID。 返回:始终 示例: |
|
实例运行所在的vswitch的ID。 返回:始终 示例: |