Commit Graph

2364 Commits

Author SHA1 Message Date
Vincent Roseberry
32d965062d
Support update for DNS Managed Zone (#1617)
* vendor google.golang.org/api/dns/v1beta2

* Support update for DNS Managed Zone
2018-06-08 09:27:08 -07:00
Vincent Roseberry
dafa6eb504
Fix documentation on is_live for storage_bucket (#1614) 2018-06-08 09:26:14 -07:00
tf-release-bot
8b28f4c1a1 Cleanup after v1.14.0 release 2018-06-07 20:47:25 +00:00
tf-release-bot
e44336ac36
v1.14.0 2018-06-07 20:42:35 +00:00
Vincent Roseberry
68982b195d
Update CHANGELOG.md 2018-06-07 09:53:22 -07:00
Sébastien GLON
d766990ce9 Add new google_compute_regions (#1603)
* Add new google_compute_regions

* Add docs

* correct doc
2018-06-07 09:52:12 -07:00
Paddy
1bd1577200
Update CHANGELOG.md 2018-06-07 09:08:41 -07:00
Dana Hoffman
e92fddd33e
Fix forwarding rule data source test (#1606) 2018-06-06 18:40:42 -07:00
Dana Hoffman
9673db4dee
Update CHANGELOG.md 2018-06-06 10:56:15 -07:00
The Magician
edb34aaaf7 Fix redis authorized network and tests. The Redis API currently only accepts partial links. The tests weren't failing because they weren't actually using the network (oops). There were a few other test issues that I fixed while I was there. Fixes #1571. (#1599)
<!-- This change is generated by MagicModules. -->
/cc @danawillow
2018-06-06 10:55:04 -07:00
Dana Hoffman
55c2c173df
update auth docs (#1587)
* Added a link to the console page where you can download a file
* Removed instructions on how to get to that page, since now you can just click on the link
* Added caveat for application default credentials

@sethvargo @theacodes @kimcam let me know if this seems reasonable / you have any suggestions!
2018-06-06 10:53:29 -07:00
Paddy
b7c864604f
Merge pull request #1598 from terraform-providers/paddy_computed_network_tier
Fix network_tier tests.
2018-06-05 19:29:21 -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
Vincent Roseberry
01a5dccc3b
Add documentation for network tier (#1593)
* Add documentation for network tier

* Add named links to fwd rule docs

* add documentation for network address

* Fix typo
2018-06-05 13:42:22 -07:00
Daniel Compton
0b647a3562 Warn about ip_version with ip_address in global forwarding rule (#616)
If you try and specify them together you will get this error:

 google_compute_global_forwarding_rule.your-rule: Error creating Global Forwarding Rule: googleapi: Error 400: Invalid value for field 'resource.ipVersion': 'IPV4'. Both IP Version and IP Address cannot be specified., invalid
2018-06-05 13:39:40 -07:00
Vincent Roseberry
1f9c9aabfa
Update CHANGELOG.md 2018-06-05 12:37:05 -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
Vincent Roseberry
4fadea96e5
Update CHANGELOG.md 2018-06-05 10:19:55 -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
Dana Hoffman
5bc1050045
Update CHANGELOG.md 2018-06-04 17:42:24 -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
Vincent Roseberry
04b62b33e8
Update CHANGELOG.md 2018-06-04 16:32:03 -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
Dana Hoffman
eeafdf8837
Update CHANGELOG.md 2018-06-04 15:36:53 -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
Seth Vargo
3f9a5da0af Finish GH-1323 (#1574)
* Clarify format of GCP machineType property

This should not be in a URL style formatting, which the previous language seemed to be implying

* machineType docs for compute_instance_template

* Remove some accidental spaces

* Update from feedback

Closes GH-1323
2018-06-01 15:45:49 -07:00
Nathan McKinley
e9cf800ed3
Update CHANGELOG.md 2018-05-31 18:10:54 -07:00
The Magician
fd208dc7ca Autogenerate Disk resource (#1521). 2018-05-31 18:10:06 -07:00
Nathan McKinley
3d2957b6ae
Update CHANGELOG.md 2018-05-31 17:33:23 -07:00
Jonathan Pentecost
8f31fec857 New datasource: service account and service account key (#1535) 2018-05-31 17:31:45 -07:00
Paddy
c71ab3f62f Add link to sidebar for liens. (#1575) 2018-05-31 15:38:22 -07:00
Dana Hoffman
a8a6e59a4c
Update CHANGELOG.md 2018-05-31 14:51:06 -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
Bruno
5f0dcf4787 Update container_cluster.html.markdown (#1570)
* Update container_cluster.html.markdown

Just a more clear explanation of what happens when this field is not provided, since there was already an issue with this topic.

* Update container_cluster.html.markdown

Cleared extra comma.
2018-05-31 09:29:48 -07:00
Vincent Roseberry
5838e0c095
Update CHANGELOG.md 2018-05-31 09:28:40 -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
Vincent Roseberry
74ecaea42e
Update CHANGELOG.md 2018-05-30 16:01:57 -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
Dana Hoffman
5c292c1fa9
Update CHANGELOG.md 2018-05-30 15:49:13 -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
Vincent Roseberry
f40eff9076
Update CHANGELOG.md 2018-05-30 15:33:16 -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
ad25778d54
Update CHANGELOG.md 2018-05-30 15:29:55 -07:00
Vincent Roseberry
ebbae91b77
Convert instance_group self_link to v1 (#1549) 2018-05-30 15:25:07 -07:00
David Dobmeier
22be133626 Add "server_ca_cert" Attribute reference (#1563)
* Add "server_ca_cert" Attribute reference

Documents the addition of the `server_ca_cert` attribute for use in configuring SSL with GCP SQL Instances - added in PR #1020

* Updated formatting

Updates formatting to match the above fields.
2018-05-30 14:21:28 -07:00
Dana Hoffman
a119deb154
Update CHANGELOG.md 2018-05-30 10:34:51 -07:00
Dana Hoffman
10019179a4
Update CHANGELOG.md 2018-05-29 17:21:00 -07:00