Spec-Zone.ru › Ansible

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.

Объект дополнительных параметров содержит два поля key и value.

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

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

annotation

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

строка

Примечание или аннотация, которая должна быть включена в виртуальную машину.

cdrom

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

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

Для контроллера ide добавление или удаление CD-ROM в режиме реального времени не поддерживается.

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

controller_number

целое число

Для cdrom[].controller_type=ide, допустимое значение равно 0 или 1.

Для cdrom[].controller_type=sata, допустимое значение от 0 до 3.

controller_type

строка

При установке значения sata, убедитесь, что cdrom[].unit_number корректно указано и не используется дисками SATA.

Варианты:

  • "ide" ← (по умолчанию)
  • "sata"

iso_path

строка

Путь к файлу ISO на хранилище в формате [datastore1] path/to/file.iso.

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

state

строка

Если установлено значение absent, указанный CD-ROM будет удален.

Варианты:

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

type

строка

Тип CD-ROM.

При использовании none, CD-ROM будет отключен, но останется присутствующим.

Варианты:

  • "none"
  • "client" ← (по умолчанию)
  • "iso"

unit_number

целое число

Для cdrom[].controller_type=ide, допустимое значение равно 0 или 1.

Для cdrom[].controller_type=sata, допустимое значение от 0 до 29.

cdrom[].controller_number и cdrom[].unit_number являются обязательными атрибутами.

cluster

строка

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

Этот параметр является обязательным, если esxi_hostname не задан.

esxi_hostname и cluster являются взаимоисключающими параметрами.

convert

строка

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

Варианты:

  • "thin"
  • "thick"
  • "eagerzeroedthick"

customization

словарь

Параметры для настройки ОС при клонировании из шаблона или виртуальной машины или для применения к существующей виртуальной машине напрямую.

Не все операционные системы поддерживаются для настройки с соответствующей версией vCenter, пожалуйста, ознакомьтесь с документацией VMware для соответствующей настройки ОС.

Для матрицы поддерживаемых операционных систем для настройки (см. http://partnerweb.vmware.com/programs/guestOS/guest-os-customization-matrix.pdf)

Для ОС на базе Linux необходимо установить пакет Perl для настроек ОС.

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

autologon

логическое значение

Автоматический вход после настройки виртуальной машины.

Специфично для настройки Windows.

Варианты:

  • false
  • true

autologoncount

целое число

Количество автоматических входов после перезагрузки.

Специфично для настройки Windows.

Игнорируется, если customization.autologon не задан или установлен на customization.autologon=false.

Если не задан, используется значение 1.

dns_servers

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

Список DNS-серверов для настройки.

Общее для настройки Linux и Windows.

dns_suffix

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

Список доменных суффиксов, также известных как путь поиска DNS.

Параметр по умолчанию domain.

Общее для настройки Linux и Windows.

domain

строка

Имя домена DNS для использования.

Общее для настройки Linux и Windows.

domainadmin

строка

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

Требуется, если указан customization.joindomain.

Специфично для настройки Windows.

domainadminpassword

string

Пароль, используемый для присоединения к домену AD.

Требуется, если customization.joindomain указано.

Относится к настройке Windows.

existing_vm

boolean

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

Обычно используется для настройки Linux и Windows.

Варианты:

  • false
  • true

fullname

string

Имя владельца сервера.

Относится к настройке Windows.

Если не задано, по умолчанию используется «Administrator».

hostname

string

Имя хоста компьютера.

По умолчанию используется сокращённое значение параметра name.

Допустимые символы — буквенно-цифровые (строчные и прописные) и дефис; остальные символы удаляются в соответствии с RFC 952.

Обычно используется для настройки Linux и Windows.

hwclockUTC

boolean

Указывает, используется ли системные часы в формате UTC или местное время.

Относится к настройке Linux.

Варианты:

  • false
  • true

joindomain

string

Домен AD для присоединения.

Несовместимо с customization.joinworkgroup.

Относится к настройке Windows.

joinworkgroup

string

Рабочая группа для присоединения.

Несовместимо с customization.joindomain.

Относится к настройке 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

https://docs.vmware.com/en/VMware-vSphere/7.0/com.vmware.vsphere.vm_admin.doc/GUID-9A5093A5-C54F-4502-941B-3F9C0F573A39.html

Относится к настройке Linux.

timezone

string

Часовой пояс.

См. Список поддерживаемых часовых поясов для разных версий vSphere в Linux/Unix.

Обычно используется для настройки Linux и Windows.

Windows.

customvalues

list / elements=dictionary

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

Объект пользовательского значения содержит два поля key и value.

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

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

datacenter

string

Целевой центр обработки данных для операции развертывания.

По умолчанию: "ha-datacenter"

datastore

string

Укажите хранилище данных или кластер хранилищ данных для развертывания виртуальной машины.

Этот параметр имеет приоритет над параметром disk[].datastore.

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

Для более подробного использования см. примеры.

delete_from_inventory

boolean

Удалить виртуальную машину из инвентаря или с диска.

Варианты:

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

disk

list / elements=dictionary

Список дисков для добавления.

Сжатие дисков не поддерживается.

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

Атрибуты disk[].controller_type, disk[].controller_number, disk[].unit_number используются для настройки нескольких типов контроллеров дисков и дисков для создания или переконфигурации виртуальной машины.

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

autoselect_datastore

boolean

Выбрать хранилище с наименьшей загрузкой.

disk[].datastore и disk[].autoselect_datastore не будут использоваться, если datastore указан вне этой конфигурации disk[].

Варианты:

  • false
  • true

controller_number

integer

Номер шины контроллера дисков.

Максимальное количество контроллеров одного типа — 4 на виртуальную машину.

Варианты:

  • 0
  • 1
  • 2
  • 3

controller_type

string

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

При установке значения sata, убедитесь, что disk[].unit_number указан правильно и не используется дисками SATA CDROM.

Если установлен тип sata, убедитесь, что disk[].controller_number и disk[].unit_number установлены правильно, когда cdrom=sata.

Варианты:

  • "buslogic"
  • "lsilogic"
  • "lsilogicsas"
  • "paravirtual"
  • "sata"
  • "nvme"

datastore

string

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

Если disk[].autoselect_datastore установлено в True, выберет хранилище с наименьшей загрузкой, имя которого содержит строку «disk.datastore».

disk_mode

string

Тип режима диска.

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

Если указан independent_persistent, то же, что и persistent, но не затрагивается снимками.

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

Варианты:

  • "persistent"
  • "independent_persistent"
  • "independent_nonpersistent"

filename

string

Существующий образ диска, который будет использоваться.

Файл должен уже существовать в хранилище.

Укажите строку имени файла в формате [datastore_name] path/to/file.vmdk.

size

string

Размер хранилища диска.

Укажите единицу хранения, например [kb, mb, gb, tb].

size_gb

integer

Размер хранилища диска в ГБ.

size_kb

integer

Размер хранилища диска в КБ.

size_mb

integer

Размер хранилища диска в МБ.

size_tb

integer

Размер хранилища диска в ТБ.

type

string

Тип диска.

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

Варианты:

  • "thin"
  • "thick"
  • "eagerzeroedthick"

unit_number

integer

Номер блока диска.

Диапазон допустимых значений от 0 до 15 для контроллера SCSI, за исключением 7.

Диапазон допустимых значений от 0 до 14 для контроллера NVME.

Диапазон допустимых значений от 0 до 29 для контроллера SATA.

disk[].controller_type, disk[].controller_number и disk[].unit_number необходимы при создании или переконфигурации виртуальных машин с несколькими типами контроллеров дисков и дисков.

При создании новой виртуальной машины первый настроенный диск в списке disk[] будет «Жесткий диск 1».

encryption

dictionary

добавлено в community.vmware 3.9.0

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

Значение по умолчанию: {}

encrypted_ft

string

Управляет шифрованием для репликации отказоустойчивости

Варианты:

  • "disabled"
  • "opportunistic"
  • "required"

encrypted_vmotion

string

Управляет шифрованием для миграций в реальном времени с помощью vmotion

Варианты:

  • "disabled"
  • "opportunistic"
  • "required"

esxi_hostname

string

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

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

esxi_hostname и cluster являются взаимоисключающими параметрами.

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` будет обязателен для выполнения действия, чтобы убедиться, что действие необходимо выполнить независимо от последствий. Это особенно актуально для удаления виртуальной машины, которая находится в активном состоянии, когда state=absent.

Варианты:

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

guest_id

string

Установить идентификатор гостя.

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

Допустимые значения указаны здесь: https://code.vmware.com/apis/358/doc/vim.vm.GuestOsDescriptor.GuestOsIdentifier.html

hardware

dictionary

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

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

boot_firmware

string

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

Варианты:

  • "bios"
  • "efi"

cpu_limit

integer

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

Единица измерения — МГц.

cpu_reservation

integer

Объем ресурсов процессора, гарантированно доступных виртуальной машине.

cpu_shares

integer

добавлено в community.vmware 3.2.0

Количество долей процессора, выделенных этой виртуальной машине

cpu_shares_level автоматически будет установлен в «custom»

cpu_shares_level

string

добавлено в community.vmware 3.2.0

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

Варианты:

  • "low"
  • "normal"
  • "high"
  • "custom"

hotadd_cpu

boolean

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

Варианты:

  • false
  • true

hotadd_memory

boolean

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

Варианты:

  • false
  • true

hotremove_cpu

boolean

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

Варианты:

  • false
  • true

iommu

boolean

Флаг для указания, включен ли I/O MMU для этой виртуальной машины.

Варианты:

  • false
  • true

max_connections

integer

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

mem_limit

integer

Использование памяти виртуальной машины не превысит этот лимит.

Единица измерения — МБ.

mem_reservation

aliases: memory_reservation

integer

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

mem_shares

integer

добавлено в community.vmware 3.2.0

Количество долей памяти, выделенных этой виртуальной машине

mem_shares_level автоматически будет установлен в «custom»

mem_shares_level

string

добавлено в community.vmware 3.2.0

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

Варианты:

  • "low"
  • "normal"
  • "high"
  • "custom"

memory_mb

integer

Объем памяти в МБ.

memory_reservation_lock

boolean

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

Варианты:

  • false
  • true

nested_virt

boolean

Включить вложенную виртуализацию.

Варианты:

  • false
  • true

num_cpu_cores_per_socket

integer

Количество ядер на сокет.

num_cpus

integer

Количество ЦП.

Должно быть кратно hardware.num_cpu_cores_per_socket.

Например, чтобы создать ВМ с 2 сокетами по 4 ядра, укажите hardware.num_cpus как 8 и hardware.num_cpu_cores_per_socket как 4.

scsi

string

Допустимые значения: buslogic, lsilogic, lsilogicsas и paravirtual.

paravirtual по умолчанию.

Варианты:

  • "buslogic"
  • "lsilogic"
  • "lsilogicsas"
  • "paravirtual"

secure_boot

boolean

Включить или выключить (U)EFI безопасный запуск.

Варианты:

  • false
  • true

version

string

Версии аппаратного обеспечения виртуальной машины.

По умолчанию 10 (ESXi 5.5 и выше).

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

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

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

virt_based_security

boolean

Включить функцию защиты на базе виртуализации для Windows на ESXi 6.7 и новее, начиная с версии аппаратного обеспечения 14.

Поддерживаемые гостевые операционные системы: Windows 10 64 бита, Windows Server 2016, Windows Server 2019 и новее.

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

Защита на базе виртуализации зависит от вложенной виртуализации и технологии виртуализации Intel для прямого ввода-вывода.

Развертывание на недопустимых ESXi, версии аппаратного обеспечения или микропрограммы может привести к ошибке или развернутой ВМ с неожиданными конфигурациями.

Варианты:

  • false
  • true

vpmc_enabled

boolean

добавлен в community.vmware 3.2.0

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

Варианты:

  • false
  • true

hostname

string

Имя хоста или IP-адрес сервера vCenter или ESXi.

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

is_template

boolean

Отметить экземпляр как шаблон.

Это отметит заданную виртуальную машину как шаблон.

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

См. community.vmware.vmware_guest для получения более подробной информации.

Варианты:

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

linked_clone

boolean

Создать ли связанную копию из указанного снимка.

Если указано, то snapshot_src является обязательным параметром.

Варианты:

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

name

string

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

Имена виртуальных машин в vCenter не обязательно уникальны, что может быть проблемой, см. name_match.

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

Этот параметр требуется, если state=poweredon, state=powered-on, state=poweredoff, state=powered-off, state=present, state=restarted, state=suspended и виртуальная машина не существует.

name_match

string

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

Варианты:

  • "first" ← (по умолчанию)
  • "last"

networks

list / elements=dictionary

Список сетей (в порядке сетевых адаптеров).

Удаление сетевых адаптеров запрещено при переконфигурации виртуальной машины.

Параметры type, ip, netmask, gateway, domain, dns_servers не задаются гостю при создании новой пустой виртуальной машины. Они устанавливаются с помощью настройки через vmware-tools. Если необходимо установить значения этих параметров для гостя, необходимо клонировать шаблон с установленной ОС и vmware-tools (а также Perl, если это Linux).

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

connected

boolean

Указывает, подключен ли сетевой адаптер в настоящее время.

Варианты:

  • false
  • true

device_type

string

Виртуальное сетевое устройство.

Допустимое значение может быть одним из e1000, e1000e, pcnet32, vmxnet2, vmxnet3, sriov.

vmxnet3 по умолчанию.

Необязательно для каждой записи.

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

dns_servers

string

DNS-серверы для этого сетевого интерфейса (Windows).

Необязательно для каждой записи.

Используется для настройки ОС.

domain

string

Имя домена для этого сетевого интерфейса (Windows).

Необязательно для каждой записи.

Используется для настройки ОС.

dvswitch_name

string

Имя распределённого vSwitch.

Необязательно для каждой записи.

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

gateway

string

Статический шлюз.

Необязательно для каждой записи.

Используется для настройки ОС.

gatewayv6

string

добавлено в community.vmware 4.1.0

Статический шлюз.

Необязательно для каждой записи.

Используется для настройки ОС.

ip

string

Статический IP-адрес. Подразумевает type=static.

Необязательно для каждой записи.

Используется для настройки ОС.

ipv6

string

добавлено в community.vmware 4.1.0

Статический IP-адрес. Подразумевает type=static.

Необязательно для каждой записи.

Используется для настройки ОС.

mac

string

Настройка MAC-адреса.

Необязательно для каждой записи.

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

name

string

Имя портгруппы или распределённой виртуальной портгруппы для этого интерфейса.

Обязательно для каждой записи.

При указании распределённой виртуальной портгруппы убедитесь, что заданный esxi_hostname или cluster ассоциированы с ней.

netmask

string

Статическая маска сети, необходимая для ip.

Необязательно для каждой записи.

Используется для настройки ОС.

netmaskv6

string

добавлено в community.vmware 4.1.0

Статическая маска сети, необходимая для ip.

Необязательно для каждой записи.

Используется для настройки ОС.

start_connected

boolean

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

Варианты:

  • false
  • true

type

string

Тип назначения IP-адреса.

Допустимые значения: dhcp, static.

dhcp по умолчанию.

Необязательно для каждой записи.

Используется для настройки ОС.

typev6

string

добавлено в community.vmware 4.1.0

Тип назначения IP-адреса.

Допустимые значения: dhcp, static.

dhcp по умолчанию.

Необязательно для каждой записи.

Используется для настройки ОС.

vlan

integer

Номер VLAN для этого интерфейса.

Обязательно для каждой записи.

nvdimm

dictionary

Добавление или удаление виртуального устройства NVDIMM в виртуальную машину.

Версия виртуального оборудования VM должна быть 14 или выше на vSphere 6.7 или более поздней версии.

Убедитесь, что гостевая ОС виртуальной машины поддерживает PMem перед добавлением виртуального устройства NVDIMM.

Убедитесь, что у вас есть привилегия Datastore.Allocate пространства на виртуальной машине.

Убедитесь, что на хосте или кластере, на котором находится виртуальная машина, есть доступные ресурсы PMem.

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

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

label

string

Метка виртуального устройства NVDIMM, которое нужно удалить или настроить, например, «NVDIMM 1».

Этот параметр требуется, когда nvdimm.state=absent, или nvdimm.state=present для перенастройки размера устройства NVDIMM. При добавлении нового устройства, не устанавливайте его.

size_mb

integer

Размер виртуального устройства NVDIMM в МБ.

По умолчанию: 1024

state

string

Если установлено значение absent, то устройство NVDIMM со специфицированным nvdimm.label будет удалено.

Варианты:

  • "present"
  • "absent"
END_OF_DOCUMENT_MARKER

пароль

псевдонимы: pass, pwd

строка

Пароль сервера vSphere vCenter или ESXi.

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

порт

целое число

Номер порта сервера vSphere vCenter или ESXi.

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

По умолчанию: 443

proxy_host

строка

Адрес прокси-сервера, который будет принимать все запросы HTTPS и перенаправлять их.

Формат — имя хоста или IP-адрес.

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

proxy_port

целое число

Порт HTTP-прокси-сервера, который будет принимать все запросы HTTPS и перенаправлять их.

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

resource_pool

строка

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

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

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

snapshot_src

строка

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

При создании связанной копии с помощью параметра linked_clone, этот параметр обязателен.

состояние

строка

Укажите состояние, в котором должна находиться виртуальная машина.

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

Если absent, и виртуальная машина существует, то указанная виртуальная машина удаляется вместе с ассоциированными компонентами.

Если установлено одно из значений poweredon, powered-on, poweredoff, powered-off, present, restarted, suspended, и виртуальная машина не существует, виртуальная машина развертывается с заданными параметрами.

Если установлено poweredon или powered-on, и виртуальная машина существует с состоянием питания, отличным от включенного, то указанная виртуальная машина включается.

Если установлено poweredoff или powered-off, и виртуальная машина существует с состоянием питания, отличным от выключенного, то указанная виртуальная машина выключается.

Если установлено restarted, и виртуальная машина существует, то виртуальная машина перезапускается.

Если установлено suspended, и виртуальная машина существует, то виртуальная машина переводится в состояние приостановки.

Если установлено shutdownguest или shutdown-guest, и виртуальная машина существует, то виртуальная машина выключается.

Если установлено rebootguest или reboot-guest, и виртуальная машина существует, то виртуальная машина перезагружается.

Варианты:

  • "absent"
  • "poweredon"
  • "powered-on"
  • "poweredoff"
  • "powered-off"
  • "present" ← (по умолчанию)
  • "rebootguest"
  • "reboot-guest"
  • "restarted"
  • "suspended"
  • "shutdownguest"
  • "shutdown-guest"

state_change_timeout

целое число

Если state=shutdownguest, по умолчанию модуль возвращает результат сразу после отправки сигнала выключения.

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

Значение задаёт тайм-аут в секундах для ожидания модулем изменения состояния.

По умолчанию: 0

шаблон

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

строка

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

Если это значение не задано, виртуальная машина создаётся без использования шаблона.

Если виртуальная машина уже существует, этот параметр будет проигнорирован.

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

use_instance_uuid

логическое значение

Использовать UUID экземпляра VMware вместо UUID BIOS.

Варианты:

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

имя пользователя

псевдонимы: admin, user

строка

Имя пользователя сервера vSphere vCenter или ESXi.

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

uuid

строка

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

Требуется, если name не указан.

Если виртуальная машина не существует, этот параметр игнорируется.

Обратите внимание, что предоставленный UUID будет проигнорирован при создании виртуальной машины, так как VMware создаёт UUID внутри.

validate_certs

логическое значение

Разрешает подключение, когда SSL-сертификаты недействительны. Установите значение false в случае недоверия к сертификатам.

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

Варианты:

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

vapp_properties

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

Список свойств vApp.

Полный список атрибутов и типов см. по адресу: https://code.vmware.com/apis/704/vsphere/vim.vApp.PropertyInfo.html

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

id

строка

Идентификатор свойства.

Обязательно для каждой записи.

operation

строка

Атрибут remove необходим только при удалении свойств.

type

строка

Тип значения, по умолчанию строка.

value

строка

Значение свойства.

wait_for_customization

булево

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

При включении VM автоматически будет включена.

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

Варианты:

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

wait_for_customization_timeout

целое число

Укажите таймаут (в секундах) для параметра wait_for_customization.

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

По умолчанию: 3600

wait_for_ip_address

булево

Ожидать, пока vCenter обнаружит IP-адрес виртуальной машины.

Это требует правильной работы vmware-tools (vmtoolsd) после создания.

Для работы с этим параметром необходимо установить vmware-tools на заданную виртуальную машину.

Варианты:

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

wait_for_ip_address_timeout

целое число

Укажите таймаут (в секундах) для параметра wait_for_ip_address.

По умолчанию: 300

Примечания

Примечание

  • Убедитесь, что пользователь, используемый для 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

словарь

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

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

Пример: "None"

Авторы

  • Loic Blot (@nerzhul)
  • Philippe Dellaert (@pdellaert)
  • Abhijeet Kasurde (@Akasurde)

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

  • Трекер задач
  • Главная страница
  • Репозиторий (источники)

© 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

Spec-Zone.ru

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