Spec-Zone.ru › Ansible

Модуль vmware.vmware_rest.content_subscribedlibrary – Создаёт новую подписную библиотеку

Примечание

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

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

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

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

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

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

Описание

  • Создаёт новую подписную библиотеку. <p> После создания подписная библиотека будет пустой. Если свойство {@link LibraryModel#subscriptionInfo} задано, служба Content Library Service попытается синхронизироваться с удалённым источником. Это асинхронная операция, поэтому содержимое опубликованной библиотеки может не появиться сразу.

Требования

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

  • vSphere 7.0.3 или выше
  • python >= 3.6
  • aiohttp

Параметры

Параметр

Комментарии

client_token

string

Уникальный токен, генерируемый клиентом для каждого запроса на создание. Токен должен быть универсальным уникальным идентификатором (UUID), например: b8a2a2e3-2314-43cd-a871-6ede0f429751. Этот токен может использоваться для гарантированного идемпотентного создания.

creation_time

string

Дата и время создания этой библиотеки.

description

string

Читаемое описание этой библиотеки.

id

string

Идентификатор, однозначно определяющий этот library_model.

last_modified_time

string

Дата и время последнего обновления этой библиотеки. Это поле автоматически обновляется при изменении свойств библиотеки. Это поле не изменяется при добавлении, удалении или изменении элемента библиотеки или ее содержимого в библиотеке. Добавление тегов в библиотеку или синхронизация подписной библиотеки не изменяют это поле.

last_sync_time

string

Дата и время последней синхронизации этой библиотеки. Это поле применяется только к подписным библиотекам. Оно обновляется каждый раз, когда запускается синхронизация библиотеки. Значение не устанавливается для локальной библиотеки.

library_id

string

Идентификатор подписной библиотеки, содержимое которой должно быть удалено. Требуется с state=[‘absent’, ‘evict’, ‘present’, ‘sync’]

name

string

Имя библиотеки. Библиотека идентифицируется по понятному имени. Имена библиотек не могут быть неопределенными или пустыми строками. Имена не обязательно должны быть уникальными.

optimization_info

dictionary

Определяет различные оптимизации и параметры оптимизации, применяемые к этой библиотеке.

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

  • optimize_remote_publishing (bool): Если установлено в True, то библиотека будет оптимизирована для удаленной публикации. Включите его, если удаленная публикация является основным вариантом использования для этой библиотеки. Под удаленной публикацией здесь подразумевается, что издатель и подписчики не являются частью одного и того же vcenter домена SSO. Любые оптимизации могут быть выполнены в результате включения этой оптимизации во время создания библиотеки. Например, содержимое библиотеки может храниться в другом формате, но оптимизации не ограничиваются только форматом хранения. Обратите внимание, что значение этого переключателя может быть установлено только во время создания библиотеки, и вам потребуется перенести вашу библиотеку, если вам нужно изменить это значение (оптимизировать библиотеку для другого варианта использования). ([‘present’])

publish_info

dictionary

Определяет, как публикуется эта библиотека, чтобы к ней могла подписаться удаленная подписная библиотека. publish_info определяет, где и как доступны метаданные для этой локальной библиотеки. Локальная библиотека публикуется только публично, если publish_info.published имеет значение True.

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

  • authentication_method (str): authentication_method указывает, как подписная библиотека должна пройти аутентификацию в конечной точке опубликованной библиотеки. ([‘present’])
  • Допустимые значения:
  • BASIC
  • NONE
  • published (bool): Опубликована ли локальная библиотека. ([‘present’])
  • publish_url (str): URL, по которому метаданные библиотеки публикуются службой библиотеки контента. Это значение можно использовать для установки свойства subscription_info.subscriptionurl при создании подписной библиотеки. ([‘present’])
  • user_name (str): Имя пользователя, необходимое для аутентификации. ([‘present’])
  • password (str): Новый пароль, необходимый для аутентификации. ([‘present’])
  • current_password (str): Текущий пароль для проверки. Это поле доступно начиная с vSphere 6.7. ([‘present’])
  • persist_json_enabled (bool): Сохраняются ли метаданные библиотеки и элементов библиотеки в базовом хранилище в виде файлов JSON. Этот флаг применяется только в том случае, если локальная библиотека опубликована. Включение сохранения JSON позволяет синхронизировать подписную библиотеку вручную, а не по протоколу HTTP. Вы вручную копируете содержимое и метаданные локальной библиотеки в другое базовое хранилище, а затем создаете подписную библиотеку, ссылающуюся на местоположение файла JSON библиотеки в subscription_info.subscriptionurl. Когда базовое хранилище подписной библиотеки совпадает с URL подписки, файлы не нужно копировать в подписную библиотеку. Для библиотеки, поддерживаемой хранилищем данных, файл JSON библиотеки будет храниться по пути contentlib-{library_id}/lib.json в хранилище данных. Для библиотеки, поддерживаемой удаленной файловой системой, файл JSON библиотеки будет храниться по пути {library_id}/lib.json в пути удаленной файловой системы. ([‘present’])

security_policy_id

string

Представляет политику безопасности, применяемую к этой библиотеке. Установка поля сделает библиотеку защищенной. Это поле игнорируется в операции update, если {@link #unsetSecurityPolicyId} имеет значение True.

server_guid

string

Уникальный идентификатор сервера vCenter, где находится библиотека.

session_timeout

float

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

Настройки времени ожидания для сеанса клиента.

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

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

state

string

Варианты:

  • "absent"
  • "evict"
  • "present" ← (по умолчанию)
  • "probe"
  • "sync"

storage_backings

список / элементы=словарь

Список стандартных хранилищ, доступных для этой библиотеки. Хранилище определяет стандартное место хранения, которое можно использовать для хранения файлов элементов библиотеки в данной библиотеке. Некоторые элементы библиотеки, например, элементы шаблонов виртуальных машин, поддерживают файлы, которые могут быть распределены по различным хранилищам. Один или несколько файлов элементов могут или могут не находиться в стандартном хранилище. В настоящее время несколько стандартных мест хранения не поддерживаются, но могут быть добавлены в будущих выпусках.

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

  • type (строка): type определяет тип хранилища. ([‘present’])
  • Допустимые значения:
  • DATASTORE
  • OTHER
  • datastore_id (строка): Идентификатор хранилища данных, используемого для хранения содержимого в библиотеке. ([‘present’])
  • storage_uri (строка): URI, определяющий расположение, используемое для хранения содержимого в библиотеке. Поддерживаются следующие форматы URI: vSphere 6.5 <ul> <li>nfs://сервер/путь?version=4 (только для vCenter Server Appliance) - Указывает сервер NFS версии 4.</li> <li>nfs://сервер/путь (только для vCenter Server Appliance) - Указывает сервер NFS версии 3. Также поддерживается формат nfs://сервер:/путь.</li> <li>smb://сервер/путь - Указывает сервер SMB или общую папку Windows.</li> </ul> vSphere 6.0 Update 1 <ul> <li>nfs://сервер:/путь (только для vCenter Server Appliance)</li> <li>file://unc-сервер/путь (только для vCenter Server для Windows)</li> <li>file:///монтированная/точка (только для vCenter Server Appliance) - Локальные URI файлов поддерживаются только тогда, когда путь является локальной точкой монтирования для NFS-файловой системы. Использование URI файлов настоятельно не рекомендуется. Вместо этого используйте URI NFS для указания удалённой файловой системы.</li> </ul> vSphere 6.0 <ul> <li>nfs://сервер:/путь (только для vCenter Server Appliance)</li> <li>file://unc-сервер/путь (только для vCenter Server для Windows)</li> <li>file:///путь - Локальные URI файлов поддерживаются, но настоятельно не рекомендуются, так как это может повлиять на производительность vCenter Server.</li> </ul> ([‘present’])

subscription_info

словарь

Определяет поведение подписки для данной библиотеки. subscription_info определяет, как эта подписная библиотека синхронизируется с удаленным источником. Установка значения определит удаленный источник, с которым библиотека синхронизируется, и как. Изменение подписки приведет к синхронизации с новым источником. Если новый источник отличается от старого, старые элементы библиотеки и данные будут потеряны. Установка subscription_info.automaticSyncEnabled в значение false остановит подписку, но не удалит существующие кэшированные данные.

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

  • authentication_method (строка): Указывает, как подписная библиотека должна аутентифицироваться на опубликованном конце точки библиотеки. ([‘present’, ‘probe’])
  • Допустимые значения:
  • BASIC
  • NONE
  • automatic_sync_enabled (логическое значение): Участвует ли библиотека в автоматической синхронизации библиотек. Для автоматической синхронизации должен быть также установлен глобальный параметр configuration_model.automatic_sync_enabled. Подписка остается активной даже при отключённой автоматической синхронизации, но синхронизация активируется только при явном вызове vmware.vmware_rest.content_subscribedlibrary с state=sync. Другими словами, ручная синхронизация по-прежнему доступна, даже если автоматическая синхронизация отключена. ([‘present’, ‘probe’])
  • on_demand (логическое значение): Указывает, будет ли содержимое элемента библиотеки синхронизироваться только по запросу. Если это значение установлено в True, метаданные элемента библиотеки будут синхронизированы, но содержимое элемента (его файлы) не будут синхронизированы. Служба Content Library Service будет синхронизировать содержимое только по запросу. Это может привести к заметной задержке при первом использовании содержимого. Если это значение установлено в False, всё содержимое будет предварительно синхронизировано. ([‘present’, ‘probe’])
  • password (строка): Пароль, используемый при аутентификации. Пароль должен быть установлен при использовании метода аутентификации на основе пароля; пустые строки недопустимы. ([‘present’, ‘probe’])
  • ssl_thumbprint (строка): Необязательный SHA-1 хэш сертификата SSL для удалённой конечной точки. Если это значение определено, сертификат SSL будет проверен путём сравнения с отпечатком сертификата SSL. Сертификат SSL должен соответствовать отпечатку. При указании этого значения стандартное поведение проверки цепочки сертификатов не используется. Цепочка сертификатов проверяется обычно, если это значение не задано. ([‘present’, ‘probe’])
  • subscription_url (строка): URL конечной точки, где предоставляются метаданные для удалённо опубликованной библиотеки. Этот URL может быть publish_info.publish_url опубликованной библиотеки (например, https://server/path/lib.json). Если исходное содержимое поступает из опубликованной библиотеки с publish_info.persist_json_enabled, URL подписки может быть URL, указывающим на файл JSON библиотеки в хранилище данных или удалённой файловой системе. Поддерживаемые форматы: vSphere 6.5 <ul> <li>ds:///vmfs/volumes/{uuid}/mylibrary/lib.json (для хранилища данных)</li> <li>nfs://сервер/путь/mylibrary/lib.json (для NFSv3 сервера на vCenter Server Appliance)</li> <li>nfs://сервер/путь/mylibrary/lib.json?version=4 (для NFSv4 сервера на vCenter Server Appliance) </li> <li>smb://сервер/путь/mylibrary/lib.json (для сервера SMB)</li> </ul> vSphere 6.0 <ul> <li>file://сервер/mylibrary/lib.json (для UNC-сервера на vCenter Server для Windows)</li> <li>file:///путь/mylibrary/lib.json (для локальной файловой системы)</li> </ul> Если вы указываете URL подписки хранилища данных, то хранилище данных должно находиться на том же vCenter Server, что и подписная библиотека. Если вы указываете URL подписки NFS или SMB, storage_backings.storage_uri подписной библиотеки должен находиться на том же удалённом файловом сервере и должен иметь общую родительскую директорию с URL подписки. ([‘present’, ‘probe’])
  • user_name (строка): Имя пользователя, используемое при аутентификации. Имя пользователя должно быть установлено при использовании метода аутентификации на основе пароля. Пустые строки для имён пользователей допускаются. ([‘present’, ‘probe’])
  • source_info (словарь): Информация об опубликованной библиотеке-источнике. Это поле будет установлено для подписной библиотеки, связанной с подпиской на опубликованную библиотеку. ([‘present’, ‘probe’])
  • Допустимые ключи:
  • source_library (строка): Идентификатор опубликованной библиотеки.
  • subscription (строка): Идентификатор подписки, связанной с подписной библиотекой.

type

строка

library_type определяет тип библиотеки. Тип библиотеки может быть использован для определения дополнительных сервисов, которые могут быть выполнены с библиотекой.

Варианты:

  • "LOCAL"
  • "SUBSCRIBED"

unset_security_policy_id

логическое значение

Это отражает намерение изменения {@link #securityPolicyId} в update операции. Если это поле установлено в True, любая политика безопасности, применённая к библиотеке, будет удалена. Если это поле установлено в False, любая политика безопасности, применённая к библиотеке, будет изменена на значение, указанное в {@link #securityPolicyId}, если таковая имеется.

Варианты:

  • false
  • true

vcenter_hostname

строка / обязательно

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

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

vcenter_password

строка / обязательно

Пароль vCenter vSphere

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

vcenter_rest_log_file

строка

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

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

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

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

переменной среды VMWARE_REST_LOG_FILE.

vcenter_username

строка / обязательный

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

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

vcenter_validate_certs

булево

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

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

Варианты:

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

version

строка

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

Примечания

Примечание

  • Тестировалось на vSphere 7.0.3

Примеры

- name: Create a content library pointing on a NFS share
  vmware.vmware_rest.content_locallibrary:
    name: my_library_on_nfs
    description: automated
    publish_info:
      published: true
      authentication_method: NONE
    storage_backings:
    - storage_uri: nfs://datastore.test/srv/share/content-library
      type: OTHER
    state: present
  register: nfs_lib

- name: Create subscribed library
  vmware.vmware_rest.content_subscribedlibrary:
    name: sub_lib
    subscription_info:
      subscription_url: '{{ nfs_lib.value.publish_info.publish_url }}'
      authentication_method: NONE
      automatic_sync_enabled: false
      on_demand: true
    storage_backings:
    - datastore_id: "{{ lookup('vmware.vmware_rest.datastore_moid', '/my_dc/datastore/rw_datastore') }}"
      type: DATASTORE
  register: sub_lib

- name: Create subscribed library (again)
  vmware.vmware_rest.content_subscribedlibrary:
    name: sub_lib
    subscription_info:
      subscription_url: '{{ nfs_lib.value.publish_info.publish_url }}'
      authentication_method: NONE
      automatic_sync_enabled: false
      on_demand: true
    storage_backings:
    - datastore_id: "{{ lookup('vmware.vmware_rest.datastore_moid', '/my_dc/datastore/rw_datastore') }}"
      type: DATASTORE
  register: result

- name: Clean up the cache
  vmware.vmware_rest.content_subscribedlibrary:
    name: sub_lib
    library_id: '{{ sub_lib.id }}'
    state: evict

- name: Trigger a library sync
  vmware.vmware_rest.content_subscribedlibrary:
    name: sub_lib
    library_id: '{{ sub_lib.id }}'
    state: sync

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

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

Ключ

Описание

msg

строка

Удалить все подписки на библиотеки

Возвращаемое значение: При успехе

Пример: "All items completed"

results

список / элементы=строка

Удалить все подписки на библиотеки

Возвращаемое значение: При успехе

Пример: [{"_ansible_item_label": {"creation_time": "2022-11-23T20:06:05.189Z", "description": "", "id": "8b4e355e-a463-44f1-9b04-d0786a49cc7d", "last_modified_time": "2022-11-23T20:06:05.189Z", "last_sync_time": "2022-11-23T20:06:07.717Z", "name": "sub_lib", "server_guid": "52fb0b5e-ffc3-465b-bf4f-e4e6d5423cf5", "storage_backings": [{"datastore_id": "datastore-1065", "type": "DATASTORE"}], "subscription_info": {"authentication_method": "NONE", "automatic_sync_enabled": 0, "on_demand": 1, "subscription_url": "https://vcenter.test:443/cls/vcsp/lib/a66d5c73-57f8-4a3a-9361-292a55f68516/lib.json"}, "type": "SUBSCRIBED", "version": "4"}, "_ansible_no_log": null, "ansible_loop_var": "item", "changed": 1, "failed": 0, "invocation": {"module_args": {"client_token": null, "creation_time": null, "description": null, "id": null, "last_modified_time": null, "last_sync_time": null, "library_id": "8b4e355e-a463-44f1-9b04-d0786a49cc7d", "name": null, "optimization_info": null, "publish_info": null, "server_guid": null, "session_timeout": null, "state": "absent", "storage_backings": null, "subscription_info": null, "type": null, "vcenter_hostname": "vcenter.test", "vcenter_password": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER", "vcenter_rest_log_file": "/tmp/vmware_rest.log", "vcenter_username": "administrator@vsphere.local", "vcenter_validate_certs": 0, "version": null}}, "item": {"creation_time": "2022-11-23T20:06:05.189Z", "description": "", "id": "8b4e355e-a463-44f1-9b04-d0786a49cc7d", "last_modified_time": "2022-11-23T20:06:05.189Z", "last_sync_time": "2022-11-23T20:06:07.717Z", "name": "sub_lib", "server_guid": "52fb0b5e-ffc3-465b-bf4f-e4e6d5423cf5", "storage_backings": [{"datastore_id": "datastore-1065", "type": "DATASTORE"}], "subscription_info": {"authentication_method": "NONE", "automatic_sync_enabled": 0, "on_demand": 1, "subscription_url": "https://vcenter.test:443/cls/vcsp/lib/a66d5c73-57f8-4a3a-9361-292a55f68516/lib.json"}, "type": "SUBSCRIBED", "version": "4"}, "value": {}}]

Авторы

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

Ссылки на сборку

  • Отслеживание проблем
  • Главная страница
  • Репозиторий (источники)

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

Spec-Zone.ru

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