Модуль community.general.ali_instance — создание, запуск, остановка, перезапуск или завершение работы экземпляра в ECS; добавление экземпляра в группу безопасности или удаление из неё
Примечание
Этот модуль входит в коллекцию community.general (версия 12.6.1).
Возможно, эта коллекция уже установлена, если вы используете пакет 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 aliases: access_key_id, access_key string | Ключ доступа Alibaba Cloud. Если он не задан, вместо него используется значение переменной среды |
alicloud_assume_role aliases: assume_role dictionary | Если указан ARN роли, Ansible попытается принять эту роль, используя предоставленные учетные данные. Вложенный блок assume_role поддерживает |
alicloud_assume_role_arn aliases: assume_role_arn string |
|
alicloud_assume_role_session_expiration aliases: assume_role_session_expiration integer |
|
alicloud_assume_role_session_name aliases: assume_role_session_name string | Имя сеанса Alibaba Cloud. Имя сеанса, используемое при принятии роли. Если параметр не указан, при вызове AssumeRole в качестве имени сеанса передается ‘ansible’. Поддерживается переменная среды |
alicloud_region aliases: region, region_id string / обязательный | Регион Alibaba Cloud, который следует использовать. Если он не указан, вместо него используется значение переменной среды |
alicloud_secret_key aliases: secret_access_key, secret_key string | Секретный ключ Alibaba Cloud. Если он не задан, вместо него используется значение переменной среды |
alicloud_security_token aliases: security_token string | Токен безопасности Alibaba Cloud. Если он не указан, вместо него используется значение переменной среды |
allocate_public_ip aliases: assign_public_ip boolean | Следует ли назначить общедоступный IP-адрес новому экземпляру. Варианты:
|
auto_renew boolean | Следует ли автоматически продлевать оплату экземпляра. Варианты:
|
auto_renew_period integer | Продолжительность периода автоматического продления оплаты экземпляра. Обязателен, если Варианты:
|
availability_zone aliases: alicloud_zone, zone_id string | Идентификатор зоны доступности Aliyun, в которой следует запустить экземпляр. Если значение не указано, система выбирает зону автоматически. |
count integer | Количество новых экземпляров. Целое число, указывающее, сколько экземпляров, соответствующих По умолчанию: |
count_tag string |
|
description string | Описание экземпляра ECS — строка длиной от 2 до 256 символов. Оно не может начинаться с |
dry_run boolean добавлено в community.general 0.2.0 | Указывает, следует ли отправить запрос в режиме пробного запуска. Если Если Варианты:
|
ecs_role_name aliases: role_name string | Имя роли RAM, назначенной экземпляру ECS для выполнения операций API. Его можно найти в разделе «Управление доступом» консоли Alibaba Cloud. Если Ansible выполняется на экземпляре ECS с RAM, использующим роль RAM, 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 добавлено в community.general 0.2.0 | Следует ли менять тип оплаты дисков экземпляра при изменении типа оплаты экземпляра. Варианты:
|
instance_charge_type string | Тип оплаты экземпляра. Варианты:
|
instance_ids list / elements=string | Список идентификаторов экземпляров. Требуется для операций с существующими экземплярами. Если он указан, |
instance_name aliases: name string | Имя экземпляра ECS — строка длиной от 2 до 128 китайских или английских символов. Оно должно начинаться с заглавной или строчной буквы либо китайского иероглифа и может содержать цифры, |
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 | Период оплаты экземпляра в месяцах. Обязателен, если Допустимые значения: [ По умолчанию: |
period_unit string добавлено в community.general 0.2.0 | Единица продолжительности, на которую приобретается ресурс. Используется, если Варианты:
|
profile string | Имя профиля Alicloud, указанное в общем файле учетных данных. Его также можно получить из переменной среды |
purge_tags boolean добавлено в community.general 0.2.0 | Удалять все метки экземпляра, не указанные в задаче. Если Варианты:
|
ram_role_name string добавлено в community.general 0.2.0 | Имя роли RAM экземпляра. |
security_groups aliases: group_ids list / elements=string | Список идентификаторов групп безопасности. |
string | Путь к общему файлу учетных данных. Его также можно получить из переменной среды Если этот параметр не задан, но указан профиль, используется |
spot_price_limit float добавлено в community.general 0.2.0 | Максимальная почасовая цена для прерываемого экземпляра. Этот параметр поддерживает не более трех знаков после запятой и применяется, если для параметра SpotStrategy задано значение SpotWithPriceLimit. |
spot_strategy string добавлено в community.general 0.2.0 | Режим назначения цены для экземпляра с оплатой по факту использования. Параметр действует, если Варианты:
|
state string | Состояние экземпляра после выполнения операции. Варианты:
|
system_disk_category string | Категория системного диска. Варианты:
|
system_disk_description string | Описание системного диска. |
system_disk_name string | Имя системного диска. |
system_disk_size integer | Размер системного диска в ГБ. Допустимые значения: По умолчанию: |
tags aliases: instance_tags dictionary добавлено в community.general 0.2.0 | Словарь меток экземпляра, которые нужно добавить к новому экземпляру или использовать для запуска/остановки экземпляра по метке. |
unique_suffix boolean добавлено в community.general 0.2.0 | Указывает, следует ли добавлять к host_name последовательные суффиксы. Диапазон последовательных суффиксов — от 001 до 999. Варианты:
|
user_data string | Заданные пользователем данные для настройки поведения при запуске экземпляра ECS и передачи данных в экземпляр ECS. Действует только при запуске новых экземпляров ECS. |
vswitch_id псевдонимы: subnet_id string | Идентификатор подсети, в которой будут запущены экземпляры (VPC). |
Атрибуты
Атрибут | Поддержка | Описание |
|---|---|---|
check_mode | Поддержка: отсутствует | Может работать в |
diff_mode | Поддержка: отсутствует | В режиме diff возвращает сведения об изменениях (или о том, что, возможно, необходимо изменить в |
Примечания
Примечание
- Если параметры не заданы в модуле, можно использовать следующие переменные среды в порядке убывания приоритета:
ALICLOUD_ACCESS_KEYorALICLOUD_ACCESS_KEY_ID,ALICLOUD_SECRET_KEYorALICLOUD_SECRET_ACCESS_KEY,ALICLOUD_REGIONorALICLOUD_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_REGIONorALICLOUD_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 | Список идентификаторов экземпляров ECS. Возвращается: всегда Пример: |
instances list / elements=dictionary | Список экземпляров ECS. Возвращается: всегда |
|
availability_zone string |
Зона доступности, в которой находится экземпляр. Возвращается: всегда Пример: |
|
block_device_mappings complex |
Записи сопоставления блочных устройств для экземпляра. Возвращается: всегда |
|
attach_time string |
Временная метка начала подключения. Возвращается: всегда Пример: |
|
delete_on_termination boolean |
Указывает, удаляется ли том при завершении работы экземпляра. Возвращается: всегда Пример: |
|
device_name string |
Имя устройства, доступное экземпляру. Возвращается: всегда Пример: |
|
status string |
Состояние подключения. Возвращается: всегда Пример: |
|
volume_id string |
Идентификатор облачного диска. Возвращается: всегда Пример: |
|
cpu integer |
Количество ядер ЦП экземпляра. Возвращается: всегда Пример: |
|
creation_time string |
Время создания экземпляра. Возвращается: всегда Пример: |
|
description string |
Описание экземпляра. Возвращается: всегда Пример: |
|
eip complex |
Назначение EIP, связанного с экземпляром. Возвращается: всегда |
|
allocation_id string |
Идентификатор EIP. Возвращается: всегда Пример: |
|
internet_charge_type string |
Тип тарификации интернета для EIP. Возвращается: всегда Пример: |
|
ip_address string |
IP-адрес EIP. Возвращается: всегда Пример: |
|
expired_time string |
Время истечения срока действия экземпляра. Возвращается: всегда Пример: |
|
gpu complex |
Сведения о GPU экземпляра. Возвращается: всегда |
|
amount integer |
Количество GPU. Возвращается: всегда Пример: |
|
spec string |
Спецификация GPU. Возвращается: всегда Пример: |
|
host_name string |
Имя узла экземпляра. Возвращается: всегда Пример: |
|
id string |
Псевдоним instance_id. Возвращается: всегда Пример: |
|
image_id string |
Идентификатор образа, использованного для запуска экземпляра. Возвращается: всегда Пример: |
|
inner_ip_address string |
Внутренний IPv4-адрес классического экземпляра. Возвращается: всегда Пример: |
|
instance_charge_type string |
Тип тарификации экземпляра. Возвращается: всегда Пример: |
|
instance_id string |
Идентификатор ресурса экземпляра ECS. Возвращается: всегда Пример: |
|
instance_name string |
Имя экземпляра. Возвращается: всегда Пример: |
|
instance_type string |
Тип запущенного экземпляра. Возвращается: всегда Пример: |
|
instance_type_family string |
Семейство типов, к которому относится экземпляр. Возвращается: всегда Пример: |
|
internet_charge_type string |
Способ тарификации пропускной способности сети. Возвращается: всегда Пример: |
|
internet_max_bandwidth_in integer |
Максимальная входящая пропускная способность интернет-сети. Возвращается: всегда Пример: |
|
internet_max_bandwidth_out integer |
Максимальная входящая пропускная способность интернет-сети. Возвращается: всегда Пример: |
|
io_optimized boolean |
Указывает, оптимизирован ли экземпляр для операций ввода-вывода EBS. Возвращается: всегда Пример: |
|
memory integer |
Объем памяти экземпляра. Возвращается: всегда Пример: |
|
network_interfaces complex |
Один или несколько сетевых интерфейсов экземпляра. Возвращается: всегда |
|
mac_address string |
MAC-адрес. Возвращается: всегда Пример: |
|
network_interface_id string |
Идентификатор сетевого интерфейса. Возвращается: всегда Пример: |
|
primary_ip_address string |
Основной IPv4-адрес сетевого интерфейса в виртуальном коммутаторе. Возвращается: всегда Пример: |
|
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 |
Идентификатор виртуального коммутатора, в котором работает экземпляр. Возвращается: всегда Пример: |
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/community/general/ali_instance_module.html