Spec-Zone.ru › Ansible 2.8

ali_instance – Создание, запуск, остановка, перезапуск или завершение экземпляра в ECS. Добавление или удаление экземпляра в/из группы безопасности

Новое в версии 2.8.

  • Обзор
  • Требования
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения
  • Статус

Обзор

  • Создание, запуск, остановка, перезапуск, изменение или завершение экземпляров ecs.
  • Добавление или удаление экземпляров ecs в/из группы безопасности.

Требования

Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.

  • footmark >= 1.1.16
  • python >= 2.6

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
alicloud_access_key
строка
Ключ доступа к Aliyun Cloud.
Если не задан, используется значение переменной окружения ALICLOUD_ACCESS_KEY, ALICLOUD_ACCESS_KEY_ID.

псевдонимы: access_key_id, access_key
alicloud_region
строка
Регион Aliyun Cloud для использования.
Если не указан, используется значение переменной окружения ALICLOUD_REGION, ALICLOUD_REGION_ID.

псевдонимы: region, region_id
alicloud_secret_key
строка
Секретный ключ доступа к Aliyun Cloud.
Если не задан, используется значение переменной окружения ALICLOUD_SECRET_KEY, ALICLOUD_SECRET_ACCESS_KEY.

псевдонимы: secret_access_key, secret_key
alicloud_security_token
строка
Токен безопасности Aliyun Cloud.
Если не указан, используется значение переменной окружения ALICLOUD_SECURITY_TOKEN.

псевдонимы: security_token
allocate_public_ip
логический
    Варианты:
  • нет ←
  • да
Назначить общедоступный IP-адрес для нового экземпляра.

псевдонимы: assign_public_ip
auto_renew
логический
    Варианты:
  • нет ←
  • да
Автоматически продлевать оплату за экземпляр.
auto_renew_period
-
    Варианты:
  • 1
  • 2
  • 3
  • 6
  • 12
Срок автоматического продления оплаты за экземпляр. Требуется, когда auto_renew=True.
availability_zone
-
Идентификатор зоны доступности Aliyun, в которой нужно запустить экземпляр. Если не указан, будет назначен автоматически.

псевдонимы: alicloud_zone
count
-
По умолчанию:
1
Количество новых экземпляров. Целочисленное значение, указывающее, сколько экземпляров, соответствующих тегу count_tag, должно работать. Экземпляры создаются или завершаются в зависимости от этого значения.
count_tag
-
count определяет количество экземпляров на основе определенных критериев тегов. Это может быть выражено различными способами, и примеры показаны в разделе ПРИМЕРЫ. Указанный тег count_tag должен уже существовать или быть передан как параметр instance_tags. Если не указан, используется instance_name.
description
-
Описание экземпляра ECS, представляющее собой строку от 2 до 256 символов. Не должно начинаться с http:// или https://.
force
логический
    Варианты:
  • нет ←
  • да
Требуется ли выполнение текущей операции в принудительном порядке.
host_name
-
Имя хоста экземпляра.
image_id
-
Идентификатор образа, используемый для запуска экземпляров. Требуется, когда state=present, и при создании новых экземпляров ECS.

псевдонимы: image
instance_charge_type
-
    Варианты:
  • PrePaid
  • PostPaid ←
Тип оплаты за экземпляр.
instance_ids
-
Список идентификаторов экземпляров. Требуется при работе с существующими экземплярами. Если указан, count становится неэффективным.
instance_name
-
Имя экземпляра ECS, которое представляет собой строку от 2 до 128 китайских или английских символов. Оно должно начинаться с заглавной/строчной буквы или китайского символа и может содержать цифры, ".", "_" или "-". Не должно начинаться с http:// или https://.

псевдонимы: name
instance_tags
-
Хэш/словарь тегов экземпляра для добавления к новому экземпляру или для запуска/остановки экземпляра по тегу. {"key":"value"}

псевдонимы: tags
instance_type
-
Тип экземпляра, используемый для запуска экземпляров. Требуется, когда state=present, и при создании новых экземпляров ECS.

псевдонимы: type
internet_charge_type
-
    Варианты:
  • PayByBandwidth ←
  • PayByTraffic
Тип оплаты за интернет-трафик экземпляра ECS.
key_name
-
Имя пары ключей, используемой для доступа к экземпляру ECS через SSH.

псевдонимы: keypair
max_bandwidth_in
-
По умолчанию:
200
Максимальная входящая пропускная способность из общедоступной сети, измеряется в Мбит/с.
max_bandwidth_out
-
По умолчанию:
0
Максимальная исходящая пропускная способность в общедоступную сеть, измеряется в Мбит/с.
password
-
Пароль для входа в экземпляр. После перезагрузки экземпляра измененный пароль вступит в силу.
period
-
По умолчанию:
1
Срок оплаты за экземпляр в месяцах. Требуется, когда instance_charge_type=PrePaid.
Допустимые значения: [1-9, 12, 24, 36].
security_groups
-
Список идентификаторов групп безопасности.
state
-
    Варианты:
  • present ←
  • running
  • stopped
  • restarted
  • absent
Состояние экземпляра после выполнения операции.
system_disk_category
-
    Варианты:
  • cloud_efficiency ←
  • cloud_ssd
Категория системного диска.
system_disk_description
-
Описание системного диска.
system_disk_name
-
Имя системного диска.
system_disk_size
-
По умолчанию:
40
Размер системного диска в ГБ. Допустимые значения: 40~500.
user_data
-
Пользовательские данные для настройки поведения запуска экземпляра ECS и для передачи данных в экземпляр ECS. Действует только при запуске новых экземпляров ECS.
vswitch_id
-
Идентификатор подсети, в которой нужно запустить экземпляры (VPC).

псевдонимы: subnet_id

Примечания

Примечание

  • Если параметры не заданы в модуле, можно использовать следующие переменные окружения в порядке убывания приоритета ALICLOUD_ACCESS_KEY или ALICLOUD_ACCESS_KEY_ID, ALICLOUD_SECRET_KEY или ALICLOUD_SECRET_ACCESS_KEY, ALICLOUD_REGION или ALICLOUD_REGION_ID, ALICLOUD_SECURITY_TOKEN
  • 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
      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 }}'
        instance_tags:
            Name: created_one
        host_name: '{{ host_name }}'
        password: '{{ password }}'

    - name: with count and count_tag to create a number of instances
      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 }}'
        instance_tags:
            Name: created_one
            Version: 0.1
        count: 2
        count_tag:
            Name: created_one
        host_name: '{{ host_name }}'
        password: '{{ password }}'

    - name: start instance
      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
список
всегда
Список идентификаторов экземпляров ECS

Пример:
['i-12345er', 'i-3245fs']
instances
сложный
всегда
Список экземпляров ECS

availability_zone
строка
всегда
Зона доступности, в которой находится экземпляр.

Пример:
cn-beijing-a
block_device_mappings
сложный
всегда
Любые записи сопоставления блочных устройств для экземпляра.

attach_time
строка
всегда
Отметка времени, когда началось подключение.

Пример:
2018-06-25T04:08:26Z
delete_on_termination
булево
всегда
Указывает, удаляется ли том при завершении работы экземпляра.

Пример:
True
device_name
строка
всегда
Имя устройства, доступного экземпляру (например, /dev/xvda).

Пример:
/dev/xvda
status
строка
всегда
Состояние подключения.

Пример:
in_use
volume_id
строка
всегда
Идентификатор облачного диска.

Пример:
d-2zei53pjsi117y6gf9t6
cpu
целое число
всегда
Количество ядер процессора экземпляра.

Пример:
4
creation_time
строка
всегда
Время создания экземпляра.

Пример:
2018-06-25T04:08Z
description
строка
всегда
Описание экземпляра.

Пример:
my ansible instance
eip
сложный
всегда
Атрибуция EIP, связанного с экземпляром.

allocation_id
строка
всегда
Идентификатор EIP.

Пример:
eip-12345
internet_charge_type
строка
всегда
Тип оплаты интернета EIP.

Пример:
paybybandwidth
ip_address
строка
всегда
Адрес EIP.

Пример:
42.10.2.2
expired_time
строка
всегда
Время истечения срока действия экземпляра.

Пример:
2099-12-31T15:59Z
gpu
сложный
всегда
Атрибуция GPU экземпляра.

amount
целое число
всегда
Количество GPU.

spec
строка
всегда
Спецификация GPU.

host_name
строка
всегда
Имя хоста экземпляра.

Пример:
iZ2zewaoZ
id
строка
всегда
Псевдоним instance_id.

Пример:
i-abc12345
image_id
строка
всегда
Идентификатор образа, используемого для запуска экземпляра.

Пример:
m-0011223344
inner_ip_address
строка
всегда
Внутренний IPv4-адрес классического экземпляра.

Пример:
10.0.0.2
instance_charge_type
строка
всегда
Тип оплаты экземпляра.

Пример:
PostPaid
instance_id
строка
всегда
Идентификатор ресурса экземпляра ECS.

Пример:
i-abc12345
instance_name
строка
всегда
Имя экземпляра.

Пример:
my-ecs
instance_type
строка
всегда
Тип экземпляра запущенного экземпляра.

Пример:
ecs.sn1ne.xlarge
internet_charge_type
строка
всегда
Способ оплаты сетевой пропускной способности.

Пример:
PayByBandwidth
internet_max_bandwidth_in
целое число
всегда
Максимальная входящая пропускная способность из интернета.

Пример:
200
internet_max_bandwidth_out
целое число
всегда
Максимальная входящая пропускная способность из интернета.

Пример:
20
io_optimized
булево
всегда
Указывает, оптимизирован ли экземпляр для ввода/вывода EBS.

memory
integer
always
Размер памяти экземпляра.

Пример:
8192
network_interfaces
complex
always
Один или несколько сетевых интерфейсов для экземпляра.

mac_address
string
always
MAC-адрес.

Пример:
00:11:22:33:44:55
network_interface_id
string
always
Идентификатор сетевого интерфейса.

Пример:
eni-01234567
primary_ip_address
string
always
Основной IPv4-адрес сетевого интерфейса в vswitch.

Пример:
10.0.0.1
osname
string
always
Имя операционной системы управляемого экземпляра.

Пример:
CentOS
ostype
string
always
Тип операционной системы управляемого экземпляра.

Пример:
linux
private_ip_address
string
always
IPv4-адрес сетевого интерфейса в подсети.

Пример:
10.0.0.1
public_ip_address
string
always
Присвоенный публичный IPv4-адрес экземпляру.

Пример:
43.0.0.1
resource_group_id
string
always
Идентификатор группы ресурсов, к которой принадлежит экземпляр.

Пример:
my-ecs-group
security_groups
list of complex
always
Одна или несколько групп безопасности для экземпляра.

group_id
string
always
Идентификатор группы безопасности.

Пример:
sg-0123456
group_name
string
always
Имя группы безопасности.

Пример:
my-security-group
status
string
always
Текущий статус экземпляра.

Пример:
running
tags
dictionary
always
Присвоенные теги экземпляру.

vpc_id
dictionary
always
Идентификатор VPC, в котором находится экземпляр.

Пример:
vpc-0011223344
vswitch_id
string
always
Идентификатор vswitch, в котором работает экземпляр.

Пример:
vsw-dew00abcdef


Статус

  • Данный модуль не гарантирует обратную совместимость. [превью]
  • Этот модуль поддерживается сообществом Ansible. [community]

Авторы

  • He Guimin (@xiaozhu36)

Подсказка

Если вы заметили какие-либо проблемы в этом документе, вы можете отредактировать его, чтобы улучшить его.

© 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/ali_instance_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API