Spec-Zone.ru › Ansible

Поиск vmware.vmware_rest.cluster_moid — поиск MoID объектов кластера vSphere с помощью REST API vCenter

Примечание

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

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

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

Чтобы использовать плагин в плейбуке, укажите: vmware.vmware_rest.cluster_moid.

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

  • УСТАРЕЛО
  • Краткое описание
  • Требования
  • Термины
  • Именованные параметры
  • Примечания
  • Примеры
  • Возвращаемое значение
  • Статус

УСТАРЕЛО

Удалено в:

версии 5.0.0

Причина:

Этот плагин не будет работать с ansible-core 2.19 и более поздними версиями. Примеры миграции см. в документации по миграции.

Альтернатива:

Вместо него используйте vmware.vmware.moid_from_path.

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

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

Требования

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

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

Термины

Параметр

Описание

Terms

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

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

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

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

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

Именованные параметры

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

Параметр

Описание

object_type

string

Пользователь не должен задавать этот параметр: он устанавливается автоматически при использовании определённого плагина поиска.

Определяет тип объекта для поиска. Например: cluster, datacenter, datastore и т. д.

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

vcenter_hostname

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

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

Конфигурация:

  • Переменная окружения: VMWARE_HOST

vcenter_password

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

Пароль vSphere vCenter.

Конфигурация:

  • Переменная окружения: VMWARE_PASSWORD

vcenter_rest_log_file

string

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

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

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

Конфигурация:

  • Переменная окружения: VMWARE_REST_LOG_FILE

vcenter_username

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

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

Конфигурация:

  • Переменная окружения: VMWARE_USER

vcenter_validate_certs

boolean

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

Варианты:

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

Конфигурация:

  • Переменная окружения: VMWARE_VALIDATE_CERTS

Примечания

Примечание

  • При совместном использовании именованных и позиционных параметров позиционные параметры необходимо указывать перед именованными: lookup('vmware.vmware_rest.cluster_moid', term1, term2, key1=value1, key2=value2) и query('vmware.vmware_rest.cluster_moid', term1, term2, key1=value1, key2=value2)
  • Для этого плагина требуется коллекция cloud.common, которая не устанавливается автоматически как зависимость.
  • Плагины поиска выполняются на управляющем узле 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 cluster named 'my_cluster'.
# 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.cluster_moid', '/my_dc/host/my_cluster',
      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.cluster_moid', '/my_dc/host/my_cluster', **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.cluster_moid', '/my_dc/host/my_cluster') }}"

#
# Cluster Search Path Examples
#
# Clusters are located under the 'host' folder in a datacenter.
# The basic path for a cluster should look like '/<datacenter-name>/host/<cluster-name>'
- name: Lookup Cluster Named 'my_cluster' in Datacenter 'my_dc'
  ansible.builtin.debug:
    msg: "{{ lookup('vmware.vmware_rest.cluster_moid', '/my_dc/host/my_cluster') }}"

#
# 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 cluster named 'my_cluster'
  vmware.vmware_rest.vcenter_cluster_info:
    names:
      - my_cluster
  register: my_cluster_info

- name: Create a VM
  vmware.vmware_rest.vcenter_vm:
    placement:
      cluster: "{{ my_cluster_info.value[0].cluster }}"
    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:
      cluster: "{{ lookup('vmware.vmware_rest.cluster_moid', '/my_dc/host/my_cluster') }}"
    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

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

Ключ

Описание

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

string

MoID объекта кластера vSphere

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

Пример: "domain-c1007"

Статус

  • Этот плагин поиска будет удалён в версии 5.0.0. [устарело]
  • Дополнительные сведения см. в разделе УСТАРЕЛО.

Авторы

  • Alina Buzachis (@alinabuzachis)

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

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

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

Spec-Zone.ru

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