lightsail – Создание или удаление виртуальной машины в AWS Lightsail
Новая версия 2.4.
Описание
- Создаёт или устанавливает экземпляры в AWS Lightsail и, по желанию, ждёт, пока он не станет 'запущенным'.
Требования
Ниже приведены требования, необходимые на хосте, на котором выполняется этот модуль.
- 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 | |
| blueprint_id - | Идентификатор образа шаблона экземпляра. Требуется, когда state='present' | |
| bundle_id - | Набор данных спецификаций для экземпляра. Требуется, когда state='present' | |
| debug_botocore_endpoint_logs boolean добавлен в 2.8 |
| Использовать логирование botocore.endpoint для анализа уникальных (а не общих) API-вызовов «resource:action», выполненных во время задачи, выводом набора в ключ resource_actions в результатах задачи. Используйте обратный вызов aws_resource_action для вывода полного списка, сделанного во время выполнения playbook. Переменная среды ANSIBLE_DEBUG_BOTOCORE_LOGS также может быть использована. |
| ec2_url строка | URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль будет использовать конечные точки EC2). Игнорируется для модулей, где область требуется. Должен быть указан для всех остальных модулей, если область не используется. Если не задан, используется значение переменной среды EC2_URL, если таковая имеется. | |
| key_pair_name - | Имя пары ключей для использования с экземпляром | |
| 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 | |
| state - |
| Указывает желаемое состояние целевого объекта. |
| user_data - | Запуск скрипта, который может настроить экземпляр с дополнительными данными | |
| validate_certs boolean |
| Если установлено в «нет», сертификаты SSL для boto версии >= 2.6.0 не будут проверяться. |
| wait boolean |
| Подождать, пока экземпляр не перейдёт в состояние 'running', прежде чем вернуть значение. Если wait = «нет», адрес ip может не быть возвращён |
| wait_timeout - | По умолчанию: 300 | Сколько времени подождать, прежде чем wait прекратит ожидание, в секундах. |
| zone - | Доступная зона AWS, в которой необходимо запустить экземпляр. Требуется, когда state='present' |
Примечания
Примечание
- Если параметры не заданы в модуле, следующие переменные среды могут быть использованы в порядке убывания приоритета
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
Примеры
# Create a new Lightsail instance, register the instance details
- lightsail:
state: present
name: myinstance
region: us-east-1
zone: us-east-1a
blueprint_id: ubuntu_16_04
bundle_id: nano_1_0
key_pair_name: id_rsa
user_data: " echo 'hello world' > /home/ubuntu/test.txt"
wait_timeout: 500
register: my_instance
- debug:
msg: "Name is {{ my_instance.instance.name }}"
- debug:
msg: "IP is {{ my_instance.instance.public_ip_address }}"
# Delete an instance if present
- lightsail:
state: absent
region: us-east-1
name: myinstance
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| changed boolean | всегда | если снимок был изменён/создан Пример: {'changed': True} |
| instance словарь | всегда | данные экземпляра Пример: {'arn': 'arn:aws:lightsail:us-east-1:448830907657:Instance/1fef0175-d6c8-480e-84fa-214f969cda87', 'blueprint_id': 'ubuntu_16_04', 'blueprint_name': 'Ubuntu', 'bundle_id': 'nano_1_0', 'created_at': '2017-03-27T08:38:59.714000-04:00', 'hardware': {'cpu_count': 1, 'ram_size_in_gb': 0.5}, 'is_static_ip': False, 'location': {'availability_zone': 'us-east-1a', 'region_name': 'us-east-1'}, 'name': 'my_instance', 'networking': {'monthly_transfer': {'gb_per_month_allocated': 1024}, 'ports': [{'access_direction': 'inbound', 'access_from': 'Anywhere (0.0.0.0/0)', 'access_type': 'public', 'common_name': '', 'from_port': 80, 'protocol': 'tcp', 'to_port': 80}, {'access_direction': 'inbound', 'access_from': 'Anywhere (0.0.0.0/0)', 'access_type': 'public', 'common_name': '', 'from_port': 22, 'protocol': 'tcp', 'to_port': 22}]}, 'private_ip_address': '172.26.8.14', 'public_ip_address': '34.207.152.202', 'resource_type': 'Instance', 'ssh_key_name': 'keypair', 'state': {'code': 16, 'name': 'запущен'}, 'support_code': '588307843083/i-0997c97831ee21e33', 'username': 'ubuntu'} |
Статус
- Этот модуль не гарантирует обратную совместимость интерфейса. [превью]
- Этот модуль поддерживается сообществом Ansible. [сообщество]
Авторы
- Nick Ball (@nickball)
Подсказка
Если вы обнаружите какие-либо проблемы в этой документации, вы можете изменить этот документ для его улучшения.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.8/modules/lightsail_module.html