Spec-Zone.ru › Ansible

Модуль 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.

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

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

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

annotation

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

string

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

cdrom

list / elements=dictionary

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

Для контроллера ide горячее подключение и отключение CD-ROM не поддерживается.

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

controller_number

integer

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

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

controller_type

string

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

Возможные значения:

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

iso_path

string

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

Обязателен, если для type задано значение iso.

state

string

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

Возможные значения:

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

type

string

Тип CD-ROM.

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

Возможные значения:

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

unit_number

integer

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

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

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

cluster

string

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

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

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

convert

string

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

Возможные значения:

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

customization

dictionary

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

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

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

Для настройки ОС на базе Linux требуется установленный пакет Perl.

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

autologon

boolean

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

Применяется только для настройки Windows.

Возможные значения:

  • false
  • true

autologoncount

integer

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

Применяется только для настройки Windows.

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

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

dns_servers

list / elements=string

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

Применяется для настройки Linux и Windows.

dns_suffix

list / elements=string

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

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

Применяется для настройки Linux и Windows.

domain

string

Имя домена DNS.

Применяется для настройки Linux и Windows.

domain_ou

string

Полный путь LDAP к подразделению (OU), которому принадлежит компьютер.

Применяется только для настройки Windows.

Работает в vSphere 8.0U2 и более поздних версиях.

domainadmin

string

Пользователь, используемый для присоединения к домену 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.

customization_spec

string

Уникальное имя, идентифицирующее запрошенную спецификацию настройки.

Если параметр задан, он переопределяет значения параметров customization.

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 задано правильно и не используется устройствами CD-ROM SATA.

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

Возможные значения:

  • "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

Тип диска.

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

Возможные значения:

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

unit_number

integer

Номер устройства диска.

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

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

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

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

При создании новой виртуальной машины первый настроенный диск в списке disk[] будет называться «Hard 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

псевдонимы: 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 bit, Windows Server 2016, Windows Server 2019 и более поздние версии.

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

Безопасность на основе виртуализации зависит от вложенной виртуализации и технологии Intel Virtualization Technology for Directed I/O.

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

Варианты:

  • false
  • true

vpmc_enabled

boolean

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

Включить счетчики производительности виртуального ЦП.

Варианты:

  • false
  • true

hostname

string

Имя узла или IP-адрес сервера vSphere vCenter.

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

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

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

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

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

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

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

При указании распределенной виртуальной группы портов убедитесь, что с ней связаны указанные 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 для этого интерфейса.

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

nvdimm

dictionary

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

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

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

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

Убедитесь, что на хосте или в кластере, где находится виртуальная машина, доступны ресурсы 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"

password

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

string

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

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

port

integer

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

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

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

proxy_host

string

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

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

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

proxy_port

integer

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

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

resource_pool

string

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

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

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

snapshot_src

string

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

Этот параметр обязателен при создании связанного клона с помощью параметра linked_clone.

state

string

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

Если задано 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

integer

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

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

Значение задает время ожидания изменения состояния в секундах.

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

template

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

string

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

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

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

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

use_instance_uuid

boolean

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

Варианты:

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

username

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

string

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

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

uuid

string

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

Обязательный параметр, если не указан name.

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

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

validate_certs

boolean

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

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

Варианты:

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

vapp_properties

list / elements=dictionary

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

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

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

id

string

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

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

operation

string

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

type

string

Тип значения; по умолчанию — строковый тип.

value

string

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

wait_for_customization

boolean

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

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

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

Варианты:

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

wait_for_customization_timeout

integer

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

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

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

wait_for_ip_address

boolean

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

Для корректной работы после создания необходим vmware-tools (vmtoolsd).

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

Варианты:

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

wait_for_ip_address_timeout

integer

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

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

Примечания

Примечание

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

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

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

Пример: "None"

Авторы

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

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

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

© 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

Spec-Zone.ru

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