Spec-Zone.ru › Ansible

vmware.vmware_rest.host_moid lookup – Поиск 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. Для использования этого плагина поиска требуются дополнительные компоненты, см. Требования для получения подробной информации.

Для использования в playbook, укажите: vmware.vmware_rest.host_moid.

Новое в vmware.vmware_rest 2.1.0

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

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

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

Требования

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

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

Термины

Параметр

Комментарии

Terms

string / required

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

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

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

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

Ключевые параметры

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

Параметр

Комментарии

object_type

string

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

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

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

vcenter_hostname

string / required

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

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

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

vcenter_password

string / required

Пароль vCenter vSphere.

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

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

vcenter_rest_log_file

string

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

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

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

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

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

vcenter_username

string / required

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

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

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

vcenter_validate_certs

boolean

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

Варианты:

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

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

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

Примечания

Примечание

  • При совместном использовании ключевых и позиционных параметров позиционные параметры должны быть перечислены перед ключевыми параметрами: lookup('vmware.vmware_rest.host_moid', term1, term2, key1=value1, key2=value2) и query('vmware.vmware_rest.host_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', a cluster named 'my_cluster', and an ESXI host named 'my_host'.
# 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.host_moid', '/my_dc/host/my_cluster/my_host',
      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.host_moid', '/my_dc/host/my_cluster/my_host', **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.host_moid', '/my_dc/host/my_cluster/my_host') }}"

#
# Host Search Path Examples
#
# Hosts are located under the 'host' folder in a datacenter. They may also be under a cluster, which is
# under the host folder.
# The basic path for a host in a cluster should look like '/<datacenter-name>/host/<cluster-name>/<host-name>'
# The basic path for a host outside of a cluster should look like '/<datacenter-name>/host/<host-name>'
- name: Lookup Host named 'my_host' in a Cluster Named 'my_cluster' in Datacenter 'my_dc'
  ansible.builtin.debug:
    msg: "{{ lookup('vmware.vmware_rest.host_moid', '/my_dc/host/my_cluster/my_host') }}"

- name: Lookup Host named 'my_host' not in a Cluster but in Datacenter 'my_dc'
  ansible.builtin.debug:
    msg: "{{ lookup('vmware.vmware_rest.host_moid', '/my_dc/host/my_host') }}"

# If the host is in a user created 'host' type folder, the path shoud just include the
# datacenter and folder name.
- name: Lookup Host Named 'my_host' in Datacenter 'my_dc' in a Host folder 'production'
  ansible.builtin.debug:
    msg: "{{ lookup('vmware.vmware_rest.host_moid', '/my_dc/production/my_host') }}"

#
# 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 an ESXI host named 'my_host'
  vmware.vmware_rest.vcenter_host_info:
    names:
      - my_host
  register: my_host_info

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

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

Пример: "host-1014"

Авторы

  • Alina Buzachis (@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/host_moid_lookup.html

Spec-Zone.ru

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