community.vmware.vmware_vm_info – Возвращение основных данных о гостевой машине VMware
Примечание
Этот плагин входит в состав коллекции community.vmware (версия 1.6.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-адрес сервера vCenter или ESXi vSphere. Если значение не указано в задаче, будет использовано значение переменной среды VMWARE_HOST. Поддержка переменных среды добавлена в Ansible 2.6. | |
| password строка | Пароль сервера vCenter или ESXi vSphere. Если значение не указано в задаче, будет использовано значение переменной среды VMWARE_PASSWORD. Поддержка переменных среды добавлена в Ansible 2.6. Псевдонимы: pass, pwd | |
| port целое число | По умолчанию: 443 | Номер порта сервера vCenter или ESXi vSphere. Если значение не указано в задаче, будет использовано значение переменной среды 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 логическое значение |
| Атрибуты, относящиеся к гостевой ВМ, отображаются в информации только при установке true. |
| show_tag логическое значение |
| Теги, относящиеся к виртуальной машине, отображаются, если установлено True. |
| username строка | Имя пользователя сервера vCenter или ESXi vSphere. Если значение не указано в задаче, будет использовано значение переменной среды 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–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/community/vmware/vmware_vm_info_module.html