This Terraform provider allows you to manage Topologies, Networks, VMs, and Hardware using the dCloud Topology Builder API. With this provider, you can use Terraform to create, update, and delete Topologies and their associated resources in dCloud.
- Clone the repository
- Enter the repository directory
- Build the provider using the Go
install
command:
$ go install
- Install the provider locally for Terraform using the Makefile:
$ make install
The provider requires an Cisco SSO Token to be set in the environment
export TB_AUTH_TOKEN=<YOUR_AUTH_TOKEN>
See the docs and examples directory for examples.
If you wish to work on the provider, you'll first need Go installed on your machine (see Requirements above).
To compile the provider, run go install
. This will build the provider and put the provider binary in the $GOPATH/bin
directory.
To generate or update documentation, run go generate
.
Run make
to copy the provider binary to the default Terraform plugin directory.
In order to run the full suite of Acceptance tests, run make testacc
.
Note: Acceptance tests create real resources, and often cost money to run.
$ make testacc
The example files have been configured to use the production provider source cisco-open/dcloud
if you want to use the locally built/installed provider during development change this to cisco.com/cisco-open/dcloud
For example
terraform {
required_providers {
dcloud = {
version = "0.1"
source = "cisco-open/dcloud"
}
}
}
becomes
terraform {
required_providers {
dcloud = {
version = "0.1"
source = "cisco.com/cisco-open/dcloud"
}
}
}
This will use the locally installed provider which has been installed by make
Ensure the change is rolled back prior to committing
If you are developing the provider and need to use a local version of the dcloud-tb-go-client then apply an override in the go.mod
file.
Make sure to use the same version of the dcloud-tb-go-client in the replace
directive as defined in the require
directive.
replace (
github.com/cisco-open/dcloud-tb-go-client v1.0.6 => ../dcloud-tb-go-client
)
Ensure the change is rolled back prior to committing.
The provider makes extensive use of the dCloud Topology Builder Go Client (https://github.com/cisco-open/dcloud-tb-go-client).
Before adding new resource types to the provider the dCloud Topology Builder Go Client should be updated to expose the required resources and released.