Commit Graph

1270 Commits

Author SHA1 Message Date
Paddy
0b8c9644d7
Merge pull request #1944 from colenet-gmbh/master
Importing  google_dns_managed_zone with project
2018-09-20 14:23:36 -07:00
Paddy
d9614d1664
Merge pull request #2054 from migibert/make_runtime_config_importable
Make runtime configs importable
2018-09-20 14:09:16 -07:00
The Magician
87204bf8aa Sort optional properties by name (#2091)
<!-- This change is generated by MagicModules. -->
/cc @danawillow
2018-09-20 13:22:36 -07:00
Paddy Carver
791c508755 Check for project deletion when refreshing/deleting project_service.
When reading or deleting the google_project_service resource, first
retrieve the project. If it's not found, or if it's pending deletion,
remove the service, as it's functionally disabled.

Also, add a test to confirm the behaviour.

This should resolve #1292.
2018-09-20 12:54:21 -07:00
Riley Karson
72b759dbd3
Remove binary_log_enabled from Postgres test, as it's unsupported (#2075)
\+ update docs.

This must have silently failed in the API before? It doesn't work & is tested upstream now. Binary logs are a non-feature of Postgres.
2018-09-20 12:43:55 -07:00
Ville Törhönen
80e03f7f28 Set computed flag for 'max_pods_per_node' (#2077) 2018-09-19 14:46:41 -07:00
Nathan McKinley
46d297b8c8
Add Filestore client to config. (#2074) 2018-09-18 15:50:51 -07:00
Chris Hawk
771c2f8512 Update vendored deps (#1967)
I'm working on Stackdriver monitoring in another branch, which required updating `google.golang.org/genproto`, which required updating `google.golang.org/grpc`, which required updating `github.com/golang/protobuf`, and so on. This PR updates all of the Google-provided deps to their latest versions. In addition, there is:

- A change in config.go to reflect an updated type name
- Five files changed by `make fmt`

Tested with `make build`, `make test`, and `make testacc`.
2018-09-18 12:50:17 -07:00
Riley Karson
d656e9139a
Add a datasource for google_compute_instance (#1906)
* Add a compute datasource.

* Add provider changes.

* Add self_link support to google_compute_instance datasource.

* Error check complex d.Set calls.
2018-09-18 09:02:48 -07:00
The Magician
c9f1a9ed01 Add tests based on google_compute_address examples. (#2017)
<!-- This change is generated by MagicModules. -->
/cc @rileykarson
2018-09-17 12:31:57 -07:00
Dana Hoffman
cc98692acd
move all remaining import_ tests into resource-specific tests (#2060)
I also did a bit of cleanup while I was here and noticed things that I thought could be improved in the files (wording changes, removing tests that aren't quite necessary, etc.) Take a look and make sure I didn't actually remove anything important!
2018-09-17 11:15:11 -07:00
Riley Karson
548f3685b1
Reduce rig datasource test target size to 1. (#2064)
So, every time this test fails we are leaving behind 10 CPUs. This is a big cause of our quota problem because we are at 70!! right now. We still need to fix the test but let's also reduce this count to 1 so we leave 1/10th of the zombie instances.

Changing from a new to legacy health check also did not work so I have no clue what the issue is here. Observing the instances, they are shown as being stuck in "Instance is being verified" state for up to days.
2018-09-17 10:03:43 -07:00
emily
dcde015f84
just make sweeper warn instead of error (#2057) 2018-09-14 14:04:48 -07:00
Dana Hoffman
9d02137703
change delay in region instance group data source test (#2047)
We had a failure in the last CI run while waiting for this resource to be created, so let's increase the timeout.

```
------- Stdout: -------
=== RUN   TestAccDataSourceRegionInstanceGroup
--- FAIL: TestAccDataSourceRegionInstanceGroup (631.53s)
	testing.go:518: Step 0 error: Error applying: 1 error(s) occurred:
		
		* google_compute_region_instance_group_manager.foo: 1 error(s) occurred:
		
		* google_compute_region_instance_group_manager.foo: timeout while waiting for state to become 'created' (last state: 'creating', timeout: 5m0s)
	testing.go:579: Error destroying resource! WARNING: Dangling resources
		may exist. The full state and error is shown below.
		
		Error: Error refreshing: 1 error(s) occurred:
		
		* google_compute_region_instance_group_manager.foo: 1 error(s) occurred:
		
		* google_compute_region_instance_group_manager.foo: google_compute_region_instance_group_manager.foo: timeout while waiting for state to become 'created' (last state: 'creating', timeout: 5m0s)
		
		State: 
FAIL
```
2018-09-14 13:36:58 -07:00
Dana Hoffman
f7630cb5f0
get dataproc logs when jobs fail in test (#2049)
The hadoop test passes for me locally but fails in CI, so this should give some extra debugging information (my user acct doesn't have permissions to read the dataproc logs from the failing test).

WIP for now because I want to make sure this method of reading the logs works.
2018-09-14 13:36:32 -07:00
The Magician
dc27ea8e49 Add missing quotation marks to compute_ssl_certificate tests (#2042)
<!-- This change is generated by MagicModules. -->
/cc @rileykarson
2018-09-14 13:30:33 -07:00
Mikael Gibert
1acfc5484a Make runtime configs importable 2018-09-14 14:16:07 +02:00
emily
35e9b16583
Fix Composer Test flakes/bucket sweeper (#2052)
* make delete timeout for composer environments in test longer

* fix sweeper

* fix bucket deletion in sweeper
2018-09-14 01:07:29 -07:00
Riley Karson
e47fe75cd7
Remove hardcoded version in resource_container_node_pool_test.go (#2046) 2018-09-13 14:13:38 -07:00
Dana Hoffman
58ca18e2bf
replace dataproc preview version (#2048) 2018-09-13 13:06:33 -07:00
Riley Karson
fe3e7a7d83
Fix flaky TestAccComputeDisk_timeout test (#2005)
TestAccComputeDisk_timeout is expected to fail 27.77% of the time because acctest.RandString can start with a number, making an invalid `name`. Let's fix that :)
2018-09-13 12:48:29 -07:00
Riley Karson
0a960f5e8c
Fix sql_db test resource name that could start with a #. (#2043)
* Fix test resource name that could start with a #.

* Use acctest.RandomWithPrefix
2018-09-13 10:23:19 -07:00
Jamie Lennox
c24d622b8f Set correct nodepool Id using 4 part importer (#2035)
The ID that is created for a nodepool is 3 parts in the form of
<location>/<cluster>/<nodepool>. When we use the newer 4 part import
format the ID becomes that string. Then when checking the existence of
the nodepool the name is incorrectly parsed out of the ID.

When using the 4 part import form we need to set the correct ID so that
terraform can parse the name from the ID.

Closes: #1846
2018-09-12 18:44:52 -07:00
Nathan McKinley
ab4eef468c
Fix _withPrivateCluster container test. (#2041) 2018-09-12 17:58:11 -07:00
Nathan McKinley
81f8befbb5
Add support for max pods per node to node pool. (#2038) 2018-09-12 17:49:26 -07:00
The Magician
51108005fa Autogenerate google_compute_ssl_certificate. (#2015)
<!-- This change is generated by MagicModules. -->
/cc @rileykarson
2018-09-12 15:55:49 -07:00
Chris Stephens
c8acdf8916
Service account email for SQL instances (#2040)
Fixes https://github.com/terraform-providers/terraform-provider-google/issues/632
2018-09-12 15:43:47 -07:00
Nathan McKinley
f05d62c89e
Enable multiple alias IP ranges for compute instance. (#2029)
* Enable multiple alias IP ranges for compute instance.
2018-09-11 17:37:35 -07:00
emily
46001de06d
Fix Composer test sweeper (#2032)
* fix composer sweeper

* make fmt
2018-09-11 17:27:48 -07:00
Michael Haro
24c9cc7481 Remove duplicate ProjectIDRegex variable (#1878)
* Remove duplicate ProjectIDRegex variable

* update validation and test for new regex
2018-09-11 13:27:14 -07:00
emily
017f2f9b54
Add Cloud Composer Environments resource (#2001)
Adds Cloud Composer Environment resource and test sweeper
2018-09-11 13:13:11 -07:00
Chris Stephens
afcbb859ca
Attached disk resource (#1957)
* Adding resource_attached_disk

This is a resource which will allow joining a arbitrary compute disk
to a compute instance. This will enable dynamic numbers of disks to
be associated by using counts.
2018-09-11 13:08:14 -07:00
Chris Stephens
82e19ea060
Merge pull request #2009 from chrisst/is-1803-dns-labels
Add labels functionality to managed DNS
2018-09-11 13:03:56 -07:00
Chris Morgan
55991833f4 #644 Add Support For BigQuery Access Control (#1931)
* Updates based on PR comments

* Fix markdown nested list

* Second round of feedback

* Clarify pick one docs
2018-09-11 12:27:10 -07:00
Nathan McKinley
aab9e9e0c2
Source repo import. (#2020) 2018-09-11 10:55:55 -07:00
Harry Pidcock
65669fc6d6 Added Environment Variables configuration to Cloud Functions (#1830) 2018-09-10 17:37:43 -07:00
Riley Karson
37de4312e3
go tool fix google (#2019) 2018-09-10 15:07:48 -07:00
emily
b1338b4ee7
Allow recreation of recently deleted project and org custom roles (#1681)
* undelete-update recently soft-deleted custom roles

* remove my TODO statements

* check values on soft-delete-recreate for custom role tests

* final fixes to make sure delete works; return read() when updating to 'create'

* check for non-404 errors for custom role get

* add warnings to custom roles docs
2018-09-10 11:36:16 -07:00
Chris Stephens
c74d7d2c60 Add labels functionality to managed DNS 2018-09-07 16:53:40 -07:00
The Magician
8212820076 Store vpn_tunnel.router as a self_link. Fixes #1963. (#2003)
<!-- This change is generated by MagicModules. -->
/cc @danawillow
2018-09-07 15:36:34 -07:00
Mikaël Gibert
af3e7375b9 Add region choice to dataflow jobs (#1979)
Fixes #1600
2018-09-07 10:48:33 -07:00
Ralf Waldvogel
90980c1b24 Merge branch 'master' of https://github.com/terraform-providers/terraform-provider-google 2018-09-07 06:26:08 +02:00
Chris Stephens
30773a784d Setting a default update_mask for all log sinks
[According to log sink documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/sinks/update)
the api will eventually throw an error if update mask isn't provided. The
default specified here is what the api is currently using when an empty mask
is passed.
2018-09-06 09:48:48 -07:00
Riley Karson
035a581b9f
Add import support for org, folder, billing logging sinks (#1860)
Fixes #1494.

* Add import support for `google_logging_organization_sink`, `google_logging_folder_sink`, `google_logging_billing_account_sink`.

Using `StateFunc` over `DiffSuppressFunc` should only affect tests; for some reason `TestAccLoggingFolderSink_folderAcceptsFullFolderPath` expected a `folder` value of `folders/{{id}}` vs expecting `{{id}}` when only `DiffSuppressFunc` was used, when in real use `DiffSuppressFunc` should be sufficient.
2018-09-06 08:14:55 -07:00
Paddy Carver
5cf6a5d131 Fix perma-diff on instance templates.
When using instance templates, if you use one of our image shorthands at
the moment, you'll get a perma-diff. This is because the config gets
resolved to another format before it is set in state, and so we need to
set that other format in state.

Unfortunately, resolving images requires network access, so we have to
do this with CustomizeDiff. CustomizeDiff was having trouble (I think?
More on this below) on setting a field as not ForceNew once the field
was already set, so I moved the decision for whether a field was
ForceNew or not into CustomizeDiff. I also resolved the old and new
images, and if they were the same, cleared the diff.

Unfortunately, you can't actually clear a field on a sub-block right
now. You have to clear top-level fields only. So this will currently
throw an error. I opened hashicorp/terraform#18795 to fix that. Once
that's merged, and we vendor it here, this patch fixes the problem.

If hashicorp/terraform#18795 doesn't get merged, the next best
workaround is to keep track of _all_ the fields under `disk` with a diff
in our CustomizeDiff, check whether they've all changed or not, and if
they've all changed, clear the changes on `disk`, which I _think_ will
resolve the issue. That's just a massive pain, unfortunately.
2018-09-05 17:35:44 -07:00
Paddy Carver
010c0f3288 Update README and run fmt. 2018-09-05 15:24:22 -07:00
Riley Karson
c8ba3c0b3f
Cleaned up google_project_usage_export_bucket code and docs. (#1922) 2018-09-05 10:31:35 -07:00
Nathan McKinley
9065b5a624 Addition of create_subnetwork and other fields relevant for Alias IPs (#1921)
* Addition of create_subnetwork and use_ip_aliases.

* add fields for [cluster|services]_ipv4_cidr_block and subnetwork_name
2018-09-05 09:52:06 -07:00
emily
27ade47e5a
Fixes for importing sql database instances (#1956)
* fix importing for sql resources

* fmt

* fix id for sql db import, tests

* change test names to be more specific
2018-08-28 16:51:37 -07:00
The Magician
2afafa0573 Magic Modules changes. (#1951) 2018-08-28 16:48:00 -07:00
emily
10ec7b2ca9
Use beta API location for google_container_engine_versions (#1939)
* use beta API location for  data source

* doc fixes

* use getLocation

* add note to docs about required locations
2018-08-28 11:37:07 -07:00
The Magician
f1f0bc97e2 Autogenerate HealthCheck resource (#1941) 2018-08-27 16:35:47 -07:00
emily
83406c3c5f
fix possible error from nil check (#1942) 2018-08-27 16:22:06 -07:00
Ralf Waldvogel
880f90d7d2 - added Importer for resource_dns_managed_zone
- added tests and acceptance tests
2018-08-26 10:04:54 +02:00
emily
7e82a982e4
Fix service account key data source name (#1932)
* fix service account key data source name

* switch id to name

* update docs

* doc format

* fixes for validation and tests

* last fixes for service account key data source
2018-08-24 15:29:27 -07:00
emily
96b17536b9
Initial TF commits needed for cloud composer support (#1926)
* add cloud composer vendor

* init composer client and resource map
2018-08-22 15:59:05 -07:00
Paddy
5d48dc81d2
Merge pull request #1916 from terraform-providers/paddy_disk_image_url_in_templates
Always set instance template source images on read.
2018-08-22 14:42:44 -07:00
Dana Hoffman
d90e7fb4f6
fix panic on gke binauth (#1924) 2018-08-22 12:47:43 -07:00
Paddy
38790dab3f
Merge pull request #1915 from terraform-providers/paddy_fix_disk_timeout
Fix failing disk test.
2018-08-22 11:52:11 -07:00
Paddy
cd32fdfad4
Merge pull request #1917 from terraform-providers/paddy_debian_resolve_image
Fix the last of the debian-8 updates.
2018-08-22 11:51:49 -07:00
Riley Karson
fbad37ebff
Fix storage notification tests (#1913)
* Update google_storage_project_service_account to mirror API.

* Fix storage notifications test, clarify docs.
2018-08-22 08:19:52 -07:00
Paddy Carver
787bccdb0e Fix the last of the debian-8 updates. 2018-08-21 19:40:03 -07:00
Paddy Carver
b94881b423 Always set instance template source images on read.
Previously, we were only setting source images for the disks in instance
templates if they weren't set in the config. Instead, let's just always
set them. This fixes our test failures about self_links not matching
names. Also, relative links are safer than just image names, as
Terraform wouldn't notice if another project's image of the same name
got used instead of your project's.

Also fix the setting of tags and tag fingerprints to always set, even if
to the empty value, to fix the tests.
2018-08-21 18:32:25 -07:00
Paddy Carver
451391bdd7 Fix failing disk test.
Change Create to create in timeouts to fix failing test.
2018-08-21 17:55:38 -07:00
The Magician
875f1f874e Generate resource_compute_firewall in magic-modules. I also decided to use PATCH instead of PUT for updates, because a lot of the fields we had marked as ForceNew can be updated with PATCH. (#1907)
<!-- This change is generated by MagicModules. -->
/cc @danawillow
2018-08-21 14:12:46 -07:00
Paddy
1bcddf995a
Merge pull request #1879 from terraform-providers/paddy_image_fix
Switch from debian-8 to debian-9
2018-08-21 13:40:31 -07:00
Paddy Carver
be76ffaa78 Fix whitespace, really.
Tabs v spaces strikes again.
2018-08-21 13:36:04 -07:00
Riley Karson
3f0088515a Add a detailed error message to google_project Create when lacking permissions. (#1910) 2018-08-21 12:42:03 -07:00
David Asabina
bf7626a5c6 Fix panic on empty list for authorized masters' cidr_blocks (#1904)
* test empty authorized masters' cidr_blocks

When the `cidr_block` isn't simply blank but contains an empty list as in

```
master_authorized_networks_config {
  cidr_blocks = []
}
```

a panic occurs looking something like

```
goroutine 26 [running]:
github.com/terraform-providers/terraform-provider-google/google.expandMasterAuthorizedNetworksConfig(0x15a4f80, 0xc4202586e0, 0x21)
	/tmp/GOPATH/src/github.com/terraform-providers/terraform-provider-google/google/resource_container_cluster.go:1355 +0x4f2
github.com/terraform-providers/terraform-provider-google/google.resourceContainerClusterCreate(0xc420146a80, 0x16b1800, 0xc4200b8000, 0x0, 0x0)
	/tmp/GOPATH/src/github.com/terraform-providers/terraform-provider-google/google/resource_container_cluster.go:520 +0x2848
github.com/terraform-providers/terraform-provider-google/vendor/github.com/hashicorp/terraform/helper/schema.(*Resource).Apply(0xc420495490, 0xc420341310, 0xc4202582c0, 0x16b1800, 0xc4200b8000, 0x1, 0xc42024eae0, 0xc4201e3650)
	/tmp/GOPATH/src/github.com/terraform-providers/terraform-provider-google/vendor/github.com/hashicorp/terraform/helper/schema/resource.go:227 +0x364
github.com/terraform-providers/terraform-provider-google/vendor/github.com/hashicorp/terraform/helper/schema.(*Provider).Apply(0xc4204c6700, 0xc4203412c0, 0xc420341310, 0xc4202582c0, 0x14ee1441a000, 0x0, 0x18)
	/tmp/GOPATH/src/github.com/terraform-providers/terraform-provider-google/vendor/github.com/hashicorp/terraform/helper/schema/provider.go:283 +0xa4
github.com/terraform-providers/terraform-provider-google/vendor/github.com/hashicorp/terraform/plugin.(*ResourceProviderServer).Apply(0xc4202d7c40, 0xc42035de80, 0xc42025c160, 0x0, 0x0)
	/tmp/GOPATH/src/github.com/terraform-providers/terraform-provider-google/vendor/github.com/hashicorp/terraform/plugin/resource_provider.go:527 +0x57
reflect.Value.call(0xc4203feae0, 0xc42000e038, 0x13, 0x19e88a8, 0x4, 0xc42015ff20, 0x3, 0x3, 0xc420047ee8, 0xc4204c6798, ...)
	/usr/local/go/src/reflect/value.go:434 +0x905
reflect.Value.Call(0xc4203feae0, 0xc42000e038, 0x13, 0xc420047f20, 0x3, 0x3, 0xc400000001, 0x0, 0x0)
	/usr/local/go/src/reflect/value.go:302 +0xa4
net/rpc.(*service).call(0xc420418600, 0xc42007c140, 0xc42001e798, 0xc4200c4000, 0xc4202d6c40, 0x1557f80, 0xc42035de80, 0x16, 0x1557fc0, 0xc42025c160, ...)
	/usr/local/go/src/net/rpc/server.go:381 +0x142
created by net/rpc.(*Server).ServeCodec
	/usr/local/go/src/net/rpc/server.go:475 +0x36b
```

which we trigger by altering the first step to contain the HCL notation
for an empty list instead of simply an empty string.

In order to accomplish this, the tests had to be modified to accept an
emptyValue string as well which contains the content of the
`emptyValue` string when the cidrBlocks array is empty. This maintains
the old behavior of the original tests when `emptyValue` is an empty
string, while also facilating differing behavior for the new testcase by
setting `emptyValue` to whichever string we want to test instead. I
don't think this is very clean, but I guess it's pragmatic enough.

I'll hear if this is a thorn in the side to someone 😏.

* avoid panic on cidr_block type assertion

This is basically the fix. Since the value can be nil, we want to ensure
we handle a failure during the assertion since we know that asserting
`nil` conforms to `map[string]interface{}` will cause a run-time panic.

* flatten to config on empty list for cidr_blocks

since an empty list for cidrBlocks constitutes valid input, one should
return a map containing an empty list for the cidr_blocks field instead
of a nil value.

The nil value is only appropriate when the input Config is also nil.
2018-08-20 19:29:37 -07:00
The Magician
3ff7ccca7c Add Policy, Attestor, and Note resources for Binary Authorization (#1885)
<!-- This change is generated by MagicModules. -->
/cc @danawillow
2018-08-20 16:46:13 -07:00
Nathan McKinley
ea4a6438d8
Handle service account key 403 on nonexistent resource requested (#1900)
* 403 on delete / read should count as deleted for this product.
2018-08-17 16:00:13 -07:00
Nathan McKinley
d77c0adbb2
Add support for bucket encryption (#1876)
* Support encryption in Storage bucket.
* Add self links to crypto keys and key ring ids
* Update ID documentation to talk about self link instead.
2018-08-17 14:33:27 -07:00
Dana Hoffman
d1bf585724
Add support for binary authorization in GKE (#1884)
* revendor container/v1beta1

* add support for binauthz in gke

* update description
2018-08-16 17:51:03 -07:00
Nathan McKinley
f9f95e444d
Correctly update regional resource. (#1887) 2018-08-16 13:57:41 -07:00
The Magician
085a05cefc Fix region disk type (#1890)
<!-- This change is generated by MagicModules. -->
/cc @danawillow
2018-08-16 12:29:39 -07:00
The Magician
81420a2e57 move getProject/op call and allow sending objects in delete (#1888) 2018-08-16 12:16:14 -07:00
Riley Karson
8506527a80 Add support for boot_disk_type to google_dataproc_cluster (#1855) 2018-08-15 23:00:11 -07:00
Nathan McKinley
0909aa5b20
If a router interface or peer is the last one, ensure it's removed. (#1877) 2018-08-15 22:49:36 -07:00
Christoph Blecker
60dc8bccad Add google_project_services data source (#1822) 2018-08-15 15:45:54 -07:00
The Magician
3db96c9073 Make flatteners of sets return sets (#1880)
<!-- This change is generated by MagicModules. -->
/cc @danawillow
2018-08-15 13:46:55 -07:00
Paddy Carver
bfcb07bdfb Fix migration tests. 2018-08-15 13:30:24 -07:00
Paddy Carver
b2405d8da0 Fix bad paste. 2018-08-15 13:26:02 -07:00
Paddy Carver
f9c6993990 Fix whitespace. 2018-08-15 13:23:31 -07:00
Alexey Medvedchikov
3fc71ee432 Don't recreate google_container_cluster on master_auth change (#1873)
* Update google_container_cluster master_auth username and password without recreation of cluster, using setMasterAuth method

* Add tests to update and disable master_auth password and username values
2018-08-15 12:50:17 -07:00
Paddy Carver
614b98b3fc Fix indenting. 2018-08-15 12:29:11 -07:00
Harry Pidcock
8fbbee00b9 Fix cloud function sourceArchiveUrl incorrect interpretation. (#1844) 2018-08-14 17:09:32 -07:00
Megumi Tomita
004c010b33 Add supported locations of cloudfunction (#1863)
Cloudfunction facility is now supported in 4 locations.
This pull-request updates the list to catch up with it.
2018-08-14 17:07:43 -07:00
Walker
c810e4b408 provider: Ensures schema.TypeMap elements are schema.Schema (#1835) 2018-08-14 16:53:39 -07:00
Nathan McKinley
841926e07b
Fix project iam policy import to work even without provider project. (#1875) 2018-08-14 14:17:01 -07:00
Michael Haro
2c4afd3aec Allow other forms of project names to be matched. (#1865) 2018-08-14 11:48:08 -07:00
Nathan McKinley
4408183c9f
Suppress diff for ubuntu-minimal-lts as well as ubuntu-lts. (#1870) 2018-08-14 11:24:37 -07:00
Paddy Carver
dd56795f2a Use family, not name, in image data source. 2018-08-14 11:18:39 -07:00
Paddy Carver
5c9ce55172 Continue our deprecation of debian-8. 2018-08-13 16:20:33 -07:00
Landon Spear
f604f3eac2 Add us-west2 to app engine locations (#1867) 2018-08-13 14:23:10 -07:00
Chris Stephens
a0e0afc537
Merge pull request #1848 from chrisst/link-helper-comments
Clarifying helper method usage
2018-08-13 11:22:17 -07:00
Paddy Carver
a13bcfbda1 Start updating to use the latest debian release. 2018-08-13 10:31:18 -07:00
The Magician
41d92fda3e Remove request helper methods. (#1856)
Since we added custom verbs for a lot of resources, we should just use sendRequest directly.
2018-08-08 15:29:10 -07:00
Nathan McKinley
d01c0cd60e
Fixes related to autogenerating the VPN Tunnel resource (#1850) 2018-08-07 17:55:45 -07:00
Dana Hoffman
00e5bd5363
allow updating node image types (#1843)
Fixes #1702.

@chrisst I'm putting you as a reviewer, but no rush. Feel free to ask as many questions as you have! Also feel free to offer suggestions 😃 (or just say it's perfect as-is, that works too)
2018-08-07 14:07:28 -07:00
Chris Stephens
d94100dee4 Clarifying helper method usage
Changing comments and method signature
2018-08-07 11:32:35 -07:00
Dana Hoffman
c5388d27c4
add hash function for self link name (#1836) 2018-08-03 16:23:21 -07:00
The Magician
a6e1ecad7a Make redis alternativeLocationId computed (#1754) 2018-07-26 17:35:18 -07:00
Dan Isla
bb6c757ad1 Container cluster delete timeout to 30 min. (#1745)
Matches Create operation timeout. Should reduce timeouts when deleting regional clusters.
2018-07-26 10:22:39 -07:00
Nathan McKinley
aaf18dacca
CloudBuild Trigger substitutions (#1810) 2018-07-25 13:38:35 -07:00
The Magician
0fdc262183 Add LabelFingerprint and Label to Address and GlobalAddress. (#1811) 2018-07-25 13:25:16 -07:00
oceyral
7da529f3c1 Implement multiple versions for regional instance groups (#1809) 2018-07-25 13:21:20 -07:00
Dana Hoffman
b8cf81e527
use customizediff to allow all role-entity pairs to be unordered (#1787) 2018-07-24 15:36:30 -07:00
Dana Hoffman
b4bb79f58e
lock on master name when creating replicas (#1798) 2018-07-24 15:32:18 -07:00
Dana Hoffman
080f6fe2e1
don't call full read when updating billing acct (#1795) 2018-07-19 13:32:29 -07:00
The Magician
cacdaec642 handle nil resourceref links in generated code (#1794)
<!-- This change is generated by MagicModules. -->
/cc @danawillow
2018-07-19 12:26:40 -07:00
Dana Hoffman
7c47e13aa6
Changes to things that got merged too early (#1790) 2018-07-18 15:47:23 -07:00
Luke Hoban
cf4e731236 Add support for updating function code in place (#1781)
Remove ForceNew from the source inputs on function resources, and add support for updating the function in place from a new source bucket+object.
2018-07-18 14:48:00 -07:00
The Magician
c0610c5544 Add google_compute_region_disk resource. (#1755)
<!-- This change is generated by MagicModules. -->
/cc @danawillow
2018-07-18 14:24:21 -07:00
The Magician
0e29432a32 use compareSelfLinkOrResourceName diffsuppress on redis authorizednetwork. Fixes #1750. (#1782)
<!-- This change is generated by MagicModules. -->
/cc @danawillow
2018-07-18 13:34:47 -07:00
The Magician
aa20a0efe7 Support unordered list on subnetwork secondary IP range. (#1772) 2018-07-17 15:18:18 -07:00
Paddy
1fea758265
Merge pull request #1779 from danawillow/is-1775
allow setting instance scheduling booleans to false
2018-07-17 00:07:14 -07:00
Dana Hoffman
335ccae604 force send a bunch more fields in firewall 2018-07-16 18:46:05 -07:00
The Magician
1f9de6ad13 use patch instead of put to update router. Fixes #1778. (#1780)
<!-- This change is generated by MagicModules. -->
/cc @danawillow
2018-07-16 14:56:03 -07:00
Dana Hoffman
547245bada allow setting instance scheduling booleans to false 2018-07-16 13:54:47 -07:00
Paddy
8753eb0268
Merge pull request #1769 from terraform-providers/paddy_1767
Fix crash when updating container cluster resource labels.
2018-07-13 14:21:05 -07:00
Paddy Carver
c404cd740b Use map helper. 2018-07-13 14:14:00 -07:00
The Magician
ba2ea638ee Turn off logs on compiler unless you use --debug flag (#1771) 2018-07-13 11:13:29 -07:00
Paddy Carver
0435b1f387 Fix crash when updating container cluster resource labels.
We had a bad type coercion in the code to update container cluster
resource labels. This fixes the coercion.

We didn't notice this because there was no test exercising the update
code path. I've added the test, which reproduced the panic before this
PR was applied and passes successfully now that the coercion is fixed.
2018-07-13 02:27:40 -07:00
Nathan McKinley
687f8d0857 Sometimes we run tests on overloaded machines. (#1765) 2018-07-12 17:39:54 -07:00
The Magician
01a2906518 Fix nested object handling in generated code (#1757)
<!-- This change is generated by MagicModules. -->
/cc @danawillow
2018-07-12 17:15:40 -07:00
Paddy Carver
d80c92f33f Add stackdriverprovisioning to ignored APIs.
Add stackdriverprovisioning.googleapis.com to our list of APIs that are
automateically enabled that Terraform can't act on.
2018-07-12 13:40:30 -07:00
Paddy
e08832c48c
Revert "Fix instance group manager rolling-updates" 2018-07-12 13:09:57 -07:00
The Magician
499690f3b3 Autogenerate router resource. Also adds update support and a few new fields. (#1723) 2018-07-12 12:51:11 -07:00
Paddy Carver
a29a0cbbda Make licenses field of images computed.
Images now have a licenses field, which lets users specify licenses to
use on an image. But official images already have licenses on them, adn
so Terraform is reading those as a diff. To preserve backwards
compatiblity and avoid a breaking change that would require all
`google_compute_image` users to update their configs, I've set the field
to computed. This means that if no licenses are set in the config, there
can be licenses in the config without prompting a diff. Obviously, this
isn't ideal, as it means you can't ever remove all the licenses from an
image, but I think the benefits here outweigh the drawbacks.
2018-07-12 11:50:02 -07:00
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
Dana Hoffman
d424cf05ba
fix iot updatemask and docs (#1640) 2018-06-13 12:37:21 -07:00
Dana Hoffman
0497eec580
use same mutex for project_iam_policy as the other project_iam resources (#1645) 2018-06-13 12:35:49 -07:00
The Magician
d4b4436feb Store address region as short name instead of full URL. Fixes currently failing test TestAccComputeVpnTunnel_defaultTrafficSelectors. (#1646)
<!-- This change is generated by MagicModules. -->
/cc @danawillow
2018-06-13 11:35:04 -07:00
The Magician
50f00fa6dc Autogenerate the Address resource. (#1634) 2018-06-11 17:31:33 -07:00
Dana Hoffman
f0c5b34a1d
add error checking for bigquery dataset id (#1638)
* add error checking for bigquery dataset id

* use existing regexes for import validation
2018-06-11 14:20:11 -07:00
The Magician
605c950b18 Add DiffSuppress for global address ip_version. IPV4 and empty are equivalent, but the API will return whichever one was sent on creation. Fixes #1637. (#1639) 2018-06-11 14:17:04 -07:00
Dana Hoffman
13eba21650
update sql user docs/comments (#1635) 2018-06-11 13:47:01 -07:00
Paddy
430b735dd0
Merge pull request #1621 from terraform-providers/paddy_app_engine_app
Make App Engine applications updatable
2018-06-11 13:09:50 -07:00
Paddy
8f9d0785f2
Merge pull request #1622 from terraform-providers/paddy_undeprecate_ssl_name_prefix
Undeprecate name_prefix for ssl_certificate.
2018-06-11 13:09:08 -07:00
Dana Hoffman
c505255556
changes to make it easier to autogen address (#1607) 2018-06-08 16:35:36 -07:00
The Magician
877f8107f8 Check for done redis operations before waiting on them. Fixes #1630. (#1633) 2018-06-08 16:32:24 -07:00
Dana Hoffman
d00e55f11b
check for done operations before waiting on them (#1632) 2018-06-08 16:04:55 -07:00
The Magician
d7d72398b6 zone field in compute disk should be optional (#1631) 2018-06-08 15:20:39 -07:00
Vincent Roseberry
4f89945cce
Store v1 self_link for network and subnetwork (#1629) 2018-06-08 09:55:21 -07:00
Olve S. Hansen
d605e0f170 Fixes #1624 - issues with consecutive whitespace. (#1625) 2018-06-08 09:37:29 -07:00
Vincent Roseberry
32d965062d
Support update for DNS Managed Zone (#1617)
* vendor google.golang.org/api/dns/v1beta2

* Support update for DNS Managed Zone
2018-06-08 09:27:08 -07:00
Paddy
470f27b659 Undeprecate name_prefix for ssl_certificate.
As discussed in #1326, we're not going to remove name_prefix for
compute_ssl_certificate, because it makes the common use case more
ergonomic by a good amount, and the only cost is it's harder to maintain
the autogenerated code, and we've decided the benefits outweigh the
costs in this circumstance.
2018-06-07 18:29:45 -07:00
Paddy
8296c16168 Remove extraneous Exists checks in App Engine tests. 2018-06-07 18:16:48 -07:00
Paddy
4176a98949 terraform fmt all configs in project_test. 2018-06-07 18:14:43 -07:00
Paddy
6910d8277e SetPartial on app_engine. 2018-06-07 18:11:07 -07:00
Paddy
4999637399 Remove unnecessary CustomizeDiff function. 2018-06-07 18:09:51 -07:00
Paddy
16ab5bb14b Reorder fields. 2018-06-07 18:09:14 -07:00
Paddy Carver
6d040db9d8 Really fix location_id force new. 2018-06-07 15:37:30 -07:00
Sébastien GLON
d766990ce9 Add new google_compute_regions (#1603)
* Add new google_compute_regions

* Add docs

* correct doc
2018-06-07 09:52:12 -07:00
Dana Hoffman
e92fddd33e
Fix forwarding rule data source test (#1606) 2018-06-06 18:40:42 -07:00
The Magician
edb34aaaf7 Fix redis authorized network and tests. The Redis API currently only accepts partial links. The tests weren't failing because they weren't actually using the network (oops). There were a few other test issues that I fixed while I was there. Fixes #1571. (#1599)
<!-- This change is generated by MagicModules. -->
/cc @danawillow
2018-06-06 10:55:04 -07:00
Paddy Carver
53cc357b4c Fix network_tier tests.
Make network_tier computed, so when it's not specified we don't get a
permadiff.

Always store v1 self_links, so we don't get a permadiff.
2018-06-05 17:49:33 -07:00
Paddy Carver
9ebeeda1d2 Fix forcenew for location_id. 2018-06-05 15:31:52 -07:00
Dana Hoffman
2f5c77cd7f add support for network tiers (#1530)
* add support for network tiers

* Update resource_compute_forwarding_rule.go
2018-06-05 12:35:44 -07:00
Jamie Lennox
f8eb752809 Allow using in repo configuration for cloudbuild trigger (#1557)
* Allow using in repo configuration for cloudbuild trigger

Cloudbuild triggers have a complex configuration that can be defined
from the API. When using the console, the more typical way of doing this
is to defined the configuration within the repository and point the
configuration to the file that defines the config.

This can be supported by sending the filename parameter instead of the
build parameter, however only one can be sent.

* Acceptance testing for cloudbuild trigger with filename

Ensure that when a cloudbuild repo trigger is created with a filename,
that filename is what actually ends up in the cloud.

* Don't specify "by default" in cloudbuild-trigger.

The docs shouldn't say that "cloudbuild.yaml" is used by default. There
is no default from the APIs, but the console suggest using this value.
Just say it's the typical value in documentation.
2018-06-05 10:17:20 -07:00
The Magician
164936e4a5 add update support for redis (#1590)
* add update support for redis

* add test for redis update
2018-06-04 17:41:48 -07:00
Tenorio Orta JM
6864f1f9e5 Added GCP Netblock Data Source (#1416) (#1580)
* Added GCP Netblock Data Source (#1416)

* Added docs for google_netblock_ip_ranges (#1416)

* Code review changes (#1416)
2018-06-04 16:31:09 -07:00
Mikaël Gibert
d60381a693 Implement multiple version in instance group manager (#1499)
Hi there,

Here is an attempt to implement canary releases ( #1252 ). This is the first time I write golang and make a terraform contribution, I opened the PR to obtain feedback and advices so please let me know how I can improve this code!

In addition I used `make fmt` to format the code but left some lines bigger than 80 characters, do I need to split them ?

I tested the feature against a project with the following configuration:
```
resource "google_compute_health_check" "mikael-hackathon-healthcheck" {
  name                = "mikael-hackathon-healthcheck"
  check_interval_sec  = 1
  timeout_sec         = 1
  healthy_threshold   = 2
  unhealthy_threshold = 10

  http_health_check {
    request_path = "/"
    port         = "80"
  }
}

resource "google_compute_instance_template" "mikael-hackaton-template" {
  name_prefix = "mikael-hackaton-"
  description = "This template is used to create app server instances."

  tags = ["loadbalanced", "internal-web", "hackaton"]

  labels = {
    environment = "hackaton"
  }

  instance_description = "Hackaton demo rolling upgrade"
  machine_type         = "n1-standard-1"
  can_ip_forward       = false

  scheduling {
    automatic_restart   = true
    on_host_maintenance = "MIGRATE"
  }

  disk {
    source_image = "debian-cloud/debian-9"
    disk_type    = "pd-standard"
    disk_size_gb = 20
    auto_delete  = true
    boot         = true
  }

  network_interface {
    network       = "default"
    access_config = {}
  }

  service_account {
    email  = "${google_service_account.mikael-hackaton.email}"
    scopes = ["cloud-platform"]
  }

  lifecycle {
    create_before_destroy = true
  }

  metadata_startup_script = "apt-get update && apt-get install -y apache2 && echo I am stable version at $(hostname) > /var/www/html/index.html"
}

resource "google_compute_instance_template" "mikael-hackaton-template-canary" {
  name_prefix = "mikael-hackaton-canary"
  description = "This template is used to create app server instances."

  tags = ["loadbalanced", "internal-web", "hackaton"]

  labels = {
    environment = "hackaton"
  }

  instance_description = "Hackaton demo rolling upgrade"
  machine_type         = "n1-standard-1"
  can_ip_forward       = false

  scheduling {
    automatic_restart   = true
    on_host_maintenance = "MIGRATE"
  }

  disk {
    source_image = "debian-cloud/debian-9"
    disk_type    = "pd-standard"
    disk_size_gb = 20
    auto_delete  = true
    boot         = true
  }

  network_interface {
    network       = "default"
    access_config = {}
  }

  service_account {
    email  = "${google_service_account.mikael-hackaton.email}"
    scopes = ["cloud-platform"]
  }

  lifecycle {
    create_before_destroy = true
  }

  metadata_startup_script = "apt-get update && apt-get install -y apache2 && echo I am a canary at $(hostname) > /var/www/html/index.html"
}

resource "google_compute_target_pool" "mikael-hackaton-target-pool" {
  name = "mikael-hackaton-target-pool"
}

resource "google_compute_instance_group_manager" "mikael-hackaton-manager" {
  name = "mikael-hackaton-manager"
  base_instance_name = "mikael-hackaton"
  #instance_template = "${google_compute_instance_template.mikael-hackaton-template.self_link}"
  update_strategy   = "ROLLING_UPDATE"
  zone              = "${var.zone}"
  target_pools = ["${google_compute_target_pool.mikael-hackaton-target-pool.self_link}"]
  target_size  = 5

  version {
    name = "primary"
    instance_template = "${google_compute_instance_template.mikael-hackaton-template.self_link}"
  }

  version {
    name = "canary"
    instance_template = "${google_compute_instance_template.mikael-hackaton-template-canary.self_link}"
    target_size_fixed = 1
  }

  named_port {
    name = "http"
    port = 80
  }

  auto_healing_policies {
    health_check      = "${google_compute_health_check.mikael-hackathon-healthcheck.self_link}"
    initial_delay_sec = 10
  }

  rolling_update_policy {
    type                    = "PROACTIVE"
    minimal_action          = "REPLACE"
    max_surge_percent       = 100
    max_unavailable_percent = 50
    min_ready_sec           = 5
  }
}
```
2018-06-04 15:34:48 -07:00
Dana Hoffman
ac6e30d335
allow beta kubernetes logging; add monitoring validation (#1589)
Fixes #1577
2018-06-04 15:09:52 -07:00
The Magician
b85473619c Correct issue with Disk encryption. (#1584)
* Correct issue with Disk encryption.

* Update to test to make it less permissive.
2018-06-04 10:01:52 -07:00
The Magician
dd92a3732e Adds handleNotFoundError to all resource's Delete methods. (#1581) 2018-06-02 17:33:30 -03:00
The Magician
fd208dc7ca Autogenerate Disk resource (#1521). 2018-05-31 18:10:06 -07:00
Jonathan Pentecost
8f31fec857 New datasource: service account and service account key (#1535) 2018-05-31 17:31:45 -07:00
Seth Vargo
aff6bc6519 Retry while listing enabled services (#1573)
This fixes GH-1562 for realz
2018-05-31 14:50:38 -07:00
Paddy Carver
d0a6b2b5b5 Make App Engine applications updatable.
No longer ForceNew when adding an App Engine application to a project,
when modifying the auth domain, modifying the serving status, or
modifying the feature settings.
2018-05-31 14:26:24 -07:00
Seth Vargo
40094ba417 Lions, tigers, and services being enabled with "precondition failed", oh my! (#1565)
* Use errwrap to retain original error

* Use built-in Page function, only return names when listing services

This removes the custom logic on pagination and uses the built-in Page function in the SDK to make things a bit simpler. Additionally, I added a field filter to only return service names, which drastically reduces the size of the API call (important for slow connections, given how frequently this function is executed).

Also added errwrap to better trace where errors originate.

* Add helper function for diffing string slices

This just looked really nasty inline

* Batch 20 services at a time, handle precondition failed, better errwrap

This commit does three things:

1. It batches services to be enabled 20 at a time. The API fails if you try to enable more than 20 services, and this is documented in the SDK and API. I learned this the hard way. I think Terraform should "do the right thing" here and batch them in series' of twenty, which is what this does. Each batch is tried in serial, but I think making it parallelized is not worth the complexity tradeoffs.

2. Handle the precondition failed error that occurs randomly. This just started happened, but it affects at least two APIs consistently, and a rudimentary test showed that it failed 78% of the time (78/100 times in an hour). We should fix this upstream, but that failure rate also necessitates (in my opinion) some mitigation on the Terraform side until a fix is in place at the API level.

3. Use errwrap on errors for better tracing. It was really difficult to trace exactly which error was being throw. That's fixed.

* Updates from code review
2018-05-31 09:26:40 -07:00
The Magician
6240cf2ab4 Add support for SSL policy to google_compute_target_ssl_proxy (#1568) 2018-05-30 16:00:53 -07:00
Tenorio Orta JM
8a77e42698 Added support for restoring default organization policies (#1477)
* Added support for restoring default organization policies

* Added support for restoring default folder/project organization policies

* Refactored code

* Fixes #1239

* Clarify docs

* Clarify docs

* Clarify docs
2018-05-30 15:48:08 -07:00
Tenorio Orta JM
c6b0cfcbfa Added user label support in sql_database_instance (#1372) (#1567)
* Added user label support in sql_database_instance (#1372)

* Fixes #1372
2018-05-30 15:32:11 -07:00
Vincent Roseberry
ebbae91b77
Convert instance_group self_link to v1 (#1549) 2018-05-30 15:25:07 -07:00
Ian L
b4be2fa124 Add basic update for google_kms_crypto_key resource (#1511)
* Add basic update for `google_kms_crypto_key` resource

Prior to this commit, any changes to `rotation_period` would
force a new resource as no `Update` was defined for the resource.
This commit introduces a basic `Update` through calling the
`Patch` service method. It only modifies the `rotation_period`,
and `next_rotation_time` at the moment, but this is reflective
of what is "allowed" on https://console.cloud.google.com/security/kms.

* Remove unused `Purpose` value in `CryptoKey`

We are only patching the `rotation_period`, and `next_rotation_time`,
so that value will not be affected.

* nit: format `Patch` operation to be in a single line

* Extend `TestAccKmsCryptoKey_rotation` test steps

- Test change in rotation period
- Test removal of rotation period

* Do not parse `NextRotationTime` if it is not set

* remove ForceNew: false
2018-05-29 17:20:32 -07:00
Vincent Roseberry
e4c9b2d4b1
Add a DiffSupress for ipv6 shortening (#1551) 2018-05-29 14:43:39 -07:00
Vincent Roseberry
8bb494520f
project field for google_project_services can use the default provider project (#1553) 2018-05-29 14:26:58 -07:00
Vincent Roseberry
8c2f47ba69
Remove label from bucket (#1550)
* Remove label from bucket

* Remove debugging statement

* Fix typos
2018-05-29 14:23:37 -07:00
Dana Hoffman
dc46348d67
Add support for custom request headers in backend services (#1537)
* revendor compute beta apis

* changes to subnetwork iam from api revendoring

* add support for custom request headers in backend services
2018-05-29 13:29:40 -07:00
Dana Hoffman
1af48cddf5
add disabled property to firewall (#1536)
* add disabled property to firewall

* add test and change update to patch
2018-05-29 13:27:29 -07:00
Jamie Lennox
cd83bab7dc Use the project defined in the trigger_template when creating trigger (#1556)
When creating a trigger by using the project defined in the schema we
enforce that the repo must be in that same project. We should be looking
at the project defined in the trigger_template data and falling back to
that first project if not found.

Closes: #1555
2018-05-29 11:38:12 -07:00
Vincent Roseberry
f0857a09d5
Accept subnetwork name only in forwarding rule (#1552)
* Accept subnetwork name only in forwarding rule

* Fix acceptance test
2018-05-29 11:00:04 -07:00
Dana Hoffman
974c3f7646
Add GKE Shared VPC support (#1528)
All this needed was to allow setting the network/subnetwork to a self link.

~WIP for now because I want to run the tests in CI.~ Tests are passing.
2018-05-23 16:47:17 -07:00
Paddy
53450244c3
Merge pull request #1523 from terraform-providers/paddy_project_read_fix
Ignore API not enabled errors when reading project
2018-05-23 14:53:48 -07:00
Paddy
23acaf2dd3
Merge pull request #1524 from terraform-providers/paddy_eventual_services
Guard against eventually consistent services
2018-05-23 14:53:14 -07:00
The Magician
488b9e86f3 Redis resource (#1485)
<!-- This change is generated by MagicModules. -->
/cc @danawillow
2018-05-23 11:25:48 -07:00
Paddy Carver
4ec59fccea Guard against eventually consistent services
When enabling services, after the waiter returns, list the enabled
services and ensure the ones we enabled are in there. If not, retry. May
not always resolve #1393, but should help. Unfortunately, the real
answer is probably either:

1. For us to try and get the API updated to only return the waiter when
the service will consistently be available. I don't know how feasible
this is, but I'm willing to open a ticket.
2. For us to build retries into ~all our resources to retry for a set
amount of time when a service not enabled error is returned. This would
greatly slow down the provider in the case of the service legitimately
not being enabled, but is how other providers handle this class of
problem.

Unfortunately, due to the eventual consistency at play, this is a hard
issue to reproduce and prove, though it matches with my
experience--while testing this patch, one of the tests failed with the
error that the serviceusage API hadn't been enabled, but only on step 4
of the test, when calls had already succeeded. Which suggests eventual
consistency, to me. Regardless, this patch shouldn't _hurt_ and should
mostly be an imperceptible change to users, and should make instances
like #1393 less likely.
2018-05-23 04:01:05 -07:00
Dana Hoffman
20616e424d
Use new serviceusage API for google_project_service[s] (#1522)
* vendor service usage api

* use serviceusage api instead of servicemanagement for project services

* add bigquery-json to test

* add import for project service

* add serviceusage_operation.go
2018-05-22 17:45:22 -07:00
Paddy Carver
4c40febd4b Ignore API not enabled errors when reading project
When reading a project, both App Engine and Billing would fail if
_neither_ the default project the provider was configured with nor the
project being targeted had the App Engine Admin or Billing APIs
(respectively) enabled. We didn't catch this because our source project
obviously has both enabled.

This fixes the matter by checking the error returned from each of those,
and if it looks like an API not enabled error, logging it at warning
level instead of returning it as an error, which will let the read
proceed as usual.
2018-05-22 16:59:33 -07:00
emily
acaf767f33 Fix panic on empty maintenance window (#1507)
* fix maintenance window panic

* tiny cleanup
2018-05-22 13:31:39 -07:00
Shinichi TAMURA
028ec27ccf Fixed region_backend_service to calc hash using relative path (#1491)
Along the change on region_backend_service.backend[].group to use DiffSuppressFunc (#1487), we also need to change hash function, as [pointed out](https://github.com/terraform-providers/terraform-provider-google/pull/1487#issuecomment-389000239).

Fixed this in a same way regular backend services do.
https://github.com/terraform-providers/terraform-provider-google/blob/v1.12.0/google/resource_compute_backend_service_migrate.go#L102-L103
2018-05-22 13:05:38 -07:00
Tenorio Orta JM
9ac7acc164 Added name and project_id regex validations (#1498) (#1519) 2018-05-22 12:45:28 -07:00
Nathan McKinley
ca83ea530a
Revert #1510 and #1508. (#1515) 2018-05-21 13:09:15 -07:00
Dana Hoffman
bc8f3046ad
initial tf changes needed to support redis (#1513) 2018-05-21 12:01:06 -07:00
Paddy
cd7364d649
Merge pull request #1503 from terraform-providers/paddy_app_engine_app
Add App Engine Application support
2018-05-18 17:12:34 -07:00
Paddy Carver
98b6323342 Fix suggestions from @ndmckinley. 2018-05-18 17:01:40 -07:00
Nathan McKinley
6cc720cad3
File moves to prepare for removing 'resourceManager' hack in Magic Modules. (#1508) 2018-05-18 16:32:05 -07:00
Christoph Tavan
0bcb01266c Add google_logging_project_exclusion resource (#990)
Adds support for log exclusions in billingAccounts, organizations,
folders and projects, see:
https://cloud.google.com/logging/docs/exclusions

```
==> Checking that code complies with gofmt requirements...
TF_ACC=1 go test ./google -v -run=Exclusion -timeout 120m
=== RUN   TestAccLoggingBillingAccountExclusion_basic
=== PAUSE TestAccLoggingBillingAccountExclusion_basic
=== RUN   TestAccLoggingBillingAccountExclusion_update
=== PAUSE TestAccLoggingBillingAccountExclusion_update
=== RUN   TestAccLoggingFolderExclusion_basic
=== PAUSE TestAccLoggingFolderExclusion_basic
=== RUN   TestAccLoggingFolderExclusion_folderAcceptsFullFolderPath
=== PAUSE TestAccLoggingFolderExclusion_folderAcceptsFullFolderPath
=== RUN   TestAccLoggingFolderExclusion_update
=== PAUSE TestAccLoggingFolderExclusion_update
=== RUN   TestAccLoggingOrganizationExclusion_basic
=== PAUSE TestAccLoggingOrganizationExclusion_basic
=== RUN   TestAccLoggingOrganizationExclusion_update
=== PAUSE TestAccLoggingOrganizationExclusion_update
=== RUN   TestAccLoggingProjectExclusion_basic
=== PAUSE TestAccLoggingProjectExclusion_basic
=== RUN   TestAccLoggingProjectExclusion_disablePreservesFilter
=== PAUSE TestAccLoggingProjectExclusion_disablePreservesFilter
=== RUN   TestAccLoggingProjectExclusion_update
=== PAUSE TestAccLoggingProjectExclusion_update
=== CONT  TestAccLoggingBillingAccountExclusion_basic
=== CONT  TestAccLoggingOrganizationExclusion_update
=== CONT  TestAccLoggingProjectExclusion_update
=== CONT  TestAccLoggingFolderExclusion_folderAcceptsFullFolderPath
=== CONT  TestAccLoggingOrganizationExclusion_basic
--- PASS: TestAccLoggingProjectExclusion_update (3.60s)
--- PASS: TestAccLoggingOrganizationExclusion_update (4.40s)
=== CONT  TestAccLoggingFolderExclusion_update
--- PASS: TestAccLoggingOrganizationExclusion_basic (1.90s)
=== CONT  TestAccLoggingFolderExclusion_basic
--- PASS: TestAccLoggingBillingAccountExclusion_basic (6.21s)
=== CONT  TestAccLoggingBillingAccountExclusion_update
--- PASS: TestAccLoggingBillingAccountExclusion_update (5.90s)
=== CONT  TestAccLoggingProjectExclusion_disablePreservesFilter
--- PASS: TestAccLoggingProjectExclusion_disablePreservesFilter (3.90s)
=== CONT  TestAccLoggingProjectExclusion_basic
--- PASS: TestAccLoggingFolderExclusion_folderAcceptsFullFolderPath (16.67s)
--- PASS: TestAccLoggingProjectExclusion_basic (1.96s)
--- PASS: TestAccLoggingFolderExclusion_basic (15.30s)
--- PASS: TestAccLoggingFolderExclusion_update (18.35s)
PASS
ok  	github.com/terraform-providers/terraform-provider-google/google	22.810s
```
2018-05-18 08:55:04 -07:00
The Magician
56481d8316 Add liens resource. (#1484) 2018-05-17 16:33:30 -07:00
Paddy
f78de6b76e Drop the resources we can't support.
IAP has no reasonable support policy, because PATCH is broken, and IAP
must be configured with an OAuth2 client ID and secret that belongs to
the project the app is associated with. There's no programmatic way to
create Clients. But we create the project and the app at the same time,
and we can't update because PATCH is broken. So this just drops IAP. It
also forces all our updates to ForceNew, because we can't update.

Also, adds more test coverage and docs, and fixes import by not relying
on the config for setting app engine info in state.
2018-05-17 14:47:34 -07:00
emily
d360236a8d
Allow bigquery regional location (#1496)
* Allow bigquery regional location

* remove stale comment about location
2018-05-15 14:36:12 -07:00
emily
3cc868b4a9
Fix order of getting project for storage notification topic (#1490)
* fix getting project for storage notification topic

* add more documentation for storage notification topic
2018-05-15 13:30:59 -07:00
Shinichi TAMURA
2d580ea0a2 Compare region_backend_service.backend[].group as a relative path (#1487) 2018-05-14 16:59:27 -07:00
Nathan McKinley
d47687f574
Check current status during apply-time diff. (#1474) 2018-05-14 16:31:24 -07:00
leo-baltus
4a0849eb86 Fixed typo (#1488)
google_project_iam_policy_binding and google_project_iam_policy_member should
read google_project_iam_binding and google_project_iam_policy_member
2018-05-14 10:11:11 -07:00
Vincent Roseberry
dc029dd329
Improve testing for forwarding rule (#1482) 2018-05-14 10:07:59 -07:00
The Magician
5e0d39225f Release generated SSLPolicy (#1478) 2018-05-14 09:52:33 -07:00
Paddy Carver
02a4259c39 Add basic test and fix bugs.
Add a test case that exercises the obvious path, and fix the some of the
bugs it exposed.
2018-05-13 22:49:26 -07:00
The Magician
722c21d78f Re-release generated vpn_gateway (#1479) 2018-05-11 12:06:17 -07:00
The Magician
fff3d612d6 Codegen update: allow all properties to be used in Updates. (#1443) 2018-05-10 15:34:24 -07:00
Nao YONASHIRO
1e38b21854 fix: replica_configuration.password to be sensitive (#1468) 2018-05-10 15:31:07 -07:00
Paddy Carver
765d9af0a3 Beginnings of App Engine app support.
This should have all the code, but who really knows if it works or not,
tbh.
2018-05-10 15:01:22 -07:00
Dana Hoffman
6672e09e9d
add oslogin to the project services tests (#1471) 2018-05-10 10:02:31 -07:00
Dana Hoffman
63277caf39
fix dns import tests (#1470) 2018-05-10 09:26:02 -07:00
Dana Hoffman
93689454f6
use google_project_service for tests that enable the compute api (#1464) 2018-05-09 16:57:30 -07:00
Dana Hoffman
d78725f866
fix ipallocationpolicy test (#1465) 2018-05-09 16:57:01 -07:00
The Magician
da0b6f9d48 Add support for ssl_policy to google_target_https_proxy (#1466) 2018-05-09 15:55:17 -07:00
Nathan McKinley
560e180693
Allow use of provider region, with big caveats in docs. (#1463) 2018-05-09 14:16:49 -07:00
Dana Hoffman
08b5804b70
add ability to retry cloud functions on failure (#1452) 2018-05-09 13:57:54 -07:00
Nathan McKinley
95e84aed83
Change in firewall rule handling so that only one service account (for source / target) is permitted. (#1462) 2018-05-09 13:38:00 -07:00
Shinichi TAMURA
73fe8bcec8 mark google_compute_instance_template's nat_ip as ForceNew (#1444) 2018-05-09 13:18:08 -07:00
Dana Hoffman
337a913cac
use correct region for guest accelerator import test (#1461) 2018-05-09 13:01:23 -07:00
Nathan McKinley
e37c25abe5
Can't move from region to region without a recreate. (#1456) 2018-05-09 12:55:28 -07:00
Dana Hoffman
8907321d60
Roll forward beta scaffolding PR (#1453)
* Revert "Merge pull request #1434 from terraform-providers/paddy_revert_beta"

This reverts commit 118cd71201, reversing
changes made to d59fcbbc59.

* add ConvertSelfLinkToV1 calls to places where beta links are stored
2018-05-09 11:24:40 -07:00
Nathan McKinley
4c4b4be413
When a disk shrinks, require ForceNew. (#1460) 2018-05-09 10:59:48 -07:00
Nathan McKinley
04a475d73d
Check provider level zone as well when parsing zonal values. (#1455) 2018-05-08 16:30:31 -07:00
Nathan McKinley
11c8a52d35
Modify resourcemanager API to be more consistent with compute API. (#1454) 2018-05-08 15:49:57 -07:00
Rene Kroon
dda26771d3 #843: Add policy support to storage buckets (#1190) 2018-05-08 14:00:48 -07:00
Nathan McKinley
b3ceef76ee
Get region from provider in case of import (or in case of not-set-in-resource) (#1447) 2018-05-08 11:23:35 -07:00
Vincent Roseberry
9cb159f992
ValidateFunc accepts blank value for cluster_ipv4_cidr (#1446)
* ValidateFunc accepts blank value for cluster_ipv4_cidr in google_container_cluster

* Simplify tests
2018-05-07 15:34:56 -07:00
Vincent Roseberry
b7ae1e77bd
Remove stale comments and checks for beta API in address (#1442)
* Remove stale comments and check around beta API

* Add the check for empty addresstype
2018-05-07 15:04:20 -07:00
Vincent Roseberry
038cd0b7d1
Add support for regional cluster in datasource (#1441) 2018-05-07 15:02:14 -07:00
Dan Couture
4f7a6c828f Add new google_cloudbuild_trigger resource (#1357) 2018-05-07 12:53:34 -07:00
Paddy Carver
a91951d3f8 Revert "remove dead api version code and move things around"
This reverts commit 7e291ce8392dc2766a158dd8d70007dcf791aa44.
2018-05-04 07:54:08 -07:00
Paddy Carver
f91c62d598 Revert "remove switch statements between api versions for container"
This reverts commit 9c85e57b8c7e84de385995df7ca04dd93e843f5b.
2018-05-04 07:52:42 -07:00
Paddy Carver
aa2626b490 Revert "remove switch statements between api versions for compute"
This reverts commit bf1b3a24e8c1cac832e74d9d0e145c7010a4c2f1.
2018-05-04 07:51:45 -07:00
Dana Hoffman
d59fcbbc59
Remove switch statements between api versions for container; clean up dead version code (#1427)
* remove switch statements between api versions for container

* remove dead api version code and move things around
2018-05-03 21:51:54 -07:00
The Magician
9c5f5f63a3 Disable autogeneration for google_compute_vpn_gateway (#1432)
* Disable autogeneration for google_compute_vpn_gateway

* Revert unrelated change to backend bucket
2018-05-03 17:50:48 -07:00
Vincent Roseberry
1567ac0879
Store region name only for vpn gateway (#1431) 2018-05-03 17:44:36 -07:00
Paddy
afcd482297
Merge pull request #1387 from terraform-providers/paddy_spanner_instance_iam
Add support for IAM on Spanner Instances.
2018-05-03 15:46:31 -07:00
Vincent Roseberry
f8ad4a2054
Always parse fixed64 string to int64 (#1429) 2018-05-03 15:35:17 -07:00
Dana Hoffman
30409d315e
Remove switch statements between api versions for compute (#1422) 2018-05-03 12:24:21 -07:00
Vincent Roseberry
135f5c4144
Allow setting folder_id to empty string on google_project (#1425)
* Allow setting folder_id to empty string on google_project

* Simplify logic

* Update Changelog
2018-05-03 09:53:22 -07:00
Paddy
325a118053 Merge branch 'master' into paddy_flow_logs 2018-05-02 11:47:43 -07:00
Paddy
5ad4414931 Don't reimplement policy translation.
We already have this in spaner_database_iam, no need to reimplement it
here.
2018-05-02 11:44:58 -07:00
Paddy Carver
6cb9f4c51c Merge branch 'master' into paddy_spanner_instance_iam 2018-05-02 11:39:08 -07:00
Paddy Carver
0ae3daaa5d Merge branch 'master' into paddy_spanner_database_iam 2018-05-02 10:44:39 -07:00
Paddy
87a7af9c2b Merge branch 'master' into paddy_spanner_instance_iam 2018-05-02 10:40:20 -07:00
The Magician
77a02b2b68 Generate google_target_tcp_proxy using Magic Modules (#1415) 2018-05-02 10:01:37 -07:00
The Magician
7eac32ab1f Generate google_target_tcp_proxy using Magic Module (#1406) 2018-05-01 15:04:56 -07:00
The Magician
1d05aa3a3a Generate google_vpn_gateway using Magic Module (#1409) 2018-05-01 13:48:56 -07:00
The Magician
2759e8a801 Add more test cases to TestReplaceVars (#1413) 2018-05-01 13:41:35 -07:00
Vincent Roseberry
7fd468c034
Delete dead code (#1411) 2018-05-01 12:31:43 -07:00
Vincent Roseberry
bc0b25e0c2
StateFunc for GetResourceNameFromSelfLink (#1412) 2018-05-01 12:31:18 -07:00
Paddy
b5ec48cdcc
Merge pull request #1408 from terraform-providers/paddy_list_policy_nil
Check that org listpolicy isn't nil.
2018-04-30 16:24:09 -07:00
Paddy
c5580ca12d
Merge pull request #1407 from terraform-providers/paddy_sql_err
Check error in SQL user test.
2018-04-30 16:23:54 -07:00
The Magician
f04a1d0eba Don't silently fail when d.Set fails at read time (#1403) 2018-04-30 16:18:17 -07:00
Paddy Carver
1a169a5900 Check that org listpolicy isn't nil.
Fix a panic in our test that is caused by a ListPolicy being nil. I
assume, but cannot verify, that this is an API change in that it may now
send back a nil listpolicy if a default is used.
2018-04-30 16:15:27 -07:00
Paddy Carver
179e075d72 Check error in SQL user test.
This fixes a panic in our tests.
2018-04-30 16:10:07 -07:00
Vincent Roseberry
e58e099b1a
Generate resource entries in ResourcesMap in provider.go for generated resources. (#1397) 2018-04-30 14:30:43 -07:00
The Magician
f2d67fd0dd Autogenerate provider-compute-gen.go file (#1402) 2018-04-30 13:22:35 -07:00
emily
ac64624adc
Add issue_client_certificate to cluster (#1396) 2018-04-27 18:06:26 -07:00
The Magician
5a1fe4f0be Simplify the custom update calls by only sending the required fields (#1395) 2018-04-27 16:33:57 -07:00
The Magician
df568b188c Release generated GlobalAddress (#1379) 2018-04-27 14:53:45 -07:00
The Magician
949b33ab20 Magic Modules changes. (#1392) 2018-04-27 10:20:39 -07:00
The Magician
b3a722ee39 Generate google_target_http_proxy using MagicModule (#1391) 2018-04-26 18:06:10 -07:00
emily
204a5f9078
Allow compute/app engine default service account ids in regex (#1390) 2018-04-26 15:46:56 -07:00
Paddy Carver
e686ea5d9b Add support for IAM on Spanner Instances.
Support managing IAM policies on Spanner instances.
2018-04-26 07:45:21 -07:00
Paddy Carver
1f5008655d Add IAM resources for Spanner databases.
Add new policy, binding, and member IAM resources for Spanner databases.
Fixes #1178.
2018-04-26 07:30:39 -07:00
Paddy Carver
0a469bfa49 Support subnetwork flow logs.
Add the `enable_flow_logs` field to our subnetwork resource, so we can
specify whether [flow logs][1] should be enabled in Terraform configs.

Note that this behavior isn't explicitly documented yet, but it has made
it into the beta API client.

[1]: https://cloud.google.com/vpc/docs/using-flow-logs
2018-04-26 04:49:16 -07:00
Vincent Roseberry
31a5c9d93c
Use v1 API for google_compute_address (#1384) 2018-04-25 15:13:59 -07:00
Nathan McKinley
0a02d8eaef
Fix failing compute tests which use AccessConfigs (#1383) 2018-04-25 13:26:24 -07:00
Nathan McKinley
7e5ce3f679
Bump timeouts - users are still experiencing failures. (#1381) 2018-04-25 12:24:52 -07:00
Darren Haken
2b1b668953 #1300 Supporting regional clusters for node pools (#1320)
This PR also switched us to using the beta API in all cases, and that had a side effect which is worth noting, note included here for posterity.

=====
The problem is, we add a GPU, and as per the docs, GKE adds a taint to
the node pool saying "don't schedule here unless you tolerate GPUs",
which is pretty sensible.

Terraform doesn't know about that, because it didn't ask for the taint
to be added. So after apply, on refresh, it sees the state of the world
(1 taint) and the state of the config (0 taints) and wants to set the
world equal to the config. This introduces a diff, which makes the test
fail - tests fail if there's a diff after they run.

Taints are a beta feature, though. :) And since the config doesn't
contain any taints, terraform didn't see any beta features in that node
pool ... so it used to send the request to the v1 API. And since the v1
API didn't return anything about taints (since they're a beta feature),
terraform happily checked the state of the world (0 taints I know about)
vs the config (0 taints), and all was well.

This PR makes every node pool refresh request hit the beta API. So now
terraform finds out about the taints (which were always there) and the
test fails (which it always should have done).

The solution is probably to write a little bit of code which suppresses
the report of the diff of any taint with value 'nvidia.com/gpu', but
only if GPUs are enabled. I think that's something that can be done.
2018-04-24 17:55:21 -07:00
The Magician
71df52d1aa Remove redundant &schema.Schema in schema map (#1377) 2018-04-24 16:39:20 -07:00
Nick Jacques
0d309b1e56 Update ssl_policy to use v1 API (#1368)
* Update compute/v1 to latest

* Update ssl_policy resource and test to v1 API
2018-04-24 14:43:00 -07:00
The Magician
e02587855a Release autogenerated google_compute_target_ssl_proxy resource (#1373) 2018-04-24 14:01:53 -07:00
The Magician
0544ef468f ResourceRef fields accept name-only or partial/full self_link (#1366) 2018-04-23 16:19:26 -07:00
Nathan McKinley
de9363502b
Fix for networkPolicyEnabled test - must explicitly add default network policy. (#1363) 2018-04-20 11:39:20 -07:00
Nathan McKinley
d3bbfbd22b
Add DNS PTR record to Compute Instance (#1349) 2018-04-20 11:14:38 -07:00
Paddy Carver
33750deb23 Bump GKE version.
Tests were failing with an invalid version error, so bumping the version
like this should fix the tests.
2018-04-19 14:47:55 -07:00
Dana Hoffman
51f9424dbf Fix IAM tests (#1337) 2018-04-19 14:30:20 -07:00
Nathan McKinley
039e82cf6d
Regional cluster update support for additional zones (#1359) 2018-04-19 14:17:38 -07:00
jschwing
0ae2047783 Add max_connections and max_connections_per_instance to backend service (#1353) 2018-04-19 14:00:34 -07:00
Vincent Roseberry
331ecb25a7
Move method prior to autogenerating ssl proxy resource (#1358) 2018-04-19 11:01:33 -07:00
Nathan McKinley
8ca616e707
Add default cluster version to data source. (#1355) 2018-04-19 10:59:52 -07:00
Nathan McKinley
92d98fc8e1
Make sure that additional zones are added-then-removed instead of all at once. (#1354) 2018-04-18 17:29:07 -07:00
David Watson
b70db7b40a Ensure that a terraform plan works if the resource does not exist (but is currently in the tfstate). (#1340) 2018-04-17 16:23:16 -07:00
Nathan McKinley
3628e263e2
Switch from protoc_output to protoc_output_base64. (#1290) 2018-04-17 13:00:37 -07:00
Paddy
4975fe47db
Merge pull request #1343 from terraform-providers/paddy_clarify_iam_policy
Clarify IAM policy deprecation.
2018-04-16 19:48:19 -07:00
Nathan McKinley
470d44c2ff
Wait for the billing account to be set up correctly. (#1345) 2018-04-16 14:25:01 -07:00
Nathan McKinley
7d92392a3e
MergeBindings ignores empty bindings. (#1344) 2018-04-16 13:13:09 -07:00
Paddy Carver
6e9aa0d30e Clarify IAM policy deprecation.
Make it a bit clearer what the IAM policy deprecation means.
2018-04-16 10:55:40 -07:00
Vincent Roseberry
49191c5d91
Fix auto-delete default network in google_project. (#1336)
* Use projectId and enable required compute API

* Delete firewall rules before deleting default network
2018-04-16 10:25:49 -07:00
Seth Vargo
0cdcd66f67 Use standard user-agent header (#1332)
This PR does a few things to the User-Agent header:

1. It puts Terraform/(version) first, since that's the way the RFC
expects it

2. It removes the goos and goarch data, although I could be convinced to
put it back in, I don't see what value it's providing

3. Moves directly to consuming the version package (which is the comment
above the function previously being called)
2018-04-13 09:19:16 -07:00
Vincent Roseberry
4695f6fe81
Notice changes (#1329) 2018-04-12 16:08:42 -07:00
Dana Hoffman
bde72e7576
un-deprecate name_prefix for instance templates (#1328) 2018-04-12 16:08:31 -07:00
Dana Hoffman
d786c3b9c4
make all ImportStates have a matching ImportStateVerify (#1327) 2018-04-12 15:45:28 -07:00
Dana Hoffman
9dccfeb472
iam import ids same as create (#1322) 2018-04-11 15:45:10 -07:00
Nathan McKinley
98dbf7a758
Delete the default network created by the project. (#1316) 2018-04-10 15:23:04 -07:00