* 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>
* Fix sweeper.
* Sweep Kubernetes clusters.
* Sweep database clusters.
* Set defaults as the sweeper does not have access to the provider DefaultFunc
* Add warning to makefile target.
* Initial work on VPC supprt.
* Add VPC data source.
* Additional test cases.
* Droplet updates for VPC support.
* Kubernetes updates for VPC support.
* Load balancer updates for VPC support.
* Retry on 403 errors in delete method to prevent race condition with database cluster deletion.
* DBaaS updates for VPC support.
* Add docs on VPC resource and data source.
* Update docs for related resources.
* Clean up.
* Bump godo to v1.34.0.
* Update with ip_range and description fields.
* Update re: private_networking atribute.
* Update vpc docs to say smaller than /24 not supported.
In https://github.com/terraform-providers/terraform-provider-digitalocean/pull/365, a
check was added to the `digitaloceanKubernetesClusterRead` method for the
`terraform:default-node-pool` tag in order to support importing. A latter commit in
that PR added a separate `resourceDigitalOceanKubernetesClusterImportState` method
that enforces this. The Kubernetes cluster data source also uses the
`digitaloceanKubernetesClusterRead` method and should support accessing cluster
information even if a node pool is not tagged. This PR changes the errors into
warning as it is still useful for debugging.
Fixes: https://github.com/terraform-providers/terraform-provider-digitalocean/issues/399
* upgrade godo to v1.30.0
* add labels attribute to node pool resources
* add support for labels in the k8s cluster datasource
* fix bug in creating default node pools with labels plus tests
* update docs for labels support
* Add label example to the node pool docs.
* add link to Kubernetes documentation about how labels are exposed
Co-authored-by: Andrew Starr-Bochicchio <andrewsomething@users.noreply.github.com>
* add import support for digitalocean_kubernetes_cluster resource
* document importing digitalocean_kubernetes_cluster resources
* node pool import improvements
- Importing a cluster will infer the node pool to add the terraform:default-node-pool tag
- Add node pool import test (currently broken)
* fix typo in the name of the node pool being imported in the test
* rename test file to reflect naming scheme used elsewhere in package
* add a ImportStateCheck function in an attempt to get test to pass
* update to use latest kubernetes version
* do not import non-default node pools multiple times
There are several automatic tags added to node pools. As written, the original
code added a ResourceData for each tag associated with a node pool, instead of
just once for the node pool.
* remove default tag from node pool (and configure test to expect that situation)
* fix test of importing multiple node pools
* get kubernetes import test working
* fix comment
* update docs to reflect auto-tagging in import
* add support to import only node pool resources
and move the test of importing non-default node pools into the
cluster import test since it was actually testing cluster imports
* update docs for importing node pools
* add test that tries to import an invalid node pool ID
* DO cluster ver change will make an upgrade request instead of force new
* add custom diff to force new if kubernetes version is decreased
* run go mod vendor; go mod tidy
* check NoZeroValues for kubernetes version and update kubenetes upgrade version test to check id
* Add note to the docs about version upgrades.
* Revert addition of go version to go.mod
* doks: add auto_scale, min_nodes, max_nodes, and actual_node_count to node pool
* doks: add more auto-scaling node pool test coverage
* doks: documentation for auto-scaling node pools
* Handle case where a node pool is empty.
* Bump testClusterVersion to 1.15.5-do.0
* Upgrade to terraform-plugin-sdk
After following the [guide](https://www.terraform.io/docs/extend/plugin-sdk.html#using-tf-sdk-migrator)
Check
```
▶ GO111MODULE=on tf-sdk-migrator check
Checking Go runtime version ...
Go version 1.12.10: OK.
Checking whether provider uses Go modules...
Go modules in use: OK.
Checking version of github.com/hashicorp/terraform-plugin-sdk to determine if provider was already migrated...
Checking version of github.com/hashicorp/terraform used in provider...
Terraform version 0.12.8: OK.
Checking whether provider uses deprecated SDK packages or identifiers...
No imports of deprecated SDK packages or identifiers: OK.
All constraints satisfied. Provider can be migrated to the new SDK.
```
Migrate
```
▶ GO111MODULE=on tf-sdk-migrator migrate
Checking Go runtime version ...
Go version 1.12.10: OK.
Checking whether provider uses Go modules...
Go modules in use: OK.
Checking version of github.com/hashicorp/terraform-plugin-sdk to determine if provider was already migrated...
Checking version of github.com/hashicorp/terraform used in provider...
Terraform version 0.12.8: OK.
Checking whether provider uses deprecated SDK packages or identifiers...
No imports of deprecated SDK packages or identifiers: OK.
All constraints satisfied. Provider can be migrated to the new SDK.
Rewriting provider go.mod file...
Rewriting SDK package imports...
Running `go mod tidy`...
Success! Provider is migrated to github.com/hashicorp/terraform-plugin-sdk v1.1.0.
It looks like this provider vendors dependencies. Don't forget to run `go mod vendor`.
Make sure to review all changes and run all tests.
```
* Fix build under go 1.13.x.
* doks: Produce a valid kubeconfig file.
* doks: Re-add cluster_ca_certificate to example.
* Revert change to go.mod
* Make client-key-data and client-certificate-data omitempty.
* doks: Re-add cluster_ca_certificate to example in datasource as well.
* doks: bump versions to latest 1.15.3-do.3
* doks: fix acc tests to use auth token instead of certs
* doks: update docs to mention token auth in the kube config
* doks: run testacc in parallel
* doks: use alpha-prefixed random cluster and node pool names in tests
* doks: wait for node pool count in tests
* Use 'tf-acc-test-' for test resource prefix.
This data includes sensitive information about the cluster, such as its private
key. This prevents that data from ending up in, for example, logs on a CI system
that does a `terraform plan` as part of its build.
With this applied, a `terraform plan` or `terraform apply` instead shows:
```
...
ipv4_address = "1.2.3.4"
kube_config = (sensitive value)
name = "roboticcheese"
...
```
Also updates the acceptance tests, as 1.14.4-do.0 is no longer available.