Commit Graph

370 Commits

Author SHA1 Message Date
James Nugent 78a96f50bb provider/google: Hook in state migration function
As part of Terraform 0.7.1 it was observed in issue #8345 that the state
migration for google_compute_firewall did not appear to be running,
causing a panic when an uninitialized member was read. This commit hooks
up the state migration function (which _was_ independently unit tested
but was not actually in place).

There is currently no good test framework for this, I will address this
issue in a future RFC.
2016-08-23 10:40:33 +02:00
Noah Webb 679b063a30 provider/google: changed the format of source_image in autoscaler tests 2016-08-19 14:05:28 -04:00
Christoph Blecker a9cc6e2838
Update Google TestAcc to use Debian 8 images 2016-08-18 19:31:45 -07:00
Christoph Blecker e5ba2cb76f
Fix AccTest for Autoscaler 2016-08-18 19:21:48 -07:00
Lars Wander 0a0437ac7f Merge pull request #8298 from nwwebb/import-instance-group-manager
provider/google: Support Import of 'google_compute_instance_group_manager'
2016-08-18 15:36:03 -04:00
Noah Webb da1cf0d836 provider/google: Support Import of'google_compute_instance_group_manager' 2016-08-18 15:13:52 -04:00
Paul Hinze 787ab97691
provider/google: add test case for GH-4222
Reproduces a non-empty plan that is now fixed after the bugfix for that
issue landed.
2016-08-18 15:08:50 -04:00
Lars Wander 8d8b186cc3 Merge pull request #8292 from nwwebb/import-target-pool
provider/google: Changed instances to a computed property of 'google_compute_target_pool'
2016-08-18 14:16:09 -04:00
Noah Webb 0f1561ba71 provider/google: Made instances a computed property of 'google_compute_target_pool' 2016-08-18 13:29:00 -04:00
Lars Wander 5547e8cb37 provider/google: Correct update process for auth nets in sql instance 2016-08-18 12:01:38 -04:00
Lars Wander 23ab7ee6bb Merge pull request #8147 from nwwebb/import-instance-template
provider/google: Support Import of 'google_compute_instance_template'
2016-08-18 10:30:46 -04:00
Noah Webb 09df0efd1c provider/google: Support Import of 'google_compute_firewall' 2016-08-16 17:04:30 -04:00
Christoph Blecker 84162586b0 Add support for using GCP Image Family names. (#8083) 2016-08-15 22:29:58 +01:00
Noah Webb fe5d7d1c63 provider/google: Support Import of 'google_compute_instance_template' 2016-08-15 10:03:31 -04:00
Evan Brown 93b2c71544 providers/google: Add google_compute_image resource (#7960)
* providers/google: Add google_compute_image resource

This change introduces the google_compute_image resource, which allows
Terraform users to create a bootable VM image from a raw disk tarball
stored in Google Cloud Storage. The google_compute_image resource
may be referenced as a boot image for a google_compute_instance.

* providers/google: Support family property in google_compute_image

* provider/google: Idiomatic checking for presence of config val

* vendor: Update Google client libraries
2016-08-12 12:35:33 +10:00
Lars Wander ef9591952a Merge pull request #8115 from nwwebb/import-autoscaler
provider/google: Support Import of 'google_compute_autoscaler'
2016-08-11 18:07:22 -04:00
Lars Wander ad4ca17f05 Merge pull request #8121 from nwwebb/import-http-health-check
provider/google: Support Import of 'google_resource_http_health_check'
2016-08-11 18:05:42 -04:00
Lars Wander 4d631d525b Merge pull request #8122 from nwwebb/import-forwarding-rule
provider/google: Support Import of 'google_compute_forwarding_rule'
2016-08-11 18:04:06 -04:00
Noah Webb 1ff6f8ccf4 provider/google: Support Import of 'google_compute_target_pool' 2016-08-11 10:24:03 -04:00
Noah Webb b45650c390 provider/google: Support Import of 'google_compute_forwarding_rule' 2016-08-10 16:45:56 -04:00
Noah Webb 3fb6287027 provider/google: Support Import of 'google_resource_http_health_check' 2016-08-10 16:30:41 -04:00
Noah Webb f55532b018 provider/google: Support Import of 'google_compute_autoscaler' 2016-08-10 16:19:31 -04:00
Evan Brown 3ac3516371 provider/google: Support static private IP addresses (#6310)
* provider/google: Support static private IP addresses

The private address of an instance's network interface may now be specified.
If no value is provided, an address will be chosen by Google Compute Engine
and that value will be read into Terraform state.

* docs: GCE private static IP address information
2016-08-08 13:01:31 +12:00
Evan Brown 8f0fdc9800 providers/google: Move URLMap hosts to TypeSet from TypeList (#7472)
Using TypeSet allows host entries to be ordered arbitrarily in a manifest.
2016-08-08 12:47:05 +12:00
bill fumerola 9ddb2fd6f8 provider/google: atomic Cloud DNS record changes (#6575)
Closes #6129
2016-08-08 12:36:27 +12:00
Evan Brown 4968f6a5ff providers/google: Fix read for the backend service resource (#7476) 2016-08-08 12:28:43 +12:00
Evan Brown 0e565e5973 providers/google: Allow custom Compute Engine service account
This commit allows an operator to specify the e-mail address of a service
account to use with a Google Compute Engine instance. If no service account
e-mail is provided, the default service account is used.

Closes #7985
2016-08-04 19:25:28 -07:00
Lars Wander 953e2ec565 Merge pull request #7029 from igorwwwwwwwwwwwwwwwwwwww/google-instance-wait-project
provider/google: Use resource-specific project when waiting for creation, instead of global
2016-08-04 16:54:30 -04:00
Greg Aker 3d1802d547 Add default value & acceptance test. 2016-07-28 16:57:33 -05:00
Greg Aker a8e8922ea8 Add enable_cdn to google_compute_backend_service.
Add the ability to add/remove the Cloud CDN configuration
option on a backend service.
2016-07-28 15:38:09 -05:00
James Bardin f66d1a10a4 Add VersionString
We conditionally format version with VersionPrerelease in a number of
places. Add a package-level function where we can unify the version
format. Replace most of version formatting in terraform, but leave th
few instances set from the top-level package to make sure we don't break
anything before release.
2016-07-21 16:43:49 -04:00
Igor Wiedler ad9a3fe44d [provider/google] Use resource-specific project when waiting for creation
Creating most google cloud resources uses the compute_operation to
wait for the creation to complete. However, the computeOperationWait*
functions always uses the global `config.Project`, instead of the resource-
specific one.

This means that creating resource in a project other than the main one
fails with a 404 on the operation resource.

This patch uses the project from google_compute_instance instead of the
global one.
2016-06-10 11:55:21 +02:00
James Nugent ce729c1a82 provider/google: Provide valid config in acctest
The changes to allow for testing ID-only refresh conflict with passing
in "" as Config for tests. In this case we instead construct a config
with a known-non-existent bucket name.
2016-05-23 17:20:19 -05:00
Evan Brown f075b0214d providers/google: Don't fail deleting disks that don't exist.
Addresses #5942
2016-05-16 11:57:04 -07:00
James Nugent f331240601 Merge pull request #6574 from uber/b-gcp-acc-test-env
provider/google: correct error messages in acceptance tests
2016-05-13 17:29:56 -04:00
Evan Brown 55742acf12 providers/google: support optionial uuid naming for Instance Template (#6604)
Auto-generating an Instance Template name (or just its suffix) allows the
create_before_destroy lifecycle option to function correctly on the
Instance Template resource. This in turn allows Instance Group Managers
to be updated without being destroyed.
2016-05-11 22:54:47 +01:00
Bill Fumerola 7dcb4974a1 Correct error messages in google provider test library 2016-05-10 10:59:11 -07:00
James Nugent f2fef2556a Fix import formatting across code base 2016-04-18 17:28:46 -07:00
Evan Brown c6763fd3af Update docs and fix computed container settings 2016-04-14 16:33:52 -07:00
Evan Brown 5eaf2033bd provider/google: Support manual subnetworks and addons config 2016-04-14 16:31:24 -07:00
Seth Vargo 337895b51e Read more default envvars for GCP
- Closes #5874
- Fixes #5872
2016-04-11 12:19:07 -04:00
Seth Vargo 29b073158f Update documentation to include new "project" attribute
This commit also normalizes the format we display attributes.
2016-04-10 17:34:15 -04:00
Seth Vargo bacf5abf3c Accept "project" as an attribute to GCP resources
This is the first step in removing the config dependency on "project".
This change is backwards-compatible because the value for this new
attribute defaults to the value from the provider.
2016-04-10 13:01:24 -04:00
Seth Vargo fda23a3a31 Switch the order of gcp buildNetworks func to be more go-like
The current implementation returns error as the first parameter, 
but it is usually the last parameter.
2016-04-10 13:01:23 -04:00
Seth Vargo d5a9e9b554 Deprecate unused "region" attribute in gcp global_forwarding_rule 2016-04-10 13:01:23 -04:00
Seth Vargo 7e5ca60369 Make GCP provider "project" attribute optional 2016-04-10 13:01:23 -04:00
Clint 986fcd95f9 provider/google: Accept GOOGLE_CLOUD_KEYFILE_JSON env var for credentials 2016-04-04 16:56:35 -05:00
Bill Fumerola 1ccfacd2dd provider/google: use non-deprecated image in acceptance tests, documentation 2016-03-26 09:55:28 -07:00
James Nugent c71751c596 Merge pull request #5428 from shaneog/google_dns_managed_zone
description is now a required field for google_dns_managed_zone
2016-03-19 17:06:13 +00:00
Bill Fumerola 86bf978550 google_compute_instance_group: Correct error message for invalid instances 2016-03-18 09:25:28 -07:00
Lars Wander f8784df82b provider/google: Mark next_hop_network as read only. 2016-03-10 13:58:09 -05:00
Paul Hinze 5ece31dc88 Merge pull request #5501 from evandbrown/vpnval
provider/google: Validate VPN tunnel peer_ip
2016-03-09 18:55:10 -06:00
Paul Hinze c1f8dda863 Merge pull request #5497 from evandbrown/flakeygcs
provider/google: Address flaky GCS acceptance tests.
2016-03-09 18:48:44 -06:00
Eric Robert 92d535267c Fix Google instance template creation for preemptible VM 2016-03-08 16:18:23 +00:00
Evan Brown 23af84ca09 provider/google: Validate VPN tunnel peer_ip 2016-03-07 21:35:08 -08:00
Evan Brown aa5099fe9b provider/google: Address flaky GCS acceptance tests.
Acceptance tests for GCS that do rapid create/delete/create
on GCS buckets using the same name sometimes fail as the
bucket namespace is eventually consistent. This change makes
tests use a random bucket name for each test (adapted from
the existing ACL tests).
2016-03-07 14:26:19 -08:00
Evan Brown 2e958f7a12 provider/google: Fix Pubsub acceptance tests
Acceptance tests for Pubsub topics and subscriptions failed after
incorrectly determining that resources were not deleted in the
CheckDestroy phase.

Fixes 5437
2016-03-02 15:36:32 -08:00
Evan Brown 87006d6a0c provider/google: Fix VPN tunnel creation test
The GCE API for creating VPN tunnels began validating the `peerIp` field
and rejecting RFC5735 addresses. The previous test was using one of
these addresses and failing as a result. This commit uses 8.8.8.8
for the peerIp.
2016-03-02 13:17:38 -08:00
Shane O'Grady b03fc1d2e9 description is now a required field for google_dns_managed_zone
The description field for a managed-zone is now a required field when using the Cloud API.
This commit defaults the field to use the text "Managed by Terraform" to minimize required boilerplate for Terraform users.

Ref: https://cloud.google.com/sdk/gcloud/reference/dns/managed-zones/create
2016-03-02 17:23:11 -03:00
Lars Wander 6a8c814be8 Merge pull request #4087 from ajcrowe/google-instance_groups
provider/google: Support for unmanaged instance groups (google_compute_instance_group)
2016-02-26 15:33:08 -05:00
Alex Crowe b3f7d1e386 Added google_compute_instance_group resource 2016-02-26 18:41:35 +00:00
Paul Hinze 79dee04a98 provider/google: cover fix in #5110 2016-02-22 18:55:22 -06:00
Paul Hinze 1d67fc4bb8 Merge pull request #5110 from fd/patch-1
google_pubsub_subscription crashes when ack_deadline_seconds is provided
2016-02-22 18:54:19 -06:00
James Nugent a449730494 Merge pull request #5241 from sl1pm4t/b-google-network-backcompat
provider/google: Fix Google compute network forces new resource
2016-02-22 13:11:42 -05:00
Lars Wander 20f8104caf provider/google: Add support for reading SQL instance assigned IP Addresses 2016-02-22 10:38:14 -05:00
Matt Morrison 6ccfd8db93 Fix Google compute network forces new resource 2016-02-22 21:55:42 +13:00
James Nugent 0d9a7a65ef Merge pull request #5177 from hashicorp/f-go-1.6
Update Travis to use Go 1.6
2016-02-18 10:01:49 -08:00
James Nugent a040110c0f Gix gofmt errors 2016-02-18 08:51:27 -08:00
James Nugent b32a863ed3 provider/google: Clarify comment about defaults 2016-02-18 08:37:58 -08:00
James Nugent b77bcd64fd Remove TODO comment 2016-02-18 08:37:58 -08:00
James Nugent 31f47e5abf Correct format specifier 2016-02-18 08:37:58 -08:00
Matt Morrison f66f37f4d8 Add more acceptance tests, and fix some test cases 2016-02-18 08:37:58 -08:00
Matt Morrison d6039af398 Add subnetwork resource ACC tests, additional doc updates 2016-02-18 08:37:58 -08:00
Matt Morrison 430ed48a44 Update google resources where necessary to make use of subnetworks, update som docs 2016-02-18 08:37:58 -08:00
Matt Morrison aedc5ba4af [WIP] support for creating distributed networks, and subnetwork resources 2016-02-18 08:37:57 -08:00
James Nugent 815cde7fd2 Merge pull request #5125 from lwander/b-gcp-vpn-gateway-region
provider/google: Fix VPN Region bug
2016-02-17 13:45:32 -08:00
Trevor Pounds 3eb65f2cbb Enable `go vet -unusedresult` check and fix warnings. 2016-02-17 11:59:50 -08:00
Lars Wander 14d133f574 provider/google: Fix VPN Region bug 2016-02-13 09:47:35 -05:00
James Nugent 636f05a941 Merge pull request #5075 from uber/fix-issue-4895
provider/google: Fix google_compute_backend_service max_utilization backend attribute
2016-02-12 13:15:48 -08:00
Simon Menke 49e76ecf58 google_pubsub_subscription crashes when ack_deadline_seconds is provided 2016-02-12 12:41:20 +01:00
Bill Fumerola 6fa4fba83e provider/google Fix backend service max_utilization attribute
Fixes issue #4985 by correcting copy/paste error that caused the
max_utilization attribute to be read from the max_rate_per_instance
attribute.

N.B. There is still no test coverage for this issue.
2016-02-09 13:41:01 -08:00
Trevor Pounds 0cd0ff0f8e Use built-in schema.HashString. 2016-02-07 16:29:34 -08:00
clint shryock 840d2e7ccc Switch to acctest.RandInt for acceptance tests 2016-02-04 11:20:22 -06:00
Ian Duffy 47ac10d66b Change resource.StateChangeConf to use an array for target states
Signed-off-by: Ian Duffy <ian@ianduffy.ie>
2016-01-21 01:20:41 +00:00
chris 9aa8bbda93 provider/google: Support named_port on instance_group_manager
This allows HTTP and HTTPs load-balancers to direct traffic to ports other than tcp/80 and tcp/443.
2016-01-20 09:15:30 -05:00
James Nugent ea9e01cc78 Merge pull request #4669 from lwander/f-gcp-sql-user
provider/google: SQL user resource, documentation & tests
2016-01-14 06:51:17 +00:00
Lars Wander 7245a63077 Merge pull request #3893 from lwander/b-gcp-bucket-content
provider/google: Content field for bucket objects
2016-01-13 17:14:53 -05:00
Lars Wander 504bc87ec6 Merge pull request #4265 from lwander/gcp-assigned-nat-ip
provider/google: provide assigned_nat_ip as well as nat_ip
2016-01-13 17:13:16 -05:00
Lars Wander b8c66dc5e5 provider/google: Content field for bucket objects 2016-01-13 17:06:58 -05:00
Lars Wander 456ec4d151 provider/google: SQL user resource, documentation & tests 2016-01-13 16:33:08 -05:00
Lars Wander 6a7da01d6b provider/google: Clarify SQL database name cannot be reused 2016-01-08 11:54:55 -05:00
Lars Wander 01a53922a4 Merge pull request #3913 from lwander/b-gcp-delete-behavior
provider/google: Updated Read(..) behavior to handle deleted resources
2016-01-07 10:56:28 -05:00
Lars Wander cef0589498 provider/google: Updated Read(..) behavior to handle deleted resources 2016-01-07 10:39:04 -05:00
Lars Wander 9a0ecd05eb provider/google: limit hardcoded test resource names 2016-01-05 19:49:06 -05:00
Lars Wander fb80ec8d33 provider/google: remove conflicting names from acceptance tests 2016-01-05 16:57:24 -05:00
Paul Hinze 8677f8eea7 provider/google: Collision fixes in compute backend service tests 2016-01-05 12:39:30 -06:00
Paul Hinze c4aff4a585 provider/google: Some more collision avoidance test tweaks 2016-01-05 12:26:44 -06:00
Paul Hinze 3f697d5b12 Merge pull request #4512 from lwander/b-gcp-fix-sshkey-metadata
provider/google: Fix project metadata sshkeys from showing up
2016-01-05 11:13:14 -06:00
Lars Wander a006a6a399 provider/google: Fix project metadata sshkeys from showing up 2016-01-05 11:37:52 -05:00
Paul Hinze e916bd1527 provider/google: enchance storage acctests to avoid collisions
Generate bucket names and object names per test instead of once at the
top level. Should help avoid failures like this one:

https://travis-ci.org/hashicorp/terraform/jobs/100254008

All storage tests checked on this commit:

```
TF_ACC=1 go test -v ./builtin/providers/google -run TestAccGoogleStorage
=== RUN   TestAccGoogleStorageBucketAcl_basic
--- PASS: TestAccGoogleStorageBucketAcl_basic (8.90s)
=== RUN   TestAccGoogleStorageBucketAcl_upgrade
--- PASS: TestAccGoogleStorageBucketAcl_upgrade (14.18s)
=== RUN   TestAccGoogleStorageBucketAcl_downgrade
--- PASS: TestAccGoogleStorageBucketAcl_downgrade (12.83s)
=== RUN   TestAccGoogleStorageBucketAcl_predefined
--- PASS: TestAccGoogleStorageBucketAcl_predefined (4.51s)
=== RUN   TestAccGoogleStorageObject_basic
--- PASS: TestAccGoogleStorageObject_basic (3.77s)
=== RUN   TestAccGoogleStorageObjectAcl_basic
--- PASS: TestAccGoogleStorageObjectAcl_basic (4.85s)
=== RUN   TestAccGoogleStorageObjectAcl_upgrade
--- PASS: TestAccGoogleStorageObjectAcl_upgrade (7.68s)
=== RUN   TestAccGoogleStorageObjectAcl_downgrade
--- PASS: TestAccGoogleStorageObjectAcl_downgrade (7.37s)
=== RUN   TestAccGoogleStorageObjectAcl_predefined
--- PASS: TestAccGoogleStorageObjectAcl_predefined (4.16s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/google 68.275s
```
2016-01-05 09:07:45 -06:00