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 | Не должен устанавливаться пользователем, он устанавливается внутренне при использовании определенного плагина поиска. Описывает тип объекта для поиска. Пример: кластер, центр обработки данных, хранилище данных и т.д. Значение по умолчанию: |
vcenter_hostname string / required | |
vcenter_password string / required | |
vcenter_rest_log_file string | Вы можете использовать этот необязательный параметр для установки местоположения файла журнала. Этот файл будет использоваться для записи взаимодействий HTTP REST. Файл будет храниться на хосте, на котором выполняется модуль. Конфигурация:
|
vcenter_username string / required | |
vcenter_validate_certs boolean | Разрешает подключение, когда SSL-сертификаты недействительны. Установите значение Варианты:
Конфигурация:
|
Примечания
Примечание
- Когда используются ключевые и позиционные параметры, позиционные параметры должны быть указаны перед ключевыми параметрами:
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 Возвращается: успех Пример: |
Ссылки на коллекцию
© 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