community.general.ali_instance модуль — Создание, запуск, остановка, перезапуск или завершение экземпляра в ECS; Добавление или удаление экземпляра в/из группы безопасности
Примечание
Этот модуль является частью коллекции community.general (версия 9.5.0).
У вас, возможно, уже установлена эта коллекция, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить установку, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install community.general. Для использования этого модуля необходимы дополнительные требования, см. Требования для получения подробностей.
Для использования в книге задач укажите: community.general.ali_instance.
Описание
- Создание, запуск, остановка, перезапуск, модификация или завершение экземпляров ecs.
- Добавление или удаление экземпляров ecs в/из группы безопасности.
Требования
Ниже приведены требования к хосту, на котором выполняется этот модуль.
- Python >= 3.6
- footmark >= 1.19.0
Параметры
Параметр | Комментарии |
|---|---|
alicloud_access_key псевдонимы: access_key_id, access_key строка | Ключ доступа к Alibaba Cloud. Если не задан, используется значение переменной среды |
alicloud_assume_role псевдонимы: assume_role словарь | Если указан ARN роли, Ansible попытается принять эту роль, используя предоставленные учетные данные. Вложенный блок assume_role поддерживает |
alicloud_assume_role_arn псевдонимы: assume_role_arn строка | ARN роли Alibaba Cloud. ARN роли, которую необходимо принять. Если ARN установлена в пустую строку, переключение роли не выполняется. Поддерживает переменные среды |
alicloud_assume_role_session_expiration псевдонимы: assume_role_session_expiration целое число | Время истечения сессии для принятия роли Alibaba Cloud. Время, по истечении которого установленная сессия для принятия роли истекает. Допустимый диапазон значений 900-3600 секунд. По умолчанию 3600 (в этом случае Alicloud использует собственное значение по умолчанию). Поддерживает переменную среды |
alicloud_assume_role_session_name псевдонимы: assume_role_session_name строка | Идентификатор сессии Alibaba Cloud. Имя сессии, используемой при принятии роли. Если опущено, «ansible» передается в вызов AssumeRole в качестве имени сессии. Поддерживает переменную среды |
alicloud_region псевдонимы: region, region_id строка / обязательный | Регион Alibaba Cloud для использования. Если не указано, используется значение переменной среды |
alicloud_secret_key псевдонимы: secret_access_key, secret_key строка | Секретный ключ Alibaba Cloud. Если не задан, используется значение переменной среды |
alicloud_security_token псевдонимы: security_token строка | Безопасный токен Alibaba Cloud. Если не указан, используется значение переменной среды |
allocate_public_ip псевдонимы: assign_public_ip логический тип | Выделить публичный IP-адрес для нового экземпляра. Варианты:
|
auto_renew логический тип | Автоматически продлевать плату за экземпляр. Варианты:
|
auto_renew_period целое число | Срок автоматического продления платы за экземпляр. Требуется, когда Варианты:
|
availability_zone псевдонимы: alicloud_zone, zone_id строка | Идентификатор зоны доступности Aliyun, в которой запускать экземпляр. Если не указано, он будет назначен системой автоматически. |
count целое число | Количество новых экземпляров. Целое значение, указывающее, сколько экземпляров, соответствующих По умолчанию: |
count_tag строка |
|
description строка |
dry_run boolean added in community.general 0.2.0 | Указывает, нужно ли отправить запрос в режиме предварительного просмотра. Если Если Выбираемые значения:
|
ecs_role_name aliases: role_name string | Имя роли RAM, присоединенной к экземпляру ECS для операций API. Вы можете получить его в разделе «Управление доступом» консоли Alibaba Cloud. Если вы запускаете Ansible с экземпляра ECS с использованием RAM Instance и RAM Role, Ansible просто получит данные метаданных http://100.100.100.200/latest/meta-data/ram/security-credentials/<ecs_role_name> для получения учетных данных STS. Это предпочтительный подход при работе в ECS, так как вы можете избежать жесткой кодировки учетных данных. Вместо этого они сдают в аренду Ansible по мере необходимости, что уменьшает вероятность утечки. |
force boolean | Требуется ли выполнение текущей операции принудительно. Выбираемые значения:
|
host_name string | Имя хоста экземпляра. Заданное имя хоста не поддерживается. |
image_id aliases: image string | Идентификатор образа, используемый для запуска экземпляров. Требуется, когда |
include_data_disks boolean added in community.general 0.2.0 | Указать, нужно ли изменять тип оплаты дисков экземпляра при изменении типа оплаты экземпляра. Выбираемые значения:
|
instance_charge_type string | Тип оплаты экземпляра. Выбираемые значения:
|
instance_ids list / elements=string | Список идентификаторов экземпляров. Требуется, когда необходимо выполнить операцию с существующими экземплярами. Если это указано, |
instance_name aliases: name string | |
instance_type aliases: type string | Тип экземпляра, используемый для запуска экземпляров. Требуется, когда |
internet_charge_type string | Тип оплаты интернета экземпляра ECS. Выбираемые значения:
|
key_name aliases: keypair string | Имя пары ключей, используемой для доступа к экземпляру ECS в SSH. |
max_bandwidth_in integer | Максимальная входящая пропускная способность из публичной сети, измеряется в Мбит/с (мегабит в секунду). По умолчанию: |
max_bandwidth_out integer | Максимальная исходящая пропускная способность в публичную сеть, измеряется в Мбит/с (мегабит в секунду). Требуется, когда По умолчанию: |
password string | Пароль для входа в экземпляр. После перезагрузки экземпляров измененный пароль вступит в силу. |
period integer | Срок оплаты экземпляра в месяцах. Требуется, когда Допустимые значения: [1-9, 12, 24, 36]. По умолчанию: |
period_unit string added in community.general 0.2.0 | Единица измерения периода, на который вы приобретаете ресурс. Действительно, когда Варианты:
|
profile string | Имя профиля Alicloud, заданного в файле общих учетных данных. Также может быть получено из переменной среды |
purge_tags boolean added in community.general 0.2.0 | Удалить теги, не указанные в задаче, которые присутствуют на экземпляре. Если True, это означает, что вы должны указать все желаемые теги в каждой задаче, влияющей на экземпляр. Варианты:
|
ram_role_name string added in community.general 0.2.0 | Имя роли RAM экземпляра. |
security_groups aliases: group_ids list / elements=string | Список идентификаторов групп безопасности. |
string | Путь к файлу общих учетных данных. Также может быть получен из переменной среды Если это не установлено, а профиль указан, будет использован |
spot_price_limit float added in community.general 0.2.0 | Максимальная почасовая цена для предварительно резервируемого экземпляра. Этот параметр поддерживает максимум три десятичных знака и вступает в силу, когда параметр SpotStrategy установлен в SpotWithPriceLimit. |
spot_strategy string added in community.general 0.2.0 | Режим торгов для экземпляра pay-as-you-go. Этот параметр действителен, когда параметр InstanceChargeType установлен в PostPaid. Варианты:
|
state string | Состояние экземпляра после выполнения операции. Варианты:
|
system_disk_category string | Категория системного диска. Варианты:
|
system_disk_description string | Описание системного диска. |
system_disk_name string | Имя системного диска. |
system_disk_size integer | Размер системного диска в ГБ. Допустимые значения от 40 до 500. По умолчанию: |
tags aliases: instance_tags dictionary added in community.general 0.2.0 | Словарь тегов экземпляра для добавления к новому экземпляру или для запуска/остановки экземпляра по тегу. |
unique_suffix boolean added in community.general 0.2.0 | Указывает, следует ли добавлять последовательные суффиксы к имени узла. Последовательные суффиксы находятся в диапазоне от 001 до 999. Варианты:
|
user_data string | Пользовательские данные для настройки поведения запуска экземпляра ECS и передачи данных в экземпляр ECS. Действует только при запуске новых экземпляров ECS. |
vswitch_id aliases: subnet_id string | Идентификатор подсети, в которой необходимо запустить экземпляры (VPC). |
Атрибуты
Атрибут | Поддержка | Описание |
|---|---|---|
check_mode | Поддержка: нет | Может работать в режиме |
diff_mode | Поддержка: нет | В режиме diff возвращает информацию о том, что изменилось (или, возможно, нуждается в изменении в |
Примечания
Примечание
- Если параметры не установлены в модуле, следующие переменные окружения могут быть использованы в порядке убывания приоритета
ALICLOUD_ACCESS_KEYилиALICLOUD_ACCESS_KEY_ID,ALICLOUD_SECRET_KEYилиALICLOUD_SECRET_ACCESS_KEY,ALICLOUD_REGIONилиALICLOUD_REGION_ID,ALICLOUD_SECURITY_TOKEN,ALICLOUD_ECS_ROLE_NAME,ALICLOUD_SHARED_CREDENTIALS_FILE,ALICLOUD_PROFILE,ALICLOUD_ASSUME_ROLE_ARN,ALICLOUD_ASSUME_ROLE_SESSION_NAME,ALICLOUD_ASSUME_ROLE_SESSION_EXPIRATION. -
ALICLOUD_REGIONилиALICLOUD_REGION_IDобычно используются для указания региона Alicloud, когда это необходимо, но это также можно настроить в файле конфигурации footmark
Примеры
# basic provisioning example vpc network
- name: Basic provisioning example
hosts: localhost
vars:
alicloud_access_key: <your-alicloud-access-key-id>
alicloud_secret_key: <your-alicloud-access-secret-key>
alicloud_region: cn-beijing
image: ubuntu1404_64_40G_cloudinit_20160727.raw
instance_type: ecs.n4.small
vswitch_id: vsw-abcd1234
assign_public_ip: true
max_bandwidth_out: 10
host_name: myhost
password: mypassword
system_disk_category: cloud_efficiency
system_disk_size: 100
internet_charge_type: PayByBandwidth
security_groups: ["sg-f2rwnfh23r"]
instance_ids: ["i-abcd12346", "i-abcd12345"]
force: true
tasks:
- name: Launch ECS instance in VPC network
community.general.ali_instance:
alicloud_access_key: '{{ alicloud_access_key }}'
alicloud_secret_key: '{{ alicloud_secret_key }}'
alicloud_region: '{{ alicloud_region }}'
image: '{{ image }}'
system_disk_category: '{{ system_disk_category }}'
system_disk_size: '{{ system_disk_size }}'
instance_type: '{{ instance_type }}'
vswitch_id: '{{ vswitch_id }}'
assign_public_ip: '{{ assign_public_ip }}'
internet_charge_type: '{{ internet_charge_type }}'
max_bandwidth_out: '{{ max_bandwidth_out }}'
tags:
Name: created_one
host_name: '{{ host_name }}'
password: '{{ password }}'
- name: With count and count_tag to create a number of instances
community.general.ali_instance:
alicloud_access_key: '{{ alicloud_access_key }}'
alicloud_secret_key: '{{ alicloud_secret_key }}'
alicloud_region: '{{ alicloud_region }}'
image: '{{ image }}'
system_disk_category: '{{ system_disk_category }}'
system_disk_size: '{{ system_disk_size }}'
instance_type: '{{ instance_type }}'
assign_public_ip: '{{ assign_public_ip }}'
security_groups: '{{ security_groups }}'
internet_charge_type: '{{ internet_charge_type }}'
max_bandwidth_out: '{{ max_bandwidth_out }}'
tags:
Name: created_one
Version: 0.1
count: 2
count_tag:
Name: created_one
host_name: '{{ host_name }}'
password: '{{ password }}'
- name: Start instance
community.general.ali_instance:
alicloud_access_key: '{{ alicloud_access_key }}'
alicloud_secret_key: '{{ alicloud_secret_key }}'
alicloud_region: '{{ alicloud_region }}'
instance_ids: '{{ instance_ids }}'
state: 'running'
- name: Reboot instance forcibly
ecs:
alicloud_access_key: '{{ alicloud_access_key }}'
alicloud_secret_key: '{{ alicloud_secret_key }}'
alicloud_region: '{{ alicloud_region }}'
instance_ids: '{{ instance_ids }}'
state: 'restarted'
force: '{{ force }}'
- name: Add instances to an security group
ecs:
alicloud_access_key: '{{ alicloud_access_key }}'
alicloud_secret_key: '{{ alicloud_secret_key }}'
alicloud_region: '{{ alicloud_region }}'
instance_ids: '{{ instance_ids }}'
security_groups: '{{ security_groups }}'
Значения возврата
Общие значения возврата описаны здесь, следующие поля уникальны для данного модуля:
Ключ | Описание |
|---|---|
ids list / elements=string | Список ID экземпляров ECS Возвращается: всегда Пример: |
instances complex | Список экземпляров ECS Возвращается: всегда |
|
availability_zone string |
Зона доступности, в которой находится экземпляр. Возвращается: всегда Пример: |
|
block_device_mappings complex |
Записи сопоставления блочных устройств для экземпляра. Возвращается: всегда |
|
attach_time string |
Метка времени начала подключения. Возвращается: всегда Пример: |
|
delete_on_termination boolean |
Указывает, удаляется ли том при завершении работы экземпляра. Возвращается: всегда Пример: |
|
device_name string |
Имя устройства, доступное для экземпляра (например, /dev/xvda). Возвращается: всегда Пример: |
|
status string |
Состояние подключения. Возвращается: всегда Пример: |
|
volume_id string |
ID облачного диска. Возвращается: всегда Пример: |
|
cpu integer |
Количество ядер процессора экземпляра. Возвращается: всегда Пример: |
|
creation_time string |
Время создания экземпляра. Возвращается: всегда Пример: |
|
description string |
Описание экземпляра. Возвращается: всегда Пример: |
|
eip complex |
Атрибуция связанного с экземпляром EIP. Возвращается: всегда |
|
allocation_id string |
ID EIP. Возвращается: всегда Пример: |
|
internet_charge_type string |
Тип оплаты за интернет-трафик EIP. Возвращается: всегда Пример: |
|
ip_address string |
Адрес EIP. Возвращается: всегда Пример: |
|
expired_time string |
Время истечения срока действия экземпляра. Возвращается: всегда Пример: |
|
gpu complex |
Атрибуция графического процессора экземпляра. Возвращается: всегда |
|
amount integer |
Количество графических процессоров. Returned: always Sample: |
|
spec string |
Спецификация графического процессора. Returned: always Sample: |
|
host_name string |
Имя хоста экземпляра. Returned: always Sample: |
|
id string |
Псевдоним instance_id. Returned: always Sample: |
|
image_id string |
Идентификатор образа, используемого для запуска экземпляра. Returned: always Sample: |
|
inner_ip_address string |
Внутренний IPv4-адрес классического экземпляра. Returned: always Sample: |
|
instance_charge_type string |
Тип оплаты за экземпляр. Returned: always Sample: |
|
instance_id string |
Идентификатор ресурса экземпляра ECS. Returned: always Sample: |
|
instance_name string |
Имя экземпляра. Returned: always Sample: |
|
instance_type string |
Тип экземпляра запущенного экземпляра. Returned: always Sample: |
|
instance_type_family string |
Семейство типов экземпляров, к которому принадлежит экземпляр. Returned: always Sample: |
|
internet_charge_type string |
Метод оплаты за сетевой трафик. Returned: always Sample: |
|
internet_max_bandwidth_in integer |
Максимальная входящая пропускная способность из сети Интернет. Returned: always Sample: |
|
internet_max_bandwidth_out integer |
Максимальная входящая пропускная способность из сети Интернет. Returned: always Sample: |
|
io_optimized boolean |
Указывает, оптимизирован ли экземпляр для EBS I/O. Returned: always Sample: |
|
memory integer |
Объём памяти экземпляра. Returned: always Sample: |
|
network_interfaces complex |
Один или несколько сетевых интерфейсов для экземпляра. Returned: always |
|
mac_address string |
MAC-адрес. Возвращается: всегда Пример: |
|
network_interface_id string |
Идентификатор сетевого интерфейса. Возвращается: всегда Пример: |
|
primary_ip_address string |
Основной IPv4-адрес сетевого интерфейса в vswitch. Возвращается: всегда Пример: |
|
osname string |
Название операционной системы принадлежащего экземпляра. Возвращается: всегда Пример: |
|
ostype string |
Тип операционной системы принадлежащего экземпляра. Возвращается: всегда Пример: |
|
private_ip_address string |
IPv4-адрес сетевого интерфейса в подсети. Возвращается: всегда Пример: |
|
public_ip_address string |
Публичный IPv4-адрес, назначенный экземпляру или адресу eip Возвращается: всегда Пример: |
|
resource_group_id string |
Идентификатор группы ресурсов, к которой принадлежит экземпляр. Возвращается: всегда Пример: |
|
security_groups list / elements=dictionary |
Одна или несколько групп безопасности для экземпляра. Возвращается: всегда |
|
group_id string |
Идентификатор группы безопасности. Возвращается: всегда Пример: |
|
group_name string |
Название группы безопасности. Возвращается: всегда Пример: |
|
spot_price_limit float |
Максимальная почасовая цена для прерывистого экземпляра. Возвращается: всегда Пример: |
|
spot_strategy string |
Режим торгов для экземпляра с оплатой по мере использования. Возвращается: всегда Пример: |
|
status string |
Текущий статус экземпляра. Возвращается: всегда Пример: |
|
tags dictionary |
Все теги, назначенные экземпляру. Возвращается: всегда |
|
user_data dictionary |
Пользовательские данные. Возвращается: всегда |
|
vpc_id string |
Идентификатор VPC, в котором находится экземпляр. Возвращается: всегда Пример: |
|
vswitch_id string |
Идентификатор vswitch, в котором работает экземпляр. Возвращается: всегда Пример: |
Ссылки на сборники
© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/general/ali_instance_module.html