Terraform GreenHost provider. forked from github.com/digitalocean/terraform-provider-digitalocean
Go to file
Tom Dyas f50c276f6e
upgrade provider to use terraform-plugin-sdk v2 (#492)
* upgrade terraform-plugin-sdk and `go mod vendor`

* Update digitalocean/datasource_digitalocean_image_test.go

Co-authored-by: Andrew Starr-Bochicchio <andrewsomething@users.noreply.github.com>

* Update digitalocean/datasource_digitalocean_kubernetes_cluster_test.go

Co-authored-by: Andrew Starr-Bochicchio <andrewsomething@users.noreply.github.com>

* Update digitalocean/datasource_digitalocean_vpc_test.go

Co-authored-by: Andrew Starr-Bochicchio <andrewsomething@users.noreply.github.com>

* Update digitalocean/datasource_digitalocean_vpc_test.go

Co-authored-by: Andrew Starr-Bochicchio <andrewsomething@users.noreply.github.com>

* go fmt

* fix droplet_id to be of the right type

* fix digitalocean_project resource

* fix creation order in digitalocean_certificate test

* fix digitalocean_container_registry data source tes

* Port new changes to v2.

* Port all tests to resource.ParallelTest

* Fix KubernetesProviderInteroperability test.

* Fix TestAccDigitalOceanKubernetesCluster_UpgradeVersion

* Fix firewall panic s/create_at/created_at/

* Fix TestAccDigitalOceanDroplet_Basic: Droplets now have private networking by default.

* Fix TestAccDataSourceDigitalOceanDomain_Basic

* Fix TestAccDataSourceDigitalOceanDropletSnapshot tests.

* Fix TestAccDataSourceDigitalOceanSSHKey_Basic

* Fix TestAccDataSourceDigitalOceanVolumeSnapshot tests.

* Fix TestAccDataSourceDigitalOceanVolume tests.

* Fix TestAccDataSourceDigitalOceanRecord_Basic

* Fix TestAccDataSourceDigitalOceanProject_NonDefaultProject

* Fix TestAccDigitalOceanImage_PublicSlug

* Fix TestAccDataSourceDigitalOceanImages_Basic via bug in imageSchema()

* go mod tidy

* Fix TestAccDataSourceDigitalOceanDroplet tests.

* Fix TestAccDataSourceDigitalOceanVPC_ByName

* Fix TestAccDataSourceDigitalOceanTag_Basic

* Fix TestAccDataSourceDigitalOceanTags_Basic

* Ensure versions are set in DBaaS tests.

* Fix TestAccDataSourceDigitalOceanApp_Basic

* Fix non-set related issues with TestAccDataSourceDigitalOceanLoadBalancer tests.

* Fix TestAccDataSourceDigitalOceanKubernetesCluster_Basic

* Remove testAccDigitalOceanKubernetesConfigWithEmptyNodePool: Empty node pools are no longer supported.

* Fix TestAccDigitalOceanProject_WithManyResources.

* Fix TestAccDigitalOceanProject_UpdateFromDropletToSpacesResource

* vendor set helpers from AWS provider

* Fix TestAccDigitalOceanFloatingIP_Droplet.

* Fix CDN panic.

* fix TestAccDigitalOceanSpacesBucket_LifecycleBasic using setutil helpers

* vendor set helpers from AWS provider

* fix TestAccDigitalOceanSpacesBucket_LifecycleBasic using setutil helpers

* Fix load balancer tests using setutil helpers.

* Fix K8s tests using setutil helpers.

* Fix TestAccDigitalOceanApp_Envs using setutil helpers.

* Fix TestAccDigitalOceanSpacesBucket_LifecycleExpireMarkerOnly using setutil helpers.

* Fix TestAccDigitalOceanFloatingIPAssignment_createBeforeDestroy

* fix remaining TypeSet tests using setutil

* Registry test can not run in parallel. One per account.

* Fix TestAccDigitalOceanProject_UpdateWithDropletResource

* Fix replica tests.

* go mod tidy

Co-authored-by: Andrew Starr-Bochicchio <andrewsomething@users.noreply.github.com>
Co-authored-by: Andrew Starr-Bochicchio <a.starr.b@gmail.com>
2020-10-16 15:50:20 -04:00
.github New Goreleaser and GitHub Actions-based release pipeline (#464) 2020-07-20 15:13:42 -04:00
digitalocean upgrade provider to use terraform-plugin-sdk v2 (#492) 2020-10-16 15:50:20 -04:00
docs Migrate documentation to new registry format (#501) 2020-10-14 14:15:11 -04:00
examples Correct Kubernetes example 2018-12-12 13:32:30 +00:00
internal upgrade provider to use terraform-plugin-sdk v2 (#492) 2020-10-16 15:50:20 -04:00
scripts Fix Changelog Links Script for digitalocean provider 2017-06-26 09:49:27 -05:00
vendor upgrade provider to use terraform-plugin-sdk v2 (#492) 2020-10-16 15:50:20 -04:00
.gitignore New Goreleaser and GitHub Actions-based release pipeline (#464) 2020-07-20 15:13:42 -04:00
.go-version Update .go-version to 1.12.9 (#323) 2019-10-23 19:38:18 -04:00
.goreleaser.yml New Goreleaser and GitHub Actions-based release pipeline (#464) 2020-07-20 15:13:42 -04:00
.travis.yml Remove website-test from CI and Makefile. (#468) 2020-07-21 11:11:22 -04:00
CHANGELOG.md Update CHANGELOG.md 2020-10-13 10:29:07 -04:00
GNUmakefile Fix and extend acceptance test sweeper. (#458) 2020-10-13 09:56:22 -04:00
LICENSE initial commit 2017-06-05 20:54:06 +00:00
README.md Update README.md 2020-07-21 13:58:07 -04:00
go.mod upgrade provider to use terraform-plugin-sdk v2 (#492) 2020-10-16 15:50:20 -04:00
go.sum upgrade provider to use terraform-plugin-sdk v2 (#492) 2020-10-16 15:50:20 -04:00
main.go upgrade provider to use terraform-plugin-sdk v2 (#492) 2020-10-16 15:50:20 -04:00

README.md

Terraform Provider

Requirements

  • Terraform 0.10.x
  • Go 1.14 (to build the provider plugin)

Building The Provider

Clone repository to: $GOPATH/src/github.com/digitalocean/terraform-provider-digitalocean

$ mkdir -p $GOPATH/src/github.com/digitalocean; cd $GOPATH/src/github.com/digitalocean
$ git clone git@github.com:digitalocean/terraform-provider-digitalocean

Enter the provider directory and build the provider

$ cd $GOPATH/src/github.com/digitalocean/terraform-provider-digitalocean
$ make build

Using the provider

See the DigitalOcean Provider documentation to get started using the DigitalOcean provider.

Developing the Provider

If you wish to work on the provider, you'll first need Go installed on your machine (version 1.11+ is required). You'll also need to correctly setup a GOPATH, as well as adding $GOPATH/bin to your $PATH.

To compile the provider, run make build. This will build the provider and put the provider binary in the $GOPATH/bin directory.

$ make build
...
$ $GOPATH/bin/terraform-provider-digitalocean
...

In order to test the provider, you can simply run make test.

$ make test

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

In order to run a specific acceptance test, use the TESTARGS environment variable. For example, the following command will run TestAccDigitalOceanDomain_Basic acceptance test only:

$ make testacc TESTARGS='-run=TestAccDigitalOceanDomain_Basic'

For information about writing acceptance tests, see the main Terraform contributing guide.

Releasing the Provider

This repository contains a GitHub Action configured to automatically build and publish assets for release when a tag is pushed that matches the pattern v* (ie. v0.1.0).

A Gorelaser configuration is provided that produces build artifacts matching the layout required to publish the provider in the Terraform Registry.

Releases will appear as drafts. Once marked as published on the GitHub Releases page, they will become available via the Terraform Registry.