community.vmware.vmware_guest модуль – Управляет виртуальными машинами в vCenter
Примечание
Этот модуль является частью коллекции community.vmware (версия 4.7.1).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить установку, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install community.vmware.
Для использования в playbook укажите: community.vmware.vmware_guest.
Описание
- Этот модуль может использоваться для создания новых виртуальных машин из шаблонов или других виртуальных машин, управления состоянием питания виртуальной машины (включение, выключение, приостановка, выключение, перезагрузка, перезапуск и т. д.), изменения различных компонентов виртуальной машины, таких как сеть, диск, настройка и т. д., переименования виртуальной машины и удаления виртуальной машины с связанными компонентами.
Параметры
Параметр | Комментарии |
|---|---|
advanced_settings список / элементы=словарь | Определяет список дополнительных параметров, которые необходимо добавить в конфигурацию VMX. Объект дополнительных параметров содержит два поля Некорректные ключи и значения будут проигнорированы. По умолчанию: |
annotation псевдонимы: notes строка | Примечание или аннотация, которая должна быть включена в виртуальную машину. |
cdrom список / элементы=словарь | Список конфигураций CD-ROM для виртуальной машины. Для контроллера По умолчанию: |
|
controller_number целое число |
Для Для |
|
controller_type строка |
При установке значения Варианты:
|
|
iso_path строка |
Путь к файлу ISO на хранилище в формате Требуется, если тип установлен на |
|
state строка |
Если установлено значение Варианты:
|
|
type строка |
Тип CD-ROM. При использовании Варианты:
|
|
unit_number целое число |
Для Для
|
cluster строка | Имя кластера, в котором будет работать виртуальная машина. Этот параметр является обязательным, если
|
convert строка | Укажите тип конвертирования диска при клонировании шаблона или виртуальной машины. Варианты:
|
customization словарь | Параметры для настройки ОС при клонировании из шаблона или виртуальной машины или для применения к существующей виртуальной машине напрямую. Не все операционные системы поддерживаются для настройки с соответствующей версией vCenter, пожалуйста, ознакомьтесь с документацией VMware для соответствующей настройки ОС. Для матрицы поддерживаемых операционных систем для настройки (см. http://partnerweb.vmware.com/programs/guestOS/guest-os-customization-matrix.pdf) Для ОС на базе Linux необходимо установить пакет Perl для настроек ОС. По умолчанию: |
|
autologon логическое значение |
Автоматический вход после настройки виртуальной машины. Специфично для настройки Windows. Варианты:
|
|
autologoncount целое число |
Количество автоматических входов после перезагрузки. Специфично для настройки Windows. Игнорируется, если Если не задан, используется значение 1. |
|
dns_servers список / элементы=строка |
Список DNS-серверов для настройки. Общее для настройки Linux и Windows. |
|
dns_suffix список / элементы=строка |
Список доменных суффиксов, также известных как путь поиска DNS. Параметр по умолчанию Общее для настройки Linux и Windows. |
|
domain строка |
Имя домена DNS для использования. Общее для настройки Linux и Windows. |
|
domainadmin строка |
Пользователь, используемый для присоединения к домену AD. Требуется, если указан Специфично для настройки Windows. |
|
domainadminpassword string |
Пароль, используемый для присоединения к домену AD. Требуется, если Относится к настройке Windows. |
|
existing_vm boolean |
Если установлено значение Обычно используется для настройки Linux и Windows. Варианты:
|
|
fullname string |
Имя владельца сервера. Относится к настройке Windows. Если не задано, по умолчанию используется «Administrator». |
|
hostname string |
Имя хоста компьютера. По умолчанию используется сокращённое значение параметра Допустимые символы — буквенно-цифровые (строчные и прописные) и дефис; остальные символы удаляются в соответствии с RFC 952. Обычно используется для настройки Linux и Windows. |
|
hwclockUTC boolean |
Указывает, используется ли системные часы в формате UTC или местное время. Относится к настройке Linux. Варианты:
|
|
joindomain string |
Домен AD для присоединения. Несовместимо с Относится к настройке Windows. |
|
joinworkgroup string |
Рабочая группа для присоединения. Несовместимо с Относится к настройке Windows. Если не задано, по умолчанию используется «WORKGROUP». |
|
orgname string |
Название организации. Относится к настройке Windows. Если не задано, по умолчанию используется «ACME». |
|
password string |
Пароль локального администратора. Если не определён, пароль будет установлен пустым (то есть, без пароля). Относится к настройке Windows. |
|
productid string |
Идентификатор продукта. Относится к настройке Windows. |
|
runonce list / elements=string |
Список команд, которые выполняются при первом входе пользователя. Относится к настройке Windows. |
|
script_text string добавлено в community.vmware 3.1.0 |
Скрипт, который выполняется с shebang. Требуется включить в vmware tools с помощью vmware-toolbox-cmd config set deployPkg enable-custom-scripts true Относится к настройке Linux. |
|
timezone string |
Часовой пояс. См. Список поддерживаемых часовых поясов для разных версий vSphere в Linux/Unix. Обычно используется для настройки Linux и Windows. |
customvalues list / elements=dictionary | Определяет список пользовательских значений для установки на виртуальную машину. Объект пользовательского значения содержит два поля Неверные ключи и значения будут проигнорированы. По умолчанию: |
datacenter string | Целевой центр обработки данных для операции развертывания. По умолчанию: |
datastore string | Укажите хранилище данных или кластер хранилищ данных для развертывания виртуальной машины. Этот параметр имеет приоритет над параметром Этот параметр может быть использован для переопределения параметров хранилища данных или кластера хранилищ данных виртуальной машины при развертывании из шаблона. Для более подробного использования см. примеры. |
delete_from_inventory boolean | Удалить виртуальную машину из инвентаря или с диска. Варианты:
|
disk list / elements=dictionary | Список дисков для добавления. Сжатие дисков не поддерживается. Удаление существующих дисков виртуальной машины не поддерживается. Атрибуты По умолчанию: |
|
autoselect_datastore boolean |
Выбрать хранилище с наименьшей загрузкой.
Варианты:
|
|
controller_number integer |
Номер шины контроллера дисков. Максимальное количество контроллеров одного типа — 4 на виртуальную машину. Варианты:
|
|
controller_type string |
Тип контроллера дисков. Установка этого типа на неподдерживаемой версии ESXi или оборудования виртуальной машины приведет к сбою развертывания. При установке значения Если установлен тип Варианты:
|
|
datastore string |
Имя хранилища, которое будет использоваться для диска. Если |
|
disk_mode string |
Тип режима диска. Если указан Если указан Если указан Варианты:
|
|
filename string |
Существующий образ диска, который будет использоваться. Файл должен уже существовать в хранилище. Укажите строку имени файла в формате |
|
size string |
Размер хранилища диска. Укажите единицу хранения, например [kb, mb, gb, tb]. |
|
size_gb integer |
Размер хранилища диска в ГБ. |
|
size_kb integer |
Размер хранилища диска в КБ. |
|
size_mb integer |
Размер хранилища диска в МБ. |
|
size_tb integer |
Размер хранилища диска в ТБ. |
|
type string |
Тип диска. Если не указано, тип диска наследуется от исходной виртуальной машины или шаблона при клонировании и толстый диск, нет eagerzero в противном случае. Варианты:
|
|
unit_number integer |
Номер блока диска. Диапазон допустимых значений от 0 до 15 для контроллера SCSI, за исключением 7. Диапазон допустимых значений от 0 до 14 для контроллера NVME. Диапазон допустимых значений от 0 до 29 для контроллера SATA.
При создании новой виртуальной машины первый настроенный диск в списке |
encryption dictionary добавлено в community.vmware 3.9.0 | Управление настройками шифрования виртуальной машины Значение по умолчанию: |
|
encrypted_ft string |
Управляет шифрованием для репликации отказоустойчивости Варианты:
|
|
encrypted_vmotion string |
Управляет шифрованием для миграций в реальном времени с помощью vmotion Варианты:
|
esxi_hostname string | Имя хоста ESXi, на котором будет работать виртуальная машина. Это обязательный параметр, если
|
folder string | Папка назначения, абсолютный путь для поиска существующего гостевого компьютера или создания нового гостевого компьютера. Папка должна включать центр данных. Центр данных ESXi — ha-datacenter. Если найдено несколько машин с одинаковым именем, этот параметр используется для идентификации уникальности виртуальной машины. Примеры: folder: /ha-datacenter/vm folder: ha-datacenter/vm folder: /datacenter1/vm folder: datacenter1/vm folder: /datacenter1/vm/folder1 folder: datacenter1/vm/folder1 folder: /folder1/datacenter1/vm folder: folder1/datacenter1/vm folder: /folder1/datacenter1/vm/folder2 |
force boolean | Игнорировать предупреждения и выполнить действия. Этот параметр полезен при удалении виртуальной машины, которая находится в активном состоянии. Этот модуль отражает рабочие процессы API и пользовательского интерфейса VMware vCenter, поэтому в некоторых случаях флаг `force` будет обязателен для выполнения действия, чтобы убедиться, что действие необходимо выполнить независимо от последствий. Это особенно актуально для удаления виртуальной машины, которая находится в активном состоянии, когда Варианты:
|
guest_id string | Установить идентификатор гостя. Это поле требуется при создании виртуальной машины, но не требуется при создании из шаблона. Допустимые значения указаны здесь: https://code.vmware.com/apis/358/doc/vim.vm.GuestOsDescriptor.GuestOsIdentifier.html |
hardware dictionary | Управлять атрибутами аппаратного обеспечения виртуальной машины. По умолчанию: |
|
boot_firmware string |
Выберите, какая прошивка должна использоваться для загрузки виртуальной машины. Варианты:
|
|
cpu_limit integer |
Использование процессора виртуальной машины не превысит этот лимит. Единица измерения — МГц. |
|
cpu_reservation integer |
Объем ресурсов процессора, гарантированно доступных виртуальной машине. |
|
integer добавлено в community.vmware 3.2.0 |
Количество долей процессора, выделенных этой виртуальной машине cpu_shares_level автоматически будет установлен в «custom» |
|
string добавлено в community.vmware 3.2.0 |
Уровень распределения ресурсов процессора для виртуальной машины. Варианты:
|
|
hotadd_cpu boolean |
Разрешить добавление виртуальных процессоров во время работы виртуальной машины. Варианты:
|
|
hotadd_memory boolean |
Разрешить добавление памяти во время работы виртуальной машины. Варианты:
|
|
hotremove_cpu boolean |
Разрешить удаление виртуальных процессоров во время работы виртуальной машины. Варианты:
|
|
iommu boolean |
Флаг для указания, включен ли I/O MMU для этой виртуальной машины. Варианты:
|
|
max_connections integer |
Максимальное количество активных подключений удаленного дисплея для виртуальных машин. |
|
mem_limit integer |
Использование памяти виртуальной машины не превысит этот лимит. Единица измерения — МБ. |
|
mem_reservation aliases: memory_reservation integer |
Объем ресурсов памяти, гарантированно доступных виртуальной машине. |
|
integer добавлено в community.vmware 3.2.0 |
Количество долей памяти, выделенных этой виртуальной машине mem_shares_level автоматически будет установлен в «custom» |
|
string добавлено в community.vmware 3.2.0 |
Уровень распределения ресурсов памяти для виртуальной машины. Варианты:
|
|
memory_mb integer |
Объем памяти в МБ. |
|
memory_reservation_lock boolean |
Если установлено Варианты:
|
|
nested_virt boolean |
Включить вложенную виртуализацию. Варианты:
|
|
num_cpu_cores_per_socket integer |
Количество ядер на сокет. |
|
num_cpus integer |
Количество ЦП. Должно быть кратно Например, чтобы создать ВМ с 2 сокетами по 4 ядра, укажите |
|
scsi string |
Допустимые значения:
Варианты:
|
|
secure_boot boolean |
Включить или выключить (U)EFI безопасный запуск. Варианты:
|
|
version string |
Версии аппаратного обеспечения виртуальной машины. По умолчанию 10 (ESXi 5.5 и выше). Если установлено значение Проверьте документацию VMware для правильной версии аппаратного обеспечения виртуальной машины. Неправильная версия аппаратного обеспечения может привести к ошибке при развертывании. Если версия аппаратного обеспечения уже равна заданной. |
|
virt_based_security boolean |
Включить функцию защиты на базе виртуализации для Windows на ESXi 6.7 и новее, начиная с версии аппаратного обеспечения 14. Поддерживаемые гостевые операционные системы: Windows 10 64 бита, Windows Server 2016, Windows Server 2019 и новее. Микропрограмма виртуальной машины должна быть EFI, и безопасный запуск должен быть включен. Защита на базе виртуализации зависит от вложенной виртуализации и технологии виртуализации Intel для прямого ввода-вывода. Развертывание на недопустимых ESXi, версии аппаратного обеспечения или микропрограммы может привести к ошибке или развернутой ВМ с неожиданными конфигурациями. Варианты:
|
|
vpmc_enabled boolean добавлен в community.vmware 3.2.0 |
Включить счетчики производительности виртуальных процессоров. Варианты:
|
hostname string | Имя хоста или IP-адрес сервера vCenter или ESXi. Если значение не указано в задаче, будет использоваться значение переменной окружения |
is_template boolean | Отметить экземпляр как шаблон. Это отметит заданную виртуальную машину как шаблон. Обратите внимание, что это может потребоваться сделать в отдельном вызове задачи, которая не вносит никаких других изменений. Например, пользователь не может изменить состояние с включенного на выключенный И сохранить как шаблон в одной и той же задаче. См. community.vmware.vmware_guest для получения более подробной информации. Варианты:
|
linked_clone boolean | Создать ли связанную копию из указанного снимка. Если указано, то Варианты:
|
name string | Имя виртуальной машины для работы. Имена виртуальных машин в vCenter не обязательно уникальны, что может быть проблемой, см. Если существует несколько виртуальных машин с одинаковым именем, то Этот параметр требуется, если |
name_match string | Если найдено несколько виртуальных машин, соответствующих имени, используйте первую или последнюю найденную. Варианты:
|
networks list / elements=dictionary | Список сетей (в порядке сетевых адаптеров). Удаление сетевых адаптеров запрещено при переконфигурации виртуальной машины. Параметры type, ip, netmask, gateway, domain, dns_servers не задаются гостю при создании новой пустой виртуальной машины. Они устанавливаются с помощью настройки через vmware-tools. Если необходимо установить значения этих параметров для гостя, необходимо клонировать шаблон с установленной ОС и vmware-tools (а также Perl, если это Linux). По умолчанию: |
|
connected boolean |
Указывает, подключен ли сетевой адаптер в настоящее время. Варианты:
|
|
device_type string |
Виртуальное сетевое устройство. Допустимое значение может быть одним из
Необязательно для каждой записи. Используется для виртуального оборудования. |
|
dns_servers string |
DNS-серверы для этого сетевого интерфейса (Windows). Необязательно для каждой записи. Используется для настройки ОС. |
|
domain string |
Имя домена для этого сетевого интерфейса (Windows). Необязательно для каждой записи. Используется для настройки ОС. |
|
dvswitch_name string |
Имя распределённого vSwitch. Необязательно для каждой записи. Используется для виртуального оборудования. |
|
gateway string |
Статический шлюз. Необязательно для каждой записи. Используется для настройки ОС. |
|
gatewayv6 string добавлено в community.vmware 4.1.0 |
Статический шлюз. Необязательно для каждой записи. Используется для настройки ОС. |
|
ip string |
Статический IP-адрес. Подразумевает Необязательно для каждой записи. Используется для настройки ОС. |
|
ipv6 string добавлено в community.vmware 4.1.0 |
Статический IP-адрес. Подразумевает Необязательно для каждой записи. Используется для настройки ОС. |
|
mac string |
Настройка MAC-адреса. Необязательно для каждой записи. Используется для виртуального оборудования. |
|
name string |
Имя портгруппы или распределённой виртуальной портгруппы для этого интерфейса. Обязательно для каждой записи. При указании распределённой виртуальной портгруппы убедитесь, что заданный |
|
netmask string |
Статическая маска сети, необходимая для Необязательно для каждой записи. Используется для настройки ОС. |
|
netmaskv6 string добавлено в community.vmware 4.1.0 |
Статическая маска сети, необходимая для Необязательно для каждой записи. Используется для настройки ОС. |
|
start_connected boolean |
Указывает, подключать ли устройство при запуске виртуальной машины. Варианты:
|
|
type string |
Тип назначения IP-адреса. Допустимые значения:
Необязательно для каждой записи. Используется для настройки ОС. |
|
typev6 string добавлено в community.vmware 4.1.0 |
Тип назначения IP-адреса. Допустимые значения:
Необязательно для каждой записи. Используется для настройки ОС. |
|
vlan integer |
Номер VLAN для этого интерфейса. Обязательно для каждой записи. |
nvdimm dictionary | Добавление или удаление виртуального устройства NVDIMM в виртуальную машину. Версия виртуального оборудования VM должна быть 14 или выше на vSphere 6.7 или более поздней версии. Убедитесь, что гостевая ОС виртуальной машины поддерживает PMem перед добавлением виртуального устройства NVDIMM. Убедитесь, что у вас есть привилегия Datastore.Allocate пространства на виртуальной машине. Убедитесь, что на хосте или кластере, на котором находится виртуальная машина, есть доступные ресурсы PMem. Для добавления или удаления виртуального устройства NVDIMM в существующую виртуальную машину она должна быть выключена. По умолчанию: |
|
label string |
Метка виртуального устройства NVDIMM, которое нужно удалить или настроить, например, «NVDIMM 1». Этот параметр требуется, когда |
|
size_mb integer |
Размер виртуального устройства NVDIMM в МБ. По умолчанию: |
|
state string |
Если установлено значение Варианты:
|
пароль псевдонимы: pass, pwd строка | Пароль сервера vSphere vCenter или ESXi. Если значение не указано в задаче, будет использовано значение переменной окружения |
порт целое число | Номер порта сервера vSphere vCenter или ESXi. Если значение не указано в задаче, будет использовано значение переменной окружения По умолчанию: |
proxy_host строка | Адрес прокси-сервера, который будет принимать все запросы HTTPS и перенаправлять их. Формат — имя хоста или IP-адрес. Если значение не указано в задаче, будет использовано значение переменной окружения |
proxy_port целое число | Порт HTTP-прокси-сервера, который будет принимать все запросы HTTPS и перенаправлять их. Если значение не указано в задаче, будет использовано значение переменной окружения |
resource_pool строка | Используйте заданный пул ресурсов для работы с виртуальной машиной. Пул ресурсов должен быть дочерним по отношению к выбранному родительскому хосту. Если не указано, по умолчанию используется Resources. |
snapshot_src строка | Имя существующего моментального снимка, используемого для создания копии виртуальной машины. При создании связанной копии с помощью параметра |
состояние строка | Укажите состояние, в котором должна находиться виртуальная машина. Если Если Если установлено одно из значений Если установлено Если установлено Если установлено Если установлено Если установлено Если установлено Варианты:
|
state_change_timeout целое число | Если Если этот аргумент задан положительным целым числом, модуль вместо этого будет ожидать, пока виртуальная машина не перейдет в выключенное состояние. Значение задаёт тайм-аут в секундах для ожидания модулем изменения состояния. По умолчанию: |
шаблон псевдонимы: template_src строка | Шаблон или существующая виртуальная машина, используемые для создания новой виртуальной машины. Если это значение не задано, виртуальная машина создаётся без использования шаблона. Если виртуальная машина уже существует, этот параметр будет проигнорирован. Начиная с версии 2.8, можно использовать абсолютный путь к виртуальной машине или шаблону. |
use_instance_uuid логическое значение | Использовать UUID экземпляра VMware вместо UUID BIOS. Варианты:
|
имя пользователя псевдонимы: admin, user строка | Имя пользователя сервера vSphere vCenter или ESXi. Если значение не указано в задаче, будет использовано значение переменной окружения |
uuid строка | UUID виртуальной машины для управления, если известен. Это уникальный идентификатор VMware. Требуется, если Если виртуальная машина не существует, этот параметр игнорируется. Обратите внимание, что предоставленный UUID будет проигнорирован при создании виртуальной машины, так как VMware создаёт UUID внутри. |
validate_certs логическое значение | Разрешает подключение, когда SSL-сертификаты недействительны. Установите значение Если значение не указано в задаче, будет использовано значение переменной окружения Варианты:
|
vapp_properties список / элементы=словарь | Список свойств vApp. Полный список атрибутов и типов см. по адресу: https://code.vmware.com/apis/704/vsphere/vim.vApp.PropertyInfo.html По умолчанию: |
|
id строка |
Идентификатор свойства. Обязательно для каждой записи. |
|
operation строка |
Атрибут |
|
type строка |
Тип значения, по умолчанию строка. |
|
value строка |
Значение свойства. |
wait_for_customization булево | Ожидать, пока vCenter обнаружит успешное завершение всех пользовательских настроек гостевой системы. При включении VM автоматически будет включена. Если vCenter не обнаружит начало или успешное выполнение настройки гостевой системы, сообщения об ошибках после указанного в параметре Варианты:
|
wait_for_customization_timeout целое число | Укажите таймаут (в секундах) для параметра wait_for_customization. Будьте осторожны при установке этого значения, так как время настройки гостевой системы может различаться в зависимости от гостевой ОС. По умолчанию: |
wait_for_ip_address булево | Ожидать, пока vCenter обнаружит IP-адрес виртуальной машины. Это требует правильной работы vmware-tools (vmtoolsd) после создания. Для работы с этим параметром необходимо установить vmware-tools на заданную виртуальную машину. Варианты:
|
wait_for_ip_address_timeout целое число | Укажите таймаут (в секундах) для параметра wait_for_ip_address. По умолчанию: |
Примечания
Примечание
- Убедитесь, что пользователь, используемый для community.vmware.vmware_guest, имеет соответствующие привилегии.
- Например, ниже приведен список минимальных привилегий, необходимых пользователям для создания виртуальных машин.
- Хранилище данных > Выделить место
- Виртуальная машина > Настройка > Добавление нового диска
- Виртуальная машина > Настройка > Добавление или удаление устройства
- Виртуальная машина > Инвентаризация > Создание нового
- Сеть > Назначение сети
- Ресурс > Назначение виртуальной машины в пул ресурсов
- Модуль может потребовать дополнительных привилегий для сбора фактов, например, конфигураций ESXi.
- Используйте диски SCSI вместо IDE, если требуется онлайн-расширение дисков, указывая контроллер SCSI.
- Использует SysPrep для Windows VM (зависит от соответствия параметра «guest_id» значению «win») с PyVmomi.
- Для изменения параметров VM (например, количества процессоров) VM должна быть выключена, если не включена поддержка горячего добавления, и следует использовать
state=present, чтобы применить изменения. - Дополнительную информацию см. в Вики-документации Ansible VMware - https://github.com/ansible/community/wiki/VMware.
- Все модули требуют доступа к API для записи и поэтому не поддерживаются на бесплатной лицензии ESXi.
- Все переменные и имена объектов VMware чувствительны к регистру.
Примеры
- name: Create a virtual machine on given ESXi hostname
community.vmware.vmware_guest:
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
folder: /DC1/vm/
name: test_vm_0001
state: poweredon
guest_id: centos64Guest
# This is hostname of particular ESXi server on which user wants VM to be deployed
esxi_hostname: "{{ esxi_hostname }}"
disk:
- size_gb: 10
type: thin
datastore: datastore1
hardware:
memory_mb: 512
num_cpus: 4
scsi: paravirtual
networks:
- name: VM Network
mac: aa:bb:dd:aa:00:14
ip: 10.10.10.100
netmask: 255.255.255.0
device_type: vmxnet3
wait_for_ip_address: true
wait_for_ip_address_timeout: 600
delegate_to: localhost
register: deploy_vm
- name: Create a virtual machine from a template
community.vmware.vmware_guest:
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
folder: /testvms
name: testvm_2
state: poweredon
template: template_el7
disk:
- size_gb: 10
type: thin
datastore: g73_datastore
# Add another disk from an existing VMDK
- filename: "[datastore1] testvms/testvm_2_1/testvm_2_1.vmdk"
hardware:
memory_mb: 512
num_cpus: 6
num_cpu_cores_per_socket: 3
scsi: paravirtual
memory_reservation_lock: true
mem_limit: 8096
mem_reservation: 4096
cpu_shares_level: "high"
mem_shares_level: "high"
cpu_limit: 8096
cpu_reservation: 4096
max_connections: 5
hotadd_cpu: true
hotremove_cpu: true
hotadd_memory: false
version: 12 # Hardware version of virtual machine
boot_firmware: "efi"
cdrom:
- controller_number: 0
unit_number: 0
state: present
type: iso
iso_path: "[datastore1] livecd.iso"
networks:
- name: VM Network
mac: aa:bb:dd:aa:00:14
wait_for_ip_address: true
delegate_to: localhost
register: deploy
- name: Clone a virtual machine from Windows template and customize
community.vmware.vmware_guest:
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
datacenter: datacenter1
cluster: cluster
name: testvm-2
template: template_windows
networks:
- name: VM Network
ip: 192.168.1.100
netmask: 255.255.255.0
gateway: 192.168.1.1
mac: aa:bb:dd:aa:00:14
domain: my_domain
dns_servers:
- 192.168.1.1
- 192.168.1.2
- vlan: 1234
type: dhcp
customization:
autologon: true
dns_servers:
- 192.168.1.1
- 192.168.1.2
domain: my_domain
password: new_vm_password
runonce:
- powershell.exe -ExecutionPolicy Unrestricted -File C:\Windows\Temp\ConfigureRemotingForAnsible.ps1 -ForceNewSSLCert -EnableCredSSP
delegate_to: localhost
- name: Clone a virtual machine from Linux template and customize
community.vmware.vmware_guest:
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
datacenter: "{{ datacenter }}"
state: present
folder: /DC1/vm
template: "{{ template }}"
name: "{{ vm_name }}"
cluster: DC1_C1
networks:
- name: VM Network
ip: 192.168.10.11
netmask: 255.255.255.0
wait_for_ip_address: true
customization:
domain: "{{ guest_domain }}"
dns_servers:
- 8.9.9.9
- 7.8.8.9
dns_suffix:
- example.com
- example2.com
script_text: |
#!/bin/bash
touch /tmp/touch-from-playbook
delegate_to: localhost
- name: Rename a virtual machine (requires the virtual machine's uuid)
community.vmware.vmware_guest:
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
uuid: "{{ vm_uuid }}"
name: new_name
state: present
delegate_to: localhost
- name: Remove a virtual machine by uuid
community.vmware.vmware_guest:
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
uuid: "{{ vm_uuid }}"
state: absent
delegate_to: localhost
- name: Remove a virtual machine from inventory
community.vmware.vmware_guest:
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
name: vm_name
delete_from_inventory: true
state: absent
delegate_to: localhost
- name: Manipulate vApp properties
community.vmware.vmware_guest:
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
name: vm_name
state: present
vapp_properties:
- id: remoteIP
category: Backup
label: Backup server IP
type: string
value: 10.10.10.1
- id: old_property
operation: remove
delegate_to: localhost
- name: Set powerstate of a virtual machine to poweroff by using UUID
community.vmware.vmware_guest:
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
uuid: "{{ vm_uuid }}"
state: poweredoff
delegate_to: localhost
- name: Deploy a virtual machine in a datastore different from the datastore of the template
community.vmware.vmware_guest:
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
name: "{{ vm_name }}"
state: present
template: "{{ template_name }}"
# Here datastore can be different which holds template
datastore: "{{ virtual_machine_datastore }}"
hardware:
memory_mb: 512
num_cpus: 2
scsi: paravirtual
delegate_to: localhost
- name: Create a diskless VM
community.vmware.vmware_guest:
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
datacenter: "{{ dc1 }}"
state: poweredoff
cluster: "{{ ccr1 }}"
name: diskless_vm
folder: /Asia-Datacenter1/vm
guest_id: centos64Guest
datastore: "{{ ds1 }}"
hardware:
memory_mb: 1024
num_cpus: 2
num_cpu_cores_per_socket: 1
- name: Create a VM with multiple disks of different disk controller types
community.vmware.vmware_guest:
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
folder: /DC1/vm/
name: test_vm_multi_disks
state: poweredoff
guest_id: centos64Guest
datastore: datastore1
disk:
- size_gb: 10
controller_type: 'nvme'
controller_number: 0
unit_number: 0
- size_gb: 10
controller_type: 'paravirtual'
controller_number: 0
unit_number: 1
- size_gb: 10
controller_type: 'sata'
controller_number: 0
unit_number: 2
hardware:
memory_mb: 512
num_cpus: 4
version: 14
networks:
- name: VM Network
device_type: vmxnet3
delegate_to: localhost
register: deploy_vm
- name: Create a VM with NVDIMM device
community.vmware.vmware_guest:
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
folder: /DC1/vm/
name: test_vm_nvdimm
state: poweredoff
guest_id: centos7_64Guest
datastore: datastore1
hardware:
memory_mb: 512
num_cpus: 4
version: 14
networks:
- name: VM Network
device_type: vmxnet3
nvdimm:
state: present
size_mb: 2048
delegate_to: localhost
register: deploy_vm
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие поля уникальны для данного модуля:
Ключ | Описание |
|---|---|
instance словарь | метаданные новой виртуальной машины Возвращается: всегда Пример: |
Ссылки на коллекцию
© 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/community/vmware/vmware_guest_module.html