Spec-Zone.ru › Ansible 2.5

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

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

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

Обзор

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

Требования

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

  • python >= 2.7
  • azure >= 2.0.0

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
ad_user По умолчанию:
Нет
Имя пользователя Active Directory. Используется при аутентификации пользователем Active Directory, а не служебным принципалом.
admin_password
Пароль для имени пользователя администратора. Не требуется, если тип ОС — Linux и аутентификация по паролю SSH отключена, установив ssh_password_enabled в false.
admin_username
Имя пользователя администратора, используемое для доступа к хосту после его создания. Требуется при создании виртуальной машины.
allocated По умолчанию:
да
Переключатель, управляющий выделением/освобождением машины, полезен только при state='present'.
api_profile
(добавлен в 2.5)
    Варианты:
  • latest ←
Выбирает профиль API для взаимодействия с Azure-сервисами. Значение по умолчанию latest подходит для общедоступных облаков; будущие значения позволят использовать с Azure Stack.
append_tags По умолчанию:
да
Управляет тем, является ли поле тегов каноническим или оно просто добавляется к существующим тегам. При каноническом формате любые теги, отсутствующие в параметре тегов, будут удалены из метаданных объекта.
auth_source
(добавлен в 2.5)
    Варианты:
  • auto ←
  • cli
  • credential_file
  • env
Управляет источником учетных данных для аутентификации.
auto будет следовать по умолчанию приоритету параметров модуля -> переменные среды -> профиль по умолчанию в файле учетных данных ~/.azure/credentials.
При установке в значение cli, учетные данные будут получены из профиля Azure CLI по умолчанию.
Также можно задать через переменную среды ANSIBLE_AZURE_AUTH_SOURCE.
availability_set
(добавлен в 2.5)
По умолчанию:
Нет
Имя или идентификатор существующего набора доступности, к которому должна быть добавлена виртуальная машина. Набор доступности должен находиться в той же группе ресурсов, что и виртуальная машина.
cert_validation_mode
(добавлен в 2.5)
    Варианты:
  • validate
  • ignore
По умолчанию:
Нет
Управляет поведением проверки сертификатов для Azure-точек доступа. По умолчанию все модули проверяют серверный сертификат, но при использовании прокси HTTPS или работе с Azure Stack может потребоваться отключить это поведение, передав ignore. Также можно задать в профиле файла учетных данных или переменной среды AZURE_CERT_VALIDATION.
client_id По умолчанию:
Нет
Идентификатор Azure-клиента. Используется при аутентификации с помощью служебного принципала.
cloud_environment
(добавлен в 2.4)
По умолчанию:
AzureCloud
Для облачных сред, отличных от общедоступного облака США, имя среды (как определено Azure Python SDK, например, AzureChinaCloud, AzureUSGovernment), или URL-адрес точки доступа к обнаружению метаданных (требуется для Azure Stack). Также можно задать в профиле файла учетных данных или переменной среды AZURE_CLOUD_ENVIRONMENT.
custom_data
(добавлен в 2.5)
По умолчанию:
Нет
Данные, предоставляемые виртуальной машине и используемые, например, cloud-init.
data_disks
(добавлен в 2.4)
По умолчанию:
Нет
Описание списка дисков данных.
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 ←
  • ReadWrite
Тип кэширования диска данных.
storage_blob_name
(добавлен в 2.4)
Имя хранилища BLOB, используемого для хранения образа диска ОС виртуальной машины. Если имя не указано, используется имя виртуальной машины + '.vhd'. Если вы предоставляете имя, оно должно заканчиваться на '.vhd'
storage_account_name
(добавлен в 2.4)
Имя существующего хранилища Azure, поддерживающего создание блобов VHD. Если для новой виртуальной машины не указано, будет создано новое хранилище с именем <имя_вм>01 с типом хранилища 'Standard_LRS'.
lun
(добавлен в 2.4)
По умолчанию:
0
Логический номер устройства (LUN) для диска данных
image
обязательно
Указывает образ, используемый для создания виртуальной машины.
Если строка, образ извлекается из настраиваемого образа на основе имени.
Если словарь с ключами publisher, offer, sku, и version, образ извлекается из образа из Marketplace. ПРИМЕЧАНИЕ: установите image.version в latest для получения последней версии данного образа.
Если словарь с ключами name и resource_group, образ извлекается из пользовательского образа на основе name и resource_group. ПРИМЕЧАНИЕ: ключ resource_group необязателен, и если он опущен, все образы в подписке будут проверяться по name.
Поддержка настраиваемых образов добавлена в Ansible 2.5
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 ←
  • ReadWrite
Тип кэширования диска ОС.

алиасы: disk_caching
os_type
    Варианты:
  • Windows
  • Linux ←
По умолчанию:
[u'Linux']
Базовый тип операционной системы.
password По умолчанию:
Нет
Пароль пользователя Active Directory. Используется при аутентификации пользователем Active Directory, а не служебным принципалом.
plan
(добавлен в 2.5)
Словарь, описывающий план оплаты стороннего поставщика для экземпляра
publisher
обязательно
Издатель, предлагающий план
product
обязательно
Название продукта
promotion_code
Дополнительный промокод
name
обязательно
Название плана оплаты
profile По умолчанию:
Нет
Профиль безопасности, найденный в файле ~/.azure/credentials.
public_ip_allocation_method
    Варианты:
  • Динамический
  • Статический ←
По умолчанию:
[u'Статический']
Если общедоступный IP-адрес создается при создании ВМ (потому что сетевой интерфейс не был предоставлен), определяет, остается ли общедоступный IP-адрес постоянно связанным с сетевым интерфейсом. Если установлено значение «Динамический», общедоступный IP-адрес может измениться в любой момент перезагрузки или циклической смены питания ВМ.

псевдонимы: public_ip_allocation
remove_on_absent По умолчанию:
[u'all']
При удалении ВМ с состоянием «absent», также удаляются связанные ресурсы
Может быть 'all' или список с любым из следующих элементов: ['network_interfaces', 'virtual_storage', 'public_ips']
Любой другой ввод будет проигнорирован
resource_group
обязательно
Имя группы ресурсов, содержащей виртуальную машину.
restarted По умолчанию:
no
Используйте со значением 'present', чтобы перезапустить работающую ВМ.
secret По умолчанию:
None
Секретный ключ клиента Azure. Используйте при аутентификации с помощью принципала службы.
short_hostname
Внутреннее имя хоста. В случае с виртуальной машиной Linux это имя, возвращаемое командой `hostname`. При создании виртуальной машины short_hostname по умолчанию устанавливается равным name.
ssh_password_enabled По умолчанию:
yes
Если 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 По умолчанию:
yes
Используйте со значением 'present', чтобы запустить машину. Установите значение в false, чтобы машина была 'остановлена'.
state
    Варианты:
  • absent
  • present ←
Утвердите состояние виртуальной машины.
Состояние 'present' проверит, что машина существует с запрошенной конфигурацией. Если конфигурация существующей машины не совпадает, машина будет обновлена. Используйте параметры started, allocated и restarted для изменения состояния питания машины.
Состояние 'absent' удалит виртуальную машину.
storage_account_name
Имя существующего хранилища, поддерживающего создание блобов VHD. Если не указано для новой ВМ, будет создано новое хранилище с именем <имя_ВМ>01 с типом хранилища 'Standard_LRS'.
storage_blob_name
Имя хранилища блоков, используемого для хранения образа операционной системы ВМ. Если имя не указано, по умолчанию используется имя ВМ + '.vhd'. Если вы предоставляете имя, оно должно заканчиваться на '.vhd'.

псевдонимы: storage_blob
storage_container_name По умолчанию:
vhds
Имя контейнера для использования в хранилище для хранения блоков VHD. Если имя не указано, будет создан контейнер по умолчанию.
subnet_name
При создании виртуальной машины, если имя сетевого интерфейса не указано, оно будет создано. Новый сетевой интерфейс будет назначен первому подсети, найденному в виртуальной сети. Используйте этот параметр, чтобы указать конкретную подсеть вместо этого.

псевдонимы: subnet
subscription_id По умолчанию:
None
Ваш идентификатор подписки Azure.
tags По умолчанию:
None
Словарь пар «строка:строка» для назначения метаданных объекту. Метаданные теги объекта будут обновлены с любыми предоставленными значениями. Для удаления тегов установите параметр append_tags в false.
tenant По умолчанию:
None
Идентификатор клиента Azure. Используйте при аутентификации с помощью принципала службы.
virtual_network_name
При создании виртуальной машины, если имя сетевого интерфейса не указано, оно будет создано. Новый сетевой интерфейс будет назначен первой виртуальной сети, найденной в группе ресурсов. Используйте этот параметр, чтобы указать конкретную виртуальную сеть вместо этого.

псевдонимы: virtual_network
virtual_network_resource_group
(добавлено в 2.4)
При создании виртуальной машины, если должна использоваться определенная виртуальная сеть из другой группы ресурсов, используйте этот параметр для указания группы ресурсов для использования.
vm_size
Действительное значение размера ВМ Azure. Например, 'Standard_D4'. Список вариантов зависит от подписки и расположения. Проверьте вашу подписку для доступных вариантов. Требуется при создании ВМ.

Примечания

Примечание

  • Для аутентификации с 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 в среде.

Примеры

- 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: Create a VM with a custom image
  azure_rm_virtualmachine:
    resource_group: Testing
    name: testvm001
    vm_size: Standard_DS1_v2
    admin_username: adminUser
    admin_password: password01
    image: customimage001

- name: Create a VM with a custom image from a particular resource group
  azure_rm_virtualmachine:
    resource_group: Testing
    name: testvm001
    vm_size: Standard_DS1_v2
    admin_username: adminUser
    admin_password: password01
    image:
      name: customimage001
      resource_group: Testing

- 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
сложный
всегда
Данные о текущем состоянии объекта. Обратите внимание, что данные не являются частью зарегистрированного вывода, но доступны непосредственно.

type

properties

deleted_network_interfaces
список
при удалении
Список удаленных сетевых адаптеров.

deleted_public_ips
список
при удалении
Список имён удалённых общедоступных IP-адресов.

deleted_vhd_uris
список
при удалении
Список удалённых URI виртуальных жёстких дисков.

powerstate
строка
всегда
Указывает, если состояние выполняется, остановлено, деаллоцировано



Статус

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

Автор

  • Chris Houseknecht (@chouseknecht)
  • Matt Davis (@nitzmahone)

Подсказка

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

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

Spec-Zone.ru

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