Commit Graph

526 Commits

Author SHA1 Message Date
Paddy
a720f10b27 Merge branch 'master' into paddy_10984_better_image_resolution 2017-02-23 15:12:47 -08:00
Evan Brown
bf10e5519d providers/google: google_project supports billing account (#11653)
* Vendor google.golang.org/api/cloudbilling/v1

* providers/google: Add cloudbilling client

* providers/google: google_project supports billing account

This change allows a Terraform user to set and update the billing
account associated with their project.

* providers/google: Testing project billing account

This change adds optional acceptance tests for project billing accounts.
GOOGLE_PROJECT_BILLING_ACCOUNT and GOOGLE_PROJECT_BILLING_ACCOUNT_2
must be set in the environment for the tests to run; otherwise, they
will be skipped.

Also includes a few code cleanups per review.

* providers/google: Improve project billing error message
2017-02-20 19:32:24 +02:00
Dana Hoffman
108ef0e4f7 provider/google: Write the raw disk encryption key in the state file to avoid diffs on plan (#12068) 2017-02-20 19:28:32 +02:00
Paddy
df2d63f69a Merge pull request #12044 from sbadia/gcs_storage_class
doc: gcs - Update storage_class documentation and tests
2017-02-17 16:13:29 -08:00
Mike Fowler
b1b6993d23 provider/google-cloud: Add maintenance window (#12042)
* provider/google-cloud: Add maintenance window

Allows specification of the `maintenance_window` within the `settings`
block. This controls when Google will restart a database in order to
apply updates. It is also possible to select an `update_track` to
relatively control updating between instances in the same project.

* Adjustments as suggested in code review.
2017-02-18 01:33:47 +02:00
Sebastien Badia
93a3364b2e doc: gcs - Update storage_class documentation and tests
`STANDARD` storage_class is now replaced by `MULTI_REGIONAL` depending
the bucket location. Same for `DURABLE_REDUCED_AVAILABILITY` replaced
by `REGIONAL`.

refs: https://cloud.google.com/storage/docs/storage-classes#standard
2017-02-17 15:59:25 +01:00
Paddy
ecbbaaee89 Check for errors when deleting project metadata.
Our delete operation for google_compute_project_metadata didn't check an
error when making the call to delete metadata, which led to a panic in
our tests. This is also probably indicative of why our tests
failed/metadata got left dangling.
2017-02-16 02:36:03 -08:00
Dana Hoffman
3434a0e15c Merge pull request #11631 from drebes/lts_fix
provider/google: make local_traffic_selector computed now that we rea…
2017-02-15 12:57:25 -08:00
Roberto Jung Drebes
8b82adfdbe provider/google: make local_traffic_selector computed now that we read it back from server 2017-02-15 19:48:44 +01:00
Radek Simko
f353843c2f provider/google: Add google_compute_zones data source 2017-02-15 09:50:25 +00:00
Dana Hoffman
5a3eb9394e Merge pull request #11840 from danawillow/gke-version
provider/google: Update node version in container cluster test
2017-02-09 16:33:43 -08:00
Dana Hoffman
c6b1b37eb5 provider/google: Update node version in container cluster test 2017-02-09 16:14:00 -08:00
Dana Hoffman
43d968cabe provider/google: set subnetwork_project to computed 2017-02-08 15:26:47 -08:00
Dana Hoffman
30b83cb0a6 Merge pull request #11650 from danawillow/google-container
provider/google: set additional_zones to computed and disallow the original zone from appearing in the list
2017-02-08 15:12:08 -08:00
Paddy
4094ed6dc9 provider/google: update DNS names in tests.
Our DNS tests were using terraform.test as a DNS name, which GCP was
erroring on, as we haven't proven we own the domain (and can't, as we
don't). To solve this, I updated the tests to use hashicorptest.com,
which we _do_ own, and which we have proven ownership of. The tests now
pass.
2017-02-08 10:24:04 -08:00
Dana Hoffman
562c25dba8 provider/google: always set additional_zones on read 2017-02-07 19:21:00 -08:00
Dana Hoffman
e0663f35b2 providers/google: disallow specifying the original zone in additional_zones, change field to computed 2017-02-07 11:02:02 -08:00
Jake Champlin
8107cce1f4 Merge pull request #11735 from hashicorp/paddy_11728_with_tests
Revert backwards incompatibility in google_project.policy_data
2017-02-07 11:50:59 -05:00
Paddy
6dfca0f836 Add a test that would have caught backwards incompatibility.
Add a test that would have caught the backwards incompatibility where
project IAM bindings aren't merged, but are overwritten.
2017-02-06 22:27:28 -08:00
Dana Hoffman
576f2231d9 Merge pull request #11548 from zopanix/patch-1
Added forceNew on accessConfig in google_compute_instance_template
2017-02-06 17:19:55 -08:00
Evan Brown
4d2b136a12 providers/google: Fix google_project IAM bug
This changes removes read of the deprecated `policy_data` attr in
the `google_project` resource.

0.8.5 introduced new behavior that incorrectly read the `policy_data`
field during the read lifecycle event. This caused Terraform to
assume it owned not just policy defined in the data source, but
everything that was associated with the project. Migrating from 0.8.4
to 0.8.5, this would cause the config (partial) to be compared to the
state (complete, as it was read from the API) and assume some
policies had been explicitly deleted. Terraform would then delete them.

Fixes #11556
2017-02-06 14:16:22 -08:00
Matthew Frahry
ef398e2130 Add test to PR 9320 (#11645) 2017-02-03 11:50:57 +00:00
Dana Hoffman
b6f8934b2c provider/google: only set additional zones on read if it had been set in the config 2017-02-02 17:37:03 -08:00
Dana Hoffman
65fd649caa Merge pull request #11590 from evandbrown/google-cloud-sql-pw
providers/google: No default root user for SQL
2017-02-01 15:43:23 -08:00
Dana Hoffman
00404479a6 Merge pull request #11020 from drebes/remote_traffic_selector
provider/google: remote_traffic_selector for google_compute_vpn_tunnel
2017-02-01 13:04:06 -08:00
Mike Fowler
917aa65405 provider/google-cloud: Add second generation disk specification options (#11571)
* Add second generation disk specification options.

* Adjust test check to match resource read behaviour.
2017-02-01 16:20:31 +00:00
Evan Brown
a6c1f94419 providers/google: No default root user for SQL
Cloud SQL Gen 2 instances come with a default 'root'@'%' user on
creation. This change automatically deletes that user after creation. A
Terraform user must use the google_sql_user to create a user with
appropriate host and password.
2017-01-31 22:21:11 -08:00
Christophe van de Kerchove
5b551718d5 This should resolve #11547
This should force terraform to recreate the resource after updating it.
2017-01-31 09:33:29 -05:00
Dana Hoffman
6dd07d952e Merge pull request #11477 from gh-mlfowler/google-sql2-slave
provider/google: Fix master_instance_name to prevent slave rebuilds
2017-01-30 14:17:56 -08:00
Dana Hoffman
4950e66d68 provider/google: allow instance group managers in region other than project (#11294) 2017-01-30 11:35:35 +00:00
Paddy
d61d0e282e Merge branch 'master' into paddy_10984_better_image_resolution 2017-01-29 23:56:00 -08:00
Christoph Blecker
ef01f82591 Fix vet errors in providers (#11496) 2017-01-29 15:59:55 +00:00
Roberto Jung Drebes
515b12f750 provider/google: acceptance tests for traffic selectors 2017-01-28 00:55:17 +01:00
Roberto Jung Drebes
c058cdcbed provider/google: remote_traffic_selector for google_compute_vpn_tunnel 2017-01-28 00:09:58 +01:00
Mike Fowler
9851a7eaa6 Fix master_instance_name to prevent slave rebuilds 2017-01-27 21:06:46 +00:00
Evan Brown
199eeeea51 providers/google: Support managing projects
Add support for creating, updating, and deleting projects, as well as
their enabled services and their IAM policies.

Various concessions were made for backwards compatibility, and will be
removed in 0.9 or 0.10.
2017-01-25 14:59:50 -08:00
Paddy
bfde91ecb1 Start adding tests for image resolution.
Add tests that show what we want image input strings to resolve to, so
we can test that behaviour.
2017-01-23 16:45:06 -08:00
Zach Gershman
627629639b removes region param from google_compute_backend_service (#10903)
* removes region param from backend_service

- this param was not being used in this service
- you need a regional_backend_service if you want to pass this

* deprecated region instead of outright removing

* put session affinity formatting back
2017-01-18 23:10:43 +00:00
Dana Hoffman
00fad24a96 Merge pull request #11018 from unguiculus/feature/additional_zones
provider/google: [GKE] Allow additional zones to be configured
2017-01-18 10:10:13 -08:00
Dana Hoffman
490587d0a8 Merge pull request #11228 from cblecker/rbs-sessionaffinity
provider/google: Add support for session_affinity to google_compute_region_backend_service
2017-01-18 10:06:02 -08:00
Dana Hoffman
5e04661a5a providers/google: Add support for encrypting a disk (#11167)
* providers/google: add support for encrypting a disk

* providers/google: Add docs for encrypting disks

* providers/google: CSEK small fixes: sensitive params and mismatched state files
2017-01-18 13:49:48 +00:00
Christoph Blecker
3385397392 Add support for session_affinity to google_compute_region_backend_service 2017-01-17 16:32:58 -08:00
Reinhard Nägele
d1e6adf928 Add 'ForceNew: true' to additional_zones 2017-01-13 19:39:35 +01:00
Reinhard Nägele
6d3f0e5616 Fix if condition in test 2017-01-13 19:37:59 +01:00
Reinhard Nägele
bf8e00e162 Add test for additional zones existance 2017-01-13 17:03:28 +01:00
Reinhard Nägele
18d14b5b71 Merge remote-tracking branch 'upstream' into feature/additional_zones 2017-01-13 16:44:09 +01:00
zbikmarc
17af2f69af providers/google: Add subnetwork_project field to enable cross-project networking in instance templates (#11110)
* Add subnetwork_project field to allow for XPN in GCE instance templates

* Missing os import

* Removing unneeded check

* fix formatting

* Add subnetwork_project to read
2017-01-12 16:05:13 +02:00
Paddy
44bf0bec96 Read update_strategy before overwriting it. (#11013)
As brought up in #10174, our update_strategy property for instance group
managers in GCP would always be set to "RESTART" on read, even if the
user asked for them to be "NONE" in the config.

This adds a test to ensure that the user wishes were respected, which
fails until we check for update_strategy in the ResourceData before we
update it within the Read function. Because the update_strategy property
doesn't map to anything in the API, we never need to read it from
anywhere but the config, which means the ResourceData should be
considered authoritative by the time we get to the Read function.

The fix for this was provided by @JDiPierro in #10198 originally, but
was missing tests, so it got squashed into this.
2017-01-09 23:15:50 +00:00
Reinhard Nägele
07ce12d0f7 [GKE] Allow additional zones to be configured 2017-01-04 07:37:57 +01:00
Paddy
e03493ddd4 Remove create_timeout backwards incompatibilities.
A new create_timeout attribute was added that had some backwards
incompatibilities, and as per discussion in #10823, it was determined we
could make upgrading to 0.8.x easier by fixing them, without really
losing any functionality.

Because create_timeout is not something stored or transmitted to the
API, it's not something we need a ForceNew on. Also, because an update
wouldn't result in an API call, we can add a state migration to avoid a
false positive diff that requires people to plan and apply but doesn't
actually make an API call.
2016-12-19 23:49:53 -08:00