Spec-Zone.ru › Ansible 2.4

azure_rm_virtualmachine - Управление виртуальными машинами Azure.

Новая версия с 2.1.

  • Обзор
  • Требования (к хосту, на котором выполняется модуль)
  • Параметры
  • Примеры
  • Возвращаемые значения
  • Примечания
    • Статус

Обзор

  • Создание, обновление, остановка и запуск виртуальной машины. Предоставьте существующую учетную запись хранения и сетевой интерфейс или позвольте модулю создать их для вас. Если вы не предоставите сетевой интерфейс, группа ресурсов должна содержать виртуальную сеть с как минимум одной подсетью.
  • В настоящее время требуется образ, найденный в Azure Marketplace. Используйте модуль azure_rm_virtualmachineimage_facts для определения издателя, предложения, SKU и версии конкретного образа.

Требования (к хосту, на котором выполняется модуль)

  • python >= 2.7
  • azure >= 2.0.0

Параметры

параметр обязательно значение по умолчанию допустимые значения комментарии
ad_user
нет
Имя пользователя Active Directory. Используйте при аутентификации с пользователем Active Directory, а не с принципалом службы.
admin_password
нет
Пароль для имени пользователя администратора. Не требуется, если тип ОС — Linux, а аутентификация по паролю SSH отключена путем установки ssh_password_enabled в значение false.
admin_username
нет
Имя пользователя администратора, используемое для доступа к хосту после его создания. Требуется при создании виртуальной машины.
allocated
нет True
Переключатель, контролирующий, выделена ли машина/свободна, полезен только при state='present'.
append_tags
нет True
Используется для управления тем, является ли поле тегов каноническим или просто добавляется к существующим тегам. При каноническом значении все теги, не найденные в параметре tags, будут удалены из метаданных объекта.
client_id
нет
Идентификатор клиента Azure. Используйте при аутентификации с принципалом службы.
cloud_environment
нет AzureCloud
Для облачных сред, отличных от общедоступного облака США, имя среды (определяется Azure Python SDK, например, AzureChinaCloud, AzureUSGovernment) или URL-адрес конечной точки обнаружения метаданных (требуется для Azure Stack). Также можно задать через профиль файла учетных данных или переменную среды AZURE_CLOUD_ENVIRONMENT.
data_disks
(добавлено в 2.4)
нет
Описывает список дисков данных.
Объект словаря data_disks
параметр обязательно значение по умолчанию допустимые значения комментарии
managed_disk_type
(добавлено в 2.4)
нет
  • Standard_LRS
  • Premium_LRS
Тип управляемого диска данных
disk_size_gb
(добавлено в 2.4)
нет
Начальный размер диска в ГБ для пустых дисков данных
storage_container_name
(добавлено в 2.4)
нет vhds
Имя контейнера для использования в учетной записи хранения для хранения блобов VHD. Если имя не указано, будет создан контейнер по умолчанию.
caching
(добавлено в 2.4)
нет ReadOnly
  • ReadOnly
  • ReadWrite
Тип кеширования диска данных.
storage_blob_name
(добавлено в 2.4)
нет
Имя хранилища BLOB, используемого для хранения образа операционной системы виртуальной машины. Если имя не указано, используется имя виртуальной машины + '.vhd'. Если вы указываете имя, оно должно заканчиваться на '.vhd'.
storage_account_name
(добавлено в 2.4)
нет
Имя существующей учетной записи хранения, которая поддерживает создание блобов VHD. Если для новой виртуальной машины не указано, будет создана новая учетная запись хранения с именем <имя_ВМ>01, используя тип хранения 'Standard_LRS'.
lun
(добавлено в 2.4)
нет
Логический номер устройства (LUN) для диска данных
image
да
Словарь, описывающий образ из Marketplace, используемый для создания виртуальной машины. Будут содержать ключи: publisher, offer, sku и version. ПРИМЕЧАНИЕ: установите image.version в 'latest', чтобы получить последнюю версию данного образа.
location
нет
Допустимое расположение Azure. По умолчанию — расположение группы ресурсов.
managed_disk_type
(добавлено в 2.4)
нет
  • Standard_LRS
  • Premium_LRS
Тип управляемого системного диска.
name
да
Имя виртуальной машины.
network_interface_names
нет
Список имен существующих сетевых интерфейсов, которые необходимо добавить к виртуальной машине. Если имя сетевого интерфейса не указано при создании виртуальной машины, будет создан интерфейс по умолчанию. Для создания сетевого интерфейса модулем должен существовать хотя бы один виртуальная сеть с одним подсетью.
open_ports
нет
Если при создании виртуальной машины создается сетевой интерфейс, также будет создана группа безопасности. Для хостов Linux правило добавится в группу безопасности, разрешая входящие TCP-соединения на стандартный порт SSH 22, а для хостов Windows порты 3389 и 5986 будут открыты. Переопределите значения портов по умолчанию, указав список портов.
os_disk_caching
нет ReadOnly
  • ReadOnly
  • ReadWrite
Тип кеширования системного диска.
псевдонимы: disk_caching
os_type
нет [u'Linux']
  • Windows
  • Linux
Основной тип операционной системы.
password
нет
Пароль пользователя Active Directory. Используйте при аутентификации с пользователем Active Directory, а не с принципалом службы.
profile
нет
Профиль безопасности, найденный в файле ~/.azure/credentials.
public_ip_allocation_method
нет [u'Static']
  • Dynamic
  • Static
Если при создании виртуальной машины создается общедоступный IP-адрес (потому что сетевой интерфейс не был указан), определяется, остается ли общедоступный IP-адрес постоянно связанным с сетевым интерфейсом. Если установлено значение 'Dynamic', общедоступный IP-адрес может измениться в любое время при перезагрузке или выключении питания виртуальной машины.
псевдонимы: public_ip_allocation
remove_on_absent
нет [u'all']
При удалении виртуальной машины с помощью состояния 'absent', также удаляются связанные ресурсы
Может быть 'all' или список с любым из следующих: ['network_interfaces', 'virtual_storage', 'public_ips']
Любой другой ввод будет проигнорирован
resource_group
да
Имя группы ресурсов, содержащей виртуальную машину.
restarted
нет
Используйте со значением 'present', чтобы перезапустить работающую виртуальную машину.
secret
нет
Секретный ключ клиента Azure. Используйте при аутентификации с принципалом службы.
short_hostname
нет
Внутреннее имя, назначенное хосту. На виртуальной машине Linux это имя, возвращаемое командой `hostname`. При создании виртуальной машины short_hostname по умолчанию совпадает с name.
ssh_password_enabled
нет True
При os_type Linux установка ssh_password_enabled в false отключит аутентификацию по паролю SSH и потребует использования SSH-ключей.
ssh_public_keys
нет
Для os_type Linux укажите список SSH-ключей. Каждый элемент списка должен быть словарем, содержащим два ключа: path и key_data. Установите путь к расположению файла authorized_keys. Например, на хосте Enterprise Linux путь будет /home/<имя_пользователя_админа>/.ssh/authorized_keys. Установите key_data в фактическое значение открытого ключа.
started
нет True
Используйте со значением 'present', чтобы запустить машину. Установите в значение false, чтобы машина была 'остановлена'.
state
нет present
  • absent
  • present
Утверждение состояния виртуальной машины.
Состояние 'present' проверит, существует ли машина с запрошенной конфигурацией. Если конфигурация существующей машины не соответствует, машина будет обновлена. Используйте параметры started, allocated и restarted, чтобы изменить состояние питания машины.
Состояние 'absent' удалит виртуальную машину.
storage_account_name
нет
Имя существующей учетной записи хранения, которая поддерживает создание блобов VHD. Если для новой виртуальной машины не указано, будет создана новая учетная запись хранения с именем <имя_ВМ>01, используя тип хранения 'Standard_LRS'.
storage_blob_name
нет
Имя хранилища BLOB, используемого для хранения образа операционной системы виртуальной машины. Если имя не указано, используется имя виртуальной машины + '.vhd'. Если вы указываете имя, оно должно заканчиваться на '.vhd'.
псевдонимы: storage_blob
storage_container_name
нет vhds
Имя контейнера для использования в учетной записи хранения для хранения блобов VHD. Если имя не указано, будет создан контейнер по умолчанию.
subnet_name
нет
При создании виртуальной машины, если имя сетевого интерфейса не указано, будет создан интерфейс. Новый сетевой интерфейс будет назначен первой подсети, найденной в виртуальной сети. Используйте этот параметр, чтобы указать конкретную подсеть.
псевдонимы: subnet
subscription_id
нет
Ваш идентификатор подписки Azure.
tags
нет
Словарь пар строка:строка для назначения метаданных объекту. Метаданные теги объекта будут обновлены любыми предоставленными значениями. Для удаления тегов установите параметр append_tags в false.
tenant
нет
Идентификатор Azure-аренды. Используйте при аутентификации с принципалом службы.
virtual_network_name
нет
При создании виртуальной машины, если имя сетевого интерфейса не указано, будет создан интерфейс. Новый сетевой интерфейс будет назначен первой виртуальной сети, найденной в группе ресурсов. Используйте этот параметр, чтобы указать конкретную виртуальную сеть вместо этого.
псевдонимы: virtual_network
virtual_network_resource_group
(добавлено в 2.4)
нет
При создании виртуальной машины, если необходимо использовать определённую виртуальную сеть из другой группы ресурсов, используйте этот параметр для указания группы ресурсов.
vm_size
нет
Значение размера виртуальной машины Azure. Например, 'Standard_D4'. Список вариантов зависит от подписки и расположения. Проверьте доступные варианты для вашей подписки. Требуется при создании виртуальной машины.

Примеры

- name: Create VM with defaults
  azure_rm_virtualmachine:
    resource_group: Testing
    name: testvm10
    admin_username: chouseknecht
    admin_password: <your password here>
    image:
      offer: CentOS
      publisher: OpenLogic
      sku: '7.1'
      version: latest

- name: Create a VM with managed disk
  azure_rm_virtualmachine:
    resource_group: Testing
    name: testvm001
    vm_size: Standard_D4
    managed_disk_type: Standard_LRS
    admin_username: adminUser
    ssh_public_keys:
      - path: /home/adminUser/.ssh/authorized_keys
        key_data: < insert yor ssh public key here... >
    image:
      offer: CoreOS
      publisher: CoreOS
      sku: Stable
      version: latest

- name: Create a VM with existing storage account and NIC
  azure_rm_virtualmachine:
    resource_group: Testing
    name: testvm002
    vm_size: Standard_D4
    storage_account: testaccount001
    admin_username: adminUser
    ssh_public_keys:
      - path: /home/adminUser/.ssh/authorized_keys
        key_data: < insert yor ssh public key here... >
    network_interfaces: testvm001
    image:
      offer: CentOS
      publisher: OpenLogic
      sku: '7.1'
      version: latest

- name: Create a VM with OS and multiple data managed disks
  azure_rm_virtualmachine:
    resource_group: Testing
    name: testvm001
    vm_size: Standard_D4
    managed_disk_type: Standard_LRS
    admin_username: adminUser
    ssh_public_keys:
      - path: /home/adminUser/.ssh/authorized_keys
        key_data: < insert yor ssh public key here... >
    image:
      offer: CoreOS
      publisher: CoreOS
      sku: Stable
      version: latest
    data_disks:
        - lun: 0
          disk_size_gb: 64
          managed_disk_type: Standard_LRS
        - lun: 1
          disk_size_gb: 128
          managed_disk_type: Premium_LRS

- name: Create a VM with OS and multiple data storage accounts
  azure_rm_virtualmachine:
    resource_group: Testing
    name: testvm001
    vm_size: Standard_DS1_v2
    admin_username: adminUser
    ssh_password_enabled: false
    ssh_public_keys:
    - path: /home/adminUser/.ssh/authorized_keys
      key_data: < insert yor ssh public key here... >
    network_interfaces: testvm001
    storage_container: osdisk
    storage_blob: osdisk.vhd
    image:
    offer: CoreOS
    publisher: CoreOS
    sku: Stable
    version: latest
    data_disks:
    - lun: 0
      disk_size_gb: 64
      storage_container_name: datadisk1
      storage_blob_name: datadisk1.vhd
    - lun: 1
      disk_size_gb: 128
      storage_container_name: datadisk2
      storage_blob_name: datadisk2.vhd

- name: Power Off
  azure_rm_virtualmachine:
    resource_group: Testing
    name: testvm002
    started: no

- name: Deallocate
  azure_rm_virtualmachine:
    resource_group: Testing
    name: testvm002
    allocated: no

- name: Power On
  azure_rm_virtualmachine:
    resource_group:
    name: testvm002

- name: Restart
  azure_rm_virtualmachine:
    resource_group:
    name: testvm002
    restarted: yes

- name: remove vm and all resources except public ips
  azure_rm_virtualmachine:
    resource_group: Testing
    name: testvm002
    state: absent
    remove_on_absent:
        - network_interfaces
        - virtual_storage

Значения возврата

Общие значения возврата описаны здесь Значения возврата, ниже приведены поля, уникальные для данного модуля:

имя описание возвращаемое тип пример
azure_vm
Информация о текущем состоянии объекта. Обратите внимание, что данные не являются частью зарегистрированного вывода, но доступны напрямую.
всегда сложный
содержит:
имя описание возвращаемое тип пример
тип
свойства
deleted_network_interfaces
Список удалённых сетевых адаптеров.
при удалении список
deleted_public_ips
Список удалённых имен общедоступных IP-адресов.
при удалении список
deleted_vhd_uris
Список удалённых URI виртуальных жёстких дисков.
при удалении список
powerstate
Указывает, находится ли состояние в режиме работы, остановки или освобождения.
всегда строка

Примечания

Примечание

  • Для аутентификации с Azure вы можете передать параметры, установить переменные окружения или использовать профиль, сохранённый в ~/.azure/credentials. Аутентификация возможна с помощью служебного принципала или пользователя Active Directory. Для аутентификации через служебного принципала передайте subscription_id, client_id, secret и tenant или установите переменные окружения AZURE_SUBSCRIPTION_ID, AZURE_CLIENT_ID, AZURE_SECRET и AZURE_TENANT.
  • Для аутентификации через пользователя Active Directory передайте ad_user и password или установите AZURE_AD_USER и AZURE_PASSWORD в переменных окружения.
  • В качестве альтернативы, данные учетных данных могут быть сохранены в ~/.azure/credentials. Это ini-файл, содержащий раздел [default] и следующие ключи: subscription_id, client_id, secret и tenant или subscription_id, ad_user и password. Также можно добавить дополнительные профили. Укажите профиль, передав profile или установив AZURE_PROFILE в переменных окружения.

Статус

Этот модуль помечен как предварительная версия, что означает, что гарантии обратной совместимости интерфейса нет.

Для получения помощи в разработке модулей, если вас это интересует, пожалуйста, ознакомьтесь с Информацией о сообществе и участии, Тестирование Ansible и Разработка модулей.

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.4/azure_rm_virtualmachine_module.html

Spec-Zone.ru

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