Commit Graph

841 Commits

Author SHA1 Message Date
Dana Hoffman
8b71cecad7
fix retries for wrapped errors (#1760)
Turns out this block of code:
 2ea2baaedd/google/resource_google_project_services.go (L246-L307)
wasn't actually retrying on quota failures (429s) because it was getting wrapped, so our retry helper saw it as as non-retryable. This fixes that.
2018-07-12 11:19:49 -07:00
Paddy Carver
d6f2a285ef Rename test, add comment. 2018-07-12 10:26:48 -07:00
Paddy Carver
1c4f1a0bec Merge branch 'master' into mchalek-fix-services-pagetoken 2018-07-12 06:06:17 -07:00
Paddy Carver
c998a37a83 Update our test to page.
Add a bunch more services to our manyServices test, so that we have a
page that exercises pagination logic.
2018-07-12 06:04:09 -07:00
Paddy
3d2e72208e
Merge pull request #1717 from Mierdin/master
Implement 'licenses' field in compute_image resource
2018-07-11 21:15:35 -07:00
Paddy
7663c6ff3a
Merge pull request #1742 from bpineau/fix-igm-rolling-updates
Fix instance group manager rolling-updates
2018-07-11 04:28:41 -07:00
Dana Hoffman
a6198a0b60
prereqs for regional disks (#1753)
In testing an upcoming `google_compute_region_disk` resource, I had to make these changes. Checking them in separately so that when the magician runs, these changes will already be a part of TF.
2018-07-10 17:10:05 -07:00
The Magician
b93a759b25 Switch compute/disk type to be a resource reference instead of string. (#1748) 2018-07-10 10:51:46 -07:00
Benjamin Pineau
633c2191ac Fix instance group manager rolling-updates
Currently, the rolling-update API expects a PUT (regionInstanceGroupManager.update())
instead of a PATCH (regionInstanceGroupManager.patch()) call, so immediate rolling updates
(as specified with `update_strategy = "ROLLING_UPDATE"``) are never triggered:

```
[DEBUG]: ---[ REQUEST ]---------------------------------------
[DEBUG]: POST /compute/beta/projects/mycompany-myapp-staging/regions/europe-west3/instanceGroupManagers/myapp-server/setInstanceTemplate?alt=json HTTP/1.1
....
[DEBUG]: ---[ RESPONSE ]--------------------------------------
...
[DEBUG]:  "warnings": [
[DEBUG]:   {
[DEBUG]:    "code": "FIELD_VALUE_OVERRIDEN",
[DEBUG]:    "message": "Update policy type was set to OPPORTUNISTIC. Please use regionInstanceGroupManager.update() to preserve the policy."
[DEBUG]:   }
```

refs:
https://cloud.google.com/compute/docs/reference/rest/beta/instanceGroupManagers/patch
https://cloud.google.com/compute/docs/reference/rest/beta/instanceGroupManagers/update

Fix #1506
2018-07-08 16:20:30 +02:00
Kevin McHale
9c9eccc206 Add nextPageToken to fields argument against ServiceUsage api 2018-07-06 15:37:19 -04:00
Paddy
0eb723ec32
Merge pull request #1665 from vishen/container_cluster_disk_type
container_cluster: added disk_type node configuration
2018-07-06 05:16:12 -07:00
Renzo Toma
90eabdec15 Increase max number of master_authorized_networks to 20, per GKE docs.
See https://cloud.google.com/kubernetes-engine/docs/how-to/authorized-networks#setting_up_an_authorized_network
2018-07-05 22:10:17 +02:00
Paddy
cf72a65aa5
Merge pull request #1663 from garethjevans/resourcelabels
Added ability to configure resource labels on a GKE cluster
2018-07-02 11:50:25 -07:00
The Magician
ded4eb8c64 Support Redis configuration (#1706)
<!-- This change is generated by MagicModules. -->
/cc @edevil 

Fixes #1547
2018-07-02 10:16:38 -07:00
The Magician
18e0d423d6 Autogenerate VPN Tunnel resource (#1699) 2018-06-29 16:27:01 -07:00
The Magician
74c64030b8 add quic_override to google_compute_target_https_proxy (#1718) 2018-06-29 15:24:27 -07:00
Matt Oswalt
d7c1bf93a0
Update tests for image licenses
Signed-off-by: Matt Oswalt <matt@keepingitclassless.net>
2018-06-29 06:45:02 -07:00
Dana Hoffman
7e04cee958
add new compute_instance_from_template resource (#1652)
This was done as its own resource as suggested in slack, since we don't have the option of making all fields Computed in google_compute_instance. There's precedent in the aws provider for this sort of thing (see ami_copy, ami_from_instance).

When I started working on this I assumed I could do it in the compute_instance resource and so I went ahead and reordered the schema to make it easier to work with in the future. Now it's not quite relevant, but I left it in as its own commit that can be looked at separately from the other changes.

Fixes #1582.
2018-06-28 16:09:23 -07:00
Matt Oswalt
8941c5ef6e
Implement 'licenses' field in compute_image resource
Signed-off-by: Matt Oswalt <matt@keepingitclassless.net>
2018-06-28 09:51:50 -07:00
Rodrigo Queiro
4a41eaad77 Retry creation of Cloud IoT registry (#1713)
This can fail with 503, which is a transient error.
2018-06-27 16:49:09 -07:00
The Magician
5976152ad9 Add generated google_compute_autoscaler and google_compute_region_autoscaler resources. Because this adds the ability to import by more than just the name, we can get rid of all the code in resource_compute_autoscaler.go that tries to find the autoscaler in the provider-specified region. (#1700) 2018-06-27 12:49:34 -07:00
The Magician
97b8419ea5 Fix bug with forwarding rule when used with non-targetpool target. (#1707) 2018-06-27 11:27:32 -07:00
The Magician
788e1efaac Autogenerate google_compute_forwarding_rule. (#1674) 2018-06-25 14:03:48 -07:00
Paddy Carver
87be5d2345 Explain this silliness.
Add a comment explaining why I'm setting something to nil in state.
2018-06-25 13:12:28 -07:00
Paddy Carver
d7078ab309 Fix failing test for storage ACLs.
When using predefined storage ACLs, you'd get a permadiff, because the
role_entities list was computed, but was never set in state. So it would
be read as empty in the config, and not present in state, so Terraform
would want to pull it down and sync it. This is probably, technically
speaking, a bug in Terraform, but we can work around it by just setting
role_entities to an empty value on every read.
2018-06-25 13:02:05 -07:00
Gareth Evans
bf7c70b392 Minor code changes as requested 2018-06-25 09:55:27 +01:00
Dana Hoffman
34a68289cd
retry node pool writes on failed precondition (#1660)
Hypothetically fixes #1643.

@thomasriley, are you able to patch this change into your provider to see if it fixed the problem? I haven't been able to get a working repo so I haven't verified the fix yet.
2018-06-22 16:21:35 -07:00
Paddy
9bd15ad48d
Merge pull request #1685 from emilymye/container_cluster_list_param_multifix
Make sure TypeList keys still have empty values
2018-06-22 11:52:06 -07:00
emily
2015b4aac9
make email computed for GCE default service account (#1690) 2018-06-22 10:42:39 -07:00
Emily Ye
6b0dbf5bbe check d.Set errors for complex values for container cluster 2018-06-22 10:35:46 -07:00
Emily Ye
f8c3a10809 Merge branch 'master' of https://github.com/terraform-providers/terraform-provider-google into container_cluster_list_param_multifix 2018-06-22 10:31:06 -07:00
Paddy
d9fa83f6db
Merge pull request #1692 from terraform-providers/paddy_storage_bucket_acl_custom_diff
Fix the perma-diff in storage bucket ACLs
2018-06-22 09:39:29 -07:00
Paddy
9ffe753bb4
Merge pull request #1693 from terraform-providers/paddy_dns_managed_zone_data_source
Update DNS managed zone in tests.
2018-06-22 09:38:37 -07:00
Paddy
fe0950d8e1
Merge pull request #1684 from ndmckinley/sql-disk
Reject disk shrinkage on SQL instances
2018-06-22 00:30:57 -07:00
Paddy Carver
2edf3087a9 Update DNS managed zone in tests.
Move from using qa.test.com, a domain we don't own, to qa.tf-test.club,
a domain we do own, so the domain validation doesn't cause our tests to
fail anymore.
2018-06-22 00:00:30 -07:00
Paddy Carver
1c8d56eca2 Fix the perma-diff in storage bucket ACLs.
Add a CustomDiff function to storage bucket ACLs that will ignore a diff
if the config and state have the same role_entities, even if they're in
a different order.

Fixes #1525.
2018-06-21 23:42:25 -07:00
The Magician
a3964baed6 Fix some unit test failures in generated code where custom expanders are used. (#1691)
<!-- This change is generated by MagicModules. -->
/cc @ndmckinley
2018-06-21 17:46:50 -07:00
Emily Ye
f3b092b3ca make sure TypeList keys still have empty values 2018-06-20 16:45:49 -07:00
Nathan McKinley
a64056156c Reject disk shrinkage. 2018-06-20 15:17:49 -07:00
emily
a2b95e35e6
Add diff suppress for empty/default pod_security_policy_config (#1670)
* add diff suppress for pod_security_policy_config

* change key comparison to exact
2018-06-19 16:37:10 -07:00
The Magician
57a2e984ca Autogenerate Subnetwork. (#1661) 2018-06-19 13:56:06 -07:00
Bastien Cadiot
751a3d5c9e Add project variable for GCS service account datasource (#1677) 2018-06-19 10:30:20 -07:00
Jonathan Pentecost
f8a3335bf9 service_account_key: regression fix for v1.14 (#1664)
Commit 8f31fec introduced a bug for the 'service_account_key' resource
where it required a project be set either in the provider or in the
resource for 'service_account_key', but a project isn't required if the
service account is a service account fully qualified name or a service
account email.

This PR relaxes the requirement that a project needs to be set for the
'service_account_key' resource, 'service_account' datasource and
'service_account_key' datasource, but will error if we try to build a
fully qualified name from a service account id when no project can be
found.

This also cleans up 'serviceAccountFQN' so it is slightly easier to
follow and return an error if there is no project but we need one to
build the service account fully qualified name.

Fixes: #1655
2018-06-18 13:37:41 -07:00
Jonathan Pentecost
d0890dc2b7 container_cluster: added disk_type node configuration
Added node config 'disk_type' which can either be 'pd-standard' or
'pd-ssd', if left blank 'pd-standard' will be the default used by google
cloud.

Closes: #1656
2018-06-15 21:21:51 +01:00
Gareth Evans
fee1c7f682 Type conversion issue 2018-06-15 11:39:08 +01:00
Gareth Evans
e14aa8bf39 Added ability to configure resource labels on a GKE cluster 2018-06-15 11:10:25 +01:00
The Magician
43cccf3e2c Minor cleanup of disk's labelFingerprint. (#1651) 2018-06-14 20:34:10 -05:00
Dana Hoffman
d884312f88
don't error if service account key is already gone on delete (#1659)
Fixes #1657
2018-06-14 14:49:24 -07:00
The Magician
f4e4d880c5 Autogenerate Route resource. (#1647) 2018-06-14 15:22:02 -05:00
Daisuke Fujita
b7f2025fb9 Add project to container_node_pool import name (#1653)
## What

As well as https://github.com/terraform-providers/terraform-provider-google/pull/1282 , make `resource_container_node_pool` importer accept `{project}/{zone}/{cluster}/{name}` format to specify the project where the node pool belongs to actually.

## Why

Sometimes I want to import container pool in different project from default SA's. However, currently there is no way to specify project the target node pool belongs to, Terraform tries to retrieve node pool from SA's project, then it fails due to `You cannot import non-existent resources using Terraform import.` error.
2018-06-14 09:54:08 -07:00