Spec-Zone.ru › Ansible 2.11

community.vmware.vmware_guest – Управляет виртуальными машинами в vCenter

Примечание

Этот плагин входит в коллекцию community.vmware (версия 1.7.0).

Для его установки используйте: ansible-galaxy collection install community.vmware.

Для использования в книге задач, укажите: community.vmware.vmware_guest.

  • Описание
  • Требования
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения

Описание

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

Требования

Ниже перечислены требования к хосту, на котором выполняется этот модуль.

  • python >= 2.6
  • PyVmomi

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
annotation
строка
Примечание или аннотация, включаемая в виртуальную машину.

псевдонимы: notes
cdrom
сырой
Список конфигураций CD-ROM для виртуальной машины. Добавлено в версии 2.9.
Предоставление конфигурации CD-ROM в виде словаря устарело и будет удалено в VMware сборке 4.0.0. Пожалуйста, используйте список вместо этого.
Параметры controller_type, controller_number, unit_number, state добавлены для поддержки списка конфигураций CD-ROM.
Для контроллера ide, горячая добавка или удаление CD-ROM не поддерживается.
controller_number
целое число
Для контроллера ide, допустимое значение равно 0 или 1.
Для контроллера sata, допустимое значение равно от 0 до 3.
controller_type
строка
Допустимые варианты: ide и sata.
Значение по умолчанию: ide.
При установке значения sata, убедитесь, что unit_number корректен и не используется дисками SATA.
iso_path
строка
Путь к файлу ISO в хранилище данных в формате [datastore1] path/to/file.iso.
Требуется, если тип установлен на iso.
state
строка
Допустимые значения: present или absent.
Значение по умолчанию: present.
Если установлено absent, указанный CD-ROM будет удален.
type
строка
Тип CD-ROM, допустимые варианты: none, client или iso.
При none CD-ROM будет отключен, но останется присутствующим.
Значение по умолчанию: client.
unit_number
целое число
Для подключения устройства CD-ROM к контроллеру ide, допустимое значение 0 или 1.
Для подключения устройства CD-ROM к контроллеру sata, допустимое значение от 0 до 29.
controller_number и unit_number являются обязательными атрибутами.
cluster
строка
Имя кластера, в котором будет работать виртуальная машина.
Обязательный параметр, если esxi_hostname не установлен.
esxi_hostname и cluster — взаимоисключающие параметры.
Этот параметр чувствителен к регистру.
convert
строка
    Варианты:
  • thin
  • thick
  • eagerzeroedthick
Укажите тип диска convert при клонировании шаблона или виртуальной машины.
customization
словарь
Параметры для настройки ОС при клонировании из шаблона или виртуальной машины или применении к существующей виртуальной машине напрямую.
Не все операционные системы поддерживаются для настройки с соответствующей версией vCenter, пожалуйста, см. документацию VMware для конкретной настройки ОС.
Для матрицы поддерживаемых операционных систем настройки (см. http://partnerweb.vmware.com/programs/guestOS/guest-os-customization-matrix.pdf)
Все параметры и имена объектов VMware чувствительны к регистру.
ОС на базе Linux требуют установленного пакета Perl для настройки ОС.
autologon
булево
    Варианты:
  • no
  • yes
Автологин после настройки виртуальной машины.
Специфично для настройки Windows.
autologoncount
целое число
Количество автологинов после перезагрузки.
Специфично для настройки Windows.
Игнорируется, если autologon не задано или установлено на False.
Если не задано, используется значение 1.
dns_servers
список / элементы=строка
Список DNS-серверов для настройки.
Общее для настройки Linux и Windows.
dns_suffix
список / элементы=строка
Список доменных суффиксов, также известный как DNS-поисковый путь.
Значение по умолчанию domain параметр.
Общее для настройки Linux и Windows.
domain
строка
Имя домена DNS для использования.
Общее для настройки Linux и Windows.
domainadmin
строка
Пользователь, используемый для присоединения к домену AD.
Требуется, если указан joindomain.
Специфично для настройки Windows.
domainadminpassword
строка
Пароль, используемый для присоединения к домену AD.
Требуется, если указан joindomain.
Специфично для настройки Windows.
existing_vm
булево
    Варианты:
  • no
  • yes
Если установлено True, выполнить настройку ОС на указанной виртуальной машине напрямую.
Общее для настройки Linux и Windows.
fullname
строка
Имя владельца сервера.
Специфично для настройки Windows.
Если не задано, по умолчанию используется «Administrator».
hostname
строка
Имя хоста компьютера.
Значение по умолчанию — сокращенное значение параметра name.
Допустимые символы — буквенно-цифровые (заглавные и строчные) и дефис; остальные символы отбрасываются в соответствии с RFC 952.
Общее для настройки Linux и Windows.
hwclockUTC
булево
    Варианты:
  • no
  • yes
Указывает, используется ли системный таймер в формате UTC или локального времени.
Специфично для настройки Linux.
joindomain
строка
AD домен для присоединения.
Несовместимо с joinworkgroup.
Специфично для настройки Windows.
joinworkgroup
строка
Рабочая группа для присоединения.
Несовместимо с joindomain.
Специфично для настройки Windows.
Если не задано, по умолчанию используется «WORKGROUP».
orgname
строка
Имя организации.
Специфично для настройки Windows.
Если не задано, по умолчанию используется «ACME».
password
строка
Пароль локального администратора.
Специфично для настройки Windows.
productid
строка
Идентификатор продукта.
Специфично для настройки Windows.
runonce
список / элементы=строка
Список команд, которые выполняются при первом входе пользователя.
Специфично для настройки Windows.
timezone
строка
Временная зона.
См. Список поддерживаемых временных зон для различных версий vSphere в Linux/Unix.
Общее для настройки Linux и Windows.
Windows.
customization_spec
строка
Уникальное имя, идентифицирующее запрашиваемую спецификацию настройки.
Этот параметр чувствителен к регистру.
Если задано, переопределяет значения параметров customization.
customvalues
список / элементы=словарь
Определяет список пользовательских значений, которые нужно установить на виртуальной машине.
Объект пользовательского значения содержит два поля key и value.
Некорректные ключи и значения будут проигнорированы.
datacenter
строка
По умолчанию:
"ha-datacenter"
Целевой центр обработки данных для операции развертывания.
Этот параметр чувствителен к регистру.
datastore
строка
Укажите хранилище данных или кластер хранилищ данных для размещения виртуальной машины.
Этот параметр имеет приоритет над параметром disk.datastore.
Этот параметр можно использовать для переопределения настроек хранилища данных или кластера хранилищ данных виртуальной машины при развертывании из шаблона.
См. пример для получения дополнительной информации об использовании.
delete_from_inventory
булево
    Варианты:
  • no ←
  • yes
Указывает, нужно ли удалять виртуальную машину из инвентаризации или из диска.
END_OF_DOCUMENT_MARKER
disk
список / элементы=словарь
Список дисков для добавления.
Этот параметр чувствителен к регистру.
Сжатие дисков не поддерживается.
Удаление существующих дисков виртуальной машины не поддерживается.
Атрибуты controller_type, controller_number, unit_number используются для настройки нескольких типов контроллеров дисков и дисков для создания или переконфигурации виртуальной машины. Добавлен в Ansible 2.10.
autoselect_datastore
булево
    Варианты:
  • нет
  • да
Выбрать наименее используемый хранилище данных.
disk.datastore и disk.autoselect_datastore не будут использоваться, если datastore указан вне этой disk конфигурации.
controller_number
целое число
Номер шины контроллера диска.
Максимальное количество контроллеров одного типа - 4 на VM.
Допустимый диапазон значений от 0 до 3.
controller_type
строка
Тип контроллера диска.
Допустимые значения: buslogic, lsilogic, lsilogicsas, paravirtual, sata и nvme.
Поддержка типа контроллера nvme начинается с ESXi 6.5 с версией аппаратного обеспечения VM version 13. Установка этого типа на неподдерживаемый ESXi или версию аппаратного обеспечения VM приведет к ошибке при развертывании.
При установке значения sata, убедитесь, что unit_number правильный и не используется контроллерами SATA CDROM.
Если установлен тип sata, убедитесь, что controller_number и unit_number правильно установлены, когда cdrom также установлен как тип sata.
datastore
строка
Имя хранилища данных, которое будет использоваться для диска.
Если autoselect_datastore установлено в True, будет выбран наименее используемый хранилище данных, имя которого содержит эту строку "disk.datastore".
disk_mode
строка
Тип режима диска.
Добавлен в Ansible 2.6.
Если указано persistent, изменения немедленно и постоянно записываются на виртуальный диск. Это значение по умолчанию.
Если указано independent_persistent, аналогично постоянному, но не затрагиваются снимки.
Если указано independent_nonpersistent, изменения виртуального диска выполняются в журнале повтора и удаляются при выключении питания, но не затрагиваются снимками.
filename
строка
Существующий образ диска для использования.
Имя файла должно уже существовать в хранилище данных.
Укажите строку имени файла в формате [datastore_name] path/to/file.vmdk. Добавлен в Ansible 2.8.
size
целое число
Размер хранилища диска.
Укажите единицы измерения, например [kb, mb, gb, tb].
size_gb
целое число
Размер хранилища диска в ГБ.
size_kb
целое число
Размер хранилища диска в КБ.
size_mb
целое число
Размер хранилища диска в МБ.
size_tb
целое число
Размер хранилища диска в ТБ.
type
строка
Тип диска.
Если указано thin, тип диска устанавливается как тонкий диск.
Если указано eagerzeroedthick, тип диска устанавливается как eagerzeroedthick диск. Добавлен в Ansible 2.5.
Если не указано, тип диска - толстый диск без eagerzero.
unit_number
целое число
Номер устройства диска.
Допустимый диапазон значений от 0 до 15 для контроллера SCSI, за исключением 7.
Допустимый диапазон значений от 0 до 14 для контроллера NVME.
Допустимый диапазон значений от 0 до 29 для контроллера SATA.
controller_type, controller_number и unit_number необходимы при создании или переконфигурации виртуальных машин с несколькими типами контроллеров и дисков.
При создании новой виртуальной машины первый сконфигурированный диск в списке disk будет "Жесткий диск 1".
esxi_hostname
строка
Имя хоста ESXi, где будет запущена виртуальная машина.
Этот параметр обязателен, если cluster не задан.
esxi_hostname и cluster являются взаимоисключающими параметрами.
Этот параметр чувствителен к регистру.
folder
строка
Папка назначения, абсолютный путь для поиска существующего гостевого виртуального сервера или создания нового.
Папка должна включать в себя центр данных. Центр данных 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
булево
    Варианты:
  • нет ←
  • да
Игнорировать предупреждения и выполнить действия.
Этот параметр полезен при удалении виртуальной машины, которая находится в включенном состоянии.
Этот модуль отражает рабочий процесс API и пользовательского интерфейса VMware vCenter, поэтому в некоторых случаях флаг `force` будет обязателен для выполнения действия, чтобы убедиться, что действие будет выполнено, независимо от последствий. Это особенно актуально для удаления включенной виртуальной машины, когда state установлено в absent.
guest_id
строка
Установить идентификатор гостевой системы.
Этот параметр чувствителен к регистру.
rhel7_64Guest для виртуальной машины с RHEL7 64 бит.
centos64Guest для виртуальной машины с CentOS 64 бит.
ubuntu64Guest для виртуальной машины с Ubuntu 64 бит.
Это поле требуется при создании виртуальной машины, не требуется при создании из шаблона.
Допустимые значения приведены здесь: https://code.vmware.com/apis/358/doc/vim.vm.GuestOsDescriptor.GuestOsIdentifier.html
hardware
словарь
Управление атрибутами аппаратного обеспечения виртуальной машины.
Все параметры чувствительны к регистру.
boot_firmware
строка
    Варианты:
  • bios
  • efi
Выберите микропрограмму, которая должна быть использована для загрузки виртуальной машины.
cpu_limit
целое число
Использование ЦП виртуальной машины не превысит это значение.
Единица измерения - МГц.
cpu_reservation
целое число
Количество ресурсов ЦП, гарантированно доступных для виртуальной машины.
hotadd_cpu
булево
    Варианты:
  • нет
  • да
Разрешить добавление виртуальных ЦП во время работы виртуальной машины.
hotadd_memory
булево
    Варианты:
  • нет
  • да
Разрешить добавление памяти во время работы виртуальной машины.
hotremove_cpu
булево
    Варианты:
  • нет
  • да
Разрешить удаление виртуальных ЦП во время работы виртуальной машины.
max_connections
целое число
Максимальное количество активных удаленных подключений к дисплею для виртуальных машин.
mem_limit
целое число
Использование памяти виртуальной машины не превысит это значение.
Единица измерения - МБ.
mem_reservation
целое число
Количество ресурсов памяти, гарантированно доступных для виртуальной машины.

псевдонимы: memory_reservation
memory_mb
целое число
Объем памяти в МБ.
memory_reservation_lock
булево
    Варианты:
  • нет
  • да
Если установлено true, зарезервировать ресурсы памяти для виртуальной машины.
nested_virt
булево
    Варианты:
  • нет
  • да
Включить вложенную виртуализацию.
num_cpu_cores_per_socket
целое число
Количество ядер на сокет.
num_cpus
integer
Количество ЦП.
num_cpus должно быть кратным num_cpu_cores_per_socket.
Например, для создания виртуальной машины с 2 сокетами по 4 ядра, укажите num_cpus как 8 и num_cpu_cores_per_socket как 4.
scsi
string
    Варианты:
  • buslogic
  • lsilogic
  • lsilogicsas
  • paravirtual
Допустимые значения — buslogic, lsilogic, lsilogicsas и paravirtual.
paravirtual является значением по умолчанию.
version
string
Версии аппаратного обеспечения виртуальной машины.
По умолчанию 10 (ESXi 5.5 и выше).
Если установлено значение latest, указанная виртуальная машина будет обновлена до самой последней версии аппаратного обеспечения, поддерживаемой на хосте.
latest добавлено в Ansible 2.10.
Обратитесь к документации VMware для получения верной версии аппаратного обеспечения виртуальной машины.
Неверная версия аппаратного обеспечения может привести к сбою при развертывании. Если версия аппаратного обеспечения уже равна заданной.
virt_based_security
boolean
    Варианты:
  • no
  • yes
Включить функцию виртуализации, основанную на безопасности, для Windows на ESXi 6.7 и более поздних версиях, начиная с версии аппаратного обеспечения 14.
Поддерживаемые гостевые операционные системы — Windows 10 64-разрядная, Windows Server 2016, Windows Server 2019 и более поздние версии.
Прошивку виртуальной машины необходимо EFI.
Развертывание на недопустимых ESXi, версии аппаратного обеспечения или прошивки может привести к сбою или развертыванию виртуальной машины с непредвиденными конфигурациями.
hostname
string
Имя хоста или IP-адрес сервера vCenter или ESXi vSphere.
Если значение не указано в задаче, вместо него будет использовано значение переменной среды VMWARE_HOST.
Поддержка переменных среды добавлена в Ansible 2.6.
is_template
boolean
    Варианты:
  • нет ←
  • да
Отметить экземпляр как шаблон.
Это отметит данную виртуальную машину как шаблон.
linked_clone
boolean
    Варианты:
  • нет ←
  • да
Создавать ли связанный клон из указанного снимка.
Если указано, то snapshot_src является необходимым параметром.
name
string
Имя виртуальной машины, с которой необходимо работать.
Имена виртуальных машин в vCenter не обязательно уникальны, что может быть проблематично, см. name_match.
Если существует несколько виртуальных машин с одинаковым именем, то folder является необходимым параметром для определения уникальности виртуальной машины.
Этот параметр необходим, если state установлен на poweredon, powered-on, poweredoff, powered-off, present, restarted, suspended, и виртуальная машина не существует.
Этот параметр чувствителен к регистру.
name_match
string
    Варианты:
  • первая ←
  • последняя
Если существует несколько виртуальных машин, соответствующих имени, использовать первую или последнюю найденную.
networks
list / elements=dictionary
Список сетей (в порядке сетевых адаптеров).
Удаление сетевых адаптеров запрещено при переконфигурации виртуальной машины.
Все параметры и имена объектов VMware чувствительны к регистру.
connected
boolean
добавлено в 1.5.0 от community.vmware
    Варианты:
  • нет
  • да
Указывает, подключен ли сетевой адаптер в настоящее время.
device_type
string
Устройство виртуальной сети.
Допустимое значение может быть одним из e1000, e1000e, pcnet32, vmxnet2, vmxnet3, sriov.
vmxnet3 является значением по умолчанию.
Необязательно по записи.
Используется для виртуального оборудования.
dns_servers
string
DNS-серверы для этого сетевого интерфейса (Windows).
Необязательно по записи.
Используется для настройки ОС.
domain
string
Имя домена для этого сетевого интерфейса (Windows).
Необязательно по записи.
Используется для настройки ОС.
dvswitch_name
string
Имя распределённого vSwitch.
Необязательно по записи.
Используется для виртуального оборудования.
gateway
string
Статический шлюз.
Необязательно по записи.
Используется для настройки ОС.
ip
string
Статический IP-адрес. Подразумевает type=static.
Необязательно по записи.
Используется для настройки ОС.
mac
string
Настроить MAC-адрес.
Необязательно по записи.
Используется для виртуального оборудования.
name
string
Имя группы портов или распределённой виртуальной группы портов для этого интерфейса.
Требуется по записи.
При указании распределённой виртуальной группы портов убедитесь, что указанный esxi_hostname или cluster ассоциирован с ней.
netmask
string
Статическая маска сети, необходимая для ip.
Необязательно по записи.
Используется для настройки ОС.
start_connected
boolean
    Варианты:
  • нет
  • да
Указывает, подключать ли устройство при запуске виртуальной машины.
type
string
Тип назначения IP.
Допустимые значения — dhcp, static.
dhcp является значением по умолчанию.
Необязательно по записи.
Используется для настройки ОС.
vlan
integer
Номер VLAN для этого интерфейса.
Требуется по записи.
password
string
Пароль сервера vSphere vCenter или ESXi.
Если значение не указано в задаче, вместо него будет использовано значение переменной среды VMWARE_PASSWORD.
Поддержка переменных среды добавлена в Ansible 2.6.

псевдонимы: pass, pwd
port
integer
По умолчанию:
443
Номер порта сервера vSphere vCenter или ESXi.
Если значение не указано в задаче, вместо него будет использовано значение переменной среды VMWARE_PORT.
Поддержка переменных среды добавлена в Ansible 2.6.
proxy_host
string
Адрес прокси-сервера, который будет получать все запросы HTTPS и пересылать их.
Формат — имя хоста или IP-адрес.
Если значение не указано в задаче, вместо него будет использовано значение переменной среды VMWARE_PROXY_HOST.
Эта функция зависит от версии pyvmomi, большей чем v6.7.1.2018.12
proxy_port
integer
Порт HTTP-прокси-сервера, который будет получать все запросы HTTPS и пересылать их.
Если значение не указано в задаче, вместо него будет использовано значение переменной среды VMWARE_PROXY_PORT.
resource_pool
string
Использовать указанный пул ресурсов для работы с виртуальной машиной.
Этот параметр чувствителен к регистру.
Пул ресурсов должен быть дочерним по отношению к выбранному родительскому хосту.
snapshot_src
string
Имя существующего снимка, который следует использовать для создания клона виртуальной машины.
Этот параметр чувствителен к регистру.
При создании связанного клона с использованием параметра linked_clone этот параметр является обязательным.
состояние
строка
    Варианты:
  • отсутствует
  • включен
  • включён
  • выключен
  • выключён
  • присутствует ←
  • перезагрузка гостевой системы
  • перезагрузка гостевой системы
  • перезапущен
  • приостановлен
  • выключение гостевой системы
  • выключение гостевой системы
Укажите состояние, в котором должна находиться виртуальная машина.
Если state установлено в present и виртуальная машина существует, убедитесь, что конфигурация виртуальной машины соответствует аргументам задачи.
Если state установлено в absent и виртуальная машина существует, указанная виртуальная машина будет удалена вместе со связанными компонентами.
Если state установлено на одно из следующих значений poweredon, powered-on, poweredoff, powered-off, present, restarted, suspended и виртуальная машина не существует, виртуальная машина развертывается с заданными параметрами.
Если state установлено в poweredon или powered-on и виртуальная машина существует в состоянии, отличном от включённого, указанная виртуальная машина будет включена.
Если state установлено в poweredoff или powered-off и виртуальная машина существует в состоянии, отличном от выключенного, указанная виртуальная машина будет выключена.
Если state установлено в restarted и виртуальная машина существует, виртуальная машина будет перезапущена.
Если state установлено в suspended и виртуальная машина существует, виртуальная машина будет переведена в режим приостановки.
Если state установлено в shutdownguest или shutdown-guest и виртуальная машина существует, виртуальная машина будет выключена.
Если state установлено в rebootguest или reboot-guest и виртуальная машина существует, виртуальная машина будет перезагружена.
Состояния питания powered-on и powered-off добавлены в версии 2.10.
state_change_timeout
целое число
Значение по умолчанию:
0
Если state установлено в shutdownguest, модуль вернётся сразу после отправки сигнала выключения.
Если этот аргумент задан положительным целым числом, модуль будет ожидать, пока виртуальная машина не перейдёт в состояние выключено.
Это значение задаёт тайм-аут в секундах для ожидания изменения состояния модулем.
шаблон
строка
Шаблон или существующая виртуальная машина, используемая для создания новой виртуальной машины.
Если это значение не задано, виртуальная машина создаётся без использования шаблона.
Если виртуальная машина уже существует, этот параметр будет проигнорирован.
Этот параметр чувствителен к регистру.
Начиная с версии 2.8, можно использовать абсолютный путь к виртуальной машине или шаблону.

псевдонимы: template_src
использовать_uuid_инстанса
булево
    Варианты:
  • нет ←
  • да
Использовать UUID экземпляра VMware вместо BIOS UUID.
имя_пользователя
строка
Имя пользователя сервера vCenter vSphere или ESXi.
Если значение не указано в задаче, будет использоваться значение переменной среды VMWARE_USER.
Поддержка переменных среды добавлена в Ansible 2.6.

псевдонимы: admin, user
uuid
строка
UUID виртуальной машины для управления, если известен, это уникальный идентификатор VMware.
Требуется, если name не указан.
Если виртуальная машина не существует, этот параметр игнорируется.
Обратите внимание, что указанный UUID будет проигнорирован при создании виртуальной машины, поскольку VMware создаёт UUID внутренне.
проверить_сертификаты
булево
    Варианты:
  • нет
  • да ←
Позволяет подключиться, когда SSL-сертификаты недействительны. Установите значение false , когда сертификаты ненадёжны.
Если значение не задано в задаче, будет использоваться значение переменной среды VMWARE_VALIDATE_CERTS.
Поддержка переменных среды добавлена в Ansible 2.6.
Если установлено true, убедитесь, что на указанной машине установлена Python >= 2.7.9.
свойства_vapp
список / элементы=словарь
Список свойств vApp.
Полный список атрибутов и типов см. на странице: https://code.vmware.com/apis/704/vsphere/vim.vApp.PropertyInfo.html
id
строка
Идентификатор свойства.
Обязательно для каждого элемента.
операция
строка
Атрибут remove требуется только при удалении свойств.
тип
строка
Тип значения, по умолчанию строковый тип.
значение
строка
Значение свойства.
подождать_настройку
булево
    Варианты:
  • нет ←
  • да
Подождать, пока vCenter обнаружит успешное завершение всех гостевых настроек.
При включении VM автоматически включится.
Если vCenter не обнаружит начало или успешное завершение гостевой настройки, через время, указанное параметром wait_for_customization_timeout, будет выведено сообщение об ошибке, и результат задачи будет «ошибка».
подождать_настройку_таймаут
целое число
Значение по умолчанию:
"3600"
Установите таймаут (в секундах) для параметра wait_for_customization.
Будьте внимательны при установке этого значения, поскольку время, затраченное на гостевые настройки, может отличаться в зависимости от гостевой ОС.
подождать_адрес_ip
булево
    Варианты:
  • нет ←
  • да
Подождать, пока vCenter обнаружит IP-адрес для виртуальной машины.
Для правильной работы требуется vmware-tools (vmtoolsd) после создания.
vmware-tools необходимо установить на данной виртуальной машине для работы с этим параметром.
подождать_адрес_ip_таймаут
целое число
Значение по умолчанию:
"300"
Установите таймаут (в секундах) для параметра wait_for_ip_address.

Примечания

Примечание

  • Убедитесь, что пользователь, используемый для community.vmware.vmware_guest, имеет соответствующие права.
  • Например, ниже приведён список минимальных прав, необходимых пользователям для создания виртуальных машин.
  • Хранилище данных > Выделить место
  • Виртуальная машина > Настройка > Добавить новый диск
  • Виртуальная машина > Настройка > Добавить или удалить устройство
  • Виртуальная машина > Инвентаризация > Создать новую
  • Сеть > Назначить сеть
  • Ресурс > Назначить виртуальную машину на пул ресурсов
  • Модуль может потребовать дополнительных прав, которые могут потребоваться для сбора фактов, например, конфигурации ESXi.
  • Тестировалось на vSphere 5.5, 6.0, 6.5 и 6.7.
  • Используйте SCSI-диски вместо IDE, если хотите онлайн-расширять диски, указав контроллер SCSI.
  • Для Windows VM используется SysPrep (зависит от соответствия параметра guest_id значению «win») с PyVmomi.
  • Для изменения параметров VM (например, количества процессоров) VM должна быть выключена, если не включена поддержка горячей добавки, и необходимо использовать state=present, чтобы применить изменения.
  • Дополнительную информацию можно найти на странице wiki сообщества Ansible VMware - https://github.com/ansible/community/wiki/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_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
  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

Возвращаемые значения

Общие возвращаемые значения описаны здесь, следующие поля уникальны для данного модуля:

Ключ Возвращённое Описание
экземпляр
словарь
всегда
метаданные о новой виртуальной машине

Пример:
Нет


Авторы

  • Лоик Бло (@nerzhul) <loic.blot@unix-experience.fr>
  • Филипп Деллаерт (@pdellaert) <philippe@dellaert.org>
  • Абхиджей Касурде (@Akasurde) <akasurde@redhat.com>

© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/community/vmware/vmware_guest_module.html

Spec-Zone.ru

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