Commit Graph

886 Commits

Author SHA1 Message Date
Paddy
24e68d46f7 Remove the account_file docs.
We no longer support it, so no point in continuing to document it.
2017-03-14 00:00:44 -07:00
Paddy
0f59a658ae Merge pull request #12223 from hashicorp/paddy_10984_better_image_resolution
provider/google: upgrade our image resolution logic
2017-03-13 23:45:12 -07:00
Paddy
f95b8ccbe1 Merge pull request #12223 from hashicorp/paddy_10984_better_image_resolution
provider/google: upgrade our image resolution logic
2017-03-13 23:45:12 -07:00
Paddy
7c8681ddd5 Make all image string templates code formatted.
Update our docs to code format all the image template strings that a
disk can use.
2017-03-13 23:39:07 -07:00
Paddy
0af6cb1aa3 Fix variable indents.
Tabs vs spaces is the worst. I really need a way to run terraform fmt on
these inline configs.
2017-03-13 23:23:32 -07:00
Paddy
8799079e90 Refactored into helpers.
Refactored some helpers out that help with retrieving the policies from
state and comparing them, hopefully leading to less code duplication.
2017-03-13 23:20:27 -07:00
Paddy
a0e6311936 Update the documentation.
Document the acceptable inputs everywhere that uses the function.
2017-03-13 22:15:37 -07:00
Paddy
354d919d75 Update typo.
We never updated the error to use the expectation, not hardcode it to 2.
2017-03-13 22:04:08 -07:00
Paddy
b908568d40 provider/google: remove deprecated account_file field.
Remove the shims for the long-deprecated account_file field in the
Google provider.
2017-03-13 21:58:39 -07:00
Paddy
fe39bfc8b4 provider/google: remove the backend region field
Remove the field region on compute_backend_service as it has been
deprecated a while now and was never used to begin with.
2017-03-13 17:25:32 -07:00
Paddy
b73462aad4 provider/google: fix single port diff cycle
When specifying a single port in port_range, the API would accept it as
input, but would return it as {PORT}-{PORT}. Terraform would then see
this as different, even though (semantically) it's the same.

This commit adds a test that exposes the diff cycle created by this, and
an inline DiffSuppressFunc to resolve it.

Fixes #9051.
2017-03-13 17:03:20 -07:00
Paddy
a633853770 Update with @danawillow's feedback.
* Make our regexes more permissive (though still separated out for
  readability, despite being identical)
* Add a helper that will improve readability while sanity testing our
  regex results.
2017-03-13 16:39:42 -07:00
Paddy
71d0b45d09 provider/google: Remove deprecated project fields.
Remove the deprecated fields from google_project, and drop all the logic
that went into supporting them. Tests still pass after one minor change.
2017-03-13 16:19:53 -07:00
Paddy
a0d9dcd8a2 Merge pull request #12228 from hashicorp/paddy_update_gcp_project_docs
provider/google: add migration notes for projects
2017-03-13 16:18:05 -07:00
Paddy
d5d0f4f0a8 Merge pull request #12486 from hashicorp/paddy_4336_instance_manager_api_bug
provider/google: fix container instance group URLs
2017-03-13 11:15:17 -07:00
Patrick Decat
f4a3e9e78c Doc: google_compute_health_check resource has no type attribute (#12646)
The `google_compute_health_check` resource has no `type` attribute.

cf. https://www.terraform.io/docs/providers/google/r/compute_health_check.html
2017-03-13 19:53:25 +02:00
Thomas Poindessous
d7454b8177 Documentation for the new resource : google_compute_snapshot 2017-03-13 14:13:38 +01:00
Thomas Poindessous
5d8ce1376c Test encrypted snapshot of a encrypted disk 2017-03-13 12:27:39 +01:00
Thomas Poindessous
441d41d3ef Use a new image type 2017-03-13 12:27:22 +01:00
Thomas Poindessous
322c64a21a Use a new image type 2017-03-13 12:26:46 +01:00
Thomas Poindessous
81d8269aee Snapshot operations are global by project 2017-03-13 12:26:12 +01:00
Thomas Poindessous
e14e4c7b9c Provided sourcedisk_encryption_key_raw when creating a snapshot of a customer's self encrypted disk 2017-03-13 12:25:11 +01:00
Patrick Decat
074f33c93f Doc: Google Global Forwarding have their own documentation (#12528) 2017-03-08 20:17:18 +02:00
tpoindessous
d625406706 providers/google : google_compute_disk.go : Minor correction : "Deleting disk" message in Delete method (#12521)
* WIP: added a new resource type : google_compute_snapshot

* [WIP]: added a test acceptance for google_compute_snapshot

* Cleanup

* Minor correction : "Deleting disk" message in Delete method

* Error in merge action

* Error in merge action
2017-03-08 17:34:49 +02:00
Thomas Poindessous
446a2cd6e9 Cleanup 2017-03-08 12:21:30 +01:00
Thomas Poindessous
11857816d1 [WIP]: added a test acceptance for google_compute_snapshot 2017-03-07 10:49:02 +01:00
Paddy
6ea1b17f8f provider/google: fix container instance group URLs
Google Container Engine's cluster API returned instance group manager
URLs when it meant to return instance group URLs. See #4336 for details
about the bug.

While this is undeniably an upstream problem, this PR:

* detects the error, meaning it will work as expected when the API is
  fixed.
* corrects the error by requesting the instance group manager, then
  retrieving its instance group URL, and using that instead.
* adds a test that exercises the error and the solution, to ensure it is
  functioning properly.
2017-03-06 21:14:32 -08:00
Thomas Poindessous
32f5c0d421 WIP: added a new resource type : google_compute_snapshot 2017-03-07 00:26:38 +01:00
Dana Hoffman
2486f618d8 provider/google: initial commit for node pool resource (#11802)
provider/google: initial commit for node pool resource
2017-03-06 14:59:24 -08:00
Paddy
bbad8be2f3 Merge pull request #12434 from hashicorp/paddy_fix_gcp_storage_region_test
provider/google: add location to storage tests.
2017-03-03 16:58:18 -08:00
Paddy
8d223b5af7 provider/google: log the op name in sql op errors.
To aid in tracking down the error that's causing
TestAccGoogleSqlDatabaseInstance_basic to fail (it's claiming an op
can't be found?) I've added the op name (which is unique) to the error
output for op errors.
2017-03-03 16:45:25 -08:00
Paddy
629dfe7ad7 provider/google: add location to storage tests.
Add location to storage tests that need it, which fixes the failing
TestAccStorageStorageClass test.
2017-03-03 15:51:36 -08:00
Paddy
7238458619 provider/google: retry storage creation/deletion on rate limiting
Our GCP storage tests are really flaky right now due to rate limiting.
In theory, this could also impact Terraform users that are
deleting/creating large numbers of Google Cloud Storage buckets at once.

To fix, I'm detecting the specific error code that GCP returns when it's
a rate limit error, and using that with resource.Retry to try the
request again.
2017-03-02 16:42:28 -08:00
Paddy
ce3c599f6f provider/google: ignore expanded v collapsed policies in diff
When comparing the config and state for google_project_iam_policy,
always merge the bindings down to a common representation, to avoid a
perpetual diff.

Fixes #11763.
2017-03-02 14:00:45 -08:00
Dana Hoffman
0bf54f4fe4 provider/google: fix url map test and update logic (#12317) 2017-03-01 09:47:12 +00:00
Paddy
d1e103b4d2 provider/google: add migration notes for projects
Update the docs for `google_project` with @zachgersh's suggestions
(#11895) to properly communicate the changes that took place in 0.8.5.
While they don't break any current configs or state, the new behaviour
should be called out for people who were using the old behaviour and are
adding new projects to their configs/state.

I also took this opportunity to update google_project_iam_policy with a
note to users letting them know that there be dragons.
2017-02-24 00:56:05 -08:00
Paddy
869c7a6103 Update the docs for resolveImage.
Update the explanation of the logic being followed in resolveImage.
2017-02-23 22:09:07 -08:00
Paddy
e55e5e9119 provider/google: update image resolution code.
Add tests that ensure that image syntax resolves to API input the way we
want it to.

Add a lot of different input forms for images, to more closely map to
what the API accepts, so anything that's valid input to the API should
also be valid input in a config.

Stop resolving image families to specific image URLs, allowing things
like instance templates to evolve over time as new images are pushed.
2017-02-23 21:55:30 -08:00
Paddy
a720f10b27 Merge branch 'master' into paddy_10984_better_image_resolution 2017-02-23 15:12:47 -08:00
Evan Brown
c7632cdf2e 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
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
George Christou
06fa75423e website/docs: Run terraform fmt on code examples (#12075)
* docs/vsphere: Fix code block

* docs: Convert `...` to `# ...` to allow `terraform fmt`ing

* docs: Trim trailing whitespace

* docs: First-pass run of `terraform fmt` on code examples
2017-02-19 00:48:50 +02:00
Patrick Decat
fc78bd934d Update google_sql_user example as password is a required argument (#12053) 2017-02-18 16:16:14 +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
Paddy
24393a64ea 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
Patrick Decat
d9c31525dc google_sql_database_instance: pricing_plan only applies to first generation instances (#12054)
As stated in the second generation pricing documentation:

> Second Generation pricing is composed of the following charges:
> 
> Instance pricing
> Storage pricing
> Network pricing
> There is no choice of pricing plan.

cf. https://cloud.google.com/sql/pricing#2nd-gen-pricing
2017-02-18 01:38:38 +02:00
Patrick Decat
11c56cfd5e google_sql_database_instance name cannot be reused for one week, not two months (#12055)
According to the referenced documentation, it is one week, not two months:

> You cannot reuse an instance name for up to a week after you have deleted an instance.

cf. https://cloud.google.com/sql/docs/mysql/delete-instance
2017-02-18 01:37:58 +02: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
Mike Fowler
c866f8bf6c 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