Commit Graph

1166 Commits

Author SHA1 Message Date
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
conzetti
7a84ea845d Add timeouts for SQL database resource (#1318)
This simply adds the specification for operation timeouts, and sets
sane defaults. In testing against specific regions, creation of SQL
databases would fluctuate between 7-14 minutes against us-east1. As
such, a 15m creation threshold is recommended for this. Update and
Delete operations will adhere to 10m timeouts.

This follows a similar format as #1309.
2018-04-10 15:17:42 -07:00
Nathan McKinley
79600b0eac
Update resource_compute_snapshot.go to add timeouts. (#1309) 2018-04-10 10:42:07 -07:00
Ben Galvin
1c992ab241 Use correct project id regex in instanceGroupManagerURL (#1311) 2018-04-10 09:52:54 -07:00
Thom Knowles
024e0b75bc Escape the display name in active folder data source (in case of spaces, etc) (#1261)
* escape the folder name (in case of spaces, etc)

* add test case for folder with space

* add missing args

* make separate tests for each folder test, get folder name length under API limits

* further abstract out the resource name to prevent test collisions

* workaround multiple results returning for a given query by looping over return

* split test cases into separate funcs
2018-04-09 10:32:14 -07:00
Dana Hoffman
8ad6f15478
fix error introduced when attached disks are deleted out of band (#1301)
* fix error introduced when attached disks are deleted out of band

* add comment about nil check
2018-04-06 17:40:49 -07:00
Dana Hoffman
cd0a462735
add subnetwork iam resources (#1305) 2018-04-06 17:38:48 -07:00
lnesci
b02686b9eb google folder data source (#1280)
* adding google folder data source with get by id, search by fields and lookup organization functionality

* removing search functionality

* creating folders for each test and updating documentation with default values
2018-04-05 16:59:47 -07:00
ashish-amarnath
f488a6e6bf Add support for regional GKE clusters in google_container_cluster (#1181)
* Add support for regional GKE clusters in google_container_cluster:

* implement operation wait for v1beta1 api
* implement container clusters get for regional clusters
* implement container clusters delete for regional cluster
* implement container clusters update for regional cluster
* simplify logic by using generic 'location' instead of 'zone' and 'region'
* implement a method to generate the update function and refactor
* rebase and fix

* reorder container_operation fns

* cleanup

* add import support and docs

* additional locations cleanup
2018-04-05 14:51:35 -07:00
Vincent Roseberry
fc43130d6f
Fix failing project_services import test and merge it (#1297)
* Fix failing project_services import test and merge it

* Use the original list of services
2018-04-05 13:32:26 -07:00
Vincent Roseberry
1bf076f6a9
Add disable_on_destroy flag to project_services (#1293) 2018-04-04 16:20:13 -07:00
Michael Parker
b8adcc28fe Updates container_cluster to set enable_legacy_abac to false by default (#1281)
* Updates the default GKE legacy ABAC setting to false

* Updates docs for container_cluster

* Update test comments

* Format fix

* Adds ImportState test step to default legacy ABAC test
2018-04-04 10:58:08 -07:00
Dana Hoffman
7bee5507f6
add timeouts support for sql database instance (#1288)
* add timeouts support for sql database instance

* rm a tag
2018-04-03 14:44:18 -07:00
emily
360260d8d0
Add project to container cluster import name. (#1282)
* allow import of container cluster by project as well

* update docs for importing container cluster with project

* combine tests
2018-04-03 13:39:28 -07:00
Matthew Jones
b80aad4bc6 fix: include object versions when deleting all objects in GCS bucket (#1285)
* fix: include object versions when deleting all objects in GCS bucket

* test: acceptance test for force destroy with versioning
2018-04-03 13:21:29 -07:00
Dominik Lekse
3460ddcaa7 Retrieve current OAuth access token from google_client_config data source (#1277)
* Added access_token field to google_client_config data source

* Refined documentation of google_client_config
2018-04-03 12:54:48 -07:00
Nathan McKinley
b3a1f43dbc
Set isn't a valid key for a TypeMap (#1259)
This line wasn't doing anything so we might as well get rid of it.  :)
2018-04-02 13:11:09 -07:00
Dana Hoffman
7596164ad1
Deprecate name_prefix (#1035)
* deprecate name_prefix

* make name_prefix computed and add migration instructions
2018-04-02 10:28:59 -07:00
Dana Hoffman
78e8c7b378
fix bug in np version code (#1276) 2018-03-30 10:59:33 -07:00
Adrián Matellanes
1f6ffa0f4b Add time partitioning field to google_bigquery_table resource (#1240)
* Add time partitioning field to google_bigquery_table resource

* Fix flatten time partitioning field to google_bigquery_table resource

* Add resource bigquery table time partitioning field test

* Move resource bigquery table time partitioning field test to basic

* Add step to check that all the fields match

* Mark resource bigquery table time partitioning field as ForceNew

* Add time partitioning field test to testAccBigQueryTable config
2018-03-30 10:15:06 -07:00
Janos Lenart
1840363c74 Adding private_cluster (#1250)
* Updated google.golang.org/api/container/v1beta1

* Added support for private_cluster and master_ipv4_cidr

This is to implement #1174. See
https://groups.google.com/forum/#!topic/google-cloud-sdk-announce/GGW3SQSANIc

* Added simple test for private_cluster and master_ipv4_cidr

* Review replies

* Added some documentation for private_cluster
2018-03-30 10:10:25 -07:00
Paddy
ea3d1034d6
Merge pull request #1260 from wayfair/ishashchuk_rigm_rolling
rIGM rolling update support
2018-03-29 14:30:17 -07:00
Paddy
69dc1c290c
Merge pull request #1272 from terraform-providers/paddy_org_tests_fix
Fix organization policy tests.
2018-03-29 13:43:03 -07:00
Paddy Carver
dfa40af993 Comment on shadowing variable. 2018-03-29 13:27:54 -07:00
Dana Hoffman
33d87a2bc1
add support for node pool versions (#1266) 2018-03-29 13:27:11 -07:00
Paddy Carver
0c3cbfc2e6 Fix organization policy tests.
This updates the organization policy tests to be run sequentially,
instead of in parallel, as they share a resource that they're modifying.
It also updates them to use a separate organization than the one all our
other tests are running in, which prevents other tests from failing
because they're run in parallel to the organization policy changing
under them.
2018-03-29 13:15:08 -07:00
Seth Vargo
4b353bb7a0 Read GOOGLE_CLOUD_PROJECT environment variable also (#1271) 2018-03-29 11:43:45 -07:00
emily
7fd537db69
Fix IAM policy deletion/read for deleted resources (#1262)
* add util for handling wrapped/raw google api errors

* add 404 error handling to shared iam files

* fix errwrap calls in iam files

* fix import

* remove newlines, clear ID for removed state in iam binding
2018-03-27 16:41:44 -07:00
emily
e53b24ba13
Merge pull request #1264 from danawillow/is-680
Add gke node taints
2018-03-27 16:25:31 -07:00
Nick Jacques
c1d47a32ee Add DiffSuppress for Target HTTP(S) Proxies (#1263)
* Add DiffSuppress for http(s) proxies

* Use compareSelfLinkRelativePaths instead
2018-03-27 15:38:32 -07:00
Dana Hoffman
42cca119eb add gke taints 2018-03-27 14:55:42 -07:00
Nick Jacques
72efdb1d92 New resource/datasource: SSL Policy (#1247)
* Add SSL Policy to provider

* Add resource for SSL Policy

* Add SSL Policy data source

* Add tests for SSL Policy resource

* Add documentation for SSL Policy resource

* Add SSL Policy datasource docs

* Add test for SSL Policy datasource

* Update SSL Policy datasource docs

* Make full update for SSL Policy resource

* SSL Policy resource test multi-attrib update

* Clean up SSL Policy datasource

* Set-ify custom_features in SSL Policy resource

* Document description ForceNew rationale

* Remove refs to TLS_1_3

* Update docs: plural -> singular

* Remove extraneous attrs from datasource

* Fix update logic for custom_features and add enabled_features

* Update docs to include enabled_features

* Add test for updating to/from custom_features

* Add TLS 1.3 bug link

* Add import between multi-step test configs

* Move Profile and minTlsVersion back into sslPolicy struct
2018-03-26 16:53:35 -07:00
Dana Hoffman
9fd4d02b89
allow setting service account email for keys (#1256) 2018-03-26 15:44:34 -07:00
Andy Lawrence
5b6e7f29c0 google_project_organization_policy (#1226)
* support google_project_organization_policy

* add documentation for google_project_organization_policy

* remove "folder" references and cleanup docs

* fix tests

* un-parallelize tests

* add comment about non-parralel tests

* moving canonicalProjectId() to test
2018-03-26 12:45:32 -07:00
Irena Shashchuk
d17c5a2a88 rIGM rolling update 2018-03-23 16:51:30 -04:00
Dana Hoffman
685842410e
Add update support for pod security policy (#1195)
* move setid calls back

* Revert "move setid calls back"

This reverts commit 0c7b2dbf92aff33dac8c5beb95568c2bc86dd7de.

* add update support for pod security policy

* update test

* add comment about updates
2018-03-23 11:27:37 -07:00
Nathan McKinley
4b15990dc3
Investigate and fix flaky sql user test. (#1212) 2018-03-23 14:19:39 -04:00
Dana Hoffman
95f96674a8
add ability to delete the default node pool (#1245) 2018-03-22 17:22:44 -07:00
Dana Hoffman
141b965e83
protect against an instance getting deleted by an igm while the disk is being detached (#1241) 2018-03-22 16:22:59 -07:00
Dana Hoffman
790711c649
add support for security policies in backend services (#1243) 2018-03-22 09:53:24 -07:00
Dana Hoffman
fde96ca9d9
Add new google_compute_security_policy resource (#1242)
* revendor compute/v0.beta

* add new `google_compute_security_policy` resource

* docs updates for security policy

* Add link to official docs
2018-03-21 16:52:23 -07:00
Dana Hoffman
98baa31a05
Set wait_for_instances when importing IGMs, make defaults match (#1235) 2018-03-21 12:39:12 -07:00
Dana Hoffman
ddfb7ef2cf
fix panic when setting empty iap block (#1232) 2018-03-20 15:41:58 -07:00
Dana Hoffman
28efae534a
Add wait_for_instances field to IGM and self_link option to the IG data source (#1222)
* Add wait_for_instances field to IGM and self_link option to the IG data source

* don't be clever with errors
2018-03-20 14:20:43 -07:00
Shinichi TAMURA
fc6a821433 Suppress perpetual diff on logging sink filter with surrounding whitespaces (#1206) 2018-03-20 12:49:50 -04:00
Dana Hoffman
e9ab089260
set force_destroy on import (#1223) 2018-03-19 16:37:39 -07:00
Paddy Carver
53c905b99a Back out the Set changes from #1217.
PR #1217 mistakenly updated the Set logic when flattening backends,
which caused some cascading errors and wasn't strictly necessary to
resolve the issue at hand. This backs out those changes, and instead
makes the smallest possible change to resolve the initial error, by
separating the logic for flattening regional backends from the logic for
flattening global backends.
2018-03-19 12:08:58 -07:00
Paddy Carver
aefef54ab0 Fix our calls to d.Set that returned errors.
We had several calls to `d.Set` that returned errors we weren't
catching, that turning on the panic flag for the tests caught. This PR
addresses them, and fixes the one test that was not safe to run in
parallel because it relied on a hardcoded name being unique.

This is largely just removing calls to `d.Set` for fields that don't
exist in the Schema, fixing how Sets get set, correcting typos, and
converting types.
2018-03-19 09:47:33 -07:00
Nathan McKinley
70ec9e5341
Properly delete dataflow jobs in the event of terraform destroy. (#1194) 2018-03-16 15:32:40 -07:00
Nick Jacques
8ada4ffdb2 Add deletion_protection wrapper for deleting instance (#1211) 2018-03-16 14:09:21 -07:00
Nathan McKinley
dd79754059
cdn_policy should also be computed. (#1210) 2018-03-16 13:56:27 -07:00
Alessandro Siragusa
7d3d13c7b1 Adding instance_group_urls in resource_container_node_pool (#1207) 2018-03-16 12:54:01 -07:00
Nick Jacques
46a3d2fd47 Add deletion protection to resource_compute_instance (#1205) 2018-03-16 11:57:42 -07:00
Paddy
ea0b05d287 Add debian-cloud to the list of acceptable projects for images. (#1209)
We have a set of constraints we apply to our organization as part of a
test for the organization policy functionality. This can get stuck from
quota issues, or it can run in parallel to other tests. The policy
currently limits the projects that images can be used from to the
project running the test, but a lot of our tests use images from the
debian-cloud project. This just updates the policy to allow debian-cloud
images to be used, too, so even if the policy doesn't properly get
cleaned up or if it runs in parallel with other tests, our tests are
still within the policy.

The real fix for this is to set up a separate org for testing, so we're
not modifying the test environment under running tests, but that'll take
a bit more time, so this is the patchfix until that can happen.
2018-03-16 10:52:52 -07:00
Dana Hoffman
eb8b19eeef
Add cdn_policy field to backend service (#1208)
* Add CDN policy support

* docs and reorderings for cdn policy

* test fmt
2018-03-16 10:50:32 -07:00
Dana Hoffman
462c4cebc8
importify gke tests (#1204)
* importify gke tests

* fix typo

* add in missed tests after merge

* remove import-specific tests

* fixes based on tests that failed
2018-03-15 17:08:39 -07:00
Nathan McKinley
e717edb7a6
Add network policy config. (#1200) 2018-03-15 14:50:24 -07:00
Paddy Carver
dd70d264bf Merge branch 'master' into paddy_managed_zone_tests 2018-03-15 13:37:58 -07:00
Paddy
0ecc366f95
Merge pull request #1202 from terraform-providers/paddy_remove_comment
Remove commented out code.
2018-03-15 13:37:14 -07:00
Paddy Carver
c223521d31 Remove commented out code.
We don't really need dead code, and this is breaking our `make fmt` test
because it gets indented differently in go 1.10 from in go 1.9.
2018-03-15 13:30:01 -07:00
Dana Hoffman
fe8ceed1d5
Add support for GKE metadata concealment (#1199)
* add support for gke metadata concealment

* docs for metadata concealment
2018-03-15 13:28:30 -07:00
Paddy Carver
4698711ab1 Fix managed zone tests.
Managed zone tests are failing because we're attempting to use the naked
domain as the managed zone, when it's already being managed by GCP. By
making a subdomain the managed zone, we avoid this problem.
2018-03-15 13:22:29 -07:00
Nathan McKinley
2ea356204f
Reduce flakiness by ensuring three successful fetches of IAM resources before returning. (#1197) 2018-03-15 11:15:42 -07:00
ishashchuk
14f1431896 Rolling update support for instance group manager (#1137) 2018-03-15 11:10:09 -07:00
Nathan McKinley
5bbc02c378
Add the organization iam policy, with suitable warnings. (#1196) 2018-03-14 15:21:33 -07:00
Dana Hoffman
65147fd23e
Add support for pod security policy (#1192)
* move setid calls back

* add support for pod security policy

* pod security policy docs

* Revert "move setid calls back"

This reverts commit 0c7b2dbf92aff33dac8c5beb95568c2bc86dd7de.

* cleanup

* remove comments about disabling update
2018-03-14 14:00:31 -07:00
Nathan McKinley
aaac3a1df9
Force validation of region for cloudfunctions. (#1188) 2018-03-13 12:11:41 -07:00
Dana Hoffman
99860f39e4
Dataproc autogen bucket changes (#1171)
* add extra wait for storage bucket object deletion

* make timeout for object deletion 5 minutes, make it succeed 3 times

* delete the cluster before deleting the bucket

* deprecate delete_autogen_bucket

* improve deprecation message
2018-03-13 11:46:27 -07:00
Dana Hoffman
fd0819786b
revive initial_node_count (#1176) 2018-03-13 11:45:01 -07:00
Benjamin Pineau
f65127585a Datasource for Backend Services (#1150)
Exposes existing `google_compute_backend_service` as data sources.
This addresses #149 .

This allows, for instance, to collect a backend service's self_link and
use it from an other workspace/tfstate, sharing most of the
loadbalancers definition.
2018-03-12 15:09:30 -07:00
ssaqua
9155a556ef Update to Cloud Functions Pub/Sub trigger event (#1180) 2018-03-12 14:55:55 -07:00
Dana Hoffman
9ae7a8ddb0
test fixes (#1185) 2018-03-12 13:18:39 -07:00
ishashchuk
2efa710696 Datasource for GCE service account (#1119)
* Data source for retrieving GCE service account
* Added project id for service account lookups (#15)
* Renaming attribute project_id -> project
2018-03-12 09:41:15 -07:00
Dana Hoffman
c33b33e1cc
expect 4 labels in dataproc cluster test (#1182) 2018-03-12 09:06:05 -07:00
Dana Hoffman
edf8918db6
Add generated resources for http(s)_health_check, updates to backend_bucket, and import helpers (#1177)
* add import helpers for generated code

* Updates to backend bucket and transport.go from MM

* add generated http(s)_health_check resources

* name is required; transport import style

* update docs with new fields/timeouts

* fixes
2018-03-09 17:14:32 -08:00
Toby Lawrence
08e81f528c Support distributionPolicy when creating regional instance group managers. (#1092)
* Support `distributionPolicy` when creating regional instance group managers.

* Better match the API structure of distributionPolicy.

* Switch to "distribution_policy_zones".

This approach lets us more simply allow a list of zones to use, while
providing a deprecation path for implementing the distribution policy
field more holistically, avoiding backwards-incompatible changes.

* fix typo

* use slice instead of Set for flattenDP
2018-03-09 11:04:09 -08:00
Dana Hoffman
1d1cfa64c4
increase timeout for dataproc test jobs completing (#1172) 2018-03-08 19:24:57 -08:00
Dana Hoffman
ab385ff574
don't set omitted fields when converting between a map and a struct (#1165) 2018-03-08 10:51:25 -08:00
Dana Hoffman
fc58b8e54c
Fix typo in pubsub iam test (#1169) 2018-03-08 09:16:50 -08:00
Dana Hoffman
46fb949c1f
Set ID for GKE resources before waiting (#1158) 2018-03-07 11:06:00 -08:00
Dana Hoffman
6d8a8b1747
Add more beta scaffolding for GKE resources (#1139)
* vendor container/v1beta1

* revendor container/v1beta1

* add beta scaffolding for gke resources

* fix json unmarshal error

* fix issues with trying to convert interface instead of struct

* same fixes but for node pool

* move setid calls back
2018-03-06 17:44:05 -08:00
Vincent Roseberry
91c9e0851c
Add IAM resources for pubsub subscriptions (#1156)
* Add IAM resources for pubsub subscription

* Add documentation

* Refactored topic and subscription computed methods

* Add project field to documentation

* Addressed Dana's comments
2018-03-06 09:52:39 -08:00
Paddy
9f47852189
Merge pull request #1141 from terraform-providers/paddy_863
Fix perpetual diff in #863.
2018-03-05 16:40:26 -08:00
Vincent Roseberry
35c2cb2abf
Add project field to iam pubsub topic resources (#1154)
* Add project field to iam pubsub topic resources

* Update documentation
2018-03-05 15:31:24 -08:00
Julien Phalip
3e4b66884b Let the compute zones data source accept a project parameter (#1122) 2018-03-05 13:32:14 -08:00
Florian Pfeiffer
6a2fca86a0 Loosen regex on projectId for importSpannerInstanceId and importSpannerDatabaseId (#1151) 2018-03-05 13:24:55 -08:00
Nathan McKinley
e8ffe89817
Extra error handling for node pools that don't match instance manager pattern. (#1149) 2018-03-02 17:14:48 -08:00
Florian Pfeiffer
5ea98d27f9 Loosen regex in computeDiskUserRegexString - accept ":" or "." (#1145) 2018-03-02 12:10:40 -08:00
Dana Hoffman
1d64cc5d26
allow importing a pubsub topic using its full id (#1142) 2018-03-02 11:22:58 -08:00
Dana Hoffman
263240dd9f
fix typos in pyspark dataproc job resource (#1120) 2018-03-01 18:02:33 -08:00
Genevieve
7e358d894a SQL DB Instance has attribute first_ip_address (#1050)
* Expose first ip address on sql db instance.

Signed-off-by: Desmond Pompa Alarcon Rawls <captaingrover@gmail.com>

* Use the ip_address key on the first map in ip_address list.

Signed-off-by: Genevieve LEsperance <glesperance@pivotal.io>

* Run first_ip_address test check if there is an ip address.

Signed-off-by: Desmond Pompa Alarcon Rawls <captaingrover@gmail.com>

* Add first_ip_address to sql db instance scheme.

Signed-off-by: Genevieve LEsperance <glesperance@pivotal.io>
2018-03-01 17:12:33 -08:00
Nathan McKinley
58a7ef9d03
Fix incorrect result on Read ignoring most authorized networks. (#1097) 2018-03-01 13:19:18 -08:00
Paddy Carver
61c1eb2719 Make RRdatas case insensitive.
The GCP backend apparently lowercases the values, no matter what you
enter, so we consider uppercase and lowercase values to be equivalent.
This fixes #862.
2018-03-01 13:01:30 -08:00
Paddy Carver
391516d741 Fix perpetual diff in #863.
This treats record set RRdata values as equivalent if they're quoted and
unquoted, as the GCP backend likes to return TXT records quoted.
2018-03-01 12:50:47 -08:00
ishashchuk
67ecf5345e Data source for retrieving project information (#1111)
* Project data source

* Mirroring project datasource from project resource (#14)
2018-02-28 12:37:24 -08:00
Dana Hoffman
313eb0fb89
Check set equality for service account scope changes (#1130)
* add debug printfs

* more logs for debugging

* check set equality for service acct scope changes

* revert changes to region igm

* style things
2018-02-27 14:29:00 -08:00
Dana Hoffman
919e7ee52f
Don't store disk id in state if it didn't create (#1129) 2018-02-26 11:13:20 -08:00
Darren Hague
5b0d8d43ff Allow specifying accelerators in cluster node_config (#1115) 2018-02-23 16:55:07 -08:00
Dana Hoffman
6d0b87ec1e
s/TestAccGoogle/TestAcc/ (#1121)
* s/TestAccGoogle/TestAcc/

* add back import

* reorder imports
2018-02-23 15:14:24 -08:00
Nathan McKinley
640e25931e
Move log statement for storage bucket (#1126) 2018-02-23 10:58:42 -08:00
Nathan McKinley
151e83aa26
Only check project if it's not present on the resource. (#1125) 2018-02-22 15:31:55 -08:00
Dana Hoffman
4154db93e9
add diffsuppress to allow lowercase ip protocols (#1118) 2018-02-22 09:27:43 -08:00
Dana Hoffman
9a4c92bb1b
add json omitted fields back when converting (#1098)
* add json omitted fields back when converting

* for testing: don't use json in convert

* try a combination of structs and mapstructure libraries

* Revert "try a combination of structs and mapstructure libraries"

This reverts commit eab11aa95d3abb74b240988e5c99d6e9525db96c.

* Revert "for testing: don't use json in convert"

This reverts commit 96af067b29dd147fcedb55995ebc8a17c6a9d1b2.
2018-02-22 09:27:02 -08:00
ishashchuk
ef3ea881b1 Datasource for retrieving GCS service account (#1110)
* Datasource for retrieving GCS service account

* Removing duplicated argument

* Gofmt post resolving conflicts

* Addressing review comment
2018-02-21 13:37:23 -08:00
Vincent Roseberry
304c0aa6cb
Move method out of resource file to prepare for autogen (#1102) 2018-02-20 12:40:02 -08:00
Vincent Roseberry
297b0a80e0
Refactor PubSub import test (#1106)
* Refactor pubsub subscription import test

* Refactor pubsub topic import test
2018-02-20 11:12:22 -08:00
Konstantinos Tsanaktsidis
411017c35f Fix overly restrictive validation for ServiceAccountLinkRegex (#1073) 2018-02-20 10:36:18 -08:00
Nathan McKinley
026e813287
Run gofmt. (#1095) 2018-02-15 19:26:36 -08:00
Vincent Roseberry
21564c36a1
Move method from resource to datasource file (#1093) 2018-02-15 15:40:40 -08:00
Dana Hoffman
7977d277ec
Add scaffolding to enable beta features in GKE resources (#1085)
* make api_versions more generic

* add api versions for gke
2018-02-15 18:37:36 -05:00
Vincent Roseberry
4b1fdee504
Changes to handle autogeneration. (#1087)
* Add Set method to TerraformResourceData and ResourceDataMock

* Add Id() and SetId() to ResourceDataMock and TerraformResourceData

* Keep only name when reading region or zone field to handle api that returns self_link
2018-02-15 15:32:31 -08:00
Julien Phalip
7477c7482c Let route resource accept "description" attribute (#1088) 2018-02-15 13:03:28 -08:00
Julien Phalip
c607b466f6 Fix VPN gateway data source schema for "network" attribute. (#1086) 2018-02-14 16:16:42 -08:00
Dana Hoffman
2e665f2f35
add support for updating alias ips in instances (#1084) 2018-02-14 15:48:47 -05:00
Nathan McKinley
f7851162a4
Don't set metadata_startup_script in some cases. (#1081) 2018-02-13 23:55:37 -08:00
Julien Phalip
1966a791a6 Add data source for forwarding rule (#1078) 2018-02-13 17:43:08 -08:00
Nathan McKinley
8354a43d1a
Add usage export bucket resource. (#1080) 2018-02-13 13:30:17 -08:00
Kit Ewbank
21e0075f6f Add 'google_folder_iam_binding' and 'google_folder_iam_member' resources (#1076) 2018-02-13 12:49:51 -08:00
Julien Phalip
509614e404 Improve error handling for data sources not found (#1077) 2018-02-13 11:19:59 -08:00
Julien Phalip
f6c5f01a95 Add VPN gateway data source (#1071) 2018-02-12 15:28:02 -08:00
Chase
e1323489ba Feature: select compute instance attached disk mode (#947) 2018-02-12 10:56:06 -08:00
Vincent Roseberry
5f32d7e87a
Fix TestAccContainerCluster_withIPAllocationPolicy test (#1065)
* Remove bad test in testAccContainerCluster_withIPAllocationPolicy

One step was expecting the test to fail if the subnetwork defines
secondary ip ranges that the cluster doesn't use. However, it is
perfectly fine to do so and we don't expect an error.

* Revert "Remove bad test in testAccContainerCluster_withIPAllocationPolicy"

This reverts commit af2f369907181a107cfc0ed9fa2ff0e288f02f66.

* Fail if use_ip_aliases is true and no range names is provided

* make fmt

* don't introduce new field for now. Wait until we want to support new feature in allocation policy
2018-02-09 13:55:38 -08:00
Vincent Roseberry
b789d7c2a0
Support multiple users with the same name for different host for 1st gen. (#1066)
* Support multiple users with the same name for different host for 1st gen.

* Fix typo and rename user
2018-02-09 13:43:49 -08:00
Dana Hoffman
9900e6a4c7
Add generated BackendBucket resource + transport.go (#1064)
* Add generated BackendBucket resource

* add ForceNew back to name

* Add log statements back
2018-02-08 17:58:20 -08:00
Vincent Roseberry
842256abc2
Return an error if name and name prefix are specified in node pool (#1062) 2018-02-08 13:35:35 -08:00
Vincent Roseberry
476fc5a945
Update master_auth password in cluster datasource test to meet the new minimal length requirement (#1063) 2018-02-08 10:16:51 -08:00
Vincent Roseberry
e8c5266a2f
Mark subnetwork field in container cluster as computed (#1061)
* Mark subnetwork field in container cluster as computed

* make fmt
2018-02-08 10:04:16 -08:00
Dana Hoffman
e48f247196
org policy test fixes (#1059) 2018-02-07 14:55:03 -08:00
Vaidas Jablonskis
1b042a3b18 Cloud SQL user password can be optional (#1056) 2018-02-07 11:59:23 -08:00
ishashchuk
7257b9aaa8 Storage Notification Resource (#1033)
* Storage Default Object ACL resource

* Fixed the doc

* Renamed the resource id. Log change

* Complying with go vet

* Changes for review

* link to default object acl docs in sidebar

* Support for GCS notifications

* docs for storage notification

* docs for storage notification

* Clarified the doc

* Doc modifications

* Addressing requested changes from review

* Addressing requested changes from review

* Using ImportStatePassthrough
2018-02-05 14:14:36 -08:00
Vincent Roseberry
388f9bcd79
Don't set MaxRate and MaxRateInstance (#1053)
* Don't set MaxRate and MaxRateInstance

* Fix if check
2018-02-05 12:58:11 -08:00
Vincent Roseberry
90b9fa1208
Remove master_auth from test that don't need it (#1049) 2018-02-05 11:15:03 -08:00
Emily Ye
41a0fddfbd remove multiple locks from cluster update and add lock helper 2018-02-05 09:45:53 -08:00
Vincent Roseberry
9d59f5f93a
Remove unnecessary Exists methods (#1032)
* Remove unnecessary
exists method

* make fmt

* Remove unused import
2018-02-02 13:04:22 -08:00
Dana Hoffman
cfac1dbc8b
deprecate compute_image.custom_timeout (#1038) 2018-02-02 10:56:18 -08:00
Vincent Roseberry
629c53be03
Make get(Region|Project|Zone) method testable (#1040) 2018-02-02 10:55:43 -08:00
Emily Ye
10ef26a905 actually fix container_network_policy diff suppress and add test 2018-02-01 10:25:12 -08:00
Emily Ye
5f3070e223 add diff suppress for empty network policy in container cluster 2018-01-31 14:36:03 -08:00
Vincent Roseberry
3a65e36cbc
Diff suppress unconventional public image family naming pattern (#1024)
* DiffSuppress for all public images family names

* Update documentation

* TF_ACC guard

* diskImageEquals should use ==
2018-01-31 09:33:26 -08:00
emily
d59f5fc3c1
Merge pull request #1028 from emilymye/capacity_scaler_1014
Force send numeric values if set for compute backend services
2018-01-30 17:13:36 -08:00
Emily Ye
24975fedd2 force send numeric values if set for compute backend services 2018-01-30 17:01:46 -08:00
Vincent Roseberry
559f28016f
Remove unnecessary StateFunc in compute_target_https_proxy (#1027)
* Remove unnecessary StateFunc in https proxy

* Support name only certificates

* Remove test for the removed validate func
2018-01-30 16:07:43 -08:00
emily
db3a88ebef
Merge pull request #1015 from jphalip/route-priority-optional
Make route priority optional, default to 1000
2018-01-30 15:20:03 -08:00
Dana Hoffman
3074db8084
keep description the same between updates 2018-01-30 14:41:20 -08:00
Jeff Johnson
d9a4be0c6c Remove Optional flag from Computed server_ca_cert resource (#1025)
Response to PR comment:
https://github.com/terraform-providers/terraform-provider-google/pull/1020#pullrequestreview-92660096
2018-01-30 14:37:30 -08:00
emily
f73db84c7e
Merge pull request #1019 from ewbankkit/issue-1018
Set 'project' attribute when importing 'google_logging_project_sink'
2018-01-30 13:32:59 -08:00
emily
7e91cbb05d
Merge pull request #1020 from johnsonj/master
Add support for Cloud SQL CA Cert (#635)
2018-01-30 13:19:37 -08:00
Vincent Roseberry
429c8e834c
Remove latest image from diskImageDiffSuppress (#1021) 2018-01-30 11:05:23 -08:00
Kit Ewbank
1f7e84c25e Call 'parseLoggingSinkId' to parse logging project sink ID. 2018-01-29 18:23:08 -05:00
Kit Ewbank
a51117ca97 Add back seperate logging project sink import test. 2018-01-29 18:22:15 -05:00
Jeff Johnson
6e101dd3b7 Add support for Cloud SQL CA Cert (#635)
Expose the 'ServerCaCert' object from the Cloud SQL Instance[1]

Related: #635 - Solves first point

[1] https://cloud.google.com/sql/docs/mysql/admin-api/v1beta4/instances#resource
2018-01-29 13:53:54 -08:00
Kit Ewbank
8748941116 Set 'project' attribute when importing 'google_logging_project_sink'. 2018-01-29 09:19:47 -05:00
Kit Ewbank
31bc09279d
Fix nil pointer dereference updating project labels. 2018-01-27 16:55:39 -05:00
Julien Phalip
261a43e633 Make route priority optional, default to 1000
Fixes #1009
2018-01-27 13:37:32 -08:00
ishashchuk
9f21b56fe5 Add google_storage_default_object_acl resource (#992)
* Storage Default Object ACL resource

* Fixed the doc

* Renamed the resource id. Log change

* Complying with go vet

* Changes for review

* link to default object acl docs in sidebar
2018-01-25 11:29:49 -08:00
Patrick Pelletier
eaac260f36 Add support for setting bucket's logging config (#946)
* Add support for setting bucket's logging config

* Add log_object_prefix and fix nil Logging condition
2018-01-25 11:02:08 -08:00
Nathan McKinley
9d3e64cdaf
Add cloud endpoints resource (#933)
OpenAPI & gRPC Endpoints on Compute Engine.

New Resource:
- Endpoints Service Create/Read/Delete
- Example terraform config
2018-01-24 13:03:57 -08:00
Simon Pizonka
fec2f0bc02 Add support for Google Cloud IoT Core registry (#970) 2018-01-24 13:03:09 -08:00
Dana Hoffman
c18ac00e8f
Add generic http client to Config struct (#994) 2018-01-24 13:00:53 -08:00
Kit Ewbank
b795a4563e Import google_compute_shared_vpc_host_project/google_compute_shared_vpc_service_project resources (#1004)
* Import google_compute_shared_vpc_host_project/google_compute_shared_vpc_service_project resources.

* Incorporate testing of resource import into main acceptance tests.
2018-01-24 12:54:42 -08:00
Dana Hoffman
3b753cefa2
Add update support for machine type, min cpu platform, and service accounts (#1005)
* Add update support for compute instance fields that require the machine to be stopped

* add warnings in docs about stopping the instance before updating

* add allow_stopping_for_update field
2018-01-24 12:50:39 -08:00
Lawrence Jones
9f42aeb652 PostgreSQL high availability (#1001)
* Update sqladmin api

Pull in updates to the generated sqladmin api and update callers for
the change in the StorageAutoResize setting

* Add support for availability_type setting

Allow specifying ZONAL or REGIONAL to allow for PostgreSQL HA
setup.

* vendor: update sqladmin/v1beta4

* Test setting AvailabilityType for PostgreSQL

Add tests that cover the creation of a Postgres database with
AvailabilityType set to REGIONAL, and correct some small issues that
were preventing compilation.

* Fix breaking change w/ disk_autoresize in cloudsql

95e5582766

The cloudsql admin client changed the way it handles StorageAutoResize
as a parameter, in order to be more explicit about when the server has
ommitted the field. This changed the type from being bool to *bool, and
we need to modify provider code so that we supply the right value to the
api client.
2018-01-24 09:23:48 -08:00
Dana Hoffman
33626a1e33
add metadata to gce cluster config in dataproc (#999) 2018-01-23 16:08:51 -08:00
Jacob Straszynski
939ba6d365 skip guest accelerators if count is 0. (#866)
* skip guest accelerators if count is 0.

Instances in instance groups in google will fail to provision, despite
requesting 0 GPUs. This came up for me when trying to provision
a similar instance group in all available regions, but only asking for
GPU's in those that support them by parameterizing the `count` and
setting it to 0.

This might be a violation of some terraform principles. For example,
testing locally with this change `terraform` did not recognize that
indeed my infra needed to be re-deployed (from it's pov, I assume it
believes this because inputs hadn't changed). Additionally, there may be
valid reasons for creating an instance template with 0 gpu's that can be
tuned upwards.

* Add guest accelerator skip test for instances.

* do not leave empty pointers to guest accelerators.

* attempt to clear guest accelerator diff

* conditionally customize diff for guest accels
2018-01-23 11:51:36 -08:00
Nathan McKinley
535fc64a14
condition.IsLive can come back nil - avoid crash if it does. (#997) 2018-01-22 14:14:02 -08:00
Nathan McKinley
0133845a19
Wrap HTTP errors so that concurrent-modification-detection works as designed. (#987) 2018-01-19 16:31:51 -08:00
Nathan McKinley
7b54aa8540
Read project name from API instead of inferring from provider in case of import. (#985) 2018-01-19 15:32:57 -08:00
Stefan Schmidt
bda219f276 Allow for legacy domain-scoped project IDs. (#960) 2018-01-19 15:11:30 -08:00
Vincent Roseberry
3e900a3e6b
Bump up defaults timeout for dataproc (#979) 2018-01-18 11:12:14 -08:00
Vincent Roseberry
5043f60939
Fix canonical image (#978) 2018-01-18 10:49:30 -08:00
Dana Hoffman
92b9984dae
fix gke tests (#977) 2018-01-18 09:51:55 -08:00
Nathan McKinley
d8aea17b19
New simple data sources for GCR Repo and Image. (#954)
New, very simple data sources for GCR Repo and Image, plus docs.
2018-01-17 18:47:25 -08:00
Vincent Roseberry
681cc72f38
Read compute instance boot disk initialization params from API (#948)
* read boot disk initialization param from API

* make fmt

* Mark the initialize_params list as computed to support boot source

* Ensure private family test follow naming pattern

* Improve docs
2018-01-17 13:23:24 -08:00
Vincent Roseberry
c9826b1452
Support subnetwork IP CIDR range expansion (#945)
* Vendor schema/helper/customdiff

* Support subnetwork IP CIDR range expansion

* Change wording
2018-01-17 12:58:37 -08:00
Vincent Roseberry
fc7c0ce74a
Add import support to google_dns_record_set (#895)
* Add import support to google_dns_record_set

* Add import test to NS record

* Minimize diff change

* Improve docs

* Make error message more helpful

* Add note about trailing dot at the end of the record name
2018-01-17 11:19:55 -08:00
Vincent Roseberry
d0f5fec463
Standardize resource name extraction from self_link/uri (#939)
* Standardize resource name extraction from self_link/uri

* remove rebase artifact

* style improvement

* Fix merge issue
2018-01-17 10:45:28 -08:00
Kit Ewbank
34279a6bde Correct usage of 'folders' for 'google_folder_organization_policy' resource. (#963) 2018-01-17 10:26:16 -08:00
Kit Ewbank
233485ba8a Fix 'go vet' error - 'arg found.AutoscalingPolicy.CpuUtilization.UtilizationTarget for printf verb %d of wrong type: float64'. (#969) 2018-01-17 09:52:20 -08:00
Nathan McKinley
719bbb40aa
Fix autoscaler - was unnecessarily forcing to a single metric (#966)
Fix for autoscalers - we were unnecessarily forcing to a single metric when multiple metrics are supported.
2018-01-16 17:10:13 -08:00
Nathan McKinley
ea50226ade
Add disable_on_destroy option to google_project_service. (#965) 2018-01-16 14:39:27 -08:00
James McGill
bc266979d4 Revert "Ensure Elem is always either a *Schema or *Resource (#929)" (#950)
This reverts commit a3352655ac.
2018-01-12 10:09:06 -08:00
Vincent Roseberry
3d178f5633
Fix update when changing health check type (#944) 2018-01-12 10:04:37 -08:00
Nathan McKinley
f50d4a19b4
New Resource: Dataflow Job (#855)
Add support for Google Dataflow jobs

Note: A dataflow job exists when it is in a nonterminal state, and does not exist if it
is in a terminal state (or a non-running state which can only transition into terminal
states).  See doc for more detail.
2018-01-10 14:38:15 -08:00
sarunask
f07c332849 Cloud functions (#899)
* Initial commit

* Adding google_cloudfunction_function resource

* Some FMT updates

* Working Cloud Function Create/Delete/Get
Create is limited to gs:// source now.

* Fixed tests import

* Terraform now is able to apply and destroy function

* Fully working Basic test

* Added:
1. Allowed region check
2. readTimeout helper

* Found better solution for conflicting values

* Adding description

* Adding full basic test

* dded Update functionality

* Made few more optional params

* Added test for Labels

* Added update tests

* Added storage_* members and made function source deploy from storage bucket object

* Adding comments

* Adding tests for PubSub

* Adding tests for Bucket

* Adding Data provider

* Fixing bug which allowed to miss error

* Amending Operation retrieval

* Fixing vet errors and vendoring cloudfunctions/v1

* Fixing according to comments

* Fixing according to comments round #2

* Fixing tabs to space

* Fixing tabs to space and some comments #3

* Re-done update to include labels in one update with others

* Adding back default values. In case of such scenario, when user creates function with some values for "timeout" or "available_memory_mb", and then disables those attributes. Terraform plan then gives:
No changes. Infrastructure is up-to-date.
This is an error. By adding const we would avoid this error.

* Fixed MixedCase and more tabs
2018-01-10 13:25:43 -08:00
Jonathan Pentecost
e3b6e3ea8c google/resource_source_repos_repository: Export repository url (#943)
* google/resource_source_repos_repository: Export repository url

* website/docs/r/sourcerepo_repository: Update official documentation link
2018-01-10 11:26:16 -08:00
Vincent Roseberry
3690926170
Support self_link from different project in dataproc network and subnetwork fields (#935) 2018-01-10 11:05:24 -08:00
Vincent Roseberry
4bd526a4f6
Deprecate the policy_data field of the google_service_account (#942) 2018-01-10 10:44:01 -08:00
Vincent Roseberry
da3a6f13a1
Infers region from zone before using the provider-level region (#938) 2018-01-09 13:57:02 -08:00
Vincent Roseberry
6ba6dfa6d2
Ensures operation on a cluster are applied serially (#937) 2018-01-09 12:39:04 -05:00
Dana Hoffman
585c734503
Set default scopes when creating GKE clusters/node pools (#924)
* set scopes by default

* clarify list -> list/set
2018-01-08 15:54:45 -08:00
Quinn Vallance
5a557546a7 Add google_logging_organization_sink resource (#923)
* Add google_logging_organization_sink resource

* cleanup
2018-01-08 18:15:30 -05:00
Piyush Mishra
de23b59463 Fix a typo in error message (#928) 2018-01-08 12:49:30 -08:00
James McGill
a3352655ac Ensure Elem is always either a *Schema or *Resource (#929)
* Ensure Elem is always either a *Schema or *Resource

* Revert vendor file
2018-01-08 12:48:26 -08:00
Vincent Roseberry
0252501cd4
Don't access attributes on a nil object (#918) 2018-01-04 16:17:03 -05:00
Dana Hoffman
5bf56797f7
make provider-wide region optional (#916) 2018-01-03 14:09:46 -08:00
Vincent Roseberry
dab491d28d
Make zone field consistent and truly optional for all resources (#914) 2018-01-03 16:18:40 -05:00
Vincent Roseberry
52462382c9
Refactor import tests for the remaining compute resources (#909)
* Improve instance group manager import tests

* Improe instance template & project metadata import test

* Improve region autoscaler import test

* Improve router interface import test

* Improve router peer import test

* Improve SSL certs import test

* Improve http & https target proxy import tests

* Improve target pool import test

* Improve url map import test

* Improve target ssl & tcp proxy import test

* Add import test for instance template disk
2018-01-03 09:26:55 -05:00
Vincent Roseberry
999ae08957
Fix flatten IAP and improve import test (#907) 2018-01-02 15:47:28 -05:00
Vincent Roseberry
d9f3e6b249
Add unit test for the self link diff suppress function (#904) 2018-01-02 14:21:04 -05:00
Vincent Roseberry
283c8f89e3
Delete unused methods (#905) 2018-01-02 14:15:13 -05:00
Michael Bannister
18534c9e7d Don't recreate container_cluster when maintenance_window changes (#893)
* Don't recreate container_cluster when maintenance_window changes

Fixes #727

* Omit ForceNew when false

Review comments for PR #893

* Move MaintenancePolicy mapping logic into expand/flatten functions

Review comments for PR #893

* Improve acceptance test for maintenance window update/removal

Review comments for PR #893
2017-12-27 12:29:14 -08:00
Vincent Roseberry
f15d66f28a
Remove noisy log statement (#896)
* Remove noisy log statement

* Remove unused import
2017-12-22 16:49:01 -08:00
Nick Jacques
46cc5b7d84 WIP: Add "internal IP only" support for Dataproc clusters (#837)
* Add internalIpOnly support for Dataproc clusters

* Add internal_ip_only to dataproc cluster docs

* Add default/basic dataproc internal ip test case

* Add test for dataproc internal_ip_only=true

* fixup cluster_config.gce_cluster_config to include .0.

* Remove redundant depends_on

* Add %s rnd to network and subnetwork

* Use variable for subnet CIDR and reference via source_ranges

* Add depends_on back to dataproc cluster test

* Fix cluster attribute refs (.0. again)
2017-12-22 13:24:05 -08:00
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
Vincent Roseberry
c812b83fa7
Detect changes to local file or changes made outside of Terraform to the file stored on the server. (#798)
* Detect changes to local file or changes made outside of Terraform to the file stored on the server.
* Add comment about why the detect_md5hash field is optional and not computed
2017-11-29 10:03:03 -08:00
Dana Hoffman
50afa7b199
compute instance helpers / metadata cleanup (#797)
* get rid of getSubnetworkLink and getProjectAndRegionFromSubnetworkLink

* dedupe metadata flatteners

* update flattenMetadata comment
2017-11-29 09:47:42 -08:00
Vincent Roseberry
1ee386b33b
Fix service_account_id field validation in service account key (#795) 2017-11-28 14:37:46 -08:00
Nic Cope
94a405d179 Add Alias IP and Guest Accelerator support to Instance Templates (#639)
* Move AliasIpRange helpers into utils

To reflect the fact they'll be used by multiple resources.

* Pass Config to build helpers, not meta

It's the only thing meta is used for.

* Refactor getNetwork util methods to return early for the happy path.

* Update compute APIs

compute.Instance.MinCpuPlatform is now GA.

* Fix panic in TestComputeInstanceMigrateState

This seemed to be a pre-existing issue, i.e. I could repro it in master.

--- FAIL: TestComputeInstanceMigrateState (0.00s)
panic: interface conversion: interface {} is nil, not *google.Config [recovered]
        panic: interface conversion: interface {} is nil, not *google.Config

goroutine 85 [running]:
testing.tRunner.func1(0xc4205d60f0)
        /usr/local/Cellar/go/1.9.1/libexec/src/testing/testing.go:711 +0x2d2
panic(0x203acc0, 0xc4205d2080)
        /usr/local/Cellar/go/1.9.1/libexec/src/runtime/panic.go:491 +0x283
github.com/terraform-providers/terraform-provider-google/google.migrateStateV3toV4(0xc4205f2000, 0x0, 0x0, 0x0, 0x48, 0xc4205f2000)
        /Users/negz/control/go/src/github.com/terraform-providers/terraform-provider-google/google/resource_compute_instance_migrate.go:182 +0x2405
github.com/terraform-providers/terraform-provider-google/google.resourceComputeInstanceMigrateState(0x2, 0xc4205f2000, 0x0, 0x0, 0x0, 0x0, 0xe0000000000)
        /Users/negz/control/go/src/github.com/terraform-providers/terraform-provider-google/google/resource_compute_instance_migrate.go:48 +0x21a
github.com/terraform-providers/terraform-provider-google/google.runInstanceMigrateTest(0xc4205d60f0, 0x2260816, 0x8, 0x227d23a, 0x20, 0x2, 0xc4205ec0f0, 0xc4205ec120, 0x0,
 0x0)
        /Users/negz/control/go/src/github.com/terraform-providers/terraform-provider-google/google/resource_compute_instance_migrate_test.go:803 +0xc1
github.com/terraform-providers/terraform-provider-google/google.TestComputeInstanceMigrateState(0xc4205d60f0)
        /Users/negz/control/go/src/github.com/terraform-providers/terraform-provider-google/google/resource_compute_instance_migrate_test.go:71 +0xc84
testing.tRunner(0xc4205d60f0, 0x22d81c0)
        /usr/local/Cellar/go/1.9.1/libexec/src/testing/testing.go:746 +0xd0
created by testing.(*T).Run
        /usr/local/Cellar/go/1.9.1/libexec/src/testing/testing.go:789 +0x2de
FAIL    github.com/terraform-providers/terraform-provider-google/google 0.035s

* Use only the v1 API for resource_compute_instance

Alias IP ranges, Accelerators, and min CPU platform are now GA.

* Move common instance code into utils.go

Methods used by both resource_compute_instance and
resource_compute_instance_template are currently spread between their respective
files, and utils.go.

This commit moves them all into utils.go for the sake of consistency. It may be
worth considering an instance_common.go file or similar.

* Unify compute_instance and compute_instance_template network_interface and service_account code

This has the side effect of enabling Alias IP range support for
compute_instance_templates.

* Add tests for compute instance template Alias IP ranges

* Mark instance template region as computed

We compute it from the subnet its network interfaces are in. Note this
is not new behaviour - I believe it was erroneously missing the computed
flag.

* Support guest accelerators for instance templates

Since most of the code is already there.

* Add a test for using 'address' rather than 'network_ip' for instance templates

* Don't mark assigned_nat_ip as deprecated

* Remove network_interface schema fields that don't make sense for a compute instance template

* Add newline after count in instance template docs

* Don't try to dedupe guest accelerator expansion code

The API calls to Google to create guest accelerators take different values
for instances and instance templates. Instance templates don't have a zone
and can thus *only* be passed a guest accelerator name.

* Use ParseNetworkFieldValue instead of getNetworkLink

* Add support for parsing regional fields, and subnetworks specifically

Currently unused because subnetworks may have a separate project from that
of the instance using them, which complicates looking up the project field.

* Fall back to provider region when parsing regional field values

Also slightly refactors getXFromSchema field helper functions for readability.

* Revert to assigned_nat_ip in compute instance docs

* Add beta scaffolding to compute instance and compute instance template

Note these resources don't currently use beta features - this is futureproofing.

* Fix indentation in comment about instance template alias IP ranges

* Consolidate metadata helper functions in metadata.go

* Move compute instance (and template) related helpers into their own file
2017-11-28 10:01:27 -08:00
Vincent Roseberry
d4c5a718a5
Validate account_id length in google_service_account (#793)
* Add validation method for RFC1035 names
2017-11-27 17:58:11 -08:00
Vincent Roseberry
6c5d6b72e0
Store project and region in state (#784)
* Store project and region in state

* Delete unused project in runtimeconfig_variable
2017-11-27 16:32:20 -08:00
Vincent Roseberry
9930daa2af
Always use a function to create a test config (#785) 2017-11-27 16:32:00 -08:00
Vincent Roseberry
a9fd5fddcb
Detect changes to cloud storage object when using source field. (#789)
* Detect server or local changes to bucket object when using source field

* Improve tests by removing global err and tf vars

* Address Dana's comments
2017-11-27 16:25:32 -08:00
David Quarles
d57db91143 add support for ip aliasing in google_container_cluster (#654)
* add support for ip aliasing in `google_container_cluster`

* [review] cleanup galore, infer feature enablement from `ip_allocation_policy`

* [review] cleanup, round 2

* add nil check back (when reading ip allocation policy from API)
2017-11-27 18:15:03 -05:00
Vincent Roseberry
10f764aa9b
Add new resource google_folder_organization_policy (#747)
* Add new resource google_folder_organization_policy
* Add documentation
2017-11-27 14:53:01 -08:00
Sébastien GLON
39f22ef924 [WIP] Add container cluster network policy addon (#630)
* replalce TypeList by TypeSet

* Add network policy

* test improvement

* correct test

* Add cluster network polocy enabled

* Replalce network_policy addons by global network_policy enabled

* Update node_config.go

* Update resource_container_cluster.go

* clean

* clean

* Correct PR

* COrrect PR

* pr

* fix test to use same name

* add more documentation
2017-11-27 15:40:07 -05:00
Vincent Roseberry
40c20047b1
Revert "Added support for updating a cloud storage object using source field (#362)" (#787)
This reverts commit 5ba87f3d9e.
2017-11-24 11:10:58 -08:00
Rodrigue Cloutier
5ba87f3d9e Added support for updating a cloud storage object using source field (#362) 2017-11-24 10:25:53 -08:00
James Turley
6f4a7926ba IAM resources for KMS KeyRIng and CryptoKey (#781)
* Add IAM bindings and member resources for KMS KeyRings

* Add IAM bindings and member resources for KMS CryptoKeys

* Docs for key ring and crypto key IAM resources

* Exctract KMS policy conversions to helper functions

* Split iam_binding and iam_member tests for KMS

* Docs for kms IAM member resources

* Run KMS IAM tests in own project
2017-11-23 11:26:43 -08:00
James McGill
ca545e2171 Set UseLegacySql to true for compatibility with the BigQuery API (#724)
* Set UseLegacySql to true for compatibility with the BigQuery API

* make gofmt happy
2017-11-21 15:06:59 -08:00
Vincent Roseberry
ac0948e7d6
Refactored authoritative IAM policy logic to be reusable (#776) 2017-11-21 14:58:02 -08:00
Vincent Roseberry
e70d1fc44b
Add IAM binding and member support for organizations (#775) 2017-11-21 14:30:48 -08:00
Vincent Roseberry
fdfa9a5eb0
Fix Iam Binding to not rely on project specific code (#774) 2017-11-21 13:00:05 -08:00
David Quarles
34297fe478 Add support for google_container_node_pool management (#669)
* add support for `google_container_node_pool` management (sans-tests)

* [review] add tests, docs, general cleanup

* add docs

* [review] amend test to check updates and terraform fmt

* test updates, make nested management fields non-computed
2017-11-21 12:56:29 -08:00
Vincent Roseberry
0c0caee7ba
Standardize on test env var for region, creds and project (#770) 2017-11-21 09:34:32 -08:00
Nicki Watt
68f7d775c3 Add google_dataproc_job resource (#253)
* Add google_dataproc_job resource

* Correct state ref in docs

* make tests parallel

* cleanup, mostly whitespace related

* docs fmt
2017-11-21 09:32:43 -08:00
Vincent Roseberry
1859c558fe
Refactor project iam binding and member resources to improve reusability (#744)
* Refactor project iam binding and member resources to improve reusability
* Use default mask when updating project iam policy
* Add a doc comment for the ResourceIamUpdater interface
2017-11-20 17:01:39 -08:00
Vincent Roseberry
3a945770e5
Get test org and billing account in a consistent way (#766) 2017-11-20 15:45:51 -08:00
Vincent Roseberry
454384fc70
All beta fields in compute firewall are GA (#768)
* Upgrade compute v1 client
* Upgrade gensupport
* Use v1 API now that all beta features are in GA for `google_compute_firewall`
2017-11-20 15:38:47 -08:00
thomas
8ee14c4424 Add the "google_compute_global_address" datasource (#759)
* Add the "compute_global_address" datasource

* Add a basic test for the "compute_global_address" datasource

* Include the "compute_global_address" in the provider

* Add docs for the "compute_global_address" datasource
2017-11-17 11:22:37 -08:00
thomas
ecdb1de297 the XPN_* env. variable is no longer mandatory (#760)
Since this variable is only used for 3 tests, it doesn't make sense
to declare it as mandatory in the test config. Therefore, concerned tests
are now skipped if the variable is absent.
2017-11-17 10:32:46 -08:00
Vincent Roseberry
aa63af1fc3
Add documentation for import in google_folder_organization_policy (#746)
* Remove import support for org policy

* Add ForceNew to org_id field

* Revert "Remove import support for org policy"

This reverts commit f65d9fb347d6b0998be55ef823c5726e876c53ae.

* Add import documentation for google_organization_policy
2017-11-17 09:24:48 -08:00
Johannes Brüderl
7a9582ac00 allow node pools with size 0 (#752) 2017-11-16 17:38:42 -08:00
Dana Hoffman
451b9cb6b6
fix target pool import test (#755) 2017-11-16 15:07:14 -08:00
Vincent Roseberry
5bcd7cb921
Push expiration time values in acc test farther in the future (#754) 2017-11-16 11:01:05 -08:00
Dana Hoffman
8fa1178814
compare next hop by self link (#753) 2017-11-16 10:53:49 -08:00
Dana Hoffman
b7177e04c8
Delete encryptor-pod.yml (#749)
Somehow this snuck in to #692 but it doesn't look like it's actually used anywhere.
2017-11-16 09:50:58 -08:00
thomas
06140c553a Add the "google_compute_address" datasource (#748)
* Add the "compute_address" datasource

* Add a basic test for the "compute_address" datasource

* Include the "compute_address" datasource in the provider

* Add the documentation for the "compute_address" datasource
2017-11-16 09:16:52 -08:00
Norberto Lopes
5a261e0cff Add folder data source (#738) 2017-11-15 13:14:03 -08:00
Andrew Farrell
56d633a8d4 Adds support for creating KMS CryptoKeys resources (#692)
* Adds support for creating KMS CryptoKeys resources

* Destroy extant CryptoKeyVersions on CryptoKey destroy

* Inherit project, location etc from KeyRing in CryptoKey

* Add function to calculate next rotation

* Implement RotationPeriod parameter on CryptoKey

* Import CryptoKey state

* Uncommit my local acceptance test hacks

* Docs for google_kms_crypto_key

* Clear id at the end of CryptoKey deletion

Also add more detail to warning message.

* Fix parseCryptoKeyId error messages

* Use correct naming in CryptoKeyIdParsing test

* Check RotationPeriod is present in acceptance test

* Rename variable in test function for consistency

* Fix wrong resource name in cryptokey docs

* Add KeyRing to CryptoKey doc example

* Run test CryptoKey configs through terraform fmt

* Don't set CryptoKey purpose in terraform state on import

* Fix indentation in CryptoKey test

* Parallelise CryptoKey tests

* Set rotation_key on CryptoKey read

* Move RotationPeriod validation to planning phase

* Use import state passthrough for CryptoKey

* Correct casing issues in test case names

* Remove redundant CheckDestroy calls in CryptoKey tests

* Add explanatory comment about extra test steps

* More explicit error handling in CryptoKey tests

* Explicit dependency on project services in test keyring configs

* Clean up comments in cryptokey resource

* Do not repeat in cryptokey id regexes
2017-11-14 13:21:25 -08:00
Dana Hoffman
2c8dbac663
Fix timeout issue with project services (#737)
* retry api enablement/disablement for 10 minutes

* retry to retryTime
2017-11-14 11:41:57 -08:00
Vincent Roseberry
108971f261
Add new resource to support IAM custom organization roles (#735)
* Add new resource to support IAM custom organization roles
* Add documentation
2017-11-13 16:05:16 -08:00
Vincent Roseberry
a6378fc3d4
Add import support for google_compute_backend_bucket (#736)
* Add import support for google_compute_backend_bucket
* Improve docs for consistency
2017-11-13 15:59:34 -08:00
Vincent Roseberry
6adbdcfaee
Change authorized_networks to set (#733) 2017-11-13 12:51:15 -08:00
Michael Bannister
ee641e0b1f Relax diff on maintenance_policy.daily_maintenance_window.start_time (#726)
* Relax diff on maintenance_policy.daily_maintenance_window.start_time

If the maintenance window has been set outside of Terraform to a time with a
single-digit hour (such as 1:00), and the terraform definition is set to the
same hour but with a leading zero as per validation (i.e. 01:00), do not
consider the time to be changed (as we currently don't support update on this
property).

Fixes #719

* Generalise rfc3339TimeDiffSuppress and add more test cases
2017-11-13 11:30:26 -08:00
Vincent Roseberry
ab68b06af5
Add new resource to support IAM custom project roles. (#709)
* Upgrade iam client to latest version
* Add new resource to support IAM custom roles.
* Add documentation
2017-11-10 11:01:33 -08:00
Vincent Roseberry
5aa9f574ea
Properly handle diff in google_compute_route next_hop_instance field (#716) 2017-11-10 10:57:53 -08:00
Dana Hoffman
b5faecd585
Add configurable timeouts for disks (#717)
* add configurable timeouts for disks

* add test for disk timeout
2017-11-10 10:21:14 -08:00
Konrad Rotkiewicz
a7c8d0469a Add import support for ssl certificate, http/s proxy and url map (#678) 2017-11-09 10:16:57 -08:00
Vincent Roseberry
bd30b25a8f
Serialize org policy boolean tests to avoid flakiness when tests are run in parallel (#708) 2017-11-08 11:29:04 -08:00
Paddy
f4b7ca7cbe Fix commented out test.
Because of weirdness in our test runner, our CI tries to run every test
that matches the TestAcc* prefix, _even if it's commented out_. This
leads to failed tests in CI for tests that aren't even running, which is
annoying.

This PR just lowercases the first letter of the test so it doesn't match
the prefix anymore and the CI won't try to run it.
2017-11-08 10:58:30 -08:00
Alberto
d1305e989a add test for resource_google_project_iam_policy (#698) 2017-11-08 09:26:32 -08:00
Vincent Roseberry
ff184b8d67
Add support to google_compute_target_pool for health checks self_link (#702)
- Accepts self_link in addition of health check name
- Removes the need for an API call to generate the self link
- Improves the documentation to mention that only the legacy google_compute_http_health_check is supported. This will prevent our user from being stuck like mentioned here: #300.
- Adds a MaxItems:1 in the schema. You can't have more than one. The API will fail. The official docs also says so.
- Adds a check to the acceptance test to ensure the health checks are properly setup.
2017-11-08 09:11:17 -08:00
Paddy
8b2486cd15
Merge pull request #359 from terraform-providers/paddy_95_dns_ns
dns: Add special handling for ns records.
2017-11-07 16:46:38 -08:00
Paddy
4a342ca8ee Add comment for create func.
Add a comment explaining why we have such wonky update logic in the
create func for NS record sets.
2017-11-07 16:42:25 -08:00
Michael Bannister
12060f9f3d Add support for maintenance window on google_container_cluster (#670)
* Add support for maintenance window on google_container_cluster (#526)

* Address review comments

- Set ForceNew: true on the schema element daily_maintenance_window
- Correct resource name in acceptance test
- Correct documentation of resource attribute maintenance_policy.0.daily_maintenance_window.0.duration
2017-11-07 15:42:11 -08:00
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