Модуль community.vmware.vmware_guest — управление виртуальными машинами в vCenter
Примечание
Этот модуль входит в коллекцию community.vmware (версия 6.2.0).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните команду ansible-galaxy collection list.
Чтобы установить её, используйте: ansible-galaxy collection install community.vmware.
Чтобы использовать её в плейбуке, укажите: community.vmware.vmware_guest.
Краткое описание
- Этот модуль можно использовать для создания виртуальных машин из шаблонов или других виртуальных машин; управления состоянием питания виртуальной машины, например для включения, выключения, перевода в режим ожидания, завершения работы, перезагрузки и перезапуска; изменения различных компонентов виртуальной машины, таких как сеть, диск и настройки; переименования виртуальной машины и её удаления вместе со связанными компонентами.
Параметры
Параметр | Комментарии |
|---|---|
advanced_settings list / elements=dictionary | Определяет список дополнительных настроек для добавления в конфигурацию VMX. Объект дополнительной настройки содержит два поля Недопустимые ключи и значения будут проигнорированы. По умолчанию: |
annotation псевдонимы: notes string | Примечание или аннотация, добавляемая к виртуальной машине. |
cdrom list / elements=dictionary | Список конфигураций CD-ROM для виртуальной машины. Для контроллера По умолчанию: |
|
controller_number integer |
Для Для |
|
controller_type string |
При выборе Возможные значения:
|
|
iso_path string |
Путь к файлу ISO в хранилище данных в формате Обязателен, если для type задано значение |
|
state string |
Если задано значение Возможные значения:
|
|
type string |
Тип CD-ROM. При значении Возможные значения:
|
|
unit_number integer |
Для Для Атрибуты |
cluster string | Имя кластера, в котором будет работать виртуальная машина. Этот параметр обязателен, если не задан Параметры |
convert string | Укажите тип диска для преобразования при клонировании шаблона или виртуальной машины. Возможные значения:
|
customization dictionary | Параметры настройки ОС при клонировании из шаблона или виртуальной машины либо при настройке существующей виртуальной машины напрямую. Не все операционные системы поддерживают настройку с соответствующей версией vCenter. Ознакомьтесь с документацией VMware по настройке соответствующей ОС. Матрицу поддерживаемых операционных систем для настройки см. в документе http://partnerweb.vmware.com/programs/guestOS/guest-os-customization-matrix.pdf. Для настройки ОС на базе Linux требуется установленный пакет Perl. По умолчанию: |
|
autologon boolean |
Автоматический вход в систему после настройки виртуальной машины. Применяется только для настройки Windows. Возможные значения:
|
|
autologoncount integer |
Количество автоматических входов после перезагрузки. Применяется только для настройки Windows. Игнорируется, если Если параметр не задан, используется значение 1. |
|
dns_servers list / elements=string |
Список DNS-серверов для настройки. Применяется для настройки Linux и Windows. |
|
dns_suffix list / elements=string |
Список доменных суффиксов, также называемый путём поиска DNS. Параметр Применяется для настройки Linux и Windows. |
|
domain string |
Имя домена DNS. Применяется для настройки Linux и Windows. |
|
domain_ou string |
Полный путь LDAP к подразделению (OU), которому принадлежит компьютер. Применяется только для настройки Windows. Работает в vSphere 8.0U2 и более поздних версиях. |
|
domainadmin string |
Пользователь, используемый для присоединения к домену 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. |
customization_spec string | Уникальное имя, идентифицирующее запрошенную спецификацию настройки. Если параметр задан, он переопределяет значения параметров |
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 |
Тип диска. Если тип не указан, при клонировании он наследуется от исходной виртуальной машины или шаблона; в остальных случаях используется толстый диск без предварительного обнуления. Возможные значения:
|
|
unit_number integer |
Номер устройства диска. Допустимый диапазон значений для контроллера SCSI: от 0 до 15, кроме 7. Допустимый диапазон значений для контроллера NVME: от 0 до 14. Допустимый диапазон значений для контроллера SATA: от 0 до 29. Параметры При создании новой виртуальной машины первый настроенный диск в списке |
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 псевдонимы: 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 bit, Windows Server 2016, Windows Server 2019 и более поздние версии. Для виртуальной машины должна использоваться микропрограмма EFI, а безопасная загрузка должна быть включена. Безопасность на основе виртуализации зависит от вложенной виртуализации и технологии Intel Virtualization Technology for Directed I/O. Развертывание на неподдерживаемой версии ESXi, с неподдерживаемой версией оборудования или микропрограммой может привести к сбою или созданию виртуальной машины с непредвиденной конфигурацией. Варианты:
|
|
vpmc_enabled boolean добавлен в community.vmware 3.2.0 |
Включить счетчики производительности виртуального ЦП. Варианты:
|
hostname string | Имя узла или IP-адрес сервера vSphere vCenter. Если в задаче значение не указано, вместо него будет использоваться значение переменной среды |
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 |
Имя распределенного виртуального коммутатора. Необязательно для каждой записи. Используется для виртуального оборудования. |
|
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 на виртуальной машине. Версия виртуального оборудования виртуальной машины должна быть 14 или выше, а версия vSphere — 6.7 или выше. Перед добавлением виртуального устройства NVDIMM убедитесь, что гостевая ОС виртуальной машины поддерживает PMem. Убедитесь, что у вас есть привилегия Datastore.Allocate space на виртуальной машине. Убедитесь, что на хосте или в кластере, где находится виртуальная машина, доступны ресурсы PMem. Для добавления или удаления виртуального устройства NVDIMM на существующей виртуальной машине она должна быть выключена. По умолчанию: |
|
label string |
Метка виртуального устройства NVDIMM, которое нужно удалить или настроить, например «NVDIMM 1». Этот параметр обязателен при использовании |
|
size_mb integer |
Размер виртуального устройства NVDIMM в МБ. По умолчанию: |
|
state string |
Если задано значение Варианты:
|
password псевдонимы: pass, pwd string | Пароль сервера vSphere vCenter. Если значение не указано в задаче, вместо него будет использоваться значение переменной окружения |
port integer | Номер порта сервера vSphere vCenter. Если значение не указано в задаче, вместо него будет использоваться значение переменной окружения По умолчанию: |
proxy_host string | Адрес прокси-сервера, который будет принимать все HTTPS-запросы и перенаправлять их. Формат: имя хоста или IP-адрес. Если значение не указано в задаче, вместо него будет использоваться значение переменной окружения |
proxy_port integer | Порт HTTP-прокси-сервера, который будет принимать все HTTPS-запросы и перенаправлять их. Если значение не указано в задаче, вместо него будет использоваться значение переменной окружения |
resource_pool string | Использовать указанный пул ресурсов для операций с виртуальной машиной. Пул ресурсов должен быть дочерним элементом выбранного родительского хоста. Если параметр не указан, по умолчанию используется Resources. |
snapshot_src string | Имя существующего снимка, используемого для создания клона виртуальной машины. Этот параметр обязателен при создании связанного клона с помощью параметра |
state string | Укажите требуемое состояние виртуальной машины. Если задано Если задано Если задано одно из значений Если задано Если задано Если задано Если задано Если задано Если задано Варианты:
|
state_change_timeout integer | Если задано Если для этого аргумента задано положительное целое число, модуль будет ждать, пока виртуальная машина не перейдет в выключенное состояние. Значение задает время ожидания изменения состояния в секундах. По умолчанию: |
template псевдонимы: template_src string | Шаблон или существующая виртуальная машина, используемые для создания новой виртуальной машины. Если это значение не задано, виртуальная машина создается без использования шаблона. Если виртуальная машина уже существует, этот параметр игнорируется. Начиная с версии 2.8 можно указывать абсолютный путь к виртуальной машине или шаблону. |
use_instance_uuid boolean | Использовать ли UUID экземпляра VMware вместо UUID BIOS. Варианты:
|
username псевдонимы: admin, user string | Имя пользователя сервера vSphere vCenter. Если значение не указано в задаче, вместо него будет использоваться значение переменной окружения |
uuid string | UUID виртуальной машины, которой нужно управлять, если он известен; это уникальный идентификатор VMware. Обязательный параметр, если не указан Если виртуальная машина не существует, этот параметр игнорируется. Обратите внимание: указанный UUID игнорируется при создании виртуальной машины, поскольку VMware создает UUID самостоятельно. |
validate_certs boolean | Разрешает подключение при недействительных SSL-сертификатах. Установите значение Если значение не указано в задаче, вместо него будет использоваться значение переменной окружения Варианты:
|
vapp_properties list / elements=dictionary | Список свойств vApp. Полный список атрибутов и типов см. в документации: https://code.vmware.com/apis/704/vsphere/vim.vApp.PropertyInfo.html По умолчанию: |
|
id string |
Идентификатор свойства. Обязательный параметр для каждой записи. |
|
operation string |
Атрибут |
|
type string |
Тип значения; по умолчанию — строковый тип. |
|
value string |
Значение свойства. |
wait_for_customization boolean | Ожидать, пока vCenter не обнаружит успешное завершение всех настроек гостевой ОС. Если этот параметр включен, виртуальная машина будет автоматически включена. Если vCenter не обнаружит начало настройки гостевой ОС или ее успешное завершение, после истечения времени, указанного параметром Варианты:
|
wait_for_customization_timeout integer | Задать время ожидания (в секундах) для параметра wait_for_customization. Устанавливайте это значение с осторожностью, поскольку время настройки гостевой ОС может различаться для разных ОС. По умолчанию: |
wait_for_ip_address boolean | Ожидать, пока vCenter не обнаружит IP-адрес виртуальной машины. Для корректной работы после создания необходим vmware-tools (vmtoolsd). Для использования этого параметра на указанной виртуальной машине должны быть установлены vmware-tools. Варианты:
|
wait_for_ip_address_timeout integer | Задать время ожидания (в секундах) для параметра wait_for_ip_address. По умолчанию: |
Примечания
Примечание
- Убедитесь, что у пользователя, используемого для community.vmware.vmware_guest, есть необходимые привилегии.
- Например, ниже приведен список минимальных привилегий, необходимых пользователям для создания виртуальных машин.
- DataStore > Allocate Space
- Virtual Machine > Configuration > Add New Disk
- Virtual Machine > Configuration > Add or Remove Device
- Virtual Machine > Inventory > Create New
- Network > Assign Network
- Resource > Assign Virtual Machine to Resource Pool
- Модулю могут потребоваться и дополнительные привилегии, например для сбора фактов — таких как конфигурации ESXi.
- Чтобы расширять диски онлайн с помощью контроллера SCSI, используйте диски SCSI вместо IDE.
- Для виртуальных машин Windows модуль использует SysPrep (параметр «guest_id» соответствует «win») с PyVmomi.
- Чтобы изменить параметры виртуальной машины (например, количество ЦП), ее необходимо выключить, если только не включена поддержка горячего добавления; для применения изменений нужно использовать
state=present. - Дополнительную информацию см. в вики сообщества Ansible VMware: https://github.com/ansible/community/wiki/VMware.
- Всем модулям необходим доступ на запись через API, поэтому они не поддерживаются бесплатной лицензией ESXi.
- Имена всех переменных и объектов VMware чувствительны к регистру.
- Модули могут использовать библиотеку Python «requests», которая по умолчанию не использует системное хранилище сертификатов. Можно указать хранилище сертификатов, задав переменную окружения REQUESTS_CA_BUNDLE. Обратите внимание: наличие этой переменной в некоторых случаях может привести к игнорированию значения «false» для параметра «validate_certs». Пример: «export REQUESTS_CA_BUNDLE=/path/to/your/ca_bundle.pem»
Примеры
- 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 dictionary | метаданные о новой виртуальной машине Возвращается: всегда Пример: |
Ссылки на коллекцию
© 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/community/vmware/vmware_guest_module.html