Spec-Zone.ru › Ansible

Модуль vmware.vmware_rest.vcenter_ovf_libraryitem — создание элемента библиотеки содержимого из виртуальной машины или виртуального устройства

Примечание

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

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

Для установки используйте: ansible-galaxy collection install vmware.vmware_rest. Для работы с этим модулем потребуются дополнительные компоненты; подробности см. в разделе Требования.

Чтобы использовать модуль в сценарии, укажите: vmware.vmware_rest.vcenter_ovf_libraryitem.

Добавлено в vmware.vmware_rest 2.0.0

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

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

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

Требования

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

  • vSphere 7.0.3 или более поздней версии
  • python >= 3.6
  • aiohttp

Параметры

Параметр

Комментарии

client_token

string

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

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

create_spec

dictionary

Информация, используемая для создания пакета OVF из исходной виртуальной машины или виртуального устройства. Требуется при state=[‘present’]

Допустимые атрибуты:

- name (str): Имя, используемое в дескрипторе OVF, сохраненном в элементе библиотеки.

Если параметр не задан, сервер использует текущее имя источника. ([‘present’])

- description (str): Описание, используемое в дескрипторе OVF, сохраненном в элементе библиотеки.

Если параметр не задан, сервер использует текущую аннотацию источника. ([‘present’])

- flags (list): Флаги, используемые при создании пакета OVF. Поддерживаемые флаги можно получить с помощью ExportFlag.list.

Если параметр не задан, флаги не используются. ([‘present’])

deployment_spec

dictionary

Спецификация развертывания пакета OVF на целевом объекте. Требуется при state=[‘deploy’]

Допустимые атрибуты:

- name (str): Имя, назначаемое развернутой целевой виртуальной машине или виртуальному устройству.

Если параметр не задан, сервер использует имя из пакета OVF. ([‘deploy’])

- annotation (str): Аннотация, назначаемая развернутой целевой виртуальной машине или виртуальному устройству.

Если параметр не задан, сервер использует аннотацию из пакета OVF. ([‘deploy’])

- accept_all_EULA (bool): Следует ли принять все лицензионные соглашения конечного пользователя. См. ([‘deploy’])

Этот ключ обязателен при [‘deploy’].

- network_mappings (dict): Спецификация целевой сети для разделов типа ovf:NetworkSection в дескрипторе OVF. Ключом в карте является идентификатор раздела ovf:NetworkSection в дескрипторе OVF, а значением — целевая сеть, используемая при развертывании.

Если параметр не задан, сервер выберет сопоставление сети.

При передаче клиентами значения этой структуры в качестве параметра значение поля map должно быть идентификатором ресурса, возвращенного методом vmware.vmware_rest.vcenter_network_info. ([‘deploy’])

- storage_mappings (dict): Спецификация целевого хранилища для разделов типа vmw:StorageGroupSection в дескрипторе OVF. Ключом в карте является идентификатор раздела ovf:StorageGroupSection в дескрипторе OVF, а значением — спецификация целевого хранилища, используемая при развертывании. См.

Если параметр не задан, сервер выберет сопоставление хранилища. ([‘deploy’])

- storage_provisioning (str): Этот параметр определяет типы подготовки виртуальных дисков, которые можно задать для диска на целевой платформе. ([‘deploy’])

- Допустимые значения:

- eagerZeroedThick

- thick

- thin

- storage_profile_id (str): Профиль хранилища по умолчанию для всех разделов типа vmw:StorageSection в дескрипторе OVF.

Если параметр не задан, сервер выберет профиль по умолчанию.

При передаче клиентами значения этой структуры в качестве параметра поле должно содержать идентификатор ресурса, возвращенного методом vmware.vmware_rest.vcenter_storage_policies_info. ([‘deploy’])

- locale (str): Локаль, используемая для разбора дескриптора OVF.

Если параметр не задан, будет использоваться локаль сервера. ([‘deploy’])

- flags (list): Флаги, используемые при развертывании. Допустимые значения флагов можно получить с помощью ImportFlag.list.

Если параметр не задан, флаги не используются. ([‘deploy’])

- additional_parameters (list): Дополнительные параметры OVF, которые могут потребоваться для развертывания. Дескриптору OVF пакета OVF в элементе библиотеки могут требоваться дополнительные параметры OVF. Примеры параметров OVF, которые можно задать с помощью этого поля, включают, помимо прочего:

- DeploymentOptionParams

- ExtraConfigParams

- IpAllocationParams

- PropertyParams

- ScaleOutParams

- VcenterExtensionParams

Если параметр не задан, сервер выберет значения по умолчанию для всех параметров, необходимых для операции LibraryItem.deploy. См. LibraryItem.deploy.

При передаче клиентами значения этой структуры в качестве параметра поле должно содержать все атрибуты, определенные в OvfParams. ([‘deploy’])

- default_datastore_id (str): Хранилище данных по умолчанию для всех разделов типа vmw:StorageSection в дескрипторе OVF.

Если параметр не задан, сервер выберет хранилище данных по умолчанию.

При передаче клиентами значения этой структуры в качестве параметра поле должно содержать идентификатор ресурса, возвращенного методом vmware.vmware_rest.vcenter_datastore_info. ([‘deploy’])

- vm_config_spec (dict): Параметр resource_pool_deployment_spec.vm-config-spec используется для задания конфигурации виртуальной машины, включая характеристики оборудования, вместо дескриптора OVF. Если он задан, дескриптор OVF используется как дескриптор диска. Параметры resource_pool_deployment_spec, такие как resource_pool_deployment_spec.name, совпадающие с настройками в resource_pool_deployment_spec.vm-config-spec, не переопределяются и продолжают использоваться. Аналогично будут учитываться настройки хранилища в resource_pool_deployment_spec, влияющие на диски виртуальной машины, а именно resource_pool_deployment_spec.storage-mappings, resource_pool_deployment_spec.storage-profile-id, resource_pool_deployment_spec.storage-provisioning и resource_pool_deployment_spec.default-datastore-id.

Если параметр не задан, будут использоваться соответствующие спецификации виртуальной машины из дескриптора OVF шаблона OVF. ([‘deploy’])

- Допустимые ключи:

- provider (string): Параметр vm_config_spec_provider используется для указания необязательного параметра vm_config_spec, применяемого при развертывании шаблона OVF.

Допустимое значение этого поля:

- XML

- xml (string): Параметр xml — это условная конфигурация, доступная при выборе XML. Он используется для передачи vim.vm.ConfigSpec виртуальной машины, сериализованного в XML и закодированного в base64.

Это поле необязательное и имеет значение только тогда, когда значение provider равно XML.

ovf_library_item_id

string

Идентификатор элемента библиотеки содержимого, содержащего пакет OVF для развертывания.

Параметр должен содержать идентификатор ресурса, возвращенного методом vmware.vmware_rest.content_library_item_info. Требуется при state=[‘deploy’, ‘filter’]

session_timeout

float

добавлено в vmware.vmware_rest 2.1.0

Настройки тайм-аута сеанса клиента.

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

Значение по умолчанию — 300 с.

source

dictionary

Идентификатор исходной виртуальной машины или виртуального устройства. Требуется при state=[‘present’]

Допустимые атрибуты:

- type (str): Тип ресурса, доступного для развертывания.

При передаче клиентами значения этой структуры в качестве параметра поле должно содержать VirtualMachine или VirtualApp. ([‘present’])

Этот ключ обязателен при [‘present’].

- id (str): Идентификатор ресурса, доступного для развертывания.

При передаче клиентами значения этой структуры в качестве параметра поле должно содержать идентификатор одного из следующих типов ресурсов: VirtualMachine или VirtualApp. ([‘present’])

Этот ключ обязателен при [‘present’].

state

string

Допустимые значения:

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

target

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

Спецификация целевой библиотеки содержимого и элемента библиотеки. Этот параметр обязателен.

Допустимые атрибуты:

- library_id (str): Идентификатор библиотеки, в которой следует создать новый элемент библиотеки. Это поле не используется, если задано поле library_item_id.

В настоящее время это поле обязательно.

В будущем, если поле не будет задано, потребуется указать поле library_item_id.

При передаче клиентами значения этой структуры в качестве параметра поле должно содержать идентификатор ресурса, возвращенного методом vmware.vmware_rest.content_library_info. ([‘present’])

- library_item_id (str): Идентификатор элемента библиотеки, который необходимо обновить.

Если параметр не задан, будет создан новый элемент библиотеки. Если это поле задано, необходимо также указать поле library_id.

При передаче клиентами значения этой структуры в качестве параметра поле должно содержать идентификатор ресурса, возвращенного методом vmware.vmware_rest.content_library_item_info. ([‘present’])

- resource_pool_id (str): Идентификатор пула ресурсов, к которому следует подключить виртуальную машину или виртуальное устройство.

При передаче клиентами значения этой структуры в качестве параметра поле должно содержать идентификатор ресурса, возвращенного методом vmware.vmware_rest.vcenter_resourcepool_info. ([‘deploy’, ‘filter’])

Этот ключ обязателен при [‘deploy’, ‘filter’].

- host_id (str): Идентификатор целевого узла, на котором будет работать виртуальная машина или виртуальное устройство. Целевой узел должен быть участником кластера, содержащего пул ресурсов с идентификатором

Если параметр не задан, сервер автоматически выберет целевой узел из пула ресурсов, если resource_pool_id — это автономный узел или кластер с включенной функцией Distributed Resource Scheduling (DRS).

При передаче клиентами значения этой структуры в качестве параметра поле должно содержать идентификатор ресурса, возвращенного методом vmware.vmware_rest.vcenter_host_info. ([‘deploy’, ‘filter’])

- folder_id (str): Идентификатор папки vCenter, в которой должна находиться виртуальная машина или виртуальное устройство. Папка должна быть папкой виртуальных машин.

Если параметр не задан, сервер выберет папку развертывания.

При передаче клиентами значения этой структуры в качестве параметра поле должно содержать идентификатор ресурса, возвращенного методом vmware.vmware_rest.vcenter_folder_info. ([‘deploy’, ‘filter’])

vcenter_hostname

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

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

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

vcenter_password

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

Пароль vSphere vCenter

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

vcenter_rest_log_file

string

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

В этом файле будут записываться данные об обмене HTTP REST.

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

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

значение переменной окружения VMWARE_REST_LOG_FILE.

vcenter_username

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

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

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

vcenter_validate_certs

boolean

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

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

Допустимые значения:

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

Примечания

Примечание

  • Протестировано на vSphere 7.0.3

Примеры

---
- name: Export the VM as an OVF on the library
  vmware.vmware_rest.vcenter_ovf_libraryitem:
    session_timeout: 2900
    source:
      type: VirtualMachine
      id: "{{ lookup('vmware.vmware_rest.vm_moid', 'My VM') }}"
    target:
      library_id: 1111111-1111111-1111111-111111
    create_spec:
      name: Golden Image
      description: A golden image for templating
      flags: []
    state: present

# Due to an issue with the generated module code and the REST API limitations,
# updating existing template descriptions must be done by removing the create_spec.name
# attribute.
#
# Note that omitting the create_spec.name attribute will force the OVF template to be replaced.
# Thus, the second task will always report as changed
- name: Export the VM as an OVF on the library
  vmware.vmware_rest.vcenter_ovf_libraryitem:
    session_timeout: 2900
    source:
        type: VirtualMachine
        id: "{{ lookup('vmware.vmware_rest.vm_moid', 'My VM') }}"
    target:
        library_id: 1111111-1111111-1111111-111111
    create_spec:
        name: Golden Image
        description: Some unhelpful description
        flags: []
    state: present
  register: _ovf_item

- name: Update The Template Description
  vmware.vmware_rest.vcenter_ovf_libraryitem:
    session_timeout: 2900
    source:
      type: VirtualMachine
      id: "{{ lookup('vmware.vmware_rest.vm_moid', 'My VM') }}"
    target:
      library_id: 1111111-1111111-1111111-111111
      library_item_id: "{{ _ovf_item.value.ovf_library_item_id }}"
    create_spec:
      description: A much better description for this template
      flags: []

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

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

Ключ

Описание

id

string

Идентификатор шаблона OVF

Возвращается: При успешном выполнении и отсутствии изменений

Пример: "{'id': '3994f858-2d45-4dac-b407-0643a29308bd'}"

value

dictionary

Сведения об OVF, если он был создан, или идентификатор, если OVF был обновлен

Возвращается: При успешном выполнении

Пример: {"cached": true, "certificate_verification_info": {"status": "INTERNAL"}, "content_version": "3", "creation_time": "2024-11-26T20:08:07.108Z", "description": "an OVF example", "error": {"errors": [], "information": [], "warnings": []}, "id": "3994f858-2d45-4dac-b407-0643a29308bd", "last_modified_time": "2024-12-02T15:43:24.882Z", "library_id": "fbcc0f38-b7d9-4243-95f6-fb28f1ab35a6", "metadata_version": "1", "name": "golden", "ovf_library_item_id": "3994f858-2d45-4dac-b407-0643a29308bd", "security_compliance": true, "size": 875576749, "succeeded": true, "type": "ovf", "version": "1"}

Авторы

  • Команда Ansible Cloud (@ansible-collections)

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

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

© 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/vmware/vmware_rest/vcenter_ovf_libraryitem_module.html

Spec-Zone.ru

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