Awesome
Ansible Collection: vmware.vmware_rest
This repo hosts the vmware.vmware_rest
Ansible Collection.
The vmware.vmware_rest collection is part of the Red Hat Ansible Certified Content for VMware offering that brings Ansible automation to VMware. This collection brings forward the possibility to manage vSphere resources and automate operator tasks.
This collection is based upon VMware vSphere REST API interface and does not rely on the VMware SDKs Pyvmomi
and vSphere Automation SDK for Python
.
System programmers can enable pipelines to setup, tear down and deploy VMs while system administrators can automate time consuming repetitive tasks inevitably freeing up their time. New VMware users can find comfort in Ansible's familiarity and expedite their proficiency in record time.
Known limitations
VM Template and folder structure
These modules are based on the vSphere REST API. This API doesn't provide any mechanism to list or clone VM templates when they are stored in a VM folder. To circumvent this limitation, you should store your VM templates in a Content Library.
Requirements
The host running the tasks must have the python requirements described in requirements.txt
Once the collection is installed, you can install them into a python environment using pip: pip install -r ~/.ansible/collections/ansible_collections/vmware/vmware_rest/requirements.txt
vSphere compatibility
The 3.0.0 version of this collection supports vSphere 7.x. The 4.0.0 version of this collection supports vSphere 8.x.
Ansible version compatibility
This collection has been tested against following Ansible versions: >=2.15.0.
Installation
Before using this collection, you need to install it with the Ansible Galaxy command-line tool:
ansible-galaxy collection install vmware.vmware_rest
You can also include it in a requirements.yml file and install it with ansible-galaxy collection install -r requirements.yml
, using the format:
collections:
- name: vmware.vmware_rest
Note that if you install the collection from Ansible Galaxy, it will not be upgraded automatically when you upgrade the Ansible package. To upgrade the collection to the latest available version, run the following command:
ansible-galaxy collection install vmware.vmware_rest --upgrade
You can also install a specific version of the collection, for example, if you need to install a different version. Use the following syntax to install version 1.0.0:
ansible-galaxy collection install vmware.vmware_rest:1.0.0
Use Cases
-
Use Case Name: Modify vCenter Appliance Configuration
- Actors:
- System Admin
- Description:
- A systems administrator can modify the configuration of a running vCenter appliance.
- Modules:
vmware.vmware_rest.appliance_access_consolecli
- Sets the enabled state of the console-based controlled CLI (TTY1)vmware.vmware_rest.appliance_access_dcui
- Sets the enabled state of Direct Console User Interface (DCUI TTY2)vmware.vmware_rest.appliance_access_shell
- Sets the enabled state of BASH, that is, access to BASH from within the controlled CLIvmware.vmware_rest.appliance_access_ssh
- Sets the enabled state of the SSH-based controlled CLIvmware.vmware_rest.appliance_networking_dns_domains
- Sets DNS search domainsvmware.vmware_rest.appliance_networking_dns_hostname
- Sets the Fully Qualified Domain Namevmware.vmware_rest.appliance_networking_dns_servers
- Sets the DNS server configurationvmware.vmware_rest.appliance_networking_firewall_inbound
- Sets the ordered list of firewall rules to allow or deny traffic from one or more incoming IP addressesvmware.vmware_rest.appliance_networking_interfaces_ipv4
- Sets the IPv4 network configuration for specific network interfacevmware.vmware_rest.appliance_networking_interfaces_ipv6
- Sets the IPv6 network configuration for specific interfacevmware.vmware_rest.appliance_networking_noproxy
- Sets servers for which no proxy configuration should be appliedvmware.vmware_rest.appliance_networking_proxy
- Configures which proxy server to use for the specified protocolvmware.vmware_rest.appliance_ntp
- Sets the NTP serversvmware.vmware_rest.appliance_system_globalfips
- Enables/Disables Global FIPS mode for the appliancevmware.vmware_rest.appliance_system_time_timezone
- Sets the time zonevmware.vmware_rest.appliance_timesync
- Sets the time synchronization modevmware.vmware_rest.appliance_vmon_service
- Lists the details of services managed by vMon
- Actors:
-
Use Case Name: Manage a Content Library
- Actors:
- System Admin
- Description:
- The system administrator can create or manage a content library.
- Modules:
vmware.vmware_rest.content_configuration
- Updates the library configurationvmware.vmware_rest.content_locallibrary
- Creates a new local libraryvmware.vmware_rest.content_subscribedlibrary
- Creates a new subscribed library
- Actors:
-
Use Case Name: Manage a VMs Settings
- Actors:
- System Admin
- Description:
- The system administrator can manage a VMs settings.
- Modules:
vmware.vmware_rest.vcenter_vm_guest_customization
- Applies a customization specification on the virtual machinevmware.vmware_rest.vcenter_vm_guest_filesystem_directories
- Creates a directory in the guest operating systemvmware.vmware_rest.vcenter_vm_guest_power
- Modifies a virtual machine's power statevmware.vmware_rest.vcenter_vm_hardware_adapter_sata
- Adds a virtual SATA adapter to the virtual machinevmware.vmware_rest.vcenter_vm_hardware_adapter_scsi
- Adds a virtual SCSI adapter to the virtual machinevmware.vmware_rest.vcenter_vm_hardware_boot_device
- Sets the virtual devices that will be used to boot the virtual machinevmware.vmware_rest.vcenter_vm_hardware_boot
- Updates the boot-related settings of a virtual machinevmware.vmware_rest.vcenter_vm_hardware_cdrom
- Adds a virtual CD-ROM device to the virtual machinevmware.vmware_rest.vcenter_vm_hardware_cpu
- Updates the CPU-related settings of a virtual machinevmware.vmware_rest.vcenter_vm_hardware_disk
- Adds a virtual disk to the virtual machinevmware.vmware_rest.vcenter_vm_hardware_ethernet
- Adds a virtual Ethernet adapter to the virtual machinevmware.vmware_rest.vcenter_vm_hardware_memory
- Updates the memory-related settings of a virtual machinevmware.vmware_rest.vcenter_vm_hardware_parallel
- Adds a virtual parallel port to the virtual machinevmware.vmware_rest.vcenter_vm_hardware
- Updates the virtual hardware settings of a virtual machinevmware.vmware_rest.vcenter_vm_hardware_serial
- Adds a virtual serial port to the virtual machinevmware.vmware_rest.vcenter_vm_power
- Operates a boot, hard shutdown, hard reset or hard suspend on a guestvmware.vmware_rest.vcenter_vm_storage_policy
- Updates the storage policy configuration of a virtual machine and/or its associated virtual hard disksvmware.vmware_rest.vcenter_vm_tools_installer
- Connects the VMware Tools CD installer as a CD-ROM for the guest operating systemvmware.vmware_rest.vcenter_vm_tools
- Updates the properties of VMware Tools
- Actors:
Testing
All releases will meet the following test criteria.
- 100% success for Integration tests.
- 100% success for Sanity tests as part of ansible-test.
- 100% success for ansible-lint allowing only false positives.
Contributing
This community is currently accepting contributions. We encourage you to open git issues for bugs, comments or feature requests. Please feel free to submit a PR to resolve the issue. Modules are generated so changes to them most likely will not be applied directly.
Refer to the Ansible community guide.
Development
This collection can be generated using the content_builder tool. Please refer to the vmware module generation.
Communication
-
Join the Ansible forum:
- Get Help: get help or help others.
- Posts tagged with 'vmware': subscribe to participate in collection-related conversations.
- Ansible VMware Automation Working Group: by joining the team you will automatically get subscribed to the posts tagged with 'vmware'.
- Social Spaces: gather and interact with fellow enthusiasts.
- News & Announcements: track project-wide announcements including social events.
-
The Ansible Bullhorn newsletter: used to announce releases and important changes.
For more information about communication, see the Ansible communication guide.
Support
As Red Hat Ansible Certified Content, this collection is entitled to support through Ansible Automation Platform (AAP).
If a support case cannot be opened with Red Hat and the collection has been obtained either from Galaxy or GitHub, there is community support available at no charge. Community support is limited to the collection; community support does not include any of the Ansible Automation Platform components or ansible-core.
Release Notes and Roadmap
A list of available releases can be found on the github release page. A changelog may be found attached to the release, or in the CHANGELOG.rst
Note, some collections release before an ansible-core version reaches End of Life (EOL), thus the version of ansible-core that is supported must be a version that is currently supported. For AAP users, to see the supported ansible-core versions, review the AAP Life Cycle. For Galaxy and GitHub users, to see the supported ansible-core versions, review the ansible-core support matrix.
Related Information
The vmware.vmware
collection offers additional functionality. It is also a certified collection.
The community.vmware
collection offers additional community supported functionality.
License Information
GNU General Public License v3.0 or later See LICENSE to see the full text.