community.vmware.vmware_vm_info – Возвращение базовой информации о гостевом компьютере VMware
Примечание
Этот плагин входит в состав коллекции community.vmware (версия 1.7.0).
Для его установки используйте: ansible-galaxy collection install community.vmware
Для использования в playbook укажите: community.vmware.vmware_vm_info
Обзор
- Возвращает базовую информацию о гостевом компьютере виртуальной машины vSphere или ESXi.
- Имя кластера в виде факта добавляется в версии 2.7.
- Этот модуль назывался
vmware_vm_factsдо Ansible 2.9. Способ использования не изменился.
Требования
Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.
- python >= 2.6
- PyVmomi
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| folder строка | Укажите расположение папки с виртуальными машинами для сбора информации. Примеры: folder: /ha-datacenter/vm folder: ha-datacenter/vm folder: /datacenter1/vm folder: datacenter1/vm folder: /datacenter1/vm/folder1 folder: datacenter1/vm/folder1 folder: /folder1/datacenter1/vm folder: folder1/datacenter1/vm folder: /folder1/datacenter1/vm/folder2 | |
| hostname строка | Имя хоста или IP-адрес сервера vSphere vCenter или ESXi. Если значение не указано в задаче, будет использовано значение переменной окружения VMWARE_HOSTПоддержка переменных окружения добавлена в Ansible 2.6. | |
| password строка | Пароль сервера vSphere vCenter или ESXi. Если значение не указано в задаче, будет использовано значение переменной окружения VMWARE_PASSWORDПоддержка переменных окружения добавлена в Ansible 2.6. псевдонимы: pass, pwd | |
| port целое число | По умолчанию: 443 | Номер порта сервера vSphere vCenter или ESXi. Если значение не указано в задаче, будет использовано значение переменной окружения VMWARE_PORTПоддержка переменных окружения добавлена в Ansible 2.6. |
| proxy_host строка | Адрес прокси-сервера, который будет получать все запросы HTTPS и перенаправлять их. Формат — имя хоста или IP-адрес. Если значение не указано в задаче, будет использовано значение переменной окружения VMWARE_PROXY_HOSTЭта функция зависит от версии pyvmomi, большей чем v6.7.1.2018.12 | |
| proxy_port целое число | Порт HTTP-прокси, который будет получать все запросы HTTPS и перенаправлять их. Если значение не указано в задаче, будет использовано значение переменной окружения VMWARE_PROXY_PORT | |
| show_attribute логическое значение |
| Атрибуты, относящиеся к гостевому компьютеру VM, отображаются в информации только при заданном значении true. |
| show_tag логическое значение |
| Теги, относящиеся к виртуальной машине, отображаются, если установлено значение True. |
| username строка | Имя пользователя сервера vSphere vCenter или ESXi. Если значение не указано в задаче, будет использовано значение переменной окружения VMWARE_USERПоддержка переменных окружения добавлена в Ansible 2.6. псевдонимы: admin, user | |
| validate_certs логическое значение |
| Разрешает подключение, когда сертификаты SSL недействительны. Установите значение false при недоверенных сертификатах.Если значение не указано в задаче, будет использовано значение переменной окружения VMWARE_VALIDATE_CERTSПоддержка переменных окружения добавлена в Ansible 2.6. Если установлено значение true, убедитесь, что на данном компьютере установлен Python >= 2.7.9. |
| vm_type строка |
| Если установлено значение vm, то информация собирается только для виртуальных машин.Если установлено значение template, то информация собирается только для шаблонов виртуальных машин.Если установлено значение all, то информация собирается для всех виртуальных машин и шаблонов виртуальных машин. |
Примечания
Примечание
- Проверено на ESXi 6.7, vSphere 5.5 и vSphere 6.5
- Начиная с версии 2.8 и выше, информация возвращается в виде списка словарей вместо словаря.
- Факт о
moidдобавлен в коллекцию VMware 1.4.0.
Примеры
- name: Gather all registered virtual machines
community.vmware.vmware_vm_info:
hostname: '{{ vcenter_hostname }}'
username: '{{ vcenter_username }}'
password: '{{ vcenter_password }}'
delegate_to: localhost
register: vminfo
- debug:
var: vminfo.virtual_machines
- name: Gather only registered virtual machine templates
community.vmware.vmware_vm_info:
hostname: '{{ vcenter_hostname }}'
username: '{{ vcenter_username }}'
password: '{{ vcenter_password }}'
vm_type: template
delegate_to: localhost
register: template_info
- debug:
var: template_info.virtual_machines
- name: Gather only registered virtual machines
community.vmware.vmware_vm_info:
hostname: '{{ vcenter_hostname }}'
username: '{{ vcenter_username }}'
password: '{{ vcenter_password }}'
vm_type: vm
delegate_to: localhost
register: vm_info
- debug:
var: vm_info.virtual_machines
- name: Get UUID from given VM Name
block:
- name: Get virtual machine info
community.vmware.vmware_vm_info:
hostname: '{{ vcenter_hostname }}'
username: '{{ vcenter_username }}'
password: '{{ vcenter_password }}'
folder: "/datacenter/vm/folder"
delegate_to: localhost
register: vm_info
- debug:
msg: "{{ item.uuid }}"
with_items:
- "{{ vm_info.virtual_machines | json_query(query) }}"
vars:
query: "[?guest_name=='DC0_H0_VM0']"
- name: Get Tags from given VM Name
block:
- name: Get virtual machine info
community.vmware.vmware_vm_info:
hostname: '{{ vcenter_hostname }}'
username: '{{ vcenter_username }}'
password: '{{ vcenter_password }}'
folder: "/datacenter/vm/folder"
delegate_to: localhost
register: vm_info
- debug:
msg: "{{ item.tags }}"
with_items:
- "{{ vm_info.virtual_machines | json_query(query) }}"
vars:
query: "[?guest_name=='DC0_H0_VM0']"
- name: Gather all VMs from a specific folder
community.vmware.vmware_vm_info:
hostname: '{{ vcenter_hostname }}'
username: '{{ vcenter_username }}'
password: '{{ vcenter_password }}'
folder: "/Asia-Datacenter1/vm/prod"
delegate_to: localhost
register: vm_info
Возвращаемые значения
Общие возвращаемые значения описаны в разделе здесь, следующие поля уникальны для данного модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| virtual_machines список / элементы=строка | успех | список словарей виртуальных машин и их информации Пример: [{'attributes': {'job': 'backup-prepare'}, 'cluster': None, 'datacenter': 'Центр данных-1', 'esxi_hostname': '10.76.33.226', 'folder': '/Центр данных-1/vm', 'guest_fullname': 'Ubuntu Linux (64-bit)', 'guest_name': 'ubuntu_t', 'ip_address': '', 'mac_address': ['00:50:56:87:a5:9a'], 'moid': 'vm-24', 'power_state': 'poweredOff', 'tags': [{'category_id': 'urn:vmomi:InventoryServiceCategory:b316cc45-f1a9-4277-811d-56c7e7975203:GLOBAL', 'category_name': 'cat_0001', 'description': '', 'id': 'urn:vmomi:InventoryServiceTag:43737ec0-b832-4abf-abb1-fd2448ce3b26:GLOBAL', 'name': 'tag_0001'}], 'uuid': '4207072c-edd8-3bd5-64dc-903fd3a0db04', 'vm_network': {'00:50:56:87:a5:9a': {'ipv4': ['10.76.33.228'], 'ipv6': []}}}] |
Авторы
- Joseph Callen (@jcpowermac)
- Abhijeet Kasurde (@Akasurde)
- Fedor Vompe (@sumkincpp)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/community/vmware/vmware_vm_info_module.html