Spec-Zone.ru › Ansible

Модуль azure.azcollection.azure_rm_virtualmachine – Управление виртуальными машинами Azure

Примечание

Этот модуль является частью коллекции azure.azcollection (версия 2.7.0).

Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить её установку, выполните ansible-galaxy collection list.

Для её установки используйте: ansible-galaxy collection install azure.azcollection. Для использования этого модуля требуются дополнительные зависимости, подробности см. в разделе Требования.

Для использования в плейбуке укажите: azure.azcollection.azure_rm_virtualmachine.

Добавлен в azure.azcollection 0.1.2

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

Обзор

  • Управление и настройка виртуальными машинами (ВМ) и связанными ресурсами в Azure.
  • Требуется группа ресурсов, содержащая по крайней мере одну виртуальную сеть с по крайней мере одной подсетью.
  • Поддерживает образы из Azure Marketplace, которые можно обнаружить с помощью azure.azcollection.azure_rm_virtualmachineimage_info.
  • Поддерживает пользовательские образы с Ansible 2.5.
  • Для использования custom_data на образе Linux, образ должен иметь включенную cloud-init. Если cloud-init не включен, custom_data игнорируется.

Требования

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

  • python >= 2.7
  • На хосте, выполняющем этот модуль, должна быть установлена коллекция azure.azcollection через galaxy.
  • Все пакеты Python, перечисленные в файле requirements.txt коллекции, должны быть установлены через pip на хосте, выполняющем модули из azure.azcollection.
  • Полные инструкции по установке можно найти по адресу https://galaxy.ansible.com/azure/azcollection

Параметры

Параметр

Комментарии

accept_terms

boolean

Принять условия использования для образов из Marketplace, если это требуется.

Только администраторы Azure службы/аккаунта могут приобретать образы из Marketplace.

Действительно только при указании параметра plan.

Варианты:

  • false ← (по умолчанию)
  • true

ad_user

string

Имя пользователя Active Directory. Используется при аутентификации пользователем Active Directory вместо сервисного принципала.

additional_capabilities

dictionary

Включает или отключает функциональность на виртуальной машине.

ultra_ssd_enabled

boolean

Флаг, включающий или отключающий возможность иметь один или несколько управляемых дисков данных с типом хранилища UltraSSD_LRS на ВМ.

Управляемые диски с типом хранилища UltraSSD_LRS можно добавить к виртуальной машине только в том случае, если этот параметр включён.

Варианты:

  • false
  • true

adfs_authority_url

string

добавлено в azure.azcollection 0.0.1

URL-адрес авторизации Azure AD. Используется при аутентификации с помощью имени пользователя/пароля и собственного ADFS-сервера.

admin_password

string

Пароль для имени пользователя администратора.

Не требуется, если os_type=Linux и аутентификация по паролю SSH отключена с помощью ssh_password_enabled=false.

admin_username

string

Имя пользователя администратора для доступа к ВМ после её создания.

Требуется при создании ВМ.

allocated

boolean

Присвоена ли ВМ, или она в режиме деаллокации, полезно только при state=present.

Варианты:

  • false
  • true ← (по умолчанию)

api_profile

string

добавлено в azure.azcollection 0.0.1

Выбирает профиль API для взаимодействия с Azure-сервисами. Значение по умолчанию latest подходит для публичных облаков; будущие значения позволят использовать с Azure Stack.

По умолчанию: "latest"

append_tags

boolean

Управление полем тегов: канонические значения или добавление к существующим.

При каноническом режиме, любые теги, отсутствующие в параметре tags, будут удалены из метаданных объекта.

Варианты:

  • false
  • true ← (по умолчанию)

auth_source

string

добавлено в azure.azcollection 0.0.1

Определяет источник учетных данных для аутентификации.

Также может быть задано через переменную окружения ANSIBLE_AZURE_AUTH_SOURCE.

По умолчанию (auto) приоритет параметров модуля -> env -> credential_file -> cli.

При значении env, данные учетных данных будут взяты из переменных среды.

При значении credential_file, будет считан профиль из ~/.azure/credentials.

При значении cli, данные учетных данных будут взяты из профиля Azure CLI. subscription_id или переменная среды AZURE_SUBSCRIPTION_ID могут быть использованы для определения идентификатора подписки, если их несколько; иначе используется подписка по умолчанию az cli.

При значении msi, хост-машина должна быть Azure-ресурсом с включённым расширением MSI. subscription_id или переменная среды AZURE_SUBSCRIPTION_ID могут быть использованы для определения идентификатора подписки, если ресурсу предоставлен доступ к нескольким подпискам; иначе выбирается первая подписка.

msi была добавлена в Ansible 2.6.

Варианты:

  • "auto" ← (по умолчанию)
  • "cli"
  • "credential_file"
  • "env"
  • "msi"

availability_set

string

Имя или идентификатор существующего набора доступности, к которому должна быть добавлена ВМ. Набор доступности должен находиться в той же группе ресурсов, что и ВМ.

boot_diagnostics

dictionary

Управление настройками диагностики загрузки для ВМ.

Диагностика загрузки включает в себя консоль последовательности и снимки экрана удалённой консоли.

enabled

boolean

Флаг, указывающий, включена ли диагностика загрузки.

Варианты:

  • false
  • true

resource_group

string

Группа ресурсов, в которой находится хранилище.

Взаимоисключительно с type

storage_account

string

Имя существующего хранилища для использования в диагностике загрузки.

Если не указано, используется storage_account_name, заданный на уровень выше.

Если хранилище не указано нигде, и enabled равно true, создаётся хранилище по умолчанию для данных диагностики загрузки.

Взаимоисключительно с type

END_OF_DOCUMENT_MARKER

type

string

Должен ли хранилище учетной записи управляться Azure или пользовательской учетной записью хранилища

Взаимоисключающее с подвариантом storage_account и resource_group

Варианты:

  • "managed"

capacity_reservation_group

dictionary

Имя или идентификатор группы резервирования емкости, которая должна быть ассоциирована.

id

string

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

name

string

Имя группы резервирования емкости, которое должно быть ассоциировано.

resource_group

string

Группа ресурсов для группы резервирования емкости, которая должна быть ассоциирована.

cert_validation_mode

string

added in azure.azcollection 0.0.1

Управляет поведением проверки сертификата для конечных точек Azure. По умолчанию все модули проверяют сертификат сервера, но при использовании прокси-сервера HTTPS или с Azure Stack может потребоваться отключить это поведение, передав ignore. Также может быть задано через профиль файла аутентификации или переменную окружения AZURE_CERT_VALIDATION.

Варианты:

  • "ignore"
  • "validate"

client_id

string

Идентификатор клиента Azure. Используйте при аутентификации с помощью Служебного принципа или Управляемой идентичности (msi).

Также может быть задано через переменную окружения AZURE_CLIENT_ID.

cloud_environment

string

added in azure.azcollection 0.0.1

Для облачных сред, отличных от общедоступного облака США, имя среды (как определено в Azure Python SDK, например, AzureChinaCloud, AzureUSGovernment ), или URL-адрес конечной точки обнаружения метаданных (требуется для Azure Stack). Также может быть задано через профиль файла аутентификации или переменную окружения AZURE_CLOUD_ENVIRONMENT.

По умолчанию: "AzureCloud"

created_nsg

boolean

added in azure.azcollection 1.16.0

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

Варианты:

  • false
  • true ← (по умолчанию)

custom_data

string

Данные, предоставляемые ВМ и используемые cloud-init.

Используется только для образов Linux с включённым cloud-init.

См. https://docs.microsoft.com/ru-ru/azure/virtual-machines/linux/using-cloud-init#cloud-init-overview для образов, готовых к cloud-init.

Чтобы включить cloud-init в образе Linux, следуйте https://docs.microsoft.com/ru-ru/azure/virtual-machines/linux/cloudinit-prepare-custom-image.

data_disks

list / elements=dictionary

Описание списка дисков данных.

Используйте azure.azcollection.azure_rm_manageddisk для управления конкретным диском.

caching

string

Тип кэширования диска данных.

Варианты:

  • "None"
  • "ReadOnly"
  • "ReadWrite"

disk_encryption_set

string

Идентификатор набора шифрования дисков для диска данных.

disk_size_gb

integer

Начальный размер диска в ГБ для пустых дисков данных.

Это значение не может быть больше 1023 ГБ.

Размер можно изменить только при деаллокации виртуальной машины.

Не уверен, когда определён managed_disk_id.

lun

integer / обязательно

Логический номер устройства для диска данных.

Это значение используется для идентификации дисков данных внутри ВМ, поэтому оно должно быть уникальным для каждого диска данных, подключенного к ВМ.

managed_disk_id

string

Идентификатор существующего диска данных.

Если указано, будет выбран режим подключения.

managed_disk_type

string

Тип управляемого диска данных.

Используется только при создании системного диска с управляемым диском.

Варианты:

  • "Standard_LRS"
  • "StandardSSD_LRS"
  • "StandardSSD_ZRS"
  • "Premium_LRS"
  • "Premium_ZRS"
  • "UltraSSD_LRS"

storage_account_name

string

Имя существующего хранилища учетных записей, поддерживающего создание блоков VHD.

Если не указано для новой виртуальной машины, будет создано новое хранилище учетных записей, начинающееся с имени, с использованием типа хранилища Standard_LRS.

Используется только при создании диска ОС с помощью виртуального жесткого диска (VHD).

Используется, когда managed_disk_type не определено.

Не может быть обновлено, если не обновлено lun.

storage_blob_name

string

Имя хранилища BLOB, используемого для хранения образа диска ОС виртуальной машины.

Должно оканчиваться на ‘.vhd’.

По умолчанию устанавливается как имя + отметка времени + lun + ‘.vhd’.

Используется только при создании диска ОС с помощью виртуального жесткого диска (VHD).

Используется, когда managed_disk_type не определено.

Не может быть обновлено, если не обновлено lun.

storage_container_name

string

Имя контейнера для использования в хранилище учетных записей для хранения блоков VHD.

Если имя не указано, создается контейнер по умолчанию с именем ‘vhds’.

Используется только при создании диска ОС с помощью виртуального жесткого диска (VHD).

Используется, когда managed_disk_type не определено.

Не может быть обновлено, если не обновлено lun.

По умолчанию: "vhds"

disable_instance_discovery

boolean

добавлен в azure.azcollection 2.3.0

Определяет, выполняется ли обнаружение экземпляра при попытке проверки подлинности. Установка этого значения в true полностью отключит обнаружение экземпляра и проверку подлинности. Эта функция предназначена для использования в сценариях, когда метаданные не могут быть достигнуты, например, в частных облаках или Azure Stack. Процесс обнаружения экземпляра предполагает получение метаданных авторизации с https://login.microsoft.com/ для проверки авторизации. Установив это значение в **True**, проверка подлинности авторизации отключена. В результате крайне важно убедиться, что указанный хост авторизации действителен и надежен.

Устанавливается через профиль файла учетных данных или переменную среды AZURE_DISABLE_INSTANCE_DISCOVERY.

Варианты:

  • false ← (по умолчанию)
  • true

ephemeral_os_disk

boolean

Параметры настроек диска-эпизода, которые можно указать для операционного диска.

Эпизодический диск ОС поддерживается только для экземпляров ВМ с использованием управляемого диска.

Варианты:

  • false
  • true

eviction_policy

string

Указывает политику изгнания для виртуальной машины Azure Spot.

Требуется, чтобы приоритет был установлен на Spot.

Варианты:

  • "Deallocate"
  • "Delete"

force

boolean

Использовать больше силы при остановке ВМ

Установите в true с started=false, чтобы остановить ВМ принудительно (жёсткое отключение питания – пропуск выключения)

Установите в false для плавного отключения питания

Варианты:

  • false ← (по умолчанию)
  • true

generalized

boolean

Обобщена ли ВМ или нет.

Установите в true с state=present для обобщения ВМ.

Обобщение ВМ необратимо.

Варианты:

  • false ← (по умолчанию)
  • true

image

any

Изображение, используемое для создания ВМ.

Для пользовательских изображений – имя изображения. Для сужения поиска до определенной группы ресурсов – словарь с ключами name и resource_group.

Для изображений Marketplace – словарь с ключами publisher, offer, sku и version.

Установите version=latest, чтобы получить последнюю версию заданного изображения.

Требуется при создании.

license_type

string

Корпоративная лицензия для изображения или диска.

Используется только для изображений, содержащих операционную систему Windows Server.

Чтобы удалить все параметры лицензий, установите строку None.

Варианты:

  • "Windows_Server"
  • "Windows_Client"
  • "RHEL_BYOS"
  • "SLES_BYOS"

linux_config

dictionary

Указывает параметры операционной системы Linux на виртуальной машине.

disable_password_authentication

boolean

Указывает, следует ли отключить проверку подлинности по паролю.

Варианты:

  • false
  • true

location

string

Допустимое расположение Azure для ВМ. По умолчанию используется расположение группы ресурсов.

log_mode

string

Родительский аргумент.

log_path

string

Родительский аргумент.

managed_disk_type

string

Тип управляемого ОС-диска.

Создать ОС-диск с управляемым диском, если определено.

Если не определено, ОС-диск будет создан с виртуальным жестким диском (VHD).

Варианты:

  • "Standard_LRS"
  • "StandardSSD_LRS"
  • "StandardSSD_ZRS"
  • "Premium_LRS"
  • "Premium_ZRS"
  • "UltraSSD_LRS"

max_price

float

Задает максимальную цену, которую вы готовы заплатить за Azure Spot VM/VMSS.

Эта цена указана в долларах США.

-1 указывает на стандартную цену до уровня по запросу.

Требуется установить приоритет на Spot.

По умолчанию: -1.0

name

string / required

Имя виртуальной машины.

network_interface_names

aliases: network_interfaces

list / elements=any

Имена сетевых интерфейсов для добавления к виртуальной машине.

Может быть строкой имени или идентификатором ресурса сетевого интерфейса.

Может быть словарем, содержащим resource_group и name сетевого интерфейса.

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

Для создания нового сетевого интерфейса должна существовать как минимум одна виртуальная сеть с одной подсетью.

open_ports

list / elements=string

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

Для хостов Linux по умолчанию разрешаются входящие TCP-подключения к порту 22.

Для хостов Windows по умолчанию открываются порты 3389 и 5986.

os_disk_caching

aliases: disk_caching

string

Тип кэширования ОС-диска.

Варианты:

  • "None"
  • "ReadOnly"
  • "ReadWrite"

os_disk_encryption_set

string

Идентификатор набора шифрования дисков для ОС-диска.

os_disk_name

string

Имя ОС-диска.

os_disk_size_gb

integer

Размер ОС-диска в ГБ.

os_type

string

Базовый тип операционной системы.

Варианты:

  • "Windows"
  • "Linux" ← (default)

password

string

Пароль пользователя Active Directory. Используйте при аутентификации с пользователем Active Directory, а не с субъектом-службой.

plan

dictionary

Тарифный план стороннего поставщика для виртуальной машины.

name

string / required

Имя тарифного плана.

product

string / required

Название продукта.

promotion_code

string

Необязательный промокод.

publisher

string / required

Поставщик, предлагающий план.

priority

string

Приоритет виртуальной машины.

None эквивалентно обычной виртуальной машине.

Варианты:

  • "None"
  • "Spot"

profile

string

Профиль безопасности, найденный в файле ~/.azure/credentials.

proximity_placement_group

dictionary

Имя или идентификатор группы размещения по близости, которая будет связана.

id

string

Идентификатор группы размещения по близости, которая будет связана.

name

string

Название группы размещения по близости, которая будет связана.

resource_group

string

Группа ресурсов близости размещения, которая должна быть связана.

public_ip_allocation_method

aliases: public_ip_allocation

string

Метод распределения общедоступного IP-адреса для ВМ.

Используется только если сетевой интерфейс не указан.

Если установлено значение Dynamic, общедоступный IP-адрес может измениться при каждом перезапуске или выключении питания ВМ.

Выбор Disabled был добавлен в Ansible 2.6.

Варианты:

  • "Dynamic"
  • "Static" ← (по умолчанию)
  • "Disabled"

remove_on_absent

list / elements=string

Связанные ресурсы, которые будут удалены при удалении ВМ с помощью state=absent.

Чтобы удалить все ресурсы, связанные с удаляемой ВМ, включая автоматически созданные, установите значение all.

Чтобы удалить только ресурсы, которые были автоматически созданы при развертывании удаляемой ВМ, установите значение all_autocreated.

Чтобы удалить только определенные ресурсы, установите значение network_interfaces, virtual_storage или public_ips.

Любой другой ввод будет проигнорирован.

По умолчанию: ["all"]

resource_group

string / обязательно

Имя группы ресурсов, содержащей ВМ.

restarted

boolean

Установите значение true с state=present, чтобы перезапустить запущенную ВМ.

Варианты:

  • false ← (по умолчанию)
  • true

secret

string

Секрет Azure клиента. Используйте при аутентификации с помощью Служебного принципала.

security_profile

dictionary

Указывает параметры профиля безопасности для виртуальной машины.

encryption_at_host

boolean

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

Это включит шифрование для всех дисков, включая диск Resource/Temp, на самом хосте.

Варианты:

  • false
  • true

security_type

string

Указывает тип безопасности виртуальной машины.

Устанавливается как TrustedLaunch для включения UefiSettings.

Варианты:

  • "TrustedLaunch"

uefi_settings

dictionary

Указывает параметры безопасности, такие как безопасная загрузка и vTPM, используемые при создании виртуальной машины.

secure_boot_enabled

boolean

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

Варианты:

  • false
  • true

v_tpm_enabled

boolean

Указывает, должен ли быть включен vTPM на виртуальной машине.

Варианты:

  • false
  • true

short_hostname

string

Внутреннее имя хоста. В случае с Linux-ВМ, это имя, возвращаемое командой hostname.

При создании ВМ, short_hostname по умолчанию равен name.

ssh_password_enabled

boolean

Включить или выключить пароли SSH.

При os_type=Linux, установите значение false, чтобы отключить аутентификацию по паролю SSH и потребовать использование ключей SSH.

Варианты:

  • false
  • true ← (по умолчанию)

ssh_public_keys

list / elements=dictionary

Для os_type=Linux, предоставьте список ключей SSH.

Принимает список словарей, где каждый словарь содержит два ключа, path и key_data.

Установите path в стандартное расположение файлов authorized_keys. Например, path=/home/<имя пользователя>/.ssh/authorized_keys.

Установите key_data в фактическое значение открытого ключа.

started

boolean

Указывает, запущен или остановлен ВМ.

Установите значение true с state=present, чтобы запустить ВМ.

Установите значение false для остановки ВМ.

Варианты:

  • false
  • true

state

string

Состояние ВМ.

Установите значение present для создания ВМ с конфигурацией, заданной другими параметрами, или для обновления конфигурации существующей ВМ.

Установите значение absent для удаления ВМ.

Не влияет на состояние питания. Используйте параметры started/allocated/restarted для изменения состояния питания ВМ.

Варианты:

  • "absent"
  • "present" ← (по умолчанию)

storage_account_name

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

string

Имя учетной записи хранилища, поддерживающей создание блобов VHD.

Если не указано для новой ВМ, будет создана новая учетная запись хранилища с именем <имя_вм>01, используя тип хранилища Standard_LRS.

storage_blob_name

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

string

Имя хранилища, используемого для хранения образа ОС ВМ.

Должно оканчиваться на ‘.vhd’.

Если не указано, по умолчанию используется имя ВМ + ‘.vhd’.

storage_container_name

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

string

Имя контейнера в учетной записи хранилища для хранения блобов VHD.

Если не указано, будет создан контейнер по умолчанию.

По умолчанию: "vhds"

subnet_name

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

string

Подсеть для ВМ.

По умолчанию используется первая подсеть, найденная в виртуальной сети, или подсеть из network_interface_name, если указана.

Если подсеть находится в другой группе ресурсов, укажите группу ресурсов с помощью virtual_network_resource_group.

subscription_id

string

Ваш идентификатор подписки Azure.

swap_os_disk

dictionary

Параметры резервного диска ОС.

os_disk_id

string

Идентификатор резервного диска ОС.

os_disk_name

string

Имя резервного диска ОС.

os_disk_resource_group

string

Группа ресурсов резервного диска ОС.

tags

dictionary

Словарь пар «строка:строка» для назначения метаданных объекту.

Метаданные теги объекта будут обновлены любыми предоставленными значениями.

Для удаления тегов установите параметр append_tags в значение false.

В настоящее время Azure DNS зоны и службы Traffic Manager также не позволяют использовать пробелы в теге.

Azure Front Door не поддерживает использование

Azure Automation и Azure CDN поддерживают только 15 тегов на ресурсах.

tenant

string

Идентификатор арендатора Azure. Используйте при аутентификации с помощью сервисного принципала.

thumbprint

string

добавлено в azure.azcollection 1.14.0

Отпечаток цифровой подписи приватного ключа, указанного в x509_certificate_path.

Используйте при аутентификации с помощью сервисного принципала.

Требуется, если задан x509_certificate_path.

virtual_network_name

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

string

Виртуальная сеть, используемая при создании ВМ.

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

Используйте вместе с virtual_network_resource_group для размещения виртуальной сети в другой группе ресурсов.

virtual_network_resource_group

string

Группа ресурсов, используемая при создании ВМ с виртуальной сетью из другой группы ресурсов.

vm_identity

dictionary

Идентификатор ВМ.

type

string / обязательно

Тип управляемой учетной записи

Варианты:

  • "SystemAssigned"
  • "UserAssigned"
  • "SystemAssigned, UserAssigned"
  • "None"

user_assigned_identities

dictionary

Пользовательские назначенные управляемые учетные записи и их параметры

По умолчанию: {}

append

boolean

Если список идентификаторов необходимо добавить к текущим идентификаторам (true), или заменить текущие идентификаторы (false)

Варианты:

  • false
  • true ← (по умолчанию)

id

list / elements=string

Список идентификаторов назначенных пользователем идентификаторов, связанных с ВМ

По умолчанию: []

vm_size

string

Действительное значение размера ВМ Azure. Например, Standard_D4.

Варианты зависят от подписки и расположения. Проверьте вашу подписку для доступных вариантов.

Требуется при создании ВМ.

windows_config

dictionary

Устанавливает параметры операционной системы Windows на виртуальной машине.

enable_automatic_updates

boolean / обязательно

Указывает, включены ли автоматические обновления для виртуальной машины Windows.

Варианты:

  • false
  • true

provision_vm_agent

boolean / обязательно

Указывает, необходимо ли развернуть агент виртуальной машины на виртуальной машине.

Варианты:

  • false
  • true

winrm

list / elements=dictionary

Список конфигураций Windows Remote Management для ВМ.

certificate_store

string

Хранилище сертификатов на ВМ, в котором должен быть добавлен сертификат.

Указанное хранилище сертификатов неявно находится в учетной записи LocalMachine.

certificate_url

string

URL сертификата, загруженного в хранилище ключей в качестве секрета.

protocol

string / обязательно

Протокол прослушивателя winrm.

Варианты:

  • "http"
  • "https"

source_vault

string

Относительный URL хранилища ключей, содержащего сертификат.

x509_certificate_path

path

добавлен в azure.azcollection 1.14.0

Путь к X509 сертификату, используемому для создания служебного принципала в формате PEM.

Сертификат должен быть присоединен к закрытому ключу.

Используйте при аутентификации с помощью служебного принципала.

zones

list / elements=string

Список зон доступности для вашей ВМ.

Можно настроить только одну зону.

Примечания

Примечание

  • Для аутентификации с Azure можно передать параметры, установить переменные среды, использовать профиль, сохранённый в ~/.azure/credentials, или выполнить вход перед выполнением задач или книги задач с az login.
  • Аутентификация также возможна с помощью служебного принципала или пользователя 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 в среде.

См. также

См. также

Вход с помощью Azure CLI

Как войти с помощью команды az login.

Примеры

- name: Create VM with defaults
  azure_rm_virtualmachine:
    resource_group: myResourceGroup
    name: testvm10
    admin_username: "{{ username }}"
    admin_password: "{{ password }}"
    image:
      offer: CentOS
      publisher: OpenLogic
      sku: '7.1'
      version: latest

- name: Create an availability set for managed disk vm
  azure_rm_availabilityset:
    name: avs-managed-disk
    resource_group: myResourceGroup
    platform_update_domain_count: 5
    platform_fault_domain_count: 2
    sku: Aligned

- name: Create a VM with managed disk
  azure_rm_virtualmachine:
    resource_group: myResourceGroup
    name: vm-managed-disk
    admin_username: "{{ username }}"
    availability_set: avs-managed-disk
    managed_disk_type: Standard_LRS
    image:
      offer: 0001-com-ubuntu-server-focal
      publisher: canonical
      sku: 20_04-lts-gen2
      version: latest
    vm_size: Standard_D4

- name: Create a VM with existing storage account and NIC
  azure_rm_virtualmachine:
    resource_group: myResourceGroup
    name: testvm002
    vm_size: Standard_D4
    storage_account: testaccount001
    admin_username: "{{ username }}"
    ssh_public_keys:
      - path: /home/adminUser/.ssh/authorized_keys
        key_data: < insert your 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: myResourceGroup
    name: testvm001
    vm_size: Standard_D4
    managed_disk_type: Standard_LRS
    admin_username: "{{ username }}"
    ssh_public_keys:
      - path: /home/adminUser/.ssh/authorized_keys
        key_data: < insert your ssh public key here... >
    image:
      offer: 0001-com-ubuntu-server-focal
      publisher: canonical
      sku: 20_04-lts-gen2
      version: latest
    data_disks:
      - lun: 0
        managed_disk_id: "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDisk"
      - 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: myResourceGroup
    name: testvm001
    vm_size: Standard_DS1_v2
    admin_username: "{{ username }}"
    ssh_password_enabled: false
    ssh_public_keys:
      - path: /home/adminUser/.ssh/authorized_keys
        key_data: < insert your ssh public key here... >
    network_interfaces: testvm001
    storage_container: osdisk
    storage_blob: osdisk.vhd
    boot_diagnostics:
      enabled: true
      type: managed
    image:
      offer: 0001-com-ubuntu-server-focal
      publisher: canonical
      sku: 20_04-lts-gen2
      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: myResourceGroup
    name: testvm001
    vm_size: Standard_DS1_v2
    admin_username: "{{ username }}"
    admin_password: "{{ password }}"
    image: customimage001

- name: Create a VM with a custom image from a particular resource group
  azure_rm_virtualmachine:
    resource_group: myResourceGroup
    name: testvm001
    vm_size: Standard_DS1_v2
    admin_username: "{{ username }}"
    admin_password: "{{ password }}"
    image:
      name: customimage001
      resource_group: myResourceGroup

- name: Create a VM with an image id
  azure_rm_virtualmachine:
    resource_group: myResourceGroup
    name: testvm001
    vm_size: Standard_DS1_v2
    admin_username: "{{ username }}"
    admin_password: "{{ password }}"
    image:
      id: '{{image_id}}'

- name: Create a VM with spcified OS disk size
  azure_rm_virtualmachine:
    resource_group: myResourceGroup
    name: big-os-disk
    admin_username: "{{ username }}"
    admin_password: "{{ password }}"
    os_disk_size_gb: 512
    image:
      offer: CentOS
      publisher: OpenLogic
      sku: '7.1'
      version: latest

- name: Create a VM with OS and Plan, accepting the terms
  azure_rm_virtualmachine:
    resource_group: myResourceGroup
    name: f5-nva
    admin_username: "{{ username }}"
    admin_password: "{{ password }}"
    image:
      publisher: f5-networks
      offer: f5-big-ip-best
      sku: f5-bigip-virtual-edition-200m-best-hourly
      version: latest
    plan:
      name: f5-bigip-virtual-edition-200m-best-hourly
      product: f5-big-ip-best
      publisher: f5-networks

- name: Create a VM with Spot Instance
  azure_rm_virtualmachine:
    resource_group: myResourceGroup
    name: testvm10
    vm_size: Standard_D4
    priority: Spot
    eviction_policy: Deallocate
    admin_username: "{{ username }}"
    admin_password: "{{ password }}"
    image:
      offer: CentOS
      publisher: OpenLogic
      sku: '7.1'
      version: latest

- name: Update VM to swap OS disk
  azure_rm_virtualmachine:
    resource_group: "{{ resource_group }}"
    name: "vmforimage{{ rpfx }}"
    admin_username: testuser
    ssh_password_enabled: false
    managed_disk_type: Premium_LRS
    ssh_public_keys:
      - path: /home/testuser/.ssh/authorized_keys
        key_data: "ssh-rsa *******************@qq.com"
    vm_size: Standard_D4s_v3
    swap_os_disk:
      os_disk_name: "{{ os_disk_name }}"
      os_disk_resource_group: "{{ os_disk_resource_group }}"
    image:
      offer: 0001-com-ubuntu-server-focal
      publisher: Canonical
      sku: 20_04-lts
      version: latest

- name: Power Off
  azure_rm_virtualmachine:
    resource_group: myResourceGroup
    name: testvm002
    started: false

- name: Deallocate
  azure_rm_virtualmachine:
    resource_group: myResourceGroup
    name: testvm002
    allocated: false

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

- name: Restart
  azure_rm_virtualmachine:
    resource_group: myResourceGroup
    name: testvm002
    restarted: true

- name: Create a VM with an Availability Zone
  azure_rm_virtualmachine:
    resource_group: myResourceGroup
    name: testvm001
    vm_size: Standard_DS1_v2
    admin_username: "{{ username }}"
    admin_password: "{{ password }}"
    image: customimage001
    zones: [1]

- name: Create a VM with security profile
  azure_rm_virtualmachine:
    resource_group: "{{ resource_group }}"
    name: "{{ vm_name }}"
    vm_size: Standard_D4s_v3
    managed_disk_type: Standard_LRS
    admin_username: "{{ username }}"
    admin_password: "{{ password }}"
    security_profile:
      uefi_settings:
        secure_boot_enabled: true
        v_tpm_enabled: true
      encryption_at_host: true
      security_type: TrustedLaunch
    ssh_public_keys:
      - path: /home/azureuser/.ssh/authorized_keys
        key_data: "ssh-rsa *****"
    image:
      offer: 0001-com-ubuntu-server-jammy
      publisher: Canonical
      sku: 22_04-lts-gen2
      version: latest

- name: Remove a VM and all resources that were autocreated
  azure_rm_virtualmachine:
    resource_group: myResourceGroup
    name: testvm002
    remove_on_absent: all_autocreated
    state: absent

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

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

Ключ

Описание

azure_vm

словарь

Факты о текущем состоянии объекта. Обратите внимание, что факты не являются частью зарегистрированного вывода, но доступны непосредственно.

Возвращается: всегда

Пример: {"properties": {"CapacityReservation": {}, "additional_capabilities": {"ultra_ssd_enabled": false}, "availabilitySet": {"id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroup/myResourceGroup/providers/Microsoft.Compute/availabilitySets/MYAVAILABILITYSET"}, "hardwareProfile": {"vmSize": "Standard_D1"}, "instanceView": {"disks": [{"name": "testvm10.vhd", "statuses": [{"code": "ProvisioningState/succeeded", "displayStatus": "Provisioning succeeded", "level": "Info", "time": "2016-03-30T07:11:16.187272Z"}]}], "statuses": [{"code": "ProvisioningState/succeeded", "displayStatus": "Provisioning succeeded", "level": "Info", "time": "2016-03-30T20:33:38.946916Z"}, {"code": "PowerState/running", "displayStatus": "VM running", "level": "Info"}], "vmAgent": {"extensionHandlers": [], "statuses": [{"code": "ProvisioningState/succeeded", "displayStatus": "Ready", "level": "Info", "message": "GuestAgent is running and accepting new configurations.", "time": "2016-03-30T20:31:16.000Z"}], "vmAgentVersion": "WALinuxAgent-2.0.16"}}, "networkProfile": {"networkInterfaces": [{"id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroup/myResourceGroup/providers/Microsoft.Network/networkInterfaces/testvm10_NIC01", "name": "testvm10_NIC01", "properties": {"dnsSettings": {"appliedDnsServers": [], "dnsServers": []}, "enableIPForwarding": false, "ipConfigurations": [{"etag": "W/\"041c8c2a-d5dd-4cd7-8465-9125cfbe2cf8\"", "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroup/myResourceGroup/providers/Microsoft.Network/networkInterfaces/testvm10_NIC01/ipConfigurations/default", "name": "default", "properties": {"privateIPAddress": "10.10.0.5", "privateIPAllocationMethod": "Dynamic", "provisioningState": "Succeeded", "publicIPAddress": {"id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroup/myResourceGroup/providers/Microsoft.Network/publicIPAddresses/testvm10_PIP01", "name": "testvm10_PIP01", "properties": {"idleTimeoutInMinutes": 4, "ipAddress": "13.92.246.197", "ipConfiguration": {"id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroup/myResourceGroup/providers/Microsoft.Network/networkInterfaces/testvm10_NIC01/ipConfigurations/default"}, "provisioningState": "Succeeded", "publicIPAllocationMethod": "Static", "resourceGuid": "3447d987-ca0d-4eca-818b-5dddc0625b42"}}}}], "macAddress": "00-0D-3A-12-AA-14", "primary": true, "provisioningState": "Succeeded", "resourceGuid": "10979e12-ccf9-42ee-9f6d-ff2cc63b3844", "virtualMachine": {"id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroup/myResourceGroup/providers/Microsoft.Compute/virtualMachines/testvm10"}}}]}, "osProfile": {"adminUsername": "chouseknecht", "computerName": "test10", "linuxConfiguration": {"disable_password_authentication": false}, "secrets": []}, "provisioningState": "Succeeded", "proximityPlacementGroup": {"id": "/subscriptions/xxx/resourceGroups/xxx/providers/Microsoft.Compute/proximityPlacementGroups/testid13"}, "storageProfile": {"dataDisks": [{"caching": "ReadWrite", "createOption": "empty", "diskSizeGB": 64, "lun": 0, "name": "datadisk1.vhd", "vhd": {"uri": "https://testvm10sa1.blob.core.windows.net/datadisk/datadisk1.vhd"}}], "imageReference": {"offer": "CentOS", "publisher": "OpenLogic", "sku": "7.1", "version": "7.1.20160308"}, "osDisk": {"caching": "ReadOnly", "createOption": "fromImage", "name": "testvm10.vhd", "osType": "Linux", "vhd": {"uri": "https://testvm10sa1.blob.core.windows.net/vhds/testvm10.vhd"}}}}, "type": "Microsoft.Compute/virtualMachines"}

deleted_network_interfaces

список / элементы=строка

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

Возвращается: при удалении

Пример: ["testvm1001"]

deleted_public_ips

список / элементы=строка

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

Возвращается: при удалении

Пример: ["testvm1001"]

deleted_vhd_uris

список / элементы=строка

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

Возвращается: при удалении

Пример: ["https://testvm104519.blob.core.windows.net/vhds/testvm10.vhd"]

powerstate

строка

Указывает, находится ли состояние в running, stopped, deallocated, generalized.

Возвращается: всегда

Пример: "running"

Авторы

  • Chris Houseknecht (@chouseknecht)
  • Matt Davis (@nitzmahone)
  • Christopher Perrin (@cperrin88)
  • James E. King III (@jeking3)

Ссылки на сборку

  • Система отслеживания ошибок
  • Главная страница
  • Репозиторий (источники)

© 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/azure/azcollection/azure_rm_virtualmachine_module.html

Spec-Zone.ru

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