community.aws.ec2_asg_info – Сбор информации об группах автоматического масштабирования EC2 (ASGs) в AWS
Примечание
Этот плагин входит в коллекцию community.aws (версия 1.3.0).
Для его установки используйте: ansible-galaxy collection install community.aws.
Для использования в плейбуке укажите: community.aws.ec2_asg_info.
Новый в версии 1.0.0: из community.aws
Описание
- Сбор информации о группах автоматического масштабирования EC2 (ASGs) в 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 для проверки SSL-сертификатов. Используется только для модулей на основе boto3. Примечание: Файл сертификатов CA считывается «со стороны» модуля и может потребоваться явно скопировать его с контроллера, если он не запущен локально. | |
| aws_config словарь | Словарь для изменения конфигурации botocore. Параметры можно найти на https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config. Для модулей boto используется только ключ 'user_agent'. Дополнительные конфигурации boto см. на http://boto.cloudhackers.com/en/latest/boto_config_tut.html#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': 'Healthy', 'instance_id': 'i-es22ad25', 'launch_configuration_name': 'public-webapp-production-1', 'lifecycle_state': 'InService', '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': 'Name', 'propagate_at_launch': 'true', 'resource_id': 'public-webapp-production-1', 'resource_type': 'auto-scaling-group', 'value': 'public-webapp-production-1'}, {'key': 'env', 'propagate_at_launch': 'true', 'resource_id': 'public-webapp-production-1', 'resource_type': 'auto-scaling-group', '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–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/community/aws/ec2_asg_info_module.html