/community.vmware

Ansible Collection for VMWare

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

Ansible Collection: community.vmware

This repo hosts the community.vmware Ansible Collection.

The collection includes the VMware modules and plugins supported by Ansible VMware community to help the management of VMware infrastructure.

Ansible version compatibility

This collection has been tested against following Ansible versions: >=2.9.10.

Plugins and modules within a collection may be tested with only specific Ansible versions. A collection may contain metadata that identifies these versions. PEP440 is the schema used to describe the versions of Ansible.

Installation and Usage

Installing the Collection from Ansible Galaxy

Before using the VMware community collection, you need to install the collection with the ansible-galaxy CLI:

ansible-galaxy collection install community.vmware

You can also include it in a requirements.yml file and install it via ansible-galaxy collection install -r requirements.yml using the format:

collections:
- name: community.vmware

Required Python libraries

VMware community collection depends upon following third party libraries:

Installing required libraries and SDK

Installing collection does not install any required third party Python libraries or SDKs. You need to install the required Python libraries using following command:

pip install -r ~/.ansible/collections/ansible_collections/community/vmware/requirements.txt

If you are working on developing and/or testing VMware community collection, you may want to install additional requirements using following command:

pip install -r ~/.ansible/collections/ansible_collections/community/vmware/test-requirements.txt

Included content

Connection plugins

Name Description
community.vmware.vmware_tools Execute tasks inside a VM via VMware Tools

Httpapi plugins

Name Description
community.vmware.vmware HttpApi Plugin for VMware REST API

Inventory plugins

Name Description
community.vmware.vmware_host_inventory VMware ESXi hostsystem inventory source
community.vmware.vmware_vm_inventory VMware Guest inventory source

Modules

Name Description
community.vmware.vca_fw add remove firewall rules in a gateway in a vca
community.vmware.vca_nat add remove nat rules in a gateway in a vca
community.vmware.vca_vapp Manages vCloud Air vApp instances.
community.vmware.vcenter_domain_user_group_info Gather user or group information of a domain
community.vmware.vcenter_extension Register/deregister vCenter Extensions
community.vmware.vcenter_extension_facts Gather facts vCenter extensions
community.vmware.vcenter_extension_info Gather info vCenter extensions
community.vmware.vcenter_folder Manage folders on given datacenter
community.vmware.vcenter_license Manage VMware vCenter license keys
community.vmware.vmware_about_facts Provides information about VMware server to which user is connecting to
community.vmware.vmware_about_info Provides information about VMware server to which user is connecting to
community.vmware.vmware_category Manage VMware categories
community.vmware.vmware_category_facts Gather facts about VMware tag categories
community.vmware.vmware_category_info Gather info about VMware tag categories
community.vmware.vmware_cfg_backup Backup / Restore / Reset ESXi host configuration
community.vmware.vmware_cluster Manage VMware vSphere clusters
community.vmware.vmware_cluster_drs Manage Distributed Resource Scheduler (DRS) on VMware vSphere clusters
community.vmware.vmware_cluster_ha Manage High Availability (HA) on VMware vSphere clusters
community.vmware.vmware_cluster_info Gather info about clusters available in given vCenter
community.vmware.vmware_cluster_vsan Manages virtual storage area network (vSAN) configuration on VMware vSphere clusters
community.vmware.vmware_content_deploy_ovf_template Deploy Virtual Machine from ovf template stored in content library.
community.vmware.vmware_content_deploy_template Deploy Virtual Machine from template stored in content library.
community.vmware.vmware_content_library_info Gather information about VMWare Content Library
community.vmware.vmware_content_library_manager Create, update and delete VMware content library
community.vmware.vmware_datacenter Manage VMware vSphere Datacenters
community.vmware.vmware_datacenter_info Gather information about VMware vSphere Datacenters
community.vmware.vmware_datastore_cluster Manage VMware vSphere datastore clusters
community.vmware.vmware_datastore_cluster_manager Manage VMware vSphere datastore cluster's members
community.vmware.vmware_datastore_info Gather info about datastores available in given vCenter
community.vmware.vmware_datastore_maintenancemode Place a datastore into maintenance mode
community.vmware.vmware_deploy_ovf Deploys a VMware virtual machine from an OVF or OVA file
community.vmware.vmware_dns_config Manage VMware ESXi DNS Configuration
community.vmware.vmware_drs_group Creates vm/host group in a given cluster.
community.vmware.vmware_drs_group_facts Gathers facts about DRS VM/Host groups on the given cluster
community.vmware.vmware_drs_group_info Gathers info about DRS VM/Host groups on the given cluster
community.vmware.vmware_drs_group_manager Manage VMs and Hosts in DRS group.
community.vmware.vmware_drs_rule_facts Gathers facts about DRS rule on the given cluster
community.vmware.vmware_drs_rule_info Gathers info about DRS rule on the given cluster
community.vmware.vmware_dvs_host Add or remove a host from distributed virtual switch
community.vmware.vmware_dvs_portgroup Create or remove a Distributed vSwitch portgroup.
community.vmware.vmware_dvs_portgroup_facts Gathers facts DVS portgroup configurations
community.vmware.vmware_dvs_portgroup_find Find portgroup(s) in a VMware environment
community.vmware.vmware_dvs_portgroup_info Gathers info DVS portgroup configurations
community.vmware.vmware_dvswitch Create or remove a Distributed Switch
community.vmware.vmware_dvswitch_info Gathers info dvswitch configurations
community.vmware.vmware_dvswitch_lacp Manage LACP configuration on a Distributed Switch
community.vmware.vmware_dvswitch_nioc Manage distributed switch Network IO Control
community.vmware.vmware_dvswitch_pvlans Manage Private VLAN configuration of a Distributed Switch
community.vmware.vmware_dvswitch_uplink_pg Manage uplink portproup configuration of a Distributed Switch
community.vmware.vmware_evc_mode Enable/Disable EVC mode on vCenter
community.vmware.vmware_export_ovf Exports a VMware virtual machine to an OVF file, device files and a manifest file
community.vmware.vmware_first_class_disk Manage VMware vSphere First Class Disks
community.vmware.vmware_folder_info Provides information about folders in a datacenter
community.vmware.vmware_guest Manages virtual machines in vCenter
community.vmware.vmware_guest_boot_facts Gather facts about boot options for the given virtual machine
community.vmware.vmware_guest_boot_info Gather info about boot options for the given virtual machine
community.vmware.vmware_guest_boot_manager Manage boot options for the given virtual machine
community.vmware.vmware_guest_controller Manage disk or USB controllers related to virtual machine in given vCenter infrastructure
community.vmware.vmware_guest_cross_vc_clone Cross-vCenter VM/template clone
community.vmware.vmware_guest_custom_attribute_defs Manage custom attributes definitions for virtual machine from VMware
community.vmware.vmware_guest_custom_attributes Manage custom attributes from VMware for the given virtual machine
community.vmware.vmware_guest_customization_facts Gather facts about VM customization specifications
community.vmware.vmware_guest_customization_info Gather info about VM customization specifications
community.vmware.vmware_guest_disk Manage disks related to virtual machine in given vCenter infrastructure
community.vmware.vmware_guest_disk_facts Gather facts about disks of given virtual machine
community.vmware.vmware_guest_disk_info Gather info about disks of given virtual machine
community.vmware.vmware_guest_file_operation Files operation in a VMware guest operating system without network
community.vmware.vmware_guest_find Find the folder path(s) for a virtual machine by name or UUID
community.vmware.vmware_guest_info Gather info about a single VM
community.vmware.vmware_guest_instant_clone Instant Clone VM
community.vmware.vmware_guest_move Moves virtual machines in vCenter
community.vmware.vmware_guest_network Manage network adapters of specified virtual machine in given vCenter infrastructure
community.vmware.vmware_guest_powerstate Manages power states of virtual machines in vCenter
community.vmware.vmware_guest_register_operation VM inventory registration operation
community.vmware.vmware_guest_screenshot Create a screenshot of the Virtual Machine console.
community.vmware.vmware_guest_sendkey Send USB HID codes to the Virtual Machine's keyboard.
community.vmware.vmware_guest_serial_port Manage serial ports on an existing VM
community.vmware.vmware_guest_snapshot Manages virtual machines snapshots in vCenter
community.vmware.vmware_guest_snapshot_info Gather info about virtual machine's snapshots in vCenter
community.vmware.vmware_guest_storage_policy Set VM Home and disk(s) storage policy profiles.
community.vmware.vmware_guest_tools_info Gather info about VMware tools installed in VM
community.vmware.vmware_guest_tools_upgrade Module to upgrade VMTools
community.vmware.vmware_guest_tools_wait Wait for VMware tools to become available
community.vmware.vmware_guest_tpm Add or remove vTPM device for specified VM.
community.vmware.vmware_guest_video Modify video card configurations of specified virtual machine in given vCenter infrastructure
community.vmware.vmware_guest_vnc Manages VNC remote display on virtual machines in vCenter
community.vmware.vmware_host Add, remove, or move an ESXi host to, from, or within vCenter
community.vmware.vmware_host_acceptance Manage the host acceptance level of an ESXi host
community.vmware.vmware_host_active_directory Joins an ESXi host system to an Active Directory domain or leaves it
community.vmware.vmware_host_auto_start Manage the auto power ON or OFF for vm on ESXi host
community.vmware.vmware_host_capability_facts Gathers facts about an ESXi host's capability information
community.vmware.vmware_host_capability_info Gathers info about an ESXi host's capability information
community.vmware.vmware_host_config_facts Gathers facts about an ESXi host's advance configuration information
community.vmware.vmware_host_config_info Gathers info about an ESXi host's advance configuration information
community.vmware.vmware_host_config_manager Manage advanced system settings of an ESXi host
community.vmware.vmware_host_custom_attributes Manage custom attributes from VMware for the given ESXi host
community.vmware.vmware_host_datastore Manage a datastore on ESXi host
community.vmware.vmware_host_disk_info Gathers information about disks attached to given ESXi host/s.
community.vmware.vmware_host_dns Manage DNS configuration of an ESXi host system
community.vmware.vmware_host_dns_facts Gathers facts about an ESXi host's DNS configuration information
community.vmware.vmware_host_dns_info Gathers info about an ESXi host's DNS configuration information
community.vmware.vmware_host_facts Gathers facts about remote ESXi hostsystem
community.vmware.vmware_host_feature_facts Gathers facts about an ESXi host's feature capability information
community.vmware.vmware_host_feature_info Gathers info about an ESXi host's feature capability information
community.vmware.vmware_host_firewall_facts Gathers facts about an ESXi host's firewall configuration information
community.vmware.vmware_host_firewall_info Gathers info about an ESXi host's firewall configuration information
community.vmware.vmware_host_firewall_manager Manage firewall configurations about an ESXi host
community.vmware.vmware_host_hyperthreading Enables/Disables Hyperthreading optimization for an ESXi host system
community.vmware.vmware_host_ipv6 Enables/Disables IPv6 support for an ESXi host system
community.vmware.vmware_host_iscsi Manage the iSCSI configuration of ESXi host
community.vmware.vmware_host_iscsi_info Gather iSCSI configuration information of ESXi host
community.vmware.vmware_host_kernel_manager Manage kernel module options on ESXi hosts
community.vmware.vmware_host_lockdown Manage administrator permission for the local administrative account for the ESXi host
community.vmware.vmware_host_logbundle Fetch logbundle file from ESXi
community.vmware.vmware_host_logbundle_info Gathers manifest info for logbundle
community.vmware.vmware_host_ntp Manage NTP server configuration of an ESXi host
community.vmware.vmware_host_ntp_facts Gathers facts about NTP configuration on an ESXi host
community.vmware.vmware_host_ntp_info Gathers info about NTP configuration on an ESXi host
community.vmware.vmware_host_package_facts Gathers facts about available packages on an ESXi host
community.vmware.vmware_host_package_info Gathers info about available packages on an ESXi host
community.vmware.vmware_host_passthrough Manage PCI device passthrough settings on host
community.vmware.vmware_host_powermgmt_policy Manages the Power Management Policy of an ESXI host system
community.vmware.vmware_host_powerstate Manages power states of host systems in vCenter
community.vmware.vmware_host_scanhba Rescan host HBA's and optionally refresh the storage system
community.vmware.vmware_host_scsidisk_info Gather information about SCSI disk attached to the given ESXi
community.vmware.vmware_host_service_facts Gathers facts about an ESXi host's services
community.vmware.vmware_host_service_info Gathers info about an ESXi host's services
community.vmware.vmware_host_service_manager Manage services on a given ESXi host
community.vmware.vmware_host_snmp Configures SNMP on an ESXi host system
community.vmware.vmware_host_sriov Manage SR-IOV settings on host
community.vmware.vmware_host_ssl_facts Gather facts of ESXi host system about SSL
community.vmware.vmware_host_ssl_info Gather info of ESXi host system about SSL
community.vmware.vmware_host_tcpip_stacks Manage the TCP/IP Stacks configuration of ESXi host
community.vmware.vmware_host_vmhba_facts Gathers facts about vmhbas available on the given ESXi host
community.vmware.vmware_host_vmhba_info Gathers info about vmhbas available on the given ESXi host
community.vmware.vmware_host_vmnic_facts Gathers facts about vmnics available on the given ESXi host
community.vmware.vmware_host_vmnic_info Gathers info about vmnics available on the given ESXi host
community.vmware.vmware_local_role_facts Gather facts about local roles on an ESXi host
community.vmware.vmware_local_role_info Gather info about local roles on an ESXi host
community.vmware.vmware_local_role_manager Manage local roles on an ESXi host
community.vmware.vmware_local_user_facts Gather facts about users on the given ESXi host
community.vmware.vmware_local_user_info Gather info about users on the given ESXi host
community.vmware.vmware_local_user_manager Manage local users on an ESXi host
community.vmware.vmware_maintenancemode Place a host into maintenance mode
community.vmware.vmware_migrate_vmk Migrate a VMK interface from VSS to VDS
community.vmware.vmware_object_custom_attributes_info Gather custom attributes of an object
community.vmware.vmware_object_rename Renames VMware objects
community.vmware.vmware_object_role_permission Manage local roles on an ESXi host
community.vmware.vmware_object_role_permission_info Gather information about object's permissions
community.vmware.vmware_portgroup Create a VMware portgroup
community.vmware.vmware_portgroup_facts Gathers facts about an ESXi host's Port Group configuration
community.vmware.vmware_portgroup_info Gathers info about an ESXi host's Port Group configuration
community.vmware.vmware_recommended_datastore Returns the recommended datastore from a SDRS-enabled datastore cluster
community.vmware.vmware_resource_pool Add/remove resource pools to/from vCenter
community.vmware.vmware_resource_pool_facts Gathers facts about resource pool information
community.vmware.vmware_resource_pool_info Gathers info about resource pool information
community.vmware.vmware_tag Manage VMware tags
community.vmware.vmware_tag_info Manage VMware tag info
community.vmware.vmware_tag_manager Manage association of VMware tags with VMware objects
community.vmware.vmware_target_canonical_facts Return canonical (NAA) from an ESXi host system
community.vmware.vmware_target_canonical_info Return canonical (NAA) from an ESXi host system
community.vmware.vmware_vc_infraprofile_info List and Export VMware vCenter infra profile configs.
community.vmware.vmware_vcenter_settings Configures general settings on a vCenter server
community.vmware.vmware_vcenter_settings_info Gather info vCenter settings
community.vmware.vmware_vcenter_statistics Configures statistics on a vCenter server
community.vmware.vmware_vm_config_option Return supported guest ID list and VM recommended config option for specific guest OS
community.vmware.vmware_vm_host_drs_rule Creates vm/host group in a given cluster
community.vmware.vmware_vm_info Return basic info pertaining to a VMware machine guest
community.vmware.vmware_vm_shell Run commands in a VMware guest operating system
community.vmware.vmware_vm_storage_policy Create vSphere storage policies
community.vmware.vmware_vm_storage_policy_info Gather information about vSphere storage profile defined storage policy information.
community.vmware.vmware_vm_vm_drs_rule Configure VMware DRS Affinity rule for virtual machines in the given cluster
community.vmware.vmware_vm_vss_dvs_migrate Migrates a virtual machine from a standard vswitch to distributed
community.vmware.vmware_vmkernel Manages a VMware VMkernel Adapter of an ESXi host.
community.vmware.vmware_vmkernel_facts Gathers VMKernel facts about an ESXi host
community.vmware.vmware_vmkernel_info Gathers VMKernel info about an ESXi host
community.vmware.vmware_vmkernel_ip_config Configure the VMkernel IP Address
community.vmware.vmware_vmotion Move a virtual machine using vMotion, and/or its vmdks using storage vMotion.
community.vmware.vmware_vsan_cluster Configure VSAN clustering on an ESXi host
community.vmware.vmware_vsan_health_info Gather information about a VMware vSAN cluster's health
community.vmware.vmware_vspan_session Create or remove a Port Mirroring session.
community.vmware.vmware_vswitch Manage a VMware Standard Switch to an ESXi host.
community.vmware.vmware_vswitch_facts Gathers facts about an ESXi host's vswitch configurations
community.vmware.vmware_vswitch_info Gathers info about an ESXi host's vswitch configurations
community.vmware.vsphere_copy Copy a file to a VMware datastore
community.vmware.vsphere_file Manage files on a vCenter datastore

Testing and Development

If you want to develop new content for this collection or improve what is already here, the easiest way to work on the collection is to clone it into one of the configured COLLECTIONS_PATHS, and work on it there.

Testing with ansible-test

Refer testing for more information.

Updating documentation

ansible-playbook tools/update_documentation.yml

Publishing New Version

Prepare the release:

  • Make sure your fork is up to date; assuming your (local) repository has set origin to your GitHub fork and this repository is added as upstream: git checkout main && git pull && git fetch upstream && git merge upstream/main.
  • Run ansible-playbook tools/prepare_release.yml. The playbook tries to generate the next minor release automatically, but you can also set the version explicitly with --extra-vars "version=$VERSION". You will have to set the version explicitly when publishing a new major release.
  • Push the created release branch prepare_$VERSION_release to your GitHub repo and open a PR for review.

Push the release:

  • Tag the release: git tag -s $VERSION
  • Push the tag: git push origin $VERSION

Communication

We have a dedicated Working Group for VMware. You can find other people interested in this in the #ansible-vmware channel on libera.chat IRC. For more information about communities, meetings and agendas see https://github.com/ansible/community/wiki/VMware.

License

GNU General Public License v3.0 or later

See LICENSE to see the full text.