community.general.ali_instance_info – Сбор информации об экземплярах Alibaba Cloud ECS.
Примечание
Этот плагин является частью коллекции community.general (версия 2.0.1).
Для его установки используйте: ansible-galaxy collection install community.general.
Чтобы использовать его в книге задач, укажите: community.general.ali_instance_info.
Описание
- Этот модуль извлекает данные из открытого 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 просто обратится к метаданным http://100.100.100.200/latest/meta-data/ram/security-credentials/<ecs_role_name> для получения учетных данных STS. Это предпочтительный подход при работе в ECS, так как позволяет избежать жесткой кодировки учетных данных. Вместо этого они предоставляются Ansible по мере необходимости, что снижает вероятность утечки. псевдонимы: 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 строка | всегда | Присвоенный экземпляру или EIP адрес общедоступный IPv4-адрес. Пример: 43.0.0.1 | ||
| resource_group_id строка | всегда | Идентификатор группы ресурсов, к которой принадлежит экземпляр. Пример: my-ecs-group | ||
| security_groups список / элементы=словарь | всегда | Одна или несколько групп безопасности для экземпляра. | ||
| group_id строка | всегда | Идентификатор группы безопасности. Пример: sg-0123456 | ||
| Название группы безопасности строка | всегда | Имя группы безопасности. Пример: my-security-group | ||
| Статус строка | всегда | Текущий статус экземпляра. Пример: running | ||
| Метки словарь | всегда | Любые метки, назначенные экземпляру. | ||
| ID VPC строка | всегда | ID VPC, в котором находится экземпляр. Пример: vpc-0011223344 | ||
| ID vswitch строка | всегда | ID vswitch, в котором работает экземпляр. Пример: vsw-dew00abcdef | ||
Авторы
- He Guimin (@xiaozhu36)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/community/general/ali_instance_info_module.html