ec2_asg_info – Сбор информации об группах автомасштабирования ec2 (ASGs) в AWS
Обзор
- Сбор информации о группах автомасштабирования ec2 (ASGs) в AWS
- Этот модуль назывался
ec2_asg_factsдо Ansible 2.9. Способ использования не изменился.
Псевдонимы: ec2_asg_facts
Требования
Ниже перечислены требования к хосту, на котором будет выполняться этот модуль.
- boto
- boto3
- python >= 2.6
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| aws_access_key строка | Ключ доступа AWS. Если не задан, используется значение переменной окружения AWS_ACCESS_KEY_ID, AWS_ACCESS_KEY или EC2_ACCESS_KEY. Псевдонимы: ec2_access_key, access_key | |
| aws_secret_key строка | Секретный ключ AWS. Если не задан, используется значение переменной окружения AWS_SECRET_ACCESS_KEY, AWS_SECRET_KEY или EC2_SECRET_KEY. Псевдонимы: ec2_secret_key, secret_key | |
| debug_botocore_endpoint_logs логический добавлено в 2.8 |
| Использовать логирование botocore.endpoint для анализа уникальных (а не общих) API-вызовов «ресурс:действие», совершённых во время задачи, выводя набор в ключ resource_actions результатов задачи. Используйте обратный вызов aws_resource_action для вывода общего списка, созданного во время выполнения плейбука. Также может быть использована переменная окружения ANSIBLE_DEBUG_BOTOCORE_LOGS. |
| ec2_url строка | URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль будет использовать конечные точки EC2). Игнорируется для модулей, где регион требуется. Должен быть указан для всех остальных модулей, если регион не используется. Если не задан, используется значение переменной окружения EC2_URL, если таковая есть. | |
| name - | Префикс или имя группы(группы) автомасштабирования, которую(ые) вы ищете. Примечание: Это сопоставление по регулярному выражению с неявным '^' (начало строки). Добавьте '$', чтобы сопоставить полное имя. | |
| profile строка | Использует профиль boto. Работает только с boto >= 2.24.0. | |
| 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. Псевдонимы: access_token | |
| tags - | Словарь/хеш тегов в формате { имя_тега1: 'значение_тега1', имя_тега2: 'значение_тега2' } для сопоставления с группами автомасштабирования, которые вы ищете. | |
| validate_certs логический |
| Если установлено «нет», сертификаты SSL для boto-версий >= 2.6.0 не будут проверены. |
Примечания
Примечание
- Если параметры не заданы в модуле, могут быть использованы следующие переменные окружения в порядке убывания приоритета
AWS_URLилиEC2_URL,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 - 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.
# Find all groups
- ec2_asg_info:
register: asgs
# Find a group with matching name/prefix
- ec2_asg_info:
name: public-webserver-asg
register: asgs
# Find a group with matching tags
- ec2_asg_info:
tags:
project: webapp
env: production
register: asgs
# Find a group with matching name/prefix and tags
- ec2_asg_info:
name: myproject
tags:
env: production
register: asgs
# Fail if no groups are found
- ec2_asg_info:
name: public-webserver-asg
register: asgs
failed_when: "{{ asgs.results | length == 0 }}"
# Fail if more than 1 group is found
- 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', 'value': 'public-webapp-production-1', 'resource_id': 'public-webapp-production-1', 'resource_type': 'auto-scaling-group', 'propagate_at_launch': 'true'}, {'key': 'env', 'value': 'production', 'resource_id': 'public-webapp-production-1', 'resource_type': 'auto-scaling-group', 'propagate_at_launch': 'true'}] |
| target_group_arns список | успех | Список ARNs целевых групп, которые заполняет группа 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'] |
Статус
- Данный модуль не гарантирует обратной совместимости интерфейса. [превью]
- Этот модуль поддерживается сообществом Ansible. [community]
Авторы
- 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.9/modules/ec2_asg_info_module.html