Go to file
Michael Parker f2fc78d082 Adds support for creating KMS KeyRing resources (#518)
* Instantiate the cloudkms client

* Implement Create and Read for the kms key ring resource

* Expose the kms key ring resource

* Create acceptance test for creating a KeyRing, fix read to use KeyRing ID

* Add cloudkms library to vendor

* Address style comments

* Use fully-qualified keyring name in read operation

* Remove call to SetId during read operation

* Set ID as entire resource string

* Spin up a new project for acceptance test

* Use Getenv for billing and org environment variables

* And test and logs around removal from state

* Add comments

* Fixes formatting

* Log warning instead of info

* Use a single line for cloudkms client actions

* Add resource import test

* Add ability to import resource, update helper functions to use keyRingId struct

* Use shorter terraform ID for easier import

* Update import test to use the same config as the basic test

* Update KeyRing name regex to be consistent with API docs

* Add documentation page for resource

* Add KeyRing documentation to sidebar

* Adds unit tests around parsing the KeyRing import id

* Allow for project in id to be autopopulated from config

* Throw error in import if project provider is not provided for location/name format

* Consistent variable names

* Use tabs in resource config instead of spaces

* Remove "-x" suffix for docs

* Set project attribute on import if different from the project config
2017-10-27 09:40:01 -07:00
.github Update example resources in resource template (#463) 2017-10-03 10:50:29 -07:00
examples 1.0.0 Deprecations, pt 2 2017-09-29 16:04:52 -07:00
google Adds support for creating KMS KeyRing resources (#518) 2017-10-27 09:40:01 -07:00
scripts Schema Generator script (#215) 2017-08-01 14:46:55 -07:00
vendor Adds support for creating KMS KeyRing resources (#518) 2017-10-27 09:40:01 -07:00
website Adds support for creating KMS KeyRing resources (#518) 2017-10-27 09:40:01 -07:00
.gitignore Updating Makefile + Add gitignore 2017-06-06 16:27:28 -04:00
.travis.yml Use go1.9.1 for Travis 2017-10-06 11:27:26 -07:00
CHANGELOG.md Update CHANGELOG.md 2017-10-25 14:11:04 -07:00
GNUmakefile Adding back the GNUmakefile test-compile step 2017-06-30 11:16:10 +03:00
LICENSE initial commit 2017-06-05 20:54:03 +00:00
main.go Initial transfer of provider code 2017-06-06 11:58:56 -04:00
README.md Fix the Terraform logo link 2017-07-26 10:27:20 -07:00

Terraform Provider for Google Cloud Platform

Requirements

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

Building The Provider

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

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

Enter the provider directory and build the provider

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

Using the provider

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

Developing the Provider

If you wish to work on the provider, you'll first need Go installed on your machine (version 1.8+ 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-google
...

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