community.aws.ec2_asg_info – Сбор информации об автомасштабируемых группах EC2 (ASG) в AWS
Примечание
Этот плагин входит в коллекцию community.aws (версия 1.3.0).
Для его установки используйте: ansible-galaxy collection install community.aws.
Для использования в книге задач, укажите: community.aws.ec2_asg_info.
Добавлена в версии 1.0.0: из community.aws
Обзор
- Сбор информации об автомасштабируемых группах EC2 (ASG) в AWS
- Этот модуль назывался
ec2_asg_factsдо Ansible 2.9. Использование не изменилось.
Требования
Ниже перечислены требования, необходимые на хосте, который выполняет этот модуль.
- boto
- boto3
- python >= 2.6
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| aws_access_key строка | Ключ доступа AWS. Если не задан, используется значение переменной окружения AWS_ACCESS_KEY_ID, AWS_ACCESS_KEY или EC2_ACCESS_KEY. Если задан параметр profile, этот параметр игнорируется. Передача параметров aws_access_key и profile одновременно устарела и параметры будут сделаны взаимоисключающими после 2022-06-01. псевдонимы: ec2_access_key, access_key | |
| aws_ca_bundle путь | Расположение файла CA Bundle для проверки сертификатов SSL. Используется только для модулей, основанных на boto3. Примечание: CA Bundle читается со стороны модуля и может потребоваться явное копирование с контроллера, если он не запущен локально. | |
| aws_config словарь | Словарь для изменения конфигурации botocore. Параметры можно найти по адресу https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config. Для модулей boto используется только ключ 'user_agent'. См. http://boto.cloudhackers.com/en/latest/boto_config_tut.html#boto для получения дополнительной информации о конфигурации boto. | |
| aws_secret_key строка | Секретный ключ AWS. Если не задан, используется значение переменной окружения AWS_SECRET_ACCESS_KEY, AWS_SECRET_KEY или EC2_SECRET_KEY. Если задан параметр profile, этот параметр игнорируется. Передача параметров aws_secret_key и profile одновременно устарела и параметры будут сделаны взаимоисключающими после 2022-06-01. псевдонимы: ec2_secret_key, secret_key | |
| debug_botocore_endpoint_logs булево |
| Использовать логгер botocore.endpoint для анализа уникальных (а не общих) API-вызовов «ресурс:действие», выполненных во время задачи, выводя набор в ключ resource_actions результатов задачи. Используйте обратный вызов aws_resource_action для вывода общего списка, созданного во время выполнения книги задач. Также может быть использована переменная окружения ANSIBLE_DEBUG_BOTOCORE_LOGS. |
| ec2_url строка | URL для подключения к EC2 или вашей облачной платформе Eucalyptus (по умолчанию модуль будет использовать адреса EC2). Игнорируется для модулей, для которых необходим регион. Должен быть указан для всех других модулей, если регион не используется. Если не задан, используется значение переменной окружения EC2_URL, если таковая имеется. псевдонимы: aws_endpoint_url, endpoint_url | |
| name строка | Префикс или имя автомасштабируемой группы(ы), которую вы ищете. Примечание: это сопоставление по регулярному выражению с неявным '^' (начало строки). Добавьте '$', чтобы полностью совпадало имя. | |
| profile строка | Использует профиль boto. Работает только с boto >= 2.24.0. Использование profile переопределяет aws_access_key, aws_secret_key и security_token, а поддержка их одновременной передачи с profile устарела. aws_access_key, aws_secret_key и security_token будут сделаны взаимоисключающими с profile после 2022-06-01. псевдонимы: aws_profile | |
| region строка | Регион AWS для использования. Если не указан, используется значение переменной окружения AWS_REGION или EC2_REGION, если таковая имеется. См. http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region псевдонимы: aws_region, ec2_region | |
| security_token строка | Токен безопасности AWS STS. Если не задан, используется значение переменной окружения AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN. Если задан параметр profile, этот параметр игнорируется. Передача параметров security_token и profile одновременно устарела и параметры будут сделаны взаимоисключающими после 2022-06-01. псевдонимы: aws_security_token, access_token | |
| tags словарь | Словарь/хеш тегов в формате { имя_тега1: 'значение_тега1', имя_тега2: 'значение_тега2' } для сопоставления с автомасштабируемой группой(ами), которую вы ищете. | |
| validate_certs булево |
| При значении "нет", сертификаты SSL не будут проверяться для версий boto >= 2.6.0. |
Примечания
Примечание
- Если параметры не заданы в модуле, могут быть использованы следующие переменные окружения в порядке убывания приоритета
AWS_URLилиEC2_URL,AWS_PROFILEилиAWS_DEFAULT_PROFILE,AWS_ACCESS_KEY_IDилиAWS_ACCESS_KEYилиEC2_ACCESS_KEY,AWS_SECRET_ACCESS_KEYилиAWS_SECRET_KEYилиEC2_SECRET_KEY,AWS_SECURITY_TOKENилиEC2_SECURITY_TOKEN,AWS_REGIONилиEC2_REGION,AWS_CA_BUNDLE - Ansible использует файл конфигурации boto (обычно ~/.boto), если учетные данные не предоставлены. См. https://boto.readthedocs.io/en/latest/boto_config_tut.html
-
AWS_REGIONилиEC2_REGIONмогут использоваться для указания региона AWS, когда это требуется, но это также можно настроить в файле конфигурации boto.
Примеры
# Note: These examples do not set authentication details, see the AWS Guide for details.
- name: Find all groups
community.aws.ec2_asg_info:
register: asgs
- name: Find a group with matching name/prefix
community.aws.ec2_asg_info:
name: public-webserver-asg
register: asgs
- name: Find a group with matching tags
community.aws.ec2_asg_info:
tags:
project: webapp
env: production
register: asgs
- name: Find a group with matching name/prefix and tags
community.aws.ec2_asg_info:
name: myproject
tags:
env: production
register: asgs
- name: Fail if no groups are found
community.aws.ec2_asg_info:
name: public-webserver-asg
register: asgs
failed_when: "{{ asgs.results | length == 0 }}"
- name: Fail if more than 1 group is found
community.aws.ec2_asg_info:
name: public-webserver-asg
register: asgs
failed_when: "{{ asgs.results | length > 1 }}"
Возвращаемые значения
Общие возвращаемые значения документированы здесь, следующие — поля, уникальные для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| auto_scaling_group_arn строка | успех | Amazon Resource Name (ARN) группы автоматического масштабирования (ASG) Пример: arn:aws:autoscaling:us-west-2:1234567890:autoScalingGroup:10787c52-0bcb-427d-82ba-c8e4b008ed2e:autoScalingGroupName/public-webapp-production-1 |
| auto_scaling_group_name строка | успех | Имя группы автоматического масштабирования Пример: public-webapp-production-1 |
| availability_zones список / элементы=строка | успех | Список доступных зон, включенных для этой группы ASG. Пример: ['us-west-2a', 'us-west-2b', 'us-west-2a'] |
| created_time строка | успех | Дата и время создания этой группы ASG в формате ISO 8601. Пример: 2015-11-25T00:05:36.309Z |
| default_cooldown целое число | успех | Значение времени охлаждения по умолчанию в секундах. Пример: 300 |
| desired_capacity целое число | успех | Количество экземпляров EC2, которые должны работать в этой группе. Пример: 3 |
| health_check_period целое число | успех | Промежуток времени в секундах после запуска нового экземпляра EC2, в течение которого Auto Scaling начинает проверять его состояние работоспособности. Пример: 30 |
| health_check_type строка | успех | Сервис, от которого вы хотите получить состояние работоспособности, один из "EC2" или "ELB". Пример: ELB |
| instances список / элементы=строка | успех | Список экземпляров EC2 и их состояния, относящихся к группе ASG. Пример: [{'availability_zone': 'us-west-2a', 'health_status': 'Здоровый', 'instance_id': 'i-es22ad25', 'launch_configuration_name': 'public-webapp-production-1', 'lifecycle_state': 'В работе', 'protected_from_scale_in': 'false'}] |
| launch_config_name строка | успех | Имя конфигурации запуска, связанной с ASG. Такое же, как launch_configuration_name, предоставлено для совместимости с модулем ec2_asg. Пример: public-webapp-production-1 |
| launch_configuration_name строка | успех | Имя конфигурации запуска, связанной с ASG. Пример: public-webapp-production-1 |
| load_balancer_names список / элементы=строка | успех | Список имен балансировщиков нагрузки, подключенных к ASG. Пример: ['elb-webapp-prod'] |
| max_size целое число | успех | Максимальный размер группы Пример: 3 |
| min_size целое число | успех | Минимальный размер группы Пример: 1 |
| new_instances_protected_from_scale_in булево | успех | Защищены ли новые экземпляры от автоматического масштабирования. Пример: false |
| placement_group строка | успех | Группа размещения, в которую запускаются экземпляры, если таковая имеется. Пример: None |
| status строка | успех | Текущее состояние группы во время выполнения DeleteAutoScalingGroup. Пример: None |
| tags список / элементы=строка | успех | Список тегов для ASG и того, распространяются ли эти теги на экземпляры при запуске. Пример: [{'key': 'Имя', 'propagate_at_launch': 'true', 'resource_id': 'public-webapp-production-1', 'resource_type': 'группа-автоматического-масштабирования', 'value': 'public-webapp-production-1'}, {'key': 'env', 'propagate_at_launch': 'true', 'resource_id': 'public-webapp-production-1', 'resource_type': 'группа-автоматического-масштабирования', 'value': 'production'}] |
| target_group_arns список / элементы=строка | успех | Список ARN целевых групп, которые заполняет ASG Пример: ['arn:aws:elasticloadbalancing:ap-southeast-2:123456789012:targetgroup/target-group-host-hello/1a2b3c4d5e6f1a2b', 'arn:aws:elasticloadbalancing:ap-southeast-2:123456789012:targetgroup/target-group-path-world/abcd1234abcd1234'] |
| target_group_names список / элементы=строка | успех | Список имен целевых групп, которые заполняет ASG Пример: ['target-group-host-hello', 'target-group-path-world'] |
| termination_policies строка | успех | Список политик завершения для группы. Пример: ['Default'] |
Авторы
- Rob White (@wimnat)
© 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/aws/ec2_asg_info_module.html