Commit Graph

418 Commits

Author SHA1 Message Date
Kit Ewbank
49a0008643 Add 'google_organization' data source (#887)
* Add 'google_organization' data source.

* Use 'GetResourceNameFromSelfLink'.

* Remove 'resourcemanager_helpers'.

* Use 'ConflictsWith' in schema.

* Add 'organization' argument and make 'name' an output-only attribute.
2017-12-21 16:12:44 -08:00
Kit Ewbank
a086e70e79 Add 'google_billing_account' data source (#889)
* Add 'google_billing_account' data source.

* Use 'GetResourceNameFromSelfLink'.

* Use 'ConflictsWith' in schema.

* Use pagination for List() API call.

* Add ability to filter by 'open' attribute.

* Don't use 'ForceNew' for data sources.

* Add 'billing_account' argument and make 'name' an output-only attribute.

* Correct error message.
2017-12-21 16:09:58 -08:00
Vincent Roseberry
bded8d19ec
Better DiffSuppressFunc for disk image field (#884)
* Proper DiffSuppress for disk image field

* Add support for more possible image format
2017-12-21 10:00:35 -08:00
Dana Hoffman
f9f35bbe4a
more descriptive error message for health check not found (#883) 2017-12-20 13:22:48 -08:00
Matt Morrison
23ef50f5ca New datasource: google_container_cluster (#740)
* Add google_kubernetes_cluster datasource

Add documentation for google_kubernetes_cluster datasource

Rename datasource to google_container_cluster

To be consistent with the equivalent resource.

Rename datasource in docs.
google_kubernetes_cluster -> google_container_cluster.
Also add reference in google.erb file.

WIP

Datasource read needs to set an ID, then call resource read func

Add additional cluster attributes to datasource schema

* Generate datasource schema from resource

Datasource documentation also updated.

* add test for datasourceSchemaFromResourceSchema

* Code review changes
2017-12-20 13:21:11 -08:00
Vincent Roseberry
742462f9a6
Properly handle firewall direction field (#885) 2017-12-20 13:14:33 -08:00
Vincent Roseberry
502456a35d
Rename filename to match resource (#882)
* Rename filename to match resource

* Rename tests method
2017-12-20 10:48:43 -08:00
Vincent Roseberry
42cc44efe2
Add IAM support for pubsub topic (#875)
* Add IAM support for pubsub topic

* Fix resource name

* Add update test for iam_policy resource

* Standardize policy conversion function

* Standardize policy conversion function all resources
2017-12-19 17:19:04 -08:00
Vincent Roseberry
140440947a
Refactor some more import tests (#881) 2017-12-19 15:33:20 -08:00
Vincent Roseberry
b82949bdcd
Reduce number of new project creation (#880) 2017-12-19 14:40:24 -08:00
Vincent Roseberry
c1d9bb24c9
Support import in compute instance (#873) 2017-12-19 14:33:30 -08:00
Michael Parker
18a6255064 Adds google_kms_secret data source (#741)
* Create google_kms_secret datasource

* Create google_kms_secret datasource documentation

* Remove duplicated code

* Create acceptance test

* Fix indentation

* Add documentation to sidebar

* Update Cloud SDK link in docs

* Oxford comma

* Rename variable to make it clear which resource is under test

* Update test to use utils from provider_test
2017-12-19 13:24:35 -08:00
Vincent Roseberry
2e9933be44
Ignore beta vs v1 network diff in subnetwork datasource test (#849) 2017-12-19 13:08:14 -08:00
Vincent Roseberry
bc03e98998
Merge import test in regular acceptance tests for a few compute resources (#874) 2017-12-19 12:43:30 -08:00
Jonathan Liuti
e3bd6b9a1d Add configurable timeouts to subnetworks (#871) 2017-12-18 09:47:11 -08:00
Vincent Roseberry
b70803264f
Add service account IAM support (#840)
* Add service account iam resources
* Add documentation
* Add import functionality to iam resources
* Add import documentation
2017-12-14 14:52:44 -08:00
Vincent Roseberry
293728929f
Add update support for routing mode in google_compute_network (#857)
* Fetch latest compute v1 client

* Add update support for rounting in google_compute_network
2017-12-14 14:28:58 -08:00
Nathan McKinley
d2611d4ce3
New data source: compute region instance group (#851)
* Add new data source: compute region instance group manager's groups.
* Add documentation for wait_for_instances and for the timeout mechanism in resourceComputeRegionInstanceGroupManagerCreate.
2017-12-14 13:35:39 -08:00
Vincent Roseberry
d2289c2ca1
Add configurable timeouts to google_compute_instance (#856) 2017-12-13 17:03:15 -08:00
Vincent Roseberry
433fdcc49f
Storage bucket doesn't remove lifecycle rules properly (#850)
* Update storage client

* Read lifecycle from API and improve acceptance tests
2017-12-13 16:46:48 -08:00
Vincent Roseberry
5585b14069
Import test refactoring for some resources. (#854)
* Improve import tests for folder, org iam custom roles and org policies

* improve import test for google project
2017-12-13 16:45:52 -08:00
Vincent Roseberry
982f4d1c0b
Fix storage object detect md5 hash for dynamic content (#848) 2017-12-13 16:41:07 -08:00
Nathan McKinley
bea8642a1b
Bugfix: add read back in to the KMS crypto key read method. (#853)
* Bugfix: add read back in to the KMS crypto key read method.
Impact of this bug: if a user deleted a crypto key outside terraform and then reran `apply`, the old key would stay in the plan.

* Fix panic in validate method.
* Make import test confirm validity of reads.
2017-12-13 13:08:35 -08:00
Michael Parker
606103afb6 Add support for compute network routing mode (#838)
* Add ability to specify compute network routing mode
* Update docs
2017-12-12 11:29:49 -08:00
Nathan McKinley
5766f2b107
Remove all instances of GOOGLE_XPN_HOST_PROJECT environment variable. (#815)
Remove all instances of GOOGLE_XPN_HOST_PROJECT environment variable.

Instead of GOOGLE_XPN_HOST_PROJECT being required to run some tests, I added the ability to create and tear down the necessary project structure.
This allows us to remove one environment variable, and use two others which are already widely-required: org and billing ID.
2017-12-11 14:07:52 -08:00
Nathan McKinley
ced8cb506c
Consistent IAM resource imports. (#835)
Add consistency for for IAM imports.
- Adds imports for projects, folders, crypto keys, organizations, and key rings.
- Anything else with IAM can implement a simple method and begin working immediately.
- Add tests for all the IAM imports.
- Import documentation for IAM resources.
2017-12-11 10:24:53 -08:00
Paddy
792fa311c7
Merge pull request #832 from terraform-providers/paddy_creds_file_or_path
Fix our provider validation to allow file paths.
2017-12-08 14:28:46 -08:00
Paddy
f5a835141d
Merge pull request #833 from terraform-providers/paddy_compute_image_ds
Add compute image data source
2017-12-08 14:11:47 -08:00
Paddy
f18607b849 Fix our provider validation to allow file paths.
Previously, provider credentials were _supposed_ to be able to be
specified as the file contents or the path to the file. We even had a
test for the code for this!

Then we updated the validation for the provider, and forgot to validate
filepaths as ok. So provider validation failed. And because our test
only tested the config validation, and not the provider validation, our
tests thought this was just fine still.

This fixes that oversight, accepting filepaths as valid. It also adds
tests to ensure that provider validation allows both file paths and
contents.
2017-12-08 13:57:55 -08:00
koenw
4da0e984f6 Implement in-place updates of secondary IP ranges (#811) 2017-12-08 13:11:09 -08:00
Vincent Roseberry
b88561b44f
Robust id parsing for big query table (#828) 2017-12-08 11:13:53 -08:00
Vincent Roseberry
3bceb8f951
Add IAM support for storage bucket (#822)
* Add IAM support for storage bucket
* Add documentation
* Test multiple roles
2017-12-07 13:12:25 -08:00
Vincent Roseberry
a2b3666551
Rename kms iam test file (#827) 2017-12-06 14:39:29 -08:00
Nathan McKinley
114b646fae
Enable 'zone' to be specified at the provider level instead of per-resource. (#816)
- Fetch Zone attribute any place where it *was* being fetched from the schema by
	combination schema / provider-level attribute.
- Allow region to be unspecified if zone is specified.
- Switch one example to using provider-level zone as an example.
- Make provider-level zone optional.  (Individual resources will fail if they can't find a zone.)
- Add tests for getZone and getRegion.
2017-12-06 14:30:04 -08:00
Vincent Roseberry
9bebdd02f5
Make network name unique between each test run (#826)
* Make network name unique between each test run

* make fmt
2017-12-06 12:36:00 -08:00
Paddy
04fb54a8fc I'm on a roll.
How do program.
2017-12-06 12:01:30 -08:00
Paddy
f717f878e7 Actually check if an instance is running.
Forgot the most important part of the fix!
2017-12-06 11:59:45 -08:00
Paddy
4f9687e457 Fix the database sweeper.
It's getting hung up on a database replica instance that's not running,
so it can't stop it.

To resolve, we're only trying to stop replica instances that are in a
running state. Also, I noticed a bug that we'd try to delete replicas
twice, so I fixed that, as well.
2017-12-06 11:56:17 -08:00
Vincent Roseberry
d4e297ec44
Add google_kms_key_ring_iam_policy resource and improve iam docs (#814)
* Add google_kms_key_ring_iam_policy resource and improve iam docs
* Delete iam_binding and iam_member specific doc page for key ring
2017-12-06 09:33:21 -08:00
thomas jouannic
af3dcfde4c Include the "compute_image" datasource in the provider 2017-12-05 00:09:20 +01:00
thomas jouannic
81bb36333e Add tests for the "compute_image" datasource 2017-12-05 00:09:20 +01:00
thomas jouannic
95597bf022 Add the "compute_image" datasource 2017-12-04 23:43:17 +01:00
Vincent Roseberry
12baa8766b
Add support for min_cpu_platform to instance_template (#808)
* Add support for min_cpu_platform to instance_template

* Set value in initializer

* Extract test min cpu platform value in a const
2017-12-01 12:03:19 -08:00
Paddy
400a764f38 Clean up silly variable use. 2017-11-29 17:17:33 -08:00
Paddy
bb8725e513 Only handle root NS records special.
We introduced special handling for NS records in 1.2.0 under the
assumption that ALL NS records can't be deleted. This isn't actually
true. Only NS records for the naked domain of the managed zone can't be
removed; all other NS records can be. Because of this, 1.2.0 contains a
bug where all NS records are removed.

This update fixes the situation to only use special handling on NS
records that are for the naked root domain of the managed zone, and
treat all subdomain NS records as normal records. It also adds a test to
ensure this functionality.

Fixes #729.
2017-11-29 16:21:01 -08:00
Paddy
645dfa473e
Merge pull request #805 from terraform-providers/paddy_legacy_ipv4
Unremove ipv4_range on networks.
2017-11-29 15:51:41 -08:00
Dana Hoffman
0ef0367273
give disk_autoresize a default (#806) 2017-11-29 15:51:00 -08:00
Paddy
c9fb64ed57 Unremove ipv4_range on networks.
We removed ipv4_range, but the API still exists, it's just deprecated.
This breaks configs for users that haven't migrated off yet. I added it
back, added some tests to use it, included it in the docs, and basically
tried to put things back the way they were. The main difference now is
that the auto_create_subnetworks field defaults to true, and we want to
keep that behaviour to avoid a breaking change. So now if users want to
use the lagacy API, they need to set auto_create_subnetworks to false
explicitly.
2017-11-29 15:03:36 -08:00
Vincent Roseberry
8f701c6ebb
Remove getNetworkName method and use ParseNetworkFieldValue instead (#802) 2017-11-29 10:54:10 -08:00
Konrad Rotkiewicz
2f1b3a739c add empty value for ip version for global address (#799) 2017-11-29 10:07:40 -08:00