ec2_ami_find — Поиск AMIs для получения ID AMI и другой информации
Новое в версии 2.0.
УСТЕРЕЛО
| Удалено в Ansible: | |
|---|---|
| версия: 2.9 | |
| Почему: | Различные модули AWS объединены и заменены на ec2_ami_facts. |
| Альтернатива: | Используйте ec2_ami_facts вместо этого. |
Описание
- Возвращает список соответствующих AMIs с ID AMI и другой полезной информацией
- Может искать AMIs с разными владельцами
- Может искать по совпадающим тегам, имени AMI и/или другим критериям
- Результаты могут быть отсортированы и ограничены
Требования
Ниже приведенные требования необходимы на хосте, на котором выполняется этот модуль.
- boto
- python >= 2.6
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| ami_id | Идентификатор AMI для соответствия. | |
| ami_tags | Словарь тегов для соответствия AMI. | |
| architecture | Тип архитектуры для соответствия (например, x86_64). | |
| 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 | |
| ec2_url | URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль использует конечные точки EC2). Игнорируется для модулей, где требуется регион. Должен быть указан для всех других модулей, если регион не используется. Если не задано, используется значение переменной окружения EC2_URL, если таковое имеется. | |
| hypervisor | Тип гипервизора для соответствия (например, xen). | |
| is_public bool |
| Является ли образ публичным. |
| name | Имя AMI для соответствия. | |
| no_result_action |
| Действие при отсутствии результатов. 'success' сообщает об успехе и возвращает пустой массив 'fail' заставляет модуль сообщить об ошибке |
| owner | Поиск AMIs, принадлежащих указанному владельцу Можно указать ID AWS учетной записи или одно из специальных значений 'self', 'amazon' или 'aws-marketplace' Если не указано, будут проверены все AMIs EC2 в указанном регионе. Вы можете использовать подстановочные знаки во многих параметрах поиска. Звездочка (*) соответствует нулю или более символам, а знак вопроса (?) — ровно одному символу. Вы можете экранировать специальные символы, используя обратную косую черту (\) перед символом. Например, значение \*amazon\?\\ ищет строку *amazon?\. | |
| platform | Тип платформы для соответствия. | |
| product_code (добавлено в 2.3) | Код продукта маркетплейса для соответствия. | |
| profile (добавлено в 1.6) | Использует профиль boto. Работает только с boto >= 2.24.0. | |
| region необходимо | Регион AWS для использования. Псевдонимы: aws_region, ec2_region | |
| root_device_type (добавлено в 2.5) | Тип корневого устройства для соответствия (например, ebs, instance-store). | |
| security_token (добавлено в 1.6) | AWS STS токен безопасности. Если не задано, используется значение переменной окружения AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN. Псевдонимы: access_token | |
| sort |
| Необязательный атрибут для сортировки результатов. Если задан 'tag', требуется параметр 'tag_name'. Начиная с версии 2.1, поддерживаются дополнительные варианты сортировки architecture, block_device_mapping, creationDate, hypervisor, is_public, location, owner_id, platform, root_device_name, root_device_type, state и virtualization_type. |
| sort_end | Индекс конечного результата (при сортировке). Соответствует нотации срезов Python. | |
| sort_order |
| Порядок сортировки результатов. Используется только при указании параметра 'sort'. |
| sort_start | Индекс начального результата (при сортировке). Соответствует нотации срезов Python. | |
| sort_tag | Имя тега для сортировки результатов. Требуется при указании 'sort=tag'. | |
| state | По умолчанию: "available" | Состояние AMI для соответствия. |
| validate_certs bool (добавлено в 1.5) |
| При значении "нет" сертификаты SSL не будут проверены для boto версий >= 2.6.0. |
| virtualization_type | Тип виртуализации для соответствия (например, hvm). |
Примечания
Примечание
- Этот модуль несовместим со старой версией модуля ec2_search_ami, который работал только с Ubuntu AMIs, перечисленными на cloud-images.ubuntu.com.
- См. пример ниже для получения рекомендаций по поиску по дистрибутиву/релизу.
- Если параметры не заданы в модуле, следующие переменные среды могут быть использованы в порядке убывания приоритета
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), если учетные данные не предоставлены. См. http://boto.readthedocs.org/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.
# Search for the AMI tagged "project:website"
- ec2_ami_find:
owner: self
ami_tags:
project: website
no_result_action: fail
register: ami_find
# Search for the latest Ubuntu 14.04 AMI
- ec2_ami_find:
name: "ubuntu/images/ebs/ubuntu-trusty-14.04-amd64-server-*"
owner: 099720109477
sort: name
sort_order: descending
sort_end: 1
register: ami_find
# Launch an EC2 instance
- ec2:
image: "{{ ami_find.results[0].ami_id }}"
instance_type: m3.medium
key_name: mykey
wait: yes
Возвращаемые значения
Общие значения возврата описаны в здесь, следующие поля уникальны для данного модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| ami_id строка | при обнаружении AMI | идентификатор найденной amazon-образа Пример: ami-e9095e8c |
| architecture строка | при обнаружении AMI | архитектура образа Пример: x86_64 |
| block_device_mapping словарь | при обнаружении AMI | отображение блочных устройств, связанных с образом Пример: { '/dev/xvda': { 'delete_on_termination': true, 'encrypted': false, 'size': 8, 'snapshot_id': 'snap-ca0330b8', 'volume_type': 'gp2' } |
| creationDate строка | при обнаружении AMI | дата создания образа Пример: 2015-10-15T22:43:44.000Z |
| description строка | при обнаружении AMI | описание образа Пример: test-server01 |
| hypervisor строка | при обнаружении AMI | тип гипервизора Пример: xen |
| is_public логическое | при обнаружении AMI | является ли образ общедоступным |
| location строка | при обнаружении AMI | местоположение образа Пример: 435210894375/test-server01-20151015-234343 |
| name строка | при обнаружении AMI | имя AMI образа Пример: test-server01-20151015-234343 |
| owner_id строка | при обнаружении AMI | владелец образа Пример: 435210894375 |
| platform строка | при обнаружении AMI | платформа образа |
| root_device_name строка | при обнаружении AMI | имя корневого устройства образа Пример: /dev/xvda |
| root_device_type строка | при обнаружении AMI | тип корневого устройства образа Пример: ebs |
| state строка | при обнаружении AMI | состояние образа Пример: available |
| tags словарь | при обнаружении AMI | теги, назначенные образу Пример: { 'Environment': 'devel', 'Name': 'test-server01', 'Role': 'web' } |
| virtualization_type строка | при обнаружении AMI | тип виртуализации образа Пример: hvm |
Статус
Этот модуль помечен как устаревший и будет удалён в версии 2.9. Дополнительная информация см. в разделе УСТАРЕВШИЙ.
Автор
- Tom Bamford (@tombamford)
Подсказка
Если вы заметите какие-либо проблемы в этом руководстве, вы можете отредактировать этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.6/modules/ec2_ami_find_module.html