An open API service indexing awesome lists of open source software.

https://github.com/cisco-open/terraform-provider-dcloud

Terraform provider to manage Topologies, Networks, VMs, and Hardware using the Cisco dCloud Topology Builder
https://github.com/cisco-open/terraform-provider-dcloud

Last synced: about 2 months ago
JSON representation

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

Awesome Lists containing this project

README

        

# 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

- [Terraform](https://www.terraform.io/downloads.html) >= 0.13.x
- [Go](https://golang.org/doc/install) >= 1.18

## Building The Provider

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

## Using the provider

The provider requires an Cisco SSO Token to be set in the environment

`export TB_AUTH_TOKEN=`

See the [docs](/docs) and [examples](/examples) directory for examples.

## Developing the Provider

If you wish to work on the provider, you'll first need [Go](http://www.golang.org) installed on your machine (see [Requirements](#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.

```sh
$ 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

```hcl
terraform {
required_providers {
dcloud = {
version = "0.1"
source = "cisco-open/dcloud"
}
}
}
```
becomes

```hcl
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.

```go
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.