community.aws.ec2_asg_facts – Сбор информации о группах автоматического масштабирования EC2 (ASG) в AWS
Примечание
Этот плагин входит в коллекцию community.aws (версия 1.3.0).
Для его установки используйте: ansible-galaxy collection install community.aws.
Для использования в плейбуке укажите: community.aws.ec2_asg_facts.
Новый в версии 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 для проверки SSL-сертификатов. Используется только для модулей на основе boto3. Примечание: Файл CA Bundle читается на стороне модуля и может потребоваться его явно скопировать с контроллера, если выполнение не происходит локально. | |
| 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 строка | Адрес для подключения к 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_facts_module.html