Skip to content

Terraform provider to manage Topologies, Networks, VMs, and Hardware using the Cisco dCloud Topology Builder

License

Notifications You must be signed in to change notification settings

cisco-open/terraform-provider-dcloud

Terraform Provider dCloud Topology Builder

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.

Requirements

Building The Provider

  1. Clone the repository
  2. Enter the repository directory
  3. Build the provider using the Go install command:
$ go install
  1. Install the provider locally for Terraform using the Makefile:
$ make install

Using the provider

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.

Developing the Provider

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

Using a local dcloud-tb-go-client during development

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.

Dependencies

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.

About

Terraform provider to manage Topologies, Networks, VMs, and Hardware using the Cisco dCloud Topology Builder

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published