Spec-Zone.ru › Ansible

vmware.vmware_rest.datastore_moid поиск — Поиск MoID для объектов хранилища данных vSphere с помощью REST-API vCenter

Примечание

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

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

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

Для использования в книге задач укажите: vmware.vmware_rest.datastore_moid.

Новое в vmware.vmware_rest 2.1.0

  • Обзор
  • Требования
  • Термины
  • Параметры ключевых слов
  • Примечания
  • Примеры
  • Значение возврата

Обзор

  • Возвращает идентификатор управляемого объекта (MoID) объекта хранилища данных vSphere, содержащегося в указанном пути.

Требования

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

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

Термины

Параметр

Комментарии

Термины

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

Абсолютный путь к папке объекта, который вы хотите найти.

Пути к папкам всегда начинаются с имени центра обработки данных, а затем с типа объекта (хост, виртуальная машина, сеть, хранилище данных).

Если объект находится в подпапке, путь к подпапке должен быть добавлен после типа объекта (например, /my_dc/vm/some/sub_folder/vm_name_to_lookup).

Введите имена объекта или папки, как они отображаются в графическом интерфейсе VCenter. Не экранируйте пробелы или специальные символы.

Параметры ключевых слов

Здесь описаны параметры ключевых слов поиска. Это значения key1=value1, key2=value2 и так далее в следующих примерах: lookup('vmware.vmware_rest.datastore_moid', key1=value1, key2=value2, ...) и query('vmware.vmware_rest.datastore_moid', key1=value1, key2=value2, ...)

Параметр

Комментарии

object_type

строка

Не должен устанавливаться пользователем, он устанавливается внутренне при использовании конкретного плагина поиска.

Описание типа объекта для поиска. Например, кластер, центр обработки данных, хранилище данных и т. д.

По умолчанию: "cluster"

vcenter_hostname

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

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

Настройка:

  • Переменная среды: VMWARE_HOST
... ...

Примечания

Примечание

  • При совместном использовании параметров ключевых слов и позиционных параметров позиционные параметры должны быть перечислены перед параметрами ключевых слов: lookup('vmware.vmware_rest.datastore_moid', term1, term2, key1=value1, key2=value2) и query('vmware.vmware_rest.datastore_moid', term1, term2, key1=value1, key2=value2)
  • Плагины поиска выполняются на контроллере Ansible и используются для поиска информации из внешнего ресурса. См. https://docs.ansible.com/ansible/latest/plugins/lookup.html#lookup-plugins
  • Плагины этой коллекции позволяют быстро собирать идентификаторы ресурсов VMWare и либо хранить их, либо использовать их, вместо необходимости использования нескольких модулей и задач для выполнения одного и того же. См. раздел "Примеры" для сравнения.

Примеры

#
#
# The examples below assume you have a datacenter named 'my_dc' and a datastore named 'my_datastore'.
# Replace these values as needed for your environment.
#
#

#
# Authentication / Connection Arguments
#
# You can explicitly set the connection arguments in each lookup. This may be clearer for some use cases
- name: Pass In Connection Arguments Explicitly
  ansible.builtin.debug:
    msg: >-
      {{ lookup('vmware.vmware_rest.datastore_moid', '/my_dc/datastore/my_datastore',
      vcenter_hostname="vcenter.test",
      vcenter_username="administrator@vsphere.local",
      vcenter_password="1234") }}

# Alternatively, you can add the connection arguments to a dictionary variable, and then pass that variable to the
# lookup plugins. This makes the individual lookup plugin calls simpler
- name: Example Playbook
  hosts: all
  vars:
    connection_args:
      vcenter_hostname: "vcenter.test"
      vcenter_username: "administrator@vsphere.local"
      vcenter_password: "1234"
  tasks:
    # Add more tasks or lookups as needed, referencing the same connection_args variable
    - name: Lookup MoID of the object
      ansible.builtin.debug:
        msg: "{{ lookup('vmware.vmware_rest.datastore_moid', '/my_dc/datastore/my_datastore', **connection_args) }}"

# Finally, you can also leverage the environment variables associated with each connection arg, and avoid passing
# extra args to the lookup plugins
- name: Use a lookup plugin with VMWARE_* environment variables set
  ansible.builtin.debug:
    msg: "{{ lookup('vmware.vmware_rest.datastore_moid', '/my_dc/datastore/my_datastore') }}"

#
# Datastore Search Path Examples
#
# Datastores are located under the 'datastore' folder in a datacenter.
# The basic path for a datastore should look like '/<datacenter-name>/datastore/<datastore-name>'
# You can also lookup datastores under a specific host, if needed.
# The basic path should look like '/<datacenter-name>/host/<cluster-name>/<host-name>/<datastore-name>'
# Note: All datastores are still accessible at this path, not just the ones attached to the host.
- name: Lookup Datastore Named 'my_datastore' in Datacenter 'my_dc'
  ansible.builtin.debug:
    msg: "{{ lookup('vmware.vmware_rest.datastore_moid', '/my_dc/datastore/my_datastore') }}"

# If the datastore is in a user created 'datastore' type folder, the path shoud just include the
# datacenter and folder name.
- name: Lookup Datastore Named 'my_datastore' in Datacenter 'my_dc' in a datastore folder 'production'
  ansible.builtin.debug:
    msg: "{{ lookup('vmware.vmware_rest.datastore_moid', '/my_dc/production/my_datastore') }}"
#
# Usage in Playbooks
#
#
# The lookup plugin can be used to simplify your playbook. Here is an example of how you might use it.
#
# Without the lookup, this takes two modules which both run on the remote host. This can slow down execution
# and adds extra steps to the playbook:
- name: Retrieve details about a datastore named 'my_datastore'
  vmware.vmware_rest.vcenter_cluster_info:
    names:
      - my_datastore
  register: my_datastore_info

- name: Create a VM
  vmware.vmware_rest.vcenter_vm:
    placement:
      datastore: "{{ my_datastore_info.value[0].datastore }}"
    name: test_vm1
    guest_OS: RHEL_7_64
    hardware_version: VMX_11
    memory:
      size_MiB: 1024
    disks:
      - type: SATA
        new_vmdk:
          name: first_disk
          capacity: 3200

# With the lookup, playbooks are shorter, quicker, and more intuitive:
- name: Create a VM
  vmware.vmware_rest.vcenter_vm:
    placement:
      datastore: "{{ lookup('vmware.vmware_rest.datastore_moid', '/my_dc/datastore/my_datastore') }}"
    name: test_vm1
    guest_OS: RHEL_7_64
    hardware_version: VMX_11
    memory:
      size_MiB: 1024
    disks:
      - type: SATA
        new_vmdk:
          name: first_disk
          capacity: 3200

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

Ключ

Описание

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

строка

MoID объекта хранилища данных vSphere

Возвращено: успех

Пример: "datastore-1019"

Авторы

  • Алина Бузачис (@alinabuzachis)

Подсказка

Элементы конфигурации для каждого типа записи имеют порядок приоритета от низкого к высокому. Например, переменная, которая ниже в списке, переопределит переменную, которая расположена выше.

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

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

© 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/datastore_moid_lookup.html

Spec-Zone.ru

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