Guidelines for VMware REST module development
The Ansible VMware REST collection (on Galaxy <https://galaxy.ansible.com/vmware/vmware_rest>, source code repository <https://github.com/ansible-collections/vmware.vmware_rest>) is maintained by Red Hat and the community.
Contribution process
The modules of the vmware_rest collection are autogenerated by another tool called content_builder <https://github.com/ansible-community/ansible.content_builder>.
If you would like to contribute a change, we would appreciate if you opened an issue in this repo.
Requirements
You will need:
- Python 3.6 or greater
- the
tox <https://tox.readthedocs.io/en/latest/install.html>command
Module Generation
See the development.md file in this repo.
Testing with ansible-test
All the modules are covered by a functional test. The tests are located in the tests/integration/targets/.
To run the tests, you will need a vcenter instance and an ESXi.
black code formatter
We follow the coding style of Black <https://github.com/psf/black>. You can run the code formatter with the following command.
tox -e black
sanity tests
Here we use Python 3.8, the minimal version is 3.6.
tox -e black ansible-test sanity --debug --requirements --local --skip-test future-import-boilerplate --skip-test metaclass-boilerplate --python 3.8 -vvv
integration tests
These tests should be run against your test environment.
..warning:: The test suite will delete all the existing DC from your test environment.
First, prepare a configuration file, we call it /tmp/inventory-vmware_rest in this example:
[vmware_rest] localhost ansible_connection=local ansible_python_interpreter=python [vmware_rest:vars] vcenter_hostname=vcenter.test vcenter_username=administrator@vsphere.local vcenter_password=kLRy|FXwZSHXW0w?Q:sO esxi1_hostname=esxi1.test esxi1_username=zuul esxi1_password=f6QYNi65k05kv8m56
To run the tests, use the following command. You may want to adjust the Python version.
ansible-test network-integration --diff --no-temp-workdir --python 3.8 --inventory /tmp/inventory-vmware_rest zuul/
© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/vmware/vmware_rest/docsite/dev_guide.html