Commit Graph

389 Commits

Author SHA1 Message Date
oleksandr.bushkovskyi f9b6d2df8f provider/google: add scope aliases 2016-10-19 23:14:55 +03:00
James Bardin 4be35a5e4e Don't assert nil values in convertStringArr
Some of the inputs to this function may not have been validated
2016-10-19 10:06:13 -04:00
James Nugent f19990a0b3 Merge pull request #9370 from hashicorp/b-crash-8609
provider/google: Ensure we don't assert on nil
2016-10-14 15:13:53 -05:00
James Nugent 0459d86b93 provider/google: Ensure we don't assert on nil
This commit tests whether an interface is nil before type asserting it
to string - this should fix the panic reported in #8609.

We also clean up the schema definition to the newer style without
redundant type declarations.
2016-10-14 12:19:46 -05:00
clint shryock 2c7d4faf53 provider/google: remove debug spew statement 2016-09-27 17:06:41 -05:00
Matt Morrison c28c9ef459 Add support for GCS StorageClass
Fixes: #7417
2016-09-22 07:46:35 +12:00
Evan Brown 262661a05f providers/google: Add documentation for google_iam_policy resource 2016-09-07 13:35:33 -07:00
Evan Brown bb7b8c875e providers/google: Add acceptance tests for Project IAM 2016-09-07 13:35:33 -07:00
Evan Brown 8520cd7fe4 providers/google: Allow IAM policy removal from project 2016-09-07 13:35:33 -07:00
Evan Brown 4cdb064e16 WIP: providers/google: Support IAM permissions for GCP projects
This change adds a data source to allow declaring IAM policies, as well as a
new resource to represent an existing GCP project. The project resource may
reference an IAM policy, allowing a user to set project-wide permissions.
2016-09-07 13:35:33 -07:00
Evan Brown bfc30b4b89 providers/google: Fix VPN Tunnel acceptance test
This fix changes acceptance tests for VPN tunnel to use the correct ports (UDP
500 and 4500). It also changes the documentation to demonstrate using these
port single ports in a `port_range` field.
2016-09-05 12:34:40 -07:00
Matt Morrison 6ca21ec009 Make network attribute more consistent.
Some google resources required network be refernced by resource URL (aka self_link), while others required network name.
This change allows either to be supplied.

DRY it out, and add a fix for #5552.
2016-09-05 08:02:54 +12:00
Evan Brown 3a3b4e9244 Merge pull request #8498 from drich10/finite_health_checking
provider/google: Use healthcheck names instead of urls when reading target pool
2016-09-01 22:02:41 -07:00
Paul Stack 6062d592df provider/google: Change Compute VPN Tunnel test to use the correct port range (#8504) 2016-08-27 00:51:57 +01:00
Derek Richard b9fd3f7945 Use healthcheck names instead of urls when reading target pool
- Resolves #8488

Signed-off-by: Dan Wendorf <dwendorf@pivotal.io>
2016-08-26 10:45:59 -07:00
Christoph Blecker 7e0ab86b9e Fix acceptance test image reversion (#8349) 2016-08-25 14:39:03 +01:00
Sarah Zelechoski 35c7d37f40 email is variable, not string 2016-08-23 17:32:46 -04:00
Sarah Zelechoski 3c63c04c11 Allow custom Compute Engine service account 2016-08-23 17:04:13 -04:00
James Nugent 5c83ca7a77 provider/google: Remove redundant type declaration
This commit cleans up the google_compute_firewall resource to the Go
1.5+ style of not requiring map values to declare their type if they can
be inferred.
2016-08-23 10:40:33 +02:00
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