Spec-Zone.ru › Ansible 2.10

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

Примечание

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

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

Для использования в плейбуке укажите: community.vmware.vmware_guest.

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

Обзор

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

Требования

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

  • python >= 2.6
  • PyVmomi

Параметры

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

псевдонимы: notes
cdrom
raw
Список конфигураций 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
Указывает тип диска при клонировании шаблона или виртуальной машины.
customization
словарь
Параметры настройки ОС при клонировании из шаблона или виртуальной машины или применении к существующей виртуальной машине.
Не все операционные системы поддерживаются для настройки с соответствующей версией vCenter, пожалуйста, обратитесь к документации VMware для соответствующей настройки ОС.
Для матрицы поддерживаемых операционных систем настройки (см. http://partnerweb.vmware.com/programs/guestOS/guest-os-customization-matrix.pdf)
Все параметры и имена объектов VMware чувствительны к регистру.
В ОС на базе Linux для настройки ОС необходима установка пакета Perl.
autologon
булево
    Варианты:
  • нет ←
  • да
Автоматический вход после настройки виртуальной машины.
Специфично для настройки Windows.
autologoncount
целое число
По умолчанию:
1
Количество автоматических входов после перезагрузки.
Специфично для настройки Windows.
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
булево
    Варианты:
  • нет
  • да
Если установлено значение True, выполняется настройка ОС непосредственно на указанной виртуальной машине.
Общее для настройки Linux и Windows.
fullname
строка
По умолчанию:
"Администратор"
Имя владельца сервера.
Специфично для настройки Windows.
hostname
строка
Имя хоста компьютера.
Значение по умолчанию — сокращённый name параметр.
Допустимые символы — алфавитно-цифровые (строчные и заглавные) и дефис; остальные символы отбрасываются в соответствии с RFC 952.
Общее для настройки Linux и Windows.
hwclockUTC
булево
    Варианты:
  • нет
  • да
Указывает, находится ли системный таймер в формате UTC или локального времени.
Специфично для настройки Linux.
joindomain
строка
Домен AD для присоединения.
Несовместимо с joinworkgroup.
Специфично для настройки Windows.
joinworkgroup
строка
По умолчанию:
"WORKGROUP"
Рабочая группа для присоединения.
Несовместимо с joindomain.
Специфично для настройки Windows.
orgname
строка
По умолчанию:
"ACME"
Название организации.
Специфично для настройки Windows.
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
булево
    Варианты:
  • нет ←
  • да
Удалить виртуальную машину из инвентаризации или с диска.
END_OF_DOCUMENT_MARKER
disk
список / элементы=словарь
Список дисков для добавления.
Этот параметр чувствителен к регистру.
Уменьшение размера дисков не поддерживается.
Удаление существующих дисков виртуальной машины не поддерживается.
Атрибуты controller_type, controller_number, unit_number используются для настройки нескольких типов контроллеров дисков и самих дисков для создания или переконфигурации виртуальной машины. Добавлено в Ansible 2.10.
autoselect_datastore
логический
    Варианты:
  • no
  • yes
Выбрать наименее используемый хранилище данных.
disk.datastore и disk.autoselect_datastore не будут использоваться, если datastore указан вне этой disk конфигурации.
controller_number
целое число
Номер шины контроллера диска.
Максимальное количество контроллеров одного типа — 4 на одну ВМ.
Допустимый диапазон значений от 0 до 3.
controller_type
строка
Тип контроллера диска.
Допустимые значения: buslogic, lsilogic, lsilogicsas, paravirtual, sata и nvme.
Поддержка типа контроллера nvme начинается с ESXi 6.5 с версией аппаратного обеспечения ВМ version 13. Установка этого типа на недопустимый ESXi или версию аппаратного обеспечения ВМ приведет к сбоям при развертывании.
При установке значения 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, тип диска устанавливается в толстый диск с eagerzero. Добавлено в 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
логический
    Варианты:
  • no ←
  • yes
Игнорировать предупреждения и выполнить действия.
Этот параметр полезен при удалении виртуальной машины, которая находится в рабочем состоянии.
Этот модуль отражает рабочий процесс 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
строка
Выберите прошивку, которая должна использоваться для загрузки виртуальной машины.
cpu_limit
целое число
Использование ЦП виртуальной машины не превысит этот лимит.
Единица измерения — МГц.
cpu_reservation
целое число
Количество ресурсов ЦП, гарантированно доступных виртуальной машине.
hotadd_cpu
логический
    Варианты:
  • no
  • yes
Разрешить добавление виртуальных процессоров во время работы виртуальной машины.
hotadd_memory
логический
    Варианты:
  • no
  • yes
Разрешить добавление памяти во время работы виртуальной машины.
hotremove_cpu
логический
    Варианты:
  • no
  • yes
Разрешить удаление виртуальных процессоров во время работы виртуальной машины.
max_connections
целое число
Максимальное количество активных удаленных подключений к дисплею для виртуальных машин.
mem_limit
целое число
Использование памяти виртуальной машины не превысит этот лимит.
Единица измерения — МБ.
mem_reservation
целое число
Количество ресурсов памяти, гарантированно доступных виртуальной машине.
memory_mb
целое число
Объем памяти в МБ.
memory_reservation_lock
логический
    Варианты:
  • no
  • yes
Если установлено true, зарезервировать ресурсы памяти для виртуальной машины.
num_cpu_cores_per_socket
целое число
Количество ядер на сокет.
num_cpus
целое число
Количество процессоров.
num_cpus должно быть кратно num_cpu_cores_per_socket.
Например, для создания ВМ с 2 сокетами по 4 ядра укажите num_cpus как 8 и num_cpu_cores_per_socket как 4.
scsi
string
Допустимые значения — buslogic, lsilogic, lsilogicsas и paravirtual.
paravirtual — значение по умолчанию.
version
integer
Версии виртуального оборудования.
Значение по умолчанию — 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-адрес сервера vSphere vCenter или ESXi.
Если значение не указано в задаче, вместо него будет использовано значение переменной окружения 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
    Варианты:
  • no
  • yes
Указывает, подключен ли сетевой адаптер в настоящее время.
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
    Варианты:
  • no
  • yes
Указывает, следует ли подключать устройство при запуске виртуальной машины.
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 вместо UUID BIOS.
имя_пользователя
строка
Имя пользователя сервера 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_properties
список / элементы=словарь
Список свойств vApp.
Полный список атрибутов и типов см. по адресу: https://code.vmware.com/apis/704/vsphere/vim.vApp.PropertyInfo.html
id
строка
Идентификатор свойства.
Требуется для каждой записи.
операция
строка
Атрибут remove требуется только при удалении свойств.
тип
строка
Тип значения, по умолчанию строка.
значение
строка
Значение свойства.
ждать_настройки
булево
    Варианты:
  • нет ←
  • да
Ожидать, пока vCenter обнаружит, что все настройки гостевой системы успешно завершены.
При включении виртуальная машина автоматически включится.
Если vCenter не обнаружит начала или успешного завершения настройки гостевой системы, после истечения времени, указанного в параметре wait_for_customization_timeout, будет выведено сообщение об ошибке, и результат задачи — неудача.
timeout_ожидания_настроек
целое число
По умолчанию:
"3600"
Определите таймаут (в секундах) для параметра wait_for_customization.
Будьте осторожны при установке этого значения, так как время, затраченное на настройку гостевой системы, может отличаться в зависимости от гостевой ОС.
ждать_адрес_ip
булево
    Варианты:
  • нет ←
  • да
Ожидать, пока vCenter обнаружит IP-адрес для виртуальной машины.
Для корректной работы требуется vmware-tools (vmtoolsd) после создания.
Для работы с этим параметром необходимо установить vmware-tools на заданную виртуальную машину.
timeout_ожидания_адреса_ip
целое число
По умолчанию:
"300"
Определите таймаут (в секундах) для параметра wait_for_ip_address.

Примечания

Примечание

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

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

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

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

Пример:
Нет


Авторы

  • Лоик Бло (@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.10/collections/community/vmware/vmware_guest_module.html

Spec-Zone.ru

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