Thank you for your interest in contributing to the vSphere provider. We welcome your contributions. Here you'll find information to help you get started with provider development.
Our provider development documentation provides a good start into developing an understanding of provider development. It's the best entry point if you are new to contributing to this provider.
To learn more about how to create issues and pull requests in this repository, and what happens after they are created, you may refer to the resources below:
First, you will want to clone the repository into your working directory:
git clone [email protected]:hashicorp/terraform-provider-vsphere
After the clone has been completed, you can enter the provider directory and build the provider.
cd terraform-provider-vsphere
make build
After the build is complete, you can install the binary into your $GOPATH/bin folder with:
make install
NOTE: Before you start work on a feature, please make sure to check the issue tracker and existing pull requests to ensure that work is not being duplicated. For further clarification, you can also ask in a new issue.
If you wish to work on the provider, you'll first need Go
installed on your machine (version 1.16+ is required). You'll also need to
correctly setup a GOPATH, as well as adding $GOPATH/bin
to your
$PATH
.
See Building the Provider for details on building the provider.
NOTE: Testing the vSphere provider is currently a complex operation as it requires having a vCenter endpoint to test against, which should be hosting a standard configuration for a vSphere cluster. Some of the tests will work against ESXi, but YMMV.
Most of the tests in this provider require a comprehensive list of environment
variables to run. See the individual *_test.go
files in the
vsphere/
directory for more details. The next section also
describes how you can manage a configuration file of the test environment
variables.
The tf-vsphere-devrc.mk.example
file contains
an up-to-date list of environment variables required to run the acceptance
tests. Copy this to $HOME/.tf-vsphere-devrc.mk
and change the permissions to
something more secure (ie: chmod 600 $HOME/.tf-vsphere-devrc.mk
), and
configure the variables accordingly.
After this is done, you can run the acceptance tests by running:
$ make testacc
If you want to run against a specific set of tests, run make testacc
with the
TESTARGS
parameter containing the run mask as per below:
make testacc TESTARGS="-run=TestAccVSphereVirtualMachine"
This following example would run all of the acceptance tests matching
TestAccVSphereVirtualMachine
. Change this for the specific tests you want to
run.