Spec-Zone.ru › Ansible

vmware.vmware_rest.vm_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.vm_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.vm_moid', key1=value1, key2=value2, ...) и query('vmware.vmware_rest.vm_moid', key1=value1, key2=value2, ...)

Параметр

Комментарии

object_type

string

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

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

Значение по умолчанию: "cluster"

vcenter_hostname

string / required

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

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

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

vcenter_password

string / required

Пароль vSphere vCenter.

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

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

vcenter_rest_log_file

string

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

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

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

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

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

vcenter_username

string / required

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

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

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

vcenter_validate_certs

boolean

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

Варианты:

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

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

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

Примечания

Примечание

  • Когда используются ключевые и позиционные параметры, позиционные параметры должны быть указаны перед ключевыми параметрами: lookup('vmware.vmware_rest.vm_moid', term1, term2, key1=value1, key2=value2) и query('vmware.vmware_rest.vm_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 vm named 'my_vm'.
# 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.vm_moid', '/my_dc/vm/my_cluster/my_vm',
      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.vm_moid', '/my_dc/vm/my_cluster/my_vm', **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.vm_moid', '/my_dc/vm/my_cluster/my_vm') }}"

#
# VM Search Path Examples
#
# VMs are located under the 'vm' folder in a datacenter. If they are not in a folder, the path
# should include the cluster name.
# The basic path for a VM should look like '/<datacenter-name>/vm/<cluster-name>/<vm-name>'
- name: Lookup VM Named 'my_vm' in Datacenter 'my_dc' in Cluster 'my_cluster'
  ansible.builtin.debug:
    msg: "{{ lookup('vmware.vmware_rest.folder_moid', '/my_dc/vm/my_cluster/my_vm') }}"

# If the VM is in a user created VM folder, you just include the folder name.
- name: Lookup VM Named 'my_vm' in Datacenter 'my_dc' in Folder 'production' (also in Cluster 'my_cluster')
  ansible.builtin.debug:
    msg: "{{ lookup('vmware.vmware_rest.folder_moid', '/my_dc/production/my_vm') }}"

#
# 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: Look up the VM called 'my_vm' in the inventory
  vmware.vmware_rest.vcenter_vm_info:
    filter_names:
      - my_vm
  register: my_vm_info

- name: Delete a VM
  vmware.vmware_rest.vcenter_vm:
    vm: '{{ my_vm_info.value[0].vm }}'
    state: absent

# With the lookup, playbooks are shorter, quicker, and more intuitive:
- name: Delete a VM
  vmware.vmware_rest.vcenter_vm:
    vm: "{{ lookup('vmware.vmware_rest.vm_moid', '/my_dc/vm/my_vm') }}"
    state: absent

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

Ключ

Описание

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

string

MoID объекта виртуальной машины vSphere

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

Пример: "vm-1026"

Авторы

  • 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/vm_moid_lookup.html

Spec-Zone.ru

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