community.vmware.vmware_folder_info – Provides information about folders in a datacenter
Note
This plugin is part of the community.vmware collection (version 1.7.0).
To install it use: ansible-galaxy collection install community.vmware.
To use it in a playbook, specify: community.vmware.vmware_folder_info.
Synopsis
- The module can be used to gather a hierarchical view of the folders that exist within a datacenter
 
Requirements
The below requirements are needed on the host that executes this module.
- python >= 2.6
 - PyVmomi
 
Parameters
| Parameter | Choices/Defaults | Comments | 
|---|---|---|
|   datacenter    string / required    |    Name of the datacenter.  aliases: datacenter_name  |  |
|   hostname    string    |    The hostname or IP address of the vSphere vCenter or ESXi server.  If the value is not specified in the task, the value of environment variable   VMWARE_HOST will be used instead.Environment variable support added in Ansible 2.6.   |  |
|   password    string    |    The password of the vSphere vCenter or ESXi server.  If the value is not specified in the task, the value of environment variable   VMWARE_PASSWORD will be used instead.Environment variable support added in Ansible 2.6.  aliases: pass, pwd  |  |
|   port    integer    |   Default: 443   |    The port number of the vSphere vCenter or ESXi server.  If the value is not specified in the task, the value of environment variable   VMWARE_PORT will be used instead.Environment variable support added in Ansible 2.6.   |  
|   proxy_host    string    |    Address of a proxy that will receive all HTTPS requests and relay them.  The format is a hostname or a IP.  If the value is not specified in the task, the value of environment variable   VMWARE_PROXY_HOST will be used instead.This feature depends on a version of pyvmomi greater than v6.7.1.2018.12   |  |
|   proxy_port    integer    |    Port of the HTTP proxy that will receive all HTTPS requests and relay them.  If the value is not specified in the task, the value of environment variable   VMWARE_PROXY_PORT will be used instead. |  |
|   username    string    |    The username of the vSphere vCenter or ESXi server.  If the value is not specified in the task, the value of environment variable   VMWARE_USER will be used instead.Environment variable support added in Ansible 2.6.  aliases: admin, user  |  |
|   validate_certs    boolean    |   
  |    Allows connection when SSL certificates are not valid. Set to   false when certificates are not trusted.If the value is not specified in the task, the value of environment variable   VMWARE_VALIDATE_CERTS will be used instead.Environment variable support added in Ansible 2.6.  If set to   true, please make sure Python >= 2.7.9 is installed on the given machine. |  
Notes
Note
- Tested on vSphere 6.5
 - 
flat_folder_infoadded in VMware collection 1.4.0. 
Examples
- name: Provide information about vCenter folders
  community.vmware.vmware_folder_info:
    hostname: '{{ vcenter_hostname }}'
    username: '{{ vcenter_username }}'
    password: '{{ vcenter_password }}'
    datacenter: datacenter_name
  delegate_to: localhost
  register: vcenter_folder_info
- name: Get information about folders
  community.vmware.vmware_folder_info:
    hostname: '{{ vcenter_hostname }}'
    username: '{{ vcenter_username }}'
    password: '{{ vcenter_password }}'
    datacenter: 'Asia-Datacenter1'
  register: r
- name: Set Managed object ID for the given folder
  ansible.builtin.set_fact:
    folder_mo_id: "{{ (r.flat_folder_info | selectattr('path', 'equalto', '/Asia-Datacenter1/vm/tier1/tier2') | map(attribute='moid'))[0] }}"
   Return Values
Common return values are documented here, the following are the fields unique to this module:
| Key | Returned | Description | 
|---|---|---|
|   flat_folder_info    list / elements=string    |  success |   list of dict about folders in flat structure  Sample:  [{'moid': 'group-v3', 'path': '/Asia-Datacenter1/vm'}, {'moid': 'group-v44', 'path': '/Asia-Datacenter1/vm/tier1'}, {'moid': 'group-v45', 'path': '/Asia-Datacenter1/vm/tier1/tier2'}]   |  
|   folder_info    dictionary    |  success |   dict about folders  Sample:  {'datastoreFolders': {'moid': 'group-v10', 'path': '/DC01/datastore', 'subfolders': {'Local Datastores': {'path': '/DC01/datastore/Local Datastores', 'subfolders': {}}}}, 'hostFolders': {'moid': 'group-v21', 'path': '/DC01/host', 'subfolders': {}}, 'networkFolders': {'moid': 'group-v31', 'path': '/DC01/network', 'subfolders': {}}, 'vmFolders': {'moid': 'group-v41', 'path': '/DC01/vm', 'subfolders': {'Core Infrastructure Servers': {'moid': 'group-v42', 'path': '/DC01/vm/Core Infrastructure Servers', 'subfolders': {'Staging Network Services': {'moid': 'group-v43', 'path': '/DC01/vm/Core Infrastructure Servers/Staging Network Services', 'subfolders': {}}, 'VMware': {'moid': 'group-v44', 'path': '/DC01/vm/Core Infrastructure Servers/VMware', 'subfolders': {}}}}}}}   |  
Authors
- David Hewitt (@davidmhewitt)
 
    © 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_folder_info_module.html