Commit Graph

367 Commits

Author SHA1 Message Date
Dana Hoffman
10e4f68441
Add new google_project_service resource for fine-grained service control. (#668)
* add new project service resource; add retry logic for enable/disable

* docs for google_project_service

* add project into the id
2017-11-07 15:19:57 -08:00
Patrick Decat
af0a22fbfb Make google_logging_project_sink resource importable (#688) 2017-11-07 14:40:22 -08:00
Nic Cope
20fc7cf077 Give addresses beta support, add internal addresses (#594) 2017-11-07 13:38:26 -08:00
Dana Hoffman
7f9f7201a8
make setFields a list of regexps (#696) 2017-11-07 11:27:05 -08:00
Alberto
8faee72655 add support provider project on resource_google_project_iam_policy.go (#691)
* add support provider project on resource_google_project_iam_policy.go
* add specific test for iam policy with default project
2017-11-06 13:27:20 -08:00
Nic Cope
96db217168 Add secondary range support to google_compute_subnetwork data source (#687)
..and throw in project and region while we're at it.
2017-11-06 11:19:46 -08:00
Sébastien GLON
b9eac810c9 correct issue #684 (#686) 2017-11-06 10:56:10 -08:00
Dana Hoffman
4a499b2f7d
Add support for source/target service accounts to google_compute_firewall (#681)
* add source/target service accounts to firewalls

* firewall service account docs
2017-11-06 09:34:48 -08:00
Dana Hoffman
1b8f450cb3
Update google_compute_target_pool to no longer have a plan/apply loop with instance URLs (#666)
* Using instance URLs in `google_compute_target_pool` no longer has a plan/apply loop

* global regex; parts length check
2017-11-03 17:02:02 -07:00
Dana Hoffman
f68765f5cd
Fix bug with empty initialize_params block (#664)
* fix initialize params bug

* make sure all init params are deleted, not just #
2017-11-03 15:25:54 -07:00
Dana Hoffman
49a91427b4
check for sets in node pool tests (#661) 2017-11-03 15:07:01 -07:00
Dana Hoffman
794d971695
make dataproc tests parallel and use service account resource (#660) 2017-11-03 15:05:20 -07:00
Dana Hoffman
0668525e5c
increase timeout for deleting networks (#662) 2017-11-03 11:08:54 -07:00
Dana Hoffman
51ed0b74dd
Allow attaching and detaching disks from instances (#636)
* allow updating attached disks

* check for scratch and update comment
2017-11-02 13:08:02 -07:00
David Quarles
ca7551c8c5 Add support for master authorized networks in google_container_cluster (#626)
* Add support for master authorized networks in `google_container_cluster`

* [review] remove enabled flag / restructure schema

- remove `google_container_cluster.master_authorized_networks_config.enabled`
- add `display_name` and restructure schema as follows:
    master_authorized_networks_config {
        cidr_blocks {
            cidr_block   = "0.0.0.0/0"
            display_name = "foo"
        }
    }
- amend tests

* [review] add test for validateRFC1918Network, fix acc test
2017-11-02 10:38:20 -07:00
Henry Bell
026d76616d Add support for Kubernetes alpha features (#646)
* Add support for Kubernetes alpha features

* Add tests for support of Kubernetes alpha features

* Fix dodgy copy and paste operations

* Add documentation
2017-10-31 16:38:18 -07:00
Antonio Lobato
d37f352f41 Add IAP support for backend services (#471)
* initial work on adding IAP support for backend services

* readback of IAP

* flatten IAP + static set id

* expandIap function

* removed enabled flag/state rework

Removed the enabled flag for IAP
IAP is now enabled when the client id and secret are set
IAP now correctly disables when IAP stanza is removed
Client secret is now correctly hashed against the secret hash stored on the server

* Tests for IAP

* added comments, fixed tabs.

* testing for IAP disabled
2017-10-31 16:27:03 -07:00
Paddy
c882a77db6
Merge pull request #399 from terraform-providers/vendor-tf-0.10.3
Remove 'id' fields from schemas
2017-10-31 16:10:45 -07:00
Vincent Roseberry
0332208bc9
Add import support to global forwarding rule (#653) 2017-10-31 11:28:55 -07:00
Paddy
ac73bebb15
Rename instead of removing.
Rename all ID fields to {resource_noun}_id instead of removing them
outright. This means people can still get at the info.

Leave project's id deleted. It has been marked as Removed for months.
I'm fine with cleaning it up before 1.0.0.

Also, update website docs.
2017-10-31 16:27:37 +00:00
Radek Simko
c3da024d7e
Remove 'id' fields from schemas 2017-10-31 16:27:36 +00:00
Nicki Watt
96ac8fc8a4 Add google_dataproc_cluster resource (#252)
* Add google_dataproc_cluster resource

* Add google_dataproc_cluster tests

* Add google_dataproc_cluster docs

* Removed google_dataproc_job ref (to be added in separate PR)

* Added delete_autogen_bucket attribute

* Refactored / simplified wait mechanism

* Changes based on review

* go fmt

* Add  cluster_config enclosing config block

* Review updates - primarily re restructuring hierarchy

* Removed rogue import

* docs - alignment

* Changes for review

* Refactoring into expandXXX methods

* Refactoring of flattenXXX methods to be explicit
2017-10-30 16:41:37 -07:00
Dana Hoffman
7b69c31f6a
Add labels to google_storage_bucket (#652)
* revendor storage

* revendor gensupport

* revendor bigquery

* add support for storage bucket labels

* bucket label docs
2017-10-30 15:48:26 -07:00
sebasrobert
d3b8482388 Subscription with topic in different project (#640)
Right now we can't create subscription on a topic in a different gcp
project since it assume the project from the subscription. The provider
always create the full topic name string
projects/{project}/topics/{topic} with the received topic property.
Using a regexp we validate if the string is already in
the format projects/{project}/topics/{topic} and if it's the case
we don't wrap it again and take it directly. The original functionality
is maintained but it's possible to specify a different project for the
topic.
2017-10-30 13:12:14 -07:00
Dana Hoffman
adbb5dd4fb
Update GKE docs to match actual schema; reorder fields in schema (#637)
* reorder schemas and update docs

* initial_node_count is optional

* clarify when initial_node_count must be set
2017-10-27 15:18:34 -07:00
Dana Hoffman
48192d62dc
Quick simplification for resource_compute_firewall logic (#631)
* simplify firewall logic

* fix whitespace
2017-10-27 15:08:22 -07:00
Michael Parker
f2fc78d082 Adds support for creating KMS KeyRing resources (#518)
* Instantiate the cloudkms client

* Implement Create and Read for the kms key ring resource

* Expose the kms key ring resource

* Create acceptance test for creating a KeyRing, fix read to use KeyRing ID

* Add cloudkms library to vendor

* Address style comments

* Use fully-qualified keyring name in read operation

* Remove call to SetId during read operation

* Set ID as entire resource string

* Spin up a new project for acceptance test

* Use Getenv for billing and org environment variables

* And test and logs around removal from state

* Add comments

* Fixes formatting

* Log warning instead of info

* Use a single line for cloudkms client actions

* Add resource import test

* Add ability to import resource, update helper functions to use keyRingId struct

* Use shorter terraform ID for easier import

* Update import test to use the same config as the basic test

* Update KeyRing name regex to be consistent with API docs

* Add documentation page for resource

* Add KeyRing documentation to sidebar

* Adds unit tests around parsing the KeyRing import id

* Allow for project in id to be autopopulated from config

* Throw error in import if project provider is not provided for location/name format

* Consistent variable names

* Use tabs in resource config instead of spaces

* Remove "-x" suffix for docs

* Set project attribute on import if different from the project config
2017-10-27 09:40:01 -07:00
David Quarles
1a8f3b8d18 Add support for CPU Platform in google_container_node_pool (#622)
* update container/v1 API

* add support for CPU Platform in `google_container_node_pool`

* fix broken links
2017-10-25 14:08:48 -07:00
Sébastien GLON
1f954e0131 Add sort on google_container_cluster auth_scopes (#506)
* replalce TypeList by TypeSet

* Add migrate function and test

* CORRECT

* remove migrate

* fix tests
2017-10-25 13:41:42 -07:00
Sébastien GLON
94e0b746df Add support for google_service_account_key (#472)
* Initial support for google service account keys

* Add vendor for vault and encryption

* Add change for PR comment

* Add doc and improvement fo public key management

* adding waiter for compatibility with issue google/google-api-go-client#234

* improvement

* Add test with pgp_key

* Perform doc anf format

* remove test if public_key exists

* Add link on doc

* correct pr
2017-10-25 12:43:20 -07:00
Patrick Decat
3d1e11023d Make google_service_account resource importable (#606)
* Make google_service_account resource importable

* Add google_service_account testcase with default project

* Mark google_service_account.project as computed to ensure the project id is always stored in the state, defined in configuration or not. Add corresponding test cases

* Inline variables with single usage

* Replace tabs with spaces in configuration strings

* Ensure service account is not recreated when the default project is explicitely added to the configuration

* camelcase
2017-10-25 12:33:21 -07:00
Paddy
0e2fa2e38f Address comments.
Fix typo, add log line, and document what we're doing on the website.
2017-10-24 14:43:35 -07:00
Patrick Decat
16611cb3ac Make google_project_services resource importable (#601)
* Make google_project_services resource importable

* Reuse testAccGoogleProjectAssociateServicesBasic() from resource_google_project_services_test.go
2017-10-23 14:23:51 -07:00
Dana Hoffman
c577ad6e8d Allow setting boot and attached disk sources by name or self link (#605)
* disk cleanup

* fix attached disk test

* allow disk sources from name or url

* parse disk source better on read

* update docs

* fix boot disk source url
2017-10-23 13:26:59 -07:00
Dana Hoffman
be0525885e post-migration disk cleanup (#600)
* disk cleanup

* fix attached disk test
2017-10-23 12:53:41 -07:00
Dana Hoffman
3a442a81a2 add prefix to instance name (#593) 2017-10-20 09:48:00 -07:00
Dana Hoffman
7c2bf7f4a7 make addons_config updatable (#597) 2017-10-20 09:47:07 -07:00
Dana Hoffman
62eb5ceedf Allow updating google_container_cluster.monitoring_service (#598) 2017-10-20 09:46:21 -07:00
Dana Hoffman
081e675d3d migrate boot disk initialize params (#592) 2017-10-20 09:45:05 -07:00
Joe Selman
2765290724 Add label support to google_compute_snapshot (#570)
* Add label support to google_compute_snapshot
* Refactor operation polling code to use client directly
2017-10-13 15:36:03 -07:00
Vincent Roseberry
3f3fa868c7 Fix import for compute_route (#565)
* Reorder fields in schema for style consistency
* Add reusable ZonalFieldValue
* Fix import and read state from API for compute route
* Generate network link without calling the API
2017-10-13 11:05:22 -07:00
Vincent Roseberry
66f876e6ae Add new resource google_compute_target_ssl_proxy (#569)
* Add target ssl proxy
* Add documentation
2017-10-13 11:02:42 -07:00
Radek Simko
25869fa5c8 Merge pull request #567 from terraform-providers/f-ds-lb-ip-ranges
d/compute_lb_ip_ranges: Add new data source
2017-10-13 07:09:09 +01:00
Joe Selman
4b77dca918 Revert "Revert "Add t.Parallel to all acceptance tests (#558)""
This reverts commit 8ab9d96d25 and revives
the original commit that adds t.Parallel to all acceptance tests. It
turns out test failures were unrelated to this change (rather, they were
related to quota issues).
2017-10-12 15:07:29 -07:00
Dana Hoffman
811530f145 Fix cluster version upgrades (#577)
* wait for running status on a cluster on read

* add min_master_version field

* respond to comments

* add docs

* no node_version on create
2017-10-12 11:21:33 -07:00
Dana Hoffman
ea909a3409 Change group back to Optional in google_compute_backend_service (#576)
* change group back to optional

* fix build
2017-10-12 09:21:35 -07:00
Paddy
0183e26999 Give bucket unique name in tests.
This will stop the test failure from the dangling resource.
2017-10-11 16:52:37 -07:00
Peter Milley
fe01f7fdd6 Copy network_interface attributes to Terraform state. (#536) 2017-10-11 13:33:58 -07:00
Vincent Roseberry
eb88e6d40d Fix org policies update test to actually update instead of doing a create/delete/create/delete cycle (#573) 2017-10-11 13:31:24 -07:00
Vincent Roseberry
e5d9fe6163 Add support for shared VPC (#572)
* Add VPC host project resource
* Add VPC service project resource
* Add combined acceptance test for shared VPC
* Add docs for shared VPC
* Increase deadline for project services operation
2017-10-11 12:51:09 -07:00
Joe Selman
8ab9d96d25 Revert "Add t.Parallel to all acceptance tests (#558)"
This reverts commit 42de44592f. It appears
there might be thread-safety issues as panics have started occuring when
parallism is ramped up. Reverting for now while investigating.
2017-10-10 17:55:34 -07:00
Joe Selman
42de44592f Add t.Parallel to all acceptance tests (#558) 2017-10-10 16:28:00 -07:00
Radek Simko
80ca6c26b1
d/compute_lb_ip_ranges: Add new data source 2017-10-10 22:07:21 +01:00
Radek Simko
31dc9d3790 Merge pull request #566 from terraform-providers/b-inst-tpl-device-name-computed
r/compute_instance_template: Make disk.device_name computed
2017-10-10 20:37:26 +01:00
Radek Simko
8378b58bdf
r/compute_instance_template: Make disk.device_name computed 2017-10-10 19:43:59 +01:00
Radek Simko
96ac8255d1 Merge pull request #561 from terraform-providers/f-compute-vpn-tunnel-secret-sensitive
r/compute_vpn_tunnel: Mark 'shared_secret' as sensitive
2017-10-10 18:24:33 +01:00
Radek Simko
44f477326d Merge pull request #560 from terraform-providers/b-ds-dns-mz-404
d/dns_managed_zone: Error out if zone is not found
2017-10-10 18:21:56 +01:00
Vincent Roseberry
45c1d723e5 Create a reusable GlobalFieldValue and support reading project from schema (#550) 2017-10-10 09:53:57 -07:00
Radek Simko
4bbce17bee
d/dns_managed_zone: Error out if zone is not found 2017-10-10 13:13:42 +01:00
Radek Simko
0e5b4b0597
r/compute_vpn_tunnel: Mark 'shared_secret' as sensitive 2017-10-10 12:57:52 +01:00
Vincent Roseberry
3d4c517ce8 Fix crash because missing error check before waiting on operation (#556) 2017-10-09 14:12:05 -07:00
Scott Stevenson
d574c6a910 Add resource_compute_region_autoscaler (#544)
* Add resource_compute_region_autoscaler
* Add import acceptance tests, reuse zonal autoscaler code
* Enforce single autoscaling policy requirement at terraform plan time
2017-10-09 10:59:38 -07:00
Joe Selman
e3ca8fbe59 Add labels to google_compute_instance_template (#515) 2017-10-09 10:17:15 -07:00
Dana Hoffman
d67bf7b3fc add master_version to container cluster (#538) 2017-10-06 15:48:01 -07:00
Vincent Roseberry
306b3d66b4 Forwarding rule network field supports name in addition of self_link (#487)
* Forwarding rule network field supports name in addition of self_link
* Update documentation
2017-10-06 09:33:42 -07:00
Vincent Roseberry
c94cbde1f6 Add import support to google_compute_target_tcp_proxy (#534) 2017-10-05 14:29:53 -07:00
Vincent Roseberry
87f3a58cb2 Add support for org policies at the organization level (#523)
* Fetch latest resource manager client
* Add new resource to manage Org Policy at the organization level.
* Update documentation
2017-10-05 13:20:16 -07:00
Alberto
2f94ff9ad4 Add support for target_tcp_proxy (#528) 2017-10-05 10:27:56 -07:00
Dana Hoffman
754e6daceb Fix BackendService group hash when instance groups use beta features (#522)
* change backend hash function

* update if statement
2017-10-04 16:49:02 -07:00
Dana Hoffman
5b3bd3455c Fix crash when creating node pools with name_prefix (#531) 2017-10-04 16:41:35 -07:00
Vincent Roseberry
0ba267dafc Use NetworkFieldValue in google_compute_subnetwork (#529) 2017-10-04 15:21:49 -07:00
Vincent Roseberry
10aeb9cd47 Improve VPN gateway and router to generate network link without calling network API (#527)
* Router network fields supports name in addition of self_link
* Improve VPN Gateway network field support
2017-10-04 14:01:38 -07:00
Dana Hoffman
bb0ab8e1f6 Merge the schemas and logic for the node pool resource and the node pool field in the cluster to aid in maintainability (#489) 2017-10-03 17:09:34 -07:00
Vincent Roseberry
e9436964bd Network peering gets network project from network self_link (#498) 2017-10-03 13:30:31 -07:00
Vincent Roseberry
7d65b3ed04 Firewall uses v1 API if the priority is unset or has the default value. (#500)
* api_versions supports default value
* Firewall use v1 API if the priority is set to default value (1000)
2017-10-03 13:24:02 -07:00
Vincent Roseberry
5f887b6568 Add update support for pubsub subscription push config field (#512) 2017-10-03 13:14:51 -07:00
Dana Hoffman
2db85e8e75 Add new retry wrapper fn, retry sql database instance operations that commonly 503 (#417)
* Retry sql database instance operations that commonly 503

* use new retry wrapper fn in resource_storage_bucket.go
2017-10-03 12:41:04 -07:00
Joe Selman
475ddb1b5b Add kubernetes dashboard addon (#464)
* Update google.golang.org/api/container/v1

* Add support for kubernetes_dashboard addon

* Fix tab/spaces issue in string
2017-10-03 09:29:27 -07:00
Joe Selman
ef543b20c5 Add google_logging_folder_sink resource (#470)
* Fix bad page title

* Add resource logging_folder_sink

* Use proper parse function and string format

* Remove unused strings
2017-10-03 09:26:19 -07:00
Paddy
33b526aa10 Skip migrations if we're not running acc tests. 2017-10-02 12:49:49 -07:00
Paddy
300bae3244 Fix compute_instance migration bug.
`compute_instance`'s StateVersion was set to 2. Then we released a
migration to v3, but never updated the StateVersion to 3, meaning the
migration was never run. When we added the migration for disks, we
bumped to 4, bypassing 3 altogher. In theory, this is fine, and is
expected; after all, some people may have state in version 0 and need to
upgrade all the way to 4, so our schema migration function is supposed
to support this.

Unfortunately, for migrations to v2, v3, and v4 of our schema, the
migration _returned_ after each migration, instead of falling through.
This meant that (in this case), version 2 would see it needs to be
version 4, run the state migration to version 3, then _return_, setting
its StateVersion to _4_, which means the migration from 3->4 got skipped
entirely.

This PR bumps the version to 5, and adds a migration from 4->5 such that
if there are still disks in state after 4, re-run 4. This will fix
things for people that upgraded to 1.0.0 and had their StateVersion
updated without the migration running.

I also updated the tests @danawillow wrote to start from state version 2
instead of state version 3, as the state would never be in version 3.

I also duplicated those tests, but started them from state version 4
(assuming the migration hadn't run) and verifying that the migration
from 4->5 would correct that.
2017-10-02 12:34:09 -07:00
Dana Hoffman
bbad89afe6 Fix failing tests: instance templates still use disk (#504)
* instance templates still use the disk field

* more fixes
2017-09-30 19:42:15 -07:00
Paddy
fccae61d61 1.0.0 Deprecations, pt 2
Fix the CI tests we broke with the deprecations for 1.0.0, and update
the docs we missed. Also, update the examples.
2017-09-29 16:04:52 -07:00
Paddy
3db816d686 Merge pull request #491 from terraform-providers/paddy_1.0_deprecations
Remove deprecated resources for 1.0.0.
2017-09-29 11:32:14 -07:00
Paddy
136a176e7e Deprecate disable_project on google_project_iam_policy. 2017-09-29 11:13:44 -07:00
Paddy
fe83578d33 Merge pull request #494 from terraform-providers/paddy_revert_shared_vpc
Revert Shared VPC.
2017-09-29 09:53:16 -07:00
Paddy
02512af271 Revert Shared VPC.
We want to talk about the design of Shared VPC a little bit more before
it ships, so this PR removes it, to be added back at a later date.
2017-09-29 04:59:41 -07:00
Paddy
50ad10a513 Address comments. 2017-09-29 04:57:47 -07:00
Paddy
b1fa2a4702 AccTest fixes. 2017-09-29 04:54:24 -07:00
Dana Hoffman
f31e34cad9 Mark certificate as sensitive within google_compute_ssl_certificate (#490) 2017-09-28 17:45:36 -07:00
Paddy
e4d920b774 Remove disks field. 2017-09-28 17:22:29 -07:00
Paddy
5aca4468ac Update tests that use deprecated resources. 2017-09-28 17:08:55 -07:00
Paddy
edad00bf4b Replace variable we actually needed. 2017-09-28 15:44:21 -07:00
Paddy
19b2a3550a Undelete initial_node_count.
This was just deprecated recently, don't remove it.
2017-09-28 15:40:24 -07:00
Paddy
a76fa3bd6a Merge branch 'master' into paddy_1.0_deprecations 2017-09-28 15:37:19 -07:00
Paddy
a586429bd7 Deprecate our authoritative stuff. 2017-09-28 15:36:40 -07:00
Paddy
f2f276ea0b Remove deprecated resources for 1.0.0.
In advance of 1.0.0, let's take the opportunity to remove the fields on
resources that have been deprecated for a while.
2017-09-28 14:38:38 -07:00
Dana Hoffman
6d947cd20e Add state migration from disk to boot_disk/scratch_disk/attached_disk (#329)
* Add state migration from disk to boot_disk/scratch_disk/attached_disk

* get rid of test for now

* update schema version

* add tests for migration

* fix travis errors

* actually fix travis errors

* fix logic when project is set, also remove some log statements

* add tests for reading based on encryption key and image

* use as much of the image URL as we can for matching on image

* read project from config if it wasn't set in the attribute

* update resolveImage call
2017-09-28 14:37:03 -07:00
Vincent Roseberry
bc25c02cbf Firewall network field now supports self_link in addition of name (#477) 2017-09-28 12:02:39 -07:00
Vincent Roseberry
39a858894a Remove alias ip range from beta feature for compute subnetwork 2017-09-28 10:48:28 -07:00