lightsail – Создание или удаление виртуальной машины в AWS Lightsail
Новая версия 2.4.
Обзор
- Создаёт или экземпляры в AWS Lightsail и, по желанию, ожидает, пока он не станет ‘running’.
Требования
Ниже перечислены требования к хосту, на котором будет выполняться этот модуль.
- 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 логический тип добавлен в 2.8 |
| Использование логгера botocore.endpoint для анализа уникальных (а не общих) API-вызовов "resource:action", выполненных во время задачи, выводит набор в ключ resource_actions в результатах задачи. Используйте обратный вызов aws_resource_action для вывода полного списка, выполненного во время выполнения playbook. Также может использоваться переменная окружения ANSIBLE_DEBUG_BOTOCORE_LOGS. |
| ec2_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 логический тип |
| В случае установки "нет", сертификаты SSL не будут проверяться для версий boto >= 2.6.0. |
| wait логический тип |
| Ожидать, пока экземпляр не перейдёт в состояние '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 логический тип | всегда | если снимок был изменён/создан Пример: {'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': 'running'}, 'support_code': '588307843083/i-0997c97831ee21e33', 'username': 'ubuntu'} |
Статус
- Этот модуль не гарантирует обратную совместимость интерфейса. [превью]
- Этот модуль поддерживается сообществом Ansible. [community]
Авторы
- 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.9/modules/lightsail_module.html