community.general.ali_instance_facts – Сбор информации о виртуальных машинах Alibaba Cloud ECS.
Примечание
Этот плагин входит в коллекцию community.general (версия 1.3.2).
Для его установки используйте: ansible-galaxy collection install community.general.
Для использования в плейбуке укажите: community.general.ali_instance_facts.
Обзор
- Этот модуль извлекает данные из Open API в Alicloud. Модуль должен вызываться изнутри виртуальной машины ECS.
- Этот модуль был вызван
ali_instance_factsдо Ansible 2.9. Способ использования не изменился.
Требования
Ниже перечислены требования, необходимые на хосте, который выполняет этот модуль.
- footmark >= 1.13.0
- python >= 3.6
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| alicloud_access_key строка | Ключ доступа Alibaba Cloud. Если не задан, будет использовано значение переменной окружения ALICLOUD_ACCESS_KEY, ALICLOUD_ACCESS_KEY_ID. Псевдонимы: access_key_id, access_key | |
| alicloud_assume_role словарь | Если указан ARN роли, Ansible попытается принять на себя эту роль, используя предоставленные учетные данные. Вложенный блок assume_role поддерживает alicloud_assume_role_arn, alicloud_assume_role_session_name, alicloud_assume_role_session_expiration и alicloud_assume_role_policy
Псевдонимы: assume_role | |
| alicloud_assume_role_arn строка | ARN роли Alibaba Cloud. ARN роли, которую нужно принять на себя. Если ARN установлено на пустую строку, переключение ролей не выполняется. Поддерживает переменную окружения ALICLOUD_ASSUME_ROLE_ARN. Ansible выполнится с предоставленными учетными данными. Псевдонимы: assume_role_arn | |
| alicloud_assume_role_session_expiration целое число | Срок действия сеанса Alibaba Cloud. Время, по истечении которого созданный сеанс для принятия роли истекает. Допустимые значения от 900 до 3600 секунд. По умолчанию 3600 (в этом случае Alicloud использует собственное значение по умолчанию). Поддерживает переменную окружения ALICLOUD_ASSUME_ROLE_SESSION_EXPIRATION Псевдонимы: assume_role_session_expiration | |
| alicloud_assume_role_session_name строка | Имя сеанса Alibaba Cloud. Имя сеанса для использования при принятии роли. Если опущено, «ansible» передается в вызов AssumeRole в качестве имени сеанса. Поддерживает переменную окружения ALICLOUD_ASSUME_ROLE_SESSION_NAME Псевдонимы: assume_role_session_name | |
| alicloud_region строка / обязательно | Используемый регион Alibaba Cloud. Если не указан, будет использовано значение переменной окружения ALICLOUD_REGION, ALICLOUD_REGION_ID. Псевдонимы: region, region_id | |
| alicloud_secret_key строка | Секретный ключ Alibaba Cloud. Если не задан, будет использовано значение переменной окружения ALICLOUD_SECRET_KEY, ALICLOUD_SECRET_ACCESS_KEY. Псевдонимы: secret_access_key, secret_key | |
| alicloud_security_token строка | Токен безопасности Alibaba Cloud. Если не указан, будет использовано значение переменной окружения ALICLOUD_SECURITY_TOKEN. Псевдонимы: security_token | |
| availability_zone строка | (Устарело) Идентификатор зоны доступности Aliyun, в которой должна быть запущена виртуальная машина. Используйте вместо этого элемент фильтра 'zone_id'. Псевдонимы: alicloud_zone | |
| ecs_role_name строка | Имя роли RAM, прикрепленной к виртуальной машине ECS для операций API. Его можно получить в разделе «Управление доступом» консоли Alibaba Cloud. Если Ansible запускается с виртуальной машины ECS с ролью RAM Instance, Ansible просто получит учетные данные STS из метаданных http://100.100.100.200/latest/meta-data/ram/security-credentials/<ecs_role_name>. Это предпочтительный подход при запуске в ECS, так как позволяет избежать жесткого кодирования учетных данных. Вместо этого они сдают в аренду по мере необходимости, что снижает риск утечки. Псевдонимы: role_name | |
| filters словарь добавлен в 0.2.0 community.general | Словарь фильтров для применения. Каждый элемент словаря содержит ключ фильтра и значение фильтра. Ключи фильтров могут быть любыми параметрами запроса. Смотрите https://www.alibabacloud.com/help/doc-detail/25506.htm для получения подробной информации о параметрах. Ключи фильтров могут быть такими же, как имя параметра запроса, или быть написаны строчными буквами с использованием подчеркивания ("_") или дефиса ("-") для соединения разных слов в одном параметре. 'InstanceIds' должен быть списком, и он будет автоматически добавлен в instance_ids. 'Tag.n.Key' и 'Tag.n.Value' должны быть словарями и использовать tags вместо этого. | |
| instance_ids список / элементы=строка | Список идентификаторов виртуальных машин ECS. Псевдонимы: ids | |
| instance_names список / элементы=строка | (Устарело) Список имен виртуальных машин ECS. Используйте вместо этого элемент фильтра 'instance_name'. Псевдонимы: names | |
| name_prefix строка добавлен в 0.2.0 community.general | Используйте префикс имени виртуальной машины для фильтрации виртуальных машин ECS. | |
| profile строка | Имя профиля Alicloud, заданное в файле общих учетных данных. Также можно получить из переменной окружения ALICLOUD_PROFILE. | |
| shared_credentials_file строка | Путь к файлу общих учетных данных. Также можно получить из переменной окружения ALICLOUD_SHARED_CREDENTIALS_FILE. Если не задано и указан профиль, будет использован ~/.aliyun/config.json. | |
| tags словарь | Хеш/словари тегов виртуальной машины. {"key":"value"}.
Псевдонимы: instance_tags |
Примечания
Примечание
- Если параметры не заданы в модуле, могут быть использованы следующие переменные среды в порядке убывания приоритета
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обычно могут использоваться для указания региона ALICLOUD, когда это необходимо, но это также можно настроить в файле конфигурации footmark
Примеры
# 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"
Возвращаемые значения
Общие возвращаемые значения документированы здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание | ||
|---|---|---|---|---|
| ids список / элементы=строка | всегда | Список идентификаторов экземпляров ECS Пример: ['i-12345er', 'i-3245fs'] | ||
| instances сложный тип | всегда | Список экземпляров ECS | ||
| availability_zone строка | всегда | Зона доступности, в которой находится экземпляр. Пример: cn-beijing-a | ||
| block_device_mappings сложный тип | всегда | Любые записи отображения блочных устройств для экземпляра. | ||
| attach_time строка | всегда | Отметка времени, когда началось подключение. Пример: 2018-06-25T04:08:26Z | ||
| delete_on_termination булево | всегда | Указывает, будет ли том удален при завершении работы экземпляра. Пример: True | ||
| device_name строка | всегда | Имя устройства, доступное для экземпляра (например, /dev/xvda). Пример: /dev/xvda | ||
| status строка | всегда | Состояние подключения. Пример: in_use | ||
| volume_id строка | всегда | Идентификатор облачного диска. Пример: d-2zei53pjsi117y6gf9t6 | ||
| cpu целое число | всегда | Количество ядер процессора экземпляра. Пример: 4 | ||
| creation_time строка | всегда | Время создания экземпляра. Пример: 2018-06-25T04:08Z | ||
| description строка | всегда | Описание экземпляра. Пример: my ansible instance | ||
| eip сложный тип | всегда | Атрибуты EIP, связанных с экземпляром. | ||
| allocation_id строка | всегда | Идентификатор EIP. Пример: eip-12345 | ||
| internet_charge_type строка | всегда | Тип оплаты интернета EIP. Пример: paybybandwidth | ||
| ip_address строка | всегда | Адрес EIP. Пример: 42.10.2.2 | ||
| expired_time строка | всегда | Время истечения срока действия экземпляра. Пример: 2099-12-31T15:59Z | ||
| gpu сложный тип | всегда | Атрибуты GPU экземпляра. | ||
| amount целое число | всегда | Количество GPU. | ||
| spec строка | всегда | Спецификация GPU. | ||
| host_name строка | всегда | Имя хоста экземпляра. Пример: iZ2zewaoZ | ||
| id строка | всегда | Псевдоним instance_id. Пример: i-abc12345 | ||
| image_id строка | всегда | Идентификатор образа, используемого для запуска экземпляра. Пример: m-0011223344 | ||
| inner_ip_address строка | всегда | Внутренний IPv4-адрес классического экземпляра. Пример: 10.0.0.2 | ||
| instance_charge_type строка | всегда | Тип оплаты экземпляра. Пример: PostPaid | ||
| instance_id строка | всегда | Идентификатор ресурса экземпляра ECS. Пример: i-abc12345 | ||
| instance_name строка | всегда | Имя экземпляра. Пример: my-ecs | ||
| instance_type строка | всегда | Тип экземпляра. Пример: ecs.sn1ne.xlarge | ||
| instance_type_family строка | всегда | Семейство типов экземпляров, к которому относится экземпляр. Пример: ecs.sn1ne | ||
| internet_charge_type строка | всегда | Способ оплаты сетевой пропускной способности. Пример: PayByBandwidth | ||
| internet_max_bandwidth_in целое число | всегда | Максимальная входящая пропускная способность из интернета. Пример: 200 | ||
| internet_max_bandwidth_out целое число | всегда | Максимальная исходящая пропускная способность в интернет. Пример: 20 | ||
| io_optimized булево | всегда | Указывает, оптимизирован ли экземпляр для ввода-вывода EBS. | ||
| memory целое число | всегда | Объем памяти экземпляра. Пример: 8192 | ||
| network_interfaces сложный тип | всегда | Один или несколько сетевых интерфейсов для экземпляра. | ||
| mac_address строка | всегда | MAC-адрес. Пример: 00:11:22:33:44:55 | ||
| network_interface_id строка | всегда | Идентификатор сетевого интерфейса. Пример: eni-01234567 | ||
| primary_ip_address строка | всегда | Основной IPv4-адрес сетевого интерфейса внутри vswitch. Пример: 10.0.0.1 | ||
| osname строка | всегда | Имя операционной системы экземпляра. Пример: CentOS | ||
| ostype строка | всегда | Тип операционной системы экземпляра. Пример: linux | ||
| private_ip_address строка | всегда | IPv4-адрес сетевого интерфейса внутри подсети. Пример: 10.0.0.1 | ||
| public_ip_address строка | всегда | Публичный IPv4-адрес, назначенный экземпляру или адресу EIP. Пример: 43.0.0.1 | ||
| resource_group_id строка | всегда | Идентификатор группы ресурсов, к которой принадлежит экземпляр. Пример: my-ecs-group | ||
| security_groups список / элементы=словарь | всегда | Один или несколько наборов правил безопасности для экземпляра. | ||
| group_id строка | всегда | Идентификатор набора правил безопасности. Пример: sg-0123456 | ||
| group_name string | always | Имя группы безопасности. Пример: my-security-group | ||
| status string | always | Текущий статус экземпляра. Пример: running | ||
| tags dictionary | always | Любые теги, назначенные экземпляру. | ||
| vpc_id string | always | ID VPC, в котором находится экземпляр. Пример: vpc-0011223344 | ||
| vswitch_id string | always | ID vswitch, в котором запущен экземпляр. Пример: vsw-dew00abcdef | ||
Авторы
- He Guimin (@xiaozhu36)
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/community/general/ali_instance_facts_module.html