модуль 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. Варианты:
|
ad_user string | Имя пользователя Active Directory. Используйте при аутентификации с помощью пользователя Active Directory, а не субъекта-службы. |
additional_capabilities dictionary | Включает или отключает возможность виртуальной машины. |
|
ultra_ssd_enabled boolean |
Флаг, включающий или отключающий возможность подключения к ВМ одного или нескольких управляемых дисков данных с типом учетной записи хранения UltraSSD_LRS. Управляемые диски с типом учетной записи хранения UltraSSD_LRS можно добавить в набор виртуальных машин только в том случае, если это свойство включено. Варианты:
|
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. Варианты:
|
api_profile string добавлено в azure.azcollection 0.0.1 | Выбирает профиль API для взаимодействия со службами Azure. Значение по умолчанию По умолчанию: |
append_tags boolean | Позволяет указать, будет ли поле тегов считаться полным списком или теги будут добавляться к существующим. При использовании полного списка все теги, отсутствующие в параметре tags, будут удалены из метаданных объекта. Варианты:
|
auth_source string добавлено в azure.azcollection 0.0.1 | Определяет источник учетных данных для аутентификации. Также можно задать с помощью переменной среды Если задано значение Если задано значение Если задано значение Если задано значение Если задано значение Параметр Варианты:
|
availability_set string | Имя или идентификатор существующего набора доступности, в который нужно добавить ВМ. Набор availability_set должен находиться в той же группе ресурсов, что и ВМ. |
boot_diagnostics dictionary | Управление параметрами диагностики загрузки для ВМ. Диагностика загрузки включает последовательную консоль и снимки экрана удаленной консоли. |
|
enabled boolean |
Флаг, указывающий, включена ли диагностика загрузки. Варианты:
|
|
resource_group string |
Группа ресурсов, в которой находится учетная запись хранения. Не может использоваться одновременно с type |
|
storage_account string |
Имя существующей учетной записи хранения для диагностики загрузки. Если не указано, используется значение storage_account_name, заданное на уровень выше. Если учетная запись хранения нигде не указана, а Не может использоваться одновременно с type |
|
type string |
Указывает, должна ли учетная запись хранения управляться Azure или быть пользовательской. Не может использоваться одновременно с подопциями storage_account и resource_group Варианты:
|
capacity_reservation_group dictionary | Имя или идентификатор группы резервирования емкости, с которой нужно связать ресурс. |
|
id string |
Идентификатор группы резервирования емкости, с которой нужно связать ресурс. |
|
name string |
Имя группы резервирования емкости, с которой нужно связать ресурс. |
|
resource_group string |
Группа ресурсов группы резервирования емкости, с которой нужно связать ресурс. |
cert_validation_mode string добавлено в azure.azcollection 0.0.1 | Управляет проверкой сертификатов конечных точек Azure. По умолчанию все модули проверяют сертификат сервера, однако при использовании HTTPS-прокси или Azure Stack может потребоваться отключить эту проверку, передав Варианты:
|
client_id string | Идентификатор клиента Azure. Используйте при аутентификации с помощью субъекта-службы или управляемого удостоверения (msi). Также можно задать с помощью переменной среды |
cloud_environment string добавлено в azure.azcollection 0.0.1 | Для облачных сред, отличных от общедоступного облака США, укажите имя среды (в соответствии с Azure Python SDK, например, По умолчанию: |
created_nsg boolean добавлено в azure.azcollection 1.16.0 | Указывает, была ли создана и присоединена к сетевому интерфейсу группа безопасности сети. Варианты:
|
custom_data string | Данные, доступные ВМ и используемые Используется только с образами Linux, в которых включен Сведения об образах с поддержкой 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 |
Тип кэширования диска данных. Варианты:
|
|
create_option string |
Указывает способ создания диска данных. Используйте Используйте Если задано значение Не используется, если указан managed_disk_id (режим подключения выбирается автоматически). Варианты:
|
|
delete_option string |
Указывает, что делать с диском данных при удалении ВМ. Если значение не указано, Azure по умолчанию отключает диск. Если задано значение Если задано значение Варианты:
|
|
disk_encryption_set string |
Идентификатор набора шифрования дисков для диска данных. |
|
disk_size_gb integer |
Начальный размер пустого диска данных в ГБ. Это значение не может превышать Размер можно изменить только после освобождения виртуальной машины. Неизвестно, когда задан managed_disk_id. |
|
lun integer / обязательно |
Логический номер устройства диска данных. Это значение используется для идентификации дисков данных в ВМ и поэтому должно быть уникальным для каждого подключенного к ВМ диска данных. |
|
managed_disk_id string |
Идентификатор существующего диска данных. Если указан, будет выбран режим подключения. |
|
managed_disk_type string |
Тип управляемого диска данных. Используется только при создании диска ОС с управляемым диском. Варианты:
|
|
name string |
Имя диска. |
|
storage_account_name string |
Имя существующей учетной записи хранения, поддерживающей создание больших двоичных объектов VHD. Если при создании новой ВМ не указано, будет создана новая учетная запись хранения, имя которой начинается с name, с использованием типа хранилища Используется только при создании диска ОС в формате виртуального жесткого диска (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. По умолчанию: |
disable_instance_discovery boolean добавлено в azure.azcollection 2.3.0 | Определяет, выполняется ли обнаружение экземпляра при попытке аутентификации. Если установить значение true, обнаружение экземпляра и проверка центра сертификации будут полностью отключены. Эта возможность предназначена для сценариев, в которых невозможно подключиться к конечной точке метаданных, например в частных облаках или Azure Stack. Обнаружение экземпляра включает получение метаданных центра сертификации с https://login.microsoft.com/ для проверки центра сертификации. Если установить значение **True**, проверка центра сертификации отключается. Поэтому важно убедиться, что настроенный узел центра сертификации является допустимым и заслуживающим доверия. Задается в профиле файла учетных данных или с помощью переменной среды Варианты:
|
ephemeral_os_disk boolean | Параметры временного диска, которые можно задать для диска операционной системы. Временный диск ОС поддерживается только для экземпляров ВМ, использующих управляемый диск. При удалении ВМ временный диск ОС будет удален и его нельзя будет отключить. Варианты:
|
eviction_policy string | Указывает политику вытеснения для виртуальной машины Azure Spot. Для этого параметр priority должен иметь значение Spot. Варианты:
|
force boolean | Применять принудительное завершение при остановке ВМ. Установите значение Установите значение Варианты:
|
generalized boolean | Обобщена ли виртуальная машина. Чтобы обобщить виртуальную машину, задайте значение Обобщение виртуальной машины необратимо. Варианты:
|
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. Чтобы удалить все параметры типа лицензии, задайте строковое значение Варианты:
|
linux_config dictionary | Задает параметры операционной системы Linux на виртуальной машине. |
|
disable_password_authentication boolean |
Указывает, следует ли отключить проверку подлинности по паролю. Варианты:
|
location string | Допустимое расположение Azure для виртуальной машины. По умолчанию используется расположение группы ресурсов. |
log_mode string | Родительский аргумент. |
log_path string | Родительский аргумент. |
managed_disk_type string | Тип управляемого диска ОС. Если параметр задан, создайте диск ОС как управляемый диск. Если параметр не задан, диск ОС будет создан в виде виртуального жесткого диска (VHD). Варианты:
|
max_price float | Задает максимальную цену, которую вы готовы платить за виртуальную машину Azure Spot или масштабируемый набор виртуальных машин Azure Spot. Цена указана в долларах США.
Для этого параметра необходимо задать для priority значение Spot. По умолчанию: |
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. Также можно задать с помощью переменной среды |
oidc_token_file_path path добавлен в azure.azcollection 3.17.0 | Путь к файлу, содержащему токен OpenID Connect (OIDC) (JWT), используемый для аутентификации рабочей нагрузки. Файл должен содержать только необработанный токен. Этот способ обычно используется на платформах, которые сохраняют токены OIDC в файлах. Также можно задать с помощью переменной среды |
open_ports list / elements=string | Список портов, которые нужно открыть в группе безопасности виртуальной машины при создании группы безопасности и сетевого интерфейса вместе с виртуальной машиной. Для узлов Linux по умолчанию разрешены входящие TCP-подключения к порту 22. Для узлов Windows по умолчанию открыты порты 3389 и 5986. |
os_disk_caching псевдонимы: disk_caching string | Тип кэширования диска ОС. Варианты:
|
os_disk_delete_option string | Задает поведение при удалении диска ОС виртуальной машины в случае удаления самой виртуальной машины. Если значение не задано, Azure по умолчанию отсоединяет диск. Если задано значение Если задано значение Варианты:
|
os_disk_encryption_set string | Идентификатор набора шифрования дисков для диска ОС. |
os_disk_name string | Имя диска ОС. |
os_disk_size_gb integer | Размер диска ОС в ГБ. |
os_type string | Основной тип операционной системы. Варианты:
|
password string | Пароль пользователя Active Directory. Используется при аутентификации от имени пользователя Active Directory, а не субъекта-службы. |
plan dictionary | План выставления счетов стороннего поставщика для виртуальной машины. |
|
name string / обязательный |
Имя плана выставления счетов. |
|
product string / обязательный |
Название продукта. |
|
promotion_code string |
Необязательный промокод. |
|
publisher string / обязательный |
Издатель, предлагающий план. |
priority string | Приоритет виртуальной машины.
Варианты:
|
profile string | Профиль безопасности из файла ~/.azure/credentials. |
proximity_placement_group dictionary | Имя или идентификатор группы размещения с близким расположением, с которой нужно связать виртуальную машину. |
|
id string |
Идентификатор группы размещения с близким расположением, с которой нужно связать виртуальную машину. |
|
name string |
Имя группы размещения с близким расположением, с которой нужно связать виртуальную машину. |
|
resource_group string |
Группа ресурсов группы размещения с близким расположением, с которой нужно связать виртуальную машину. |
public_ip_allocation_method псевдонимы: public_ip_allocation string | Метод выделения общедоступного IP-адреса виртуальной машине. Используется, только если сетевой интерфейс не указан. Если задано значение Вариант Варианты:
|
remove_on_absent list / elements=string | Связанные ресурсы, которые нужно удалить при удалении виртуальной машины с помощью state=absent. Чтобы удалить все ресурсы, связанные с удаляемой виртуальной машиной, включая созданные автоматически, задайте значение Чтобы удалить только ресурсы, автоматически созданные при подготовке удаляемой виртуальной машины, задайте значение Чтобы удалить только определенные ресурсы, задайте значение Любые другие значения игнорируются. По умолчанию: |
resource_group string / обязательный | Имя группы ресурсов, содержащей виртуальную машину. |
restarted boolean | Чтобы перезапустить работающую виртуальную машину, задайте значение Варианты:
|
secret string | Секрет клиента Azure. Используется при аутентификации с помощью субъекта-службы. |
security_profile dictionary | Задает параметры профиля безопасности виртуальной машины. |
|
encryption_at_host boolean |
Это свойство позволяет пользователю включить или отключить шифрование на узле для виртуальной машины в запросе. При включении шифруются все диски, в том числе диск ресурсов/временный диск непосредственно на узле. Варианты:
|
|
security_type string |
Задает тип безопасности виртуальной машины. Для включения UefiSettings задайте значение TrustedLaunch. Варианты:
|
|
uefi_settings dictionary |
Задает параметры безопасности, например безопасную загрузку и vTPM, используемые при создании виртуальной машины. |
|
secure_boot_enabled boolean |
Указывает, следует ли включить безопасную загрузку на виртуальной машине. Варианты:
|
|
v_tpm_enabled boolean |
Указывает, следует ли включить vTPM на виртуальной машине. Варианты:
|
short_hostname string | Имя, присвоенное узлу внутри системы. На виртуальной машине Linux это имя, возвращаемое командой При создании виртуальной машины по умолчанию для short_hostname используется значение name. |
ssh_password_enabled boolean | Включить или отключить пароли SSH. Если os_type=Linux, задайте значение Варианты:
|
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 | Указывает, запущена или остановлена виртуальная машина. Чтобы запустить виртуальную машину, задайте значение Чтобы остановить виртуальную машину, задайте значение Варианты:
|
state string | Состояние виртуальной машины. Задайте значение Задайте значение Не влияет на состояние питания. Для изменения состояния питания виртуальной машины используйте параметры started/allocated/restarted. Варианты:
|
storage_account_name псевдонимы: storage_account string | Имя учетной записи хранения, поддерживающей создание BLOB-объектов VHD. Если параметр не указан для новой виртуальной машины, будет создана новая учетная запись хранения с именем <имя виртуальной машины>01 и типом хранения |
storage_blob_name псевдонимы: storage_blob string | Имя BLOB-объекта хранилища, используемого для хранения образа диска ОС виртуальной машины. Имя должно оканчиваться на «.vhd». Если параметр не указан, по умолчанию используется имя виртуальной машины + «.vhd». |
storage_container_name псевдонимы: storage_container string | Имя контейнера в учетной записи хранения, используемого для хранения BLOB-объектов VHD. Если параметр не указан, будет создан контейнер по умолчанию. По умолчанию: |
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 / обязательный |
Тип управляемого удостоверения Варианты:
|
|
user_assigned_identities dictionary |
Назначенные пользователем управляемые удостоверения и их параметры По умолчанию: |
|
append boolean |
Добавлять ли список удостоверений к текущим удостоверениям (true) или заменять им текущие удостоверения (false) Варианты:
|
|
id list / элементы=string |
Список идентификаторов назначенных пользователем удостоверений, связанных с виртуальной машиной По умолчанию: |
vm_size string | Допустимое значение размера виртуальной машины Azure. Например, Доступные варианты зависят от подписки и расположения. Проверьте, какие варианты доступны в вашей подписке. Обязателен при создании виртуальной машины. |
windows_config dictionary | Задает параметры операционной системы Windows на виртуальной машине. |
|
enable_automatic_updates boolean / обязательный |
Указывает, включено ли автоматическое обновление для виртуальной машины Windows. Варианты:
|
|
provision_vm_agent boolean / обязательный |
Указывает, следует ли устанавливать агент виртуальной машины на виртуальную машину. Варианты:
|
winrm list / элементы=dictionary | Список конфигураций Windows Remote Management для виртуальной машины. |
|
certificate_store string |
Хранилище сертификатов на виртуальной машине, в которое следует добавить сертификат. Указанное хранилище сертификатов неявно находится в учетной записи LocalMachine. |
|
certificate_url string |
URL-адрес сертификата, загруженного в Key Vault в качестве секрета. |
|
protocol string / обязательный |
Протокол прослушивателя winrm. Варианты:
|
|
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 | Сведения о текущем состоянии объекта. Обратите внимание, что эти сведения не входят в зарегистрированный вывод, но доступны напрямую. Возвращается: всегда Пример: |
deleted_network_interfaces list / элементы=string | Список удаленных сетевых интерфейсов. Возвращается: при удалении Пример: |
deleted_public_ips list / элементы=string | Список имен удаленных общедоступных IP-адресов. Возвращается: при удалении Пример: |
deleted_vhd_uris list / элементы=string | Список URI удаленных виртуальных жестких дисков. Возвращается: при удалении Пример: |
powerstate string | Указывает, находится ли состояние в значении Возвращается: всегда Пример: |
Ссылки на коллекцию
© 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