Spec-Zone.ru › Ansible 2.9

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

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

Описание

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

Требования

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

  • python >= 2.6
  • PyVmomi

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
annotation
-
Примечание или аннотация для включения в виртуальную машину.
cdrom
-
добавлено в 2.5
Настройка CD-ROM для виртуальной машины.
Или список настроек CD-ROM для виртуальной машины. Добавлено в версии 2.9.
Параметры controller_type, controller_number, unit_number, state добавлены для поддержки списка настроек CD-ROM.
Допустимые атрибуты:
- type (строка): Тип CD-ROM, допустимые значения — none, client или iso. При значении none CD-ROM будет отключён, но останется присутствующим.
- iso_path (строка): Путь к хранилищу ISO-файла в формате [datastore1] path/to/file.iso. Требуется, если тип установлен iso.
- controller_type (строка): Значение по умолчанию — ide. В настоящее время поддерживается только тип контроллера ide для CD-ROM, в будущем будет добавлен тип контроллера SATA.
- controller_number (целое число): Для контроллера ide, допустимые значения — 0 или 1.
- unit_number (целое число): Для подключения устройства CD-ROM к контроллеру ide, допустимые значения — 0 или 1. controller_number и unit_number являются обязательными атрибутами.
- state (строка): Допустимые значения — present или absent. Значение по умолчанию — present. Если установлено absent, то указанный CD-ROM будет удалён. Для контроллера ide горячая установка или удаление CD-ROM не поддерживается.
cluster
-
Имя кластера, в котором будет запущена виртуальная машина.
Этот параметр обязателен, если esxi_hostname не задан.
esxi_hostname и cluster являются взаимоисключающими параметрами.
Этот параметр чувствителен к регистру.
convert
-
добавлено в 2.8
    Варианты:
  • thin
  • thick
  • eagerzeroedthick
Укажите тип диска convert при клонировании шаблона или виртуальной машины.
customization
-
Параметры настройки ОС при клонировании из шаблона или виртуальной машины или применении к существующей виртуальной машине напрямую.
Не все операционные системы поддерживаются для настройки с соответствующей версией vCenter, пожалуйста, обратитесь к документации VMware для соответствующей настройки ОС.
Для матрицы поддерживаемых ОС для настройки (см. http://partnerweb.vmware.com/programs/guestOS/guest-os-customization-matrix.pdf)
Все параметры и имена объектов VMware чувствительны к регистру.
Для ОС на базе Linux необходимо установить пакет Perl для настройки ОС.
Общие параметры (Linux/Windows):
- existing_vm (логический): Если установлено True, то настройка ОС выполняется непосредственно на указанной виртуальной машине. Если установлено False или не указано, то настройка ОС выполняется при клонировании из шаблона или виртуальной машины. version_added: 2.8
- dns_servers (список): Список DNS-серверов для настройки.
- dns_suffix (список): Список доменных суффиксов, также известных как путь поиска DNS (по умолчанию: параметр domain).
- domain (строка): Имя домена DNS для использования.
- hostname (строка): Имя хоста компьютера (по умолчанию: сокращённое name параметр). Допустимые символы — буквенно-цифровые (заглавные и строчные) и дефис, остальные символы отбрасываются в соответствии с RFC 952.
Параметры, связанные с настройкой Linux:
- timezone (строка): Часовой пояс (см. Список поддерживаемых часовых поясов для разных версий vSphere в системах Linux/Unix (2145518) https://kb.vmware.com/s/article/2145518). version_added: 2.9
- hwclockUTC (логический): Указывает, находится ли системный таймер в формате UTC или локального времени. True, если системный таймер в UTC, False, если в локальном времени. version_added: 2.9
Параметры, связанные с настройкой Windows:
- autologon (логический): Автоматический вход после настройки виртуальной машины (по умолчанию: False).
- autologoncount (целое число): Количество автоматических входов после перезагрузки (по умолчанию: 1).
- domainadmin (строка): Пользователь для присоединения к домену AD (обязательно с joindomain).
- domainadminpassword (строка): Пароль для присоединения к домену AD (обязательно с joindomain).
- fullname (строка): Имя владельца сервера (по умолчанию: Administrator).
- joindomain (строка): Домен AD для присоединения (несовместимо с joinworkgroup).
- joinworkgroup (строка): Рабочая группа для присоединения (несовместимо с joindomain, по умолчанию: WORKGROUP).
- orgname (строка): Название организации (по умолчанию: ACME).
- password (строка): Пароль локального администратора.
- productid (строка): Идентификатор продукта.
- runonce (список): Список команд, которые необходимо выполнить при первом входе пользователя.
- timezone (целое число): Часовой пояс (см. https://msdn.microsoft.com/en-us/library/ms912391.aspx).
customization_spec
-
добавлено в 2.6
Уникальное имя, идентифицирующее запрашиваемую спецификацию настройки.
Этот параметр чувствителен к регистру.
Если задано, то переопределяет значения параметров customization.
customvalues
-
Определяет список пользовательских значений, которые необходимо установить для виртуальной машины.
Объект пользовательского значения содержит два поля key и value.
Некорректные ключи и значения будут проигнорированы.
datacenter
-
По умолчанию:
"ha-datacenter"
Целевой центр обработки данных для операции развертывания.
Этот параметр чувствителен к регистру.
datastore
-
добавлено в 2.7
Укажите хранилище или кластер хранилищ для выделения виртуальной машины.
Этот параметр имеет приоритет над параметром "disk.datastore".
Этот параметр можно использовать для переопределения настроек хранилища или кластера хранилищ виртуальной машины при развертывании из шаблона.
См. пример для более подробного использования.
disk
-
Список дисков для добавления.
Этот параметр чувствителен к регистру.
Сжатие дисков не поддерживается.
Удаление существующих дисков виртуальной машины не поддерживается.
Допустимые атрибуты:
- size_[tb,gb,mb,kb] (целое число): Размер хранилища диска в указанных единицах.
- type (строка): Допустимые значения:
- thin тонкий диск
- eagerzeroedthick диск eagerzeroedthick, добавлено в версии 2.5
По умолчанию: None толстый диск, без eagerzero.
- datastore (строка): Имя хранилища, которое будет использоваться для диска. Если autoselect_datastore установлено в True, то будет выбрано наименее используемое хранилище, имя которого содержит эту строку "disk.datastore".
- filename (строка): Существующий образ диска для использования. Имя файла должно уже существовать в хранилище.
Укажите строку имени файла в формате [datastore_name] path/to/file.vmdk. Добавлено в версии 2.8.
- autoselect_datastore (логический): Выбрать наименее используемое хранилище. "disk.datastore" и "disk.autoselect_datastore" не будут использоваться, если datastore указано вне этой конфигурации disk.
- disk_mode (строка): Тип режима диска. Добавлено в версии 2.6
- Доступные варианты:
- persistent: Изменения немедленно и постоянно записываются на виртуальный диск. Это значение по умолчанию.
- independent_persistent: То же, что и persistent, но не затрагивается моментальными снимками.
- independent_nonpersistent: Изменения виртуального диска производятся в журнале redo и отбрасываются при выключении, но не затрагиваются моментальными снимками.
esxi_hostname
-
Имя хоста ESXi, на котором будет запущена виртуальная машина.
Этот параметр обязателен, если cluster не задан.
esxi_hostname и cluster являются взаимоисключающими параметрами.
Этот параметр чувствителен к регистру.
folder
-
Целевой каталог, абсолютный путь к поиску существующего гостевого или созданию нового гостевого.
Каталог должен включать центр обработки данных. Центр обработки данных ESX — ha-datacenter.
Этот параметр чувствителен к регистру.
Этот параметр необходим при развертывании новой виртуальной машины. version_added 2.5.
Если найдено несколько машин с одинаковым именем, этот параметр используется для определения уникальности виртуальной машины. version_added 2.5
Примеры:
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.
guest_id
-
Установить идентификатор гостевой ОС.
Этот параметр чувствителен к регистру.
Примеры:
виртуальная машина с RHEL7 64-бит, будет 'rhel7_64Guest'
виртуальная машина с CentOS 64-бит, будет 'centos64Guest'
виртуальная машина с Ubuntu 64-бит, будет 'ubuntu64Guest'
Это поле обязательно при создании виртуальной машины, не обязательно при создании из шаблона.
Допустимые значения указаны здесь: https://code.vmware.com/apis/358/doc/vim.vm.GuestOsDescriptor.GuestOsIdentifier.html
hardware
-
Управление атрибутами аппаратного обеспечения виртуальной машины.
Все параметры чувствительны к регистру.
Допустимые атрибуты:
- hotadd_cpu (boolean): Разрешить добавление виртуальных процессоров во время работы виртуальной машины.
- hotremove_cpu (boolean): Разрешить удаление виртуальных процессоров во время работы виртуальной машины. version_added: 2.5
- hotadd_memory (boolean): Разрешить добавление памяти во время работы виртуальной машины.
- memory_mb (целое число): Объем памяти в МБ.
- nested_virt (bool): Включить вложенную виртуализацию. version_added: 2.5
- num_cpus (целое число): Количество процессоров.
- num_cpu_cores_per_socket (целое число): Количество ядер на сокет.
num_cpus должно быть кратным num_cpu_cores_per_socket. Например, чтобы создать ВМ с 2 сокетами по 4 ядра, укажите num_cpus: 8 и num_cpu_cores_per_socket: 4
- scsi (строка): Допустимые значения buslogic, lsilogic, lsilogicsas и paravirtual (по умолчанию).
- memory_reservation_lock (boolean): Если установлено в true, резервирование ресурсов памяти для виртуальной машины всегда будет равно размеру памяти виртуальной машины. version_added: 2.5
- max_connections (целое число): Максимальное количество активных удаленных подключений дисплея для виртуальных машин. version_added: 2.5.
- mem_limit (целое число): Использование памяти виртуальной машины не будет превышать этого предела. Единица измерения МБ. version_added: 2.5
- mem_reservation (целое число): Количество ресурсов памяти, гарантированно доступных виртуальной машине. Единица измерения МБ. memory_reservation — псевдоним для этого. version_added: 2.5
- cpu_limit (целое число): Использование процессора виртуальной машины не будет превышать этого предела. Единица измерения МГц. version_added: 2.5
- cpu_reservation (целое число): Количество ресурсов процессора, гарантированно доступных виртуальной машине. Единица измерения МГц. version_added: 2.5
- version (целое число): Версии аппаратного обеспечения виртуальной машины. По умолчанию 10 (ESXi 5.5 и более поздние версии). Обратитесь к документации VMware для получения правильной версии аппаратного обеспечения виртуальной машины. Неправильная версия аппаратного обеспечения может привести к сбоям при развертывании. Если версия аппаратного обеспечения уже равна заданной версии, то никаких действий не выполняется. version_added: 2.6
- boot_firmware (строка): Выберите, какая микропрограмма должна использоваться для загрузки виртуальной машины. Допустимые значения — "bios" и "efi". version_added: 2.7
- virt_based_security (bool): Включить функцию Virtualization Based Security для Windows 10. (Поддержка с версии аппаратного обеспечения виртуальной машины 14, гостевая ОС Windows 10 64-бит, Windows Server 2016)
hostname
строка
Имя хоста или IP-адрес сервера vSphere vCenter или ESXi.
Если значение не указано в задаче, будет использовано значение переменной среды VMWARE_HOST.
Поддержка переменных среды добавлена в Ansible 2.6.
is_template
boolean
    Варианты:
  • нет ←
  • да
Отметить экземпляр как шаблон.
Это пометит данную виртуальную машину как шаблон.
linked_clone
boolean
добавлено в 2.4
    Варианты:
  • нет ←
  • да
Создавать ли связанный клон из указанного снимка.
Если указано, то snapshot_src является необходимым параметром.
name
- / обязательно
Имя виртуальной машины, с которой нужно работать.
Имена виртуальных машин в vCenter не обязательно уникальны, что может быть проблематично, см. name_match.
Если существует несколько виртуальных машин с одинаковым именем, то folder является необходимым параметром для определения уникальности виртуальной машины.
Этот параметр обязателен, если state установлено в poweredon, poweredoff, present, restarted, suspended и виртуальная машина не существует.
Этот параметр чувствителен к регистру.
name_match
-
    Варианты:
  • первый ←
  • последний
Если существует несколько виртуальных машин с совпадающим именем, использовать первую или последнюю найденную.
networks
-
Список сетей (в порядке сетевых адаптеров).
Удаление сетевых адаптеров не разрешено при переконфигурации виртуальной машины.
Все параметры и имена объектов VMware чувствительны к регистру.
Один из следующих параметров обязателен для каждой записи:
- name (строка): Имя группы портов или распределенной виртуальной группы портов для этого интерфейса. При указании распределенной виртуальной группы портов убедитесь, что указанный esxi_hostname или cluster ассоциирован с ней.
- vlan (целое число): Номер VLAN для этого интерфейса.
Дополнительные параметры для каждой записи (используются для виртуального оборудования):
- device_type (строка): Виртуальное сетевое устройство (одно из e1000, e1000e, pcnet32, vmxnet2, vmxnet3 (по умолчанию), sriov).
- mac (строка): Настройка MAC-адреса.
- dvswitch_name (строка): Имя распределенного переключателя vSwitch. Это значение требуется, если существует несколько распределенных групп портов с одинаковым именем. version_added 2.7
- start_connected (bool): Указывает, что виртуальный сетевой адаптер запускается вместе с включением связанной виртуальной машины. version_added: 2.5
Дополнительные параметры для каждой записи (используются для настройки ОС):
- type (строка): Тип назначения IP-адреса (либо dhcp или static). dhcp — по умолчанию.
- ip (строка): Статический IP-адрес (подразумевает type: static).
- netmask (строка): Статическая маска сети, необходимая для ip.
- gateway (строка): Статический шлюз.
- dns_servers (строка): DNS-серверы для этого сетевого интерфейса (Windows).
- domain (строка): Имя домена для этого сетевого интерфейса (Windows).
- wake_on_lan (bool): Указывает, включен ли Wake-on-LAN на этом виртуальном сетевом адаптере. version_added: 2.5
- allow_guest_control (bool): Включает управление гостевой ОС над подключением устройства. version_added: 2.5
password
строка
Пароль сервера vSphere vCenter или ESXi.
Если значение не указано в задаче, будет использовано значение переменной среды VMWARE_PASSWORD.
Поддержка переменных среды добавлена в Ansible 2.6.

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

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

псевдонимы: admin, user
uuid
-
UUID виртуальной машины для управления, если известен, это уникальный идентификатор VMware.
Требуется, если name не указано.
Если виртуальная машина не существует, этот параметр игнорируется.
Обратите внимание, что указанный UUID будет проигнорирован при создании виртуальной машины, так как VMware создаёт UUID внутренним образом.
validate_certs
boolean
    Варианты:
  • нет
  • да ←
Разрешает подключение, когда сертификаты SSL недействительны. Установите в false, когда сертификаты ненадёжны.
Если значение не указано в задаче, будет использовано значение переменной среды VMWARE_VALIDATE_CERTS.
Поддержка переменных среды добавлена в Ansible 2.6.
Если установлено yes, убедитесь, что на данном компьютере установлен Python >= 2.7.9.
vapp_properties
-
добавлен в 2.6
Список свойств vApp
Полный список атрибутов и типов см. в: https://github.com/vmware/pyvmomi/blob/master/docs/vim/vApp/PropertyInfo.rst
Основные атрибуты:
- id (строка): Идентификатор свойства - обязателен.
- value (строка): Значение свойства.
- type (строка): Тип значения, по умолчанию строковый.
- operation: remove: Этот атрибут необходим только при удалении свойств.
wait_for_customization
boolean
добавлен в 2.8
    Варианты:
  • нет ←
  • да
Подождать, пока vCenter определит, что все пользовательские настройки гостевой ОС успешно завершены.
При включении ВМ будет автоматически включена.
wait_for_ip_address
boolean
    Варианты:
  • нет ←
  • да
Подождать, пока vCenter обнаружит IP-адрес виртуальной машины.
Для корректной работы требуется vmware-tools (vmtoolsd) после создания.
vmware-tools необходимо установить на виртуальную машину для работы с этим параметром.

Примечания

Примечание

  • Убедитесь, что пользователь, используемый для vmware_guest, имеет соответствующие права.
  • Например, ниже приведен список минимальных прав, необходимых пользователям для создания виртуальных машин.
  • Хранилище данных > Выделить место
  • Виртуальная машина > Конфигурация > Добавить новый диск
  • Виртуальная машина > Конфигурация > Добавить или удалить устройство
  • Виртуальная машина > Инвентаризация > Создать новую
  • Сеть > Назначить сеть
  • Ресурс > Назначить виртуальную машину в пул ресурсов
  • Модуль может потребовать дополнительных прав для сбора фактов - например, конфигурации ESXi.
  • Тестировано на vSphere 5.5, 6.0, 6.5 и 6.7
  • Используйте диски SCSI вместо IDE, если вы хотите расширить онлайн-диски, указав контроллер SCSI
  • Дополнительную информацию можно найти в вики-проекте сообщества Ansible по VMware - https://github.com/ansible/community/wiki/VMware.

Примеры

- name: Create a virtual machine on given ESXi hostname
  vmware_guest:
    hostname: "{{ vcenter_hostname }}"
    username: "{{ vcenter_username }}"
    password: "{{ vcenter_password }}"
    validate_certs: no
    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: yes
  delegate_to: localhost
  register: deploy_vm

- name: Create a virtual machine from a template
  vmware_guest:
    hostname: "{{ vcenter_hostname }}"
    username: "{{ vcenter_username }}"
    password: "{{ vcenter_password }}"
    validate_certs: no
    folder: /testvms
    name: testvm_2
    state: poweredon
    template: template_el7
    disk:
    - size_gb: 10
      type: thin
      datastore: g73_datastore
    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:
      type: iso
      iso_path: "[datastore1] livecd.iso"
    networks:
    - name: VM Network
      mac: aa:bb:dd:aa:00:14
    wait_for_ip_address: yes
  delegate_to: localhost
  register: deploy

- name: Clone a virtual machine from Windows template and customize
  vmware_guest:
    hostname: "{{ vcenter_hostname }}"
    username: "{{ vcenter_username }}"
    password: "{{ vcenter_password }}"
    validate_certs: no
    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: yes
      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
  vmware_guest:
    hostname: "{{ vcenter_hostname }}"
    username: "{{ vcenter_username }}"
    password: "{{ vcenter_password }}"
    validate_certs: no
    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)
  vmware_guest:
    hostname: "{{ vcenter_hostname }}"
    username: "{{ vcenter_username }}"
    password: "{{ vcenter_password }}"
    validate_certs: no
    uuid: "{{ vm_uuid }}"
    name: new_name
    state: present
  delegate_to: localhost

- name: Remove a virtual machine by uuid
  vmware_guest:
    hostname: "{{ vcenter_hostname }}"
    username: "{{ vcenter_username }}"
    password: "{{ vcenter_password }}"
    validate_certs: no
    uuid: "{{ vm_uuid }}"
    state: absent
  delegate_to: localhost

- name: Manipulate vApp properties
  vmware_guest:
    hostname: "{{ vcenter_hostname }}"
    username: "{{ vcenter_username }}"
    password: "{{ vcenter_password }}"
    validate_certs: no
    name: vm_name
    state: present
    vapp_properties:
      - id: remoteIP
        category: Backup
        label: Backup server IP
        type: str
        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
  vmware_guest:
    hostname: "{{ vcenter_hostname }}"
    username: "{{ vcenter_username }}"
    password: "{{ vcenter_password }}"
    validate_certs: no
    uuid: "{{ vm_uuid }}"
    state: poweredoff
  delegate_to: localhost

- name: Deploy a virtual machine in a datastore different from the datastore of the template
  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

Значения возврата

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

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

Пример:
None


Статус

  • Данный модуль не гарантирует обратной совместимости интерфейса. [превью]
  • Данный модуль поддерживается сообществом Ansible. [community]

Авторы

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

Подсказка

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

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.9/modules/vmware_guest_module.html

Spec-Zone.ru

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