Spec-Zone.ru › Ansible

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

Примечание

Этот модуль входит в коллекцию azure.azcollection (версия 3.18.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, для которых это требуется.

Приобретать образы в Marketplace могут только администраторы службы Azure или администраторы учетной записи.

Допустимо только при указании 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; в противном случае будет использована подписка Azure CLI по умолчанию.

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

Параметр msi добавлен в Ansible 2.6.

Варианты:

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

availability_set

string

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

boot_diagnostics

dictionary

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

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

enabled

boolean

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

Варианты:

  • false
  • true

resource_group

string

Группа ресурсов, в которой находится учетная запись хранения.

Не может использоваться одновременно с type

storage_account

string

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

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

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

Не может использоваться одновременно с type

type

string

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

Не может использоваться одновременно с подопциями storage_account и resource_group

Варианты:

  • "managed"

capacity_reservation_group

dictionary

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

id

string

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

name

string

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

resource_group

string

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

cert_validation_mode

string

добавлено в 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

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

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

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

created_nsg

boolean

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

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

Варианты:

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

custom_data

string

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

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

Сведения об образах с поддержкой cloud-init см. на странице https://docs.microsoft.com/en-us/azure/virtual-machines/linux/using-cloud-init#cloud-init-overview.

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

data_disks

list / элементы типа dictionary

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

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

caching

string

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

Варианты:

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

create_option

string

Указывает способ создания диска данных.

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

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

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

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

Варианты:

  • "Empty" ← (по умолчанию)
  • "FromImage"

delete_option

string

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

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

Если задано значение Delete, диск данных удаляется вместе с ВМ.

Если задано значение Detach, диск данных сохраняется.

Варианты:

  • "Delete"
  • "Detach"

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"

name

string

Имя диска.

storage_account_name

string

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

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

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

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

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

storage_blob_name

string

Имя большого двоичного объекта хранилища, содержащего образ диска ОС ВМ.

Имя должно оканчиваться на «.vhd».

По умолчанию используется значение name + метка времени + 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.

Для этого параметр priority должен иметь значение Spot.

Варианты:

  • "Deallocate"
  • "Delete"

force

boolean

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

Установите значение true вместе с started=false, чтобы принудительно остановить ВМ (аппаратное выключение — пропустить завершение работы).

Установите значение false для штатного выключения.

Варианты:

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

generalized

boolean

Обобщена ли виртуальная машина.

Чтобы обобщить виртуальную машину, задайте значение true при state=present.

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

Варианты:

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

image

any

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

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

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

Значение community_gallery_image_id можно получить с помощью запроса GET для образа общей галереи.

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

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

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

Обязательный параметр при создании.

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 или масштабируемый набор виртуальных машин Azure Spot.

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

-1 означает цену по умолчанию, не превышающую цену по запросу.

Для этого параметра необходимо задать для priority значение Spot.

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

name

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

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

network_interface_names

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

list / elements=any

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

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

Можно указать словарь, содержащий значения resource_group и name сетевого интерфейса.

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

При удалении виртуальной машины также будут удалены сетевой интерфейс и общедоступный IP-адрес, созданные по умолчанию.

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

oidc_token

string

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

Прямой токен OpenID Connect (OIDC) (JWT), используемый для аутентификации рабочей нагрузки.

Этот токен обменивается с Azure AD с использованием федеративной идентификации OIDC.

Полезен в системах CI (например, GitHub Actions и Azure DevOps), где платформа напрямую предоставляет токен OIDC.

Также можно задать с помощью переменной среды AZURE_FEDERATED_TOKEN.

oidc_token_file_path

path

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

Путь к файлу, содержащему токен OpenID Connect (OIDC) (JWT), используемый для аутентификации рабочей нагрузки.

Файл должен содержать только необработанный токен.

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

Также можно задать с помощью переменной среды AZURE_FEDERATED_TOKEN_FILE.

open_ports

list / elements=string

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

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

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

os_disk_caching

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

string

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

Варианты:

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

os_disk_delete_option

string

Задает поведение при удалении диска ОС виртуальной машины в случае удаления самой виртуальной машины.

Если значение не задано, Azure по умолчанию отсоединяет диск.

Если задано значение Delete, диск ОС будет автоматически удален при удалении виртуальной машины.

Если задано значение Detach, диск ОС будет сохранен.

Варианты:

  • "Delete"
  • "Detach"

os_disk_encryption_set

string

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

os_disk_name

string

Имя диска ОС.

os_disk_size_gb

integer

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

os_type

string

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

Варианты:

  • "Windows"
  • "Linux" ← (по умолчанию)
  • "windows"
  • "linux"

password

string

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

plan

dictionary

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

name

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

Имя плана выставления счетов.

product

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

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

promotion_code

string

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

publisher

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

Издатель, предлагающий план.

priority

string

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

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

Варианты:

  • "None"
  • "Spot"

profile

string

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

proximity_placement_group

dictionary

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

id

string

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

name

string

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

resource_group

string

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

public_ip_allocation_method

псевдонимы: 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

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

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

Варианты:

  • false
  • true

security_type

string

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

Для включения UefiSettings задайте значение TrustedLaunch.

Варианты:

  • "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/<admin username>/.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

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

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

storage_blob_name

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

string

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

Имя должно оканчиваться на «.vhd».

Если параметр не указан, по умолчанию используется имя виртуальной машины + «.vhd».

storage_container_name

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

string

Имя контейнера в учетной записи хранения, используемого для хранения BLOB-объектов 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.

user_data

string

Данные пользователя для виртуальной машины, закодированные в Base64.

Не передавайте здесь секретные данные. Минимальная версия API — «2021-03-01».

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 / элементы=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 / элементы=dictionary

Список конфигураций Windows Remote Management для виртуальной машины.

certificate_store

string

Хранилище сертификатов на виртуальной машине, в которое следует добавить сертификат.

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

certificate_url

string

URL-адрес сертификата, загруженного в Key Vault в качестве секрета.

protocol

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

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

Варианты:

  • "http"
  • "https"

source_vault

string

Относительный URL-адрес Key Vault, содержащего сертификат.

x509_certificate_path

path

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

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

Закрытый ключ должен следовать за сертификатом.

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

zones

list / элементы=string

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

Можно настроить не более одной зоны.

Примечания

Примечание

  • Для аутентификации в Azure можно передать параметры, задать переменные среды, использовать профиль, сохраненный в ~/.azure/credentials, или войти в систему перед запуском задач или сценария с помощью az login.
  • Аутентификация также возможна с помощью субъекта-службы или пользователя Active Directory.
  • Для аутентификации через OIDC передайте client_id, tenant и oidc_token или oidc_token_file_path либо задайте переменные среды AZURE_CLIENT_ID, AZURE_TENANT и AZURE_FEDERATED_TOKEN или AZURE_FEDERATED_TOKEN_FILE.
  • Для аутентификации через субъект-службу передайте 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
        name: newdisk
        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 from a custom image and override data disk types
  azure_rm_virtualmachine:
    resource_group: myResourceGroup
    name: testvm001
    vm_size: Standard_DS1_v2
    admin_username: "{{ username }}"
    admin_password: "{{ password }}"
    managed_disk_type: StandardSSD_LRS
    image:
      id: '{{ image_id }}'
    data_disks:
      - lun: 0
        create_option: FromImage
        managed_disk_type: StandardSSD_LRS
      - lun: 1
        create_option: FromImage
        managed_disk_type: StandardSSD_LRS

- 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: Create VM with cummunity gallery image ID
  azure_rm_virtualmachine:
    resource_group: "{{ resource_group }}"
    name: "communit-image-vm"
    admin_username: testuser
    ssh_password_enabled: false
    managed_disk_type: Premium_LRS
    open_ports:
      - 33
    ssh_public_keys:
      - path: /home/testuser/.ssh/authorized_keys
        key_data: "ssh-rsa ************* @qq.com"
    vm_size: Standard_B1ms
    image:
      community_gallery_image_id: "/CommunityGalleries/yellowbrick-fc7e81f1-87dd-4989-9ca8-03743762e873/Images/Ubuntu-5.15.0-1035-azure_22.04"

- 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: Create a VM and enable deleteOption on OS disk and data disk
  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 }}"
    image:
      offer: 0001-com-ubuntu-server-jammy
      publisher: Canonical
      sku: 22_04-lts-gen2
      version: latest
    os_disk_delete_option: Delete
    data_disks:
      - lun: 0
        disk_size_gb: 64
        storage_container_name: datadisk1
        storage_blob_name: datadisk1.vhd
        delete_option: Delete

- 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

dictionary

Сведения о текущем состоянии объекта. Обратите внимание, что эти сведения не входят в зарегистрированный вывод, но доступны напрямую.

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

Пример: {"properties": {"CapacityReservation": {}, "UserData": null, "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

list / элементы=string

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

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

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

deleted_public_ips

list / элементы=string

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

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

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

deleted_vhd_uris

list / элементы=string

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

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

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

powerstate

string

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

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

Пример: "running"

Авторы

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

Ссылки на коллекцию

  • Отслеживание проблем
  • Главная страница
  • Репозиторий (исходный код)

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

Spec-Zone.ru

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