Spec-Zone.ru › Ansible

Модуль community.vmware.vmware_guest_instant_clone — мгновенное клонирование виртуальной машины

Примечание

Этот модуль входит в коллекцию community.vmware (версия 6.2.0).

Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните команду ansible-galaxy collection list.

Чтобы установить её, используйте: ansible-galaxy collection install community.vmware.

Чтобы использовать её в плейбуке, укажите: community.vmware.vmware_guest_instant_clone.

  • Краткое описание
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения

Краткое описание

  • Этот модуль можно использовать для создания включённого клона виртуальной машины с мгновенным клонированием.
  • Для создания виртуальной машины в состоянии включения, которая будет использоваться в качестве родительской, необходим модуль community.vmware.vmware_guest.
  • Для выключения мгновенно клонированной виртуальной машины также необходим модуль community.vmware.vmware_guest_powerstate.
  • Затем выключенная виртуальная машина будет удалена с помощью модуля community.vmware.vmware_guest.
  • Таким образом, модуль community.vmware.vmware_guest необходим для удаления мгновенно клонированной виртуальной машины при создании виртуальных машин в тестовой среде.
  • Также с помощью параметра guestinfo_vars теперь доступна настройка гостевой ОС.
  • Для настройки гостевой ОС при мгновенном клонировании на родительской виртуальной машине должен быть установлен механизм настройки гостевой ОС.
  • В vSphere 7 поддержку встроенной настройки гостевой ОС vSphere для мгновенного клонирования обеспечивает только Linux в родительской виртуальной машине.

Параметры

Параметр

Комментарии

datacenter

string / обязательный

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

datastore

string / обязательный

Имя хранилища данных или кластера хранилищ данных.

Если указано имя кластера хранилищ данных, модуль выберет рекомендованное Storage DRS хранилище в этом кластере.

folder

string

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

Примеры:

folder: ha-datacenter/vm

folder: /datacenter1/vm

guestinfo_vars

list / elements=dictionary

Обеспечивает настройку гостевой ОС в мгновенно клонированной виртуальной машине.

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

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

dns

string

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

domain

string

Параметр domain используется для задания полного доменного имени (FQDN) или полного имени домена гостевой операционной системы мгновенно клонированной виртуальной машины.

gateway

string

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

hostname

string

Параметр hostname используется для получения имени DNS (системы доменных имён) и задания имени хоста гостевой системы.

ipaddress

string

Параметр ipaddress используется для задания IP-адреса в гостевой операционной системе мгновенно клонированной виртуальной машины.

netmask

string

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

host

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

string / обязательный

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

Хост должен входить в кластер, содержащий пул ресурсов.

Для поиска сведений о пуле ресурсов требуется параметр resource_pool. Он используется как дополнительная информация, если существуют пулы ресурсов с одинаковыми именами.

hostname

string

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

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

moid

string

Идентификатор управляемого объекта экземпляра виртуальной машины, которой нужно управлять, если он известен. Этот уникальный идентификатор действует только в пределах одного экземпляра vCenter.

Параметр обязателен, если не указаны parent_vm или uuid.

name

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

string / обязательный

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

parent_vm

string

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

Этот параметр обязателен, если не указан параметр uuid или moid.

password

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

string

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

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

port

integer

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

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

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

proxy_host

string

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

В качестве значения указывается имя хоста или IP-адрес.

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

proxy_port

integer

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

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

resource_pool

string

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

Resources — имя пула ресурсов по умолчанию.

use_instance_uuid

boolean

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

Варианты:

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

username

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

string

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

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

uuid

string

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

Этот параметр обязателен, если не указан параметр parent_vm или moid.

validate_certs

boolean

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

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

Варианты:

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

vm_password

string

Пароль для входа в виртуальную машину.

Требуется только при использовании функции настройки гостевой ОС.

vm_username

string

Имя пользователя для входа в виртуальную машину.

Требуется только при использовании функции настройки гостевой ОС.

wait_vm_tools

boolean

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

Варианты:

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

wait_vm_tools_timeout

integer

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

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

Примечания

Примечание

  • Для всех модулей необходим доступ на запись через API, поэтому они не поддерживаются бесплатной лицензией ESXi.
  • Все переменные и имена объектов VMware чувствительны к регистру.
  • Модули могут использовать библиотеку Python ‘requests’, которая по умолчанию не использует системное хранилище сертификатов. Чтобы указать хранилище сертификатов, задайте переменную окружения REQUESTS_CA_BUNDLE. Обратите внимание: если эта переменная задана, в некоторых случаях значение ‘false’ параметра ‘validate_certs’ может быть проигнорировано. Пример: ‘export REQUESTS_CA_BUNDLE=/path/to/your/ca_bundle.pem’

Примеры

- name: Instant Clone a VM
  community.vmware.vmware_guest_instant_clone:
    hostname: "{{ vcenter_hostname }}"
    username: "{{ vcenter_username }}"
    password: "{{ vcenter_password }}"
    validate_certs: false
    folder: "{{ f0 }}"
    datastore: "{{ rw_datastore }}"
    datacenter: "{{ dc1 }}"
    host: "{{ esxi1 }}"
    name: "{{ Clone_vm }}"
    parent_vm: "{{ testvm_1 }}"
    resource_pool: "{{ test_resource_001 }}"
  register: vm_clone
  delegate_to: localhost

- name: set state to poweroff the Cloned VM
  community.vmware.vmware_guest_powerstate:
    validate_certs: false
    hostname: "{{ vcenter_hostname }}"
    username: "{{ vcenter_username }}"
    password: "{{ vcenter_password }}"
    name: "cloned_vm_from_vm_cluster"
    folder: "{{ f0 }}"
    state: powered-off
  register: poweroff_instant_clone_from_vm_when_cluster
  delegate_to: localhost

- name: Clean VM
  community.vmware.vmware_guest:
    validate_certs: false
    hostname: "{{ vcenter_hostname }}"
    username: "{{ vcenter_username }}"
    password: "{{ vcenter_password }}"
    name: "cloned_vm_from_vm_cluster"
    datacenter: "{{ dc1 }}"
    state: absent
  register: delete_instant_clone_from_vm_when_cluster
  ignore_errors: true
  delegate_to: localhost

- name: Instant Clone a VM with guest_customization
  community.vmware.vmware_guest_instant_clone:
    hostname: "{{ vcenter_hostname }}"
    username: "{{ vcenter_username }}"
    password: "{{ vcenter_password }}"
    vm_username: "root"
    vm_password: "SuperSecret"
    validate_certs: false
    folder: "{{ f0 }}"
    datastore: "{{ rw_datastore }}"
    datacenter: "{{ dc1 }}"
    host: "{{ esxi1 }}"
    guestinfo_vars:
      - hostname: "{{ guestinfo.ic.hostname }}"
        ipaddress: "{{ guestinfo.ic.ipaddress }}"
        netmask: "{{ guestinfo.ic.netmask }}"
        gateway: "{{ guestinfo.ic.gateway }}"
        dns: "{{ guestinfo.ic.dns }}"
        domain: "{{ guestinfo.ic.domain }}"
    name: "Instant_clone_guest_customize"
    parent_vm: "test_vm1"
    resource_pool: DC0_C0_RP1
  register: Instant_cloned_guest_customize
  delegate_to: localhost

- name: Instant Clone a VM when skipping optional params
  community.vmware.vmware_guest_instant_clone:
    hostname: "{{ vcenter_hostname }}"
    username: "{{ vcenter_username }}"
    password: "{{ vcenter_password }}"
    validate_certs: false
    name: "{{ Clone_vm }}"
    parent_vm: "{{ testvm_1 }}"
    datacenter: "{{ dc1 }}"
    datastore: "{{ rw_datastore }}"
    host: "{{ esxi1 }}"
  register: VM_clone_optional_arguments
  delegate_to: localhost

- name: Instant clone in check mode
  community.vmware.vmware_guest_instant_clone:
    hostname: "{{ vcenter_hostname }}"
    username: "{{ vcenter_username }}"
    password: "{{ vcenter_password }}"
    validate_certs: false
    folder: "{{ f0 }}"
    datastore: "{{ rw_datastore }}"
    datacenter: "{{ dc1 }}"
    host: "{{ esx1 }}"
    name: "{{ Clone_vm }}"
    parent_vm: "{{ testvm_2 }}"
    resource_pool: "{{ test_resource_001 }}"
  check_mode: true
  register: check_mode_clone
  delegate_to: localhost
- debug:
    var: check_mode_clone

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

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

Ключ

Описание

vm_info

dictionary

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

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

Пример: {"datastore": "", "host": "", "instance_uuid": "", "vcenter": "", "vm_folder": "", "vm_name": ""}

Авторы

  • Anant Chopra (@Anant99-sys)

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

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

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

Spec-Zone.ru

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