terraform/builtin/providers
Paul Stack 7fce65d427 provider/aws: Add DiffSuppression to aws_ecs_service placement_strategies (#13220)
Fixes: #13216

Prior to Terraform 0.9.2, we always set placement_strategies to
lowercase. Therefore, people using it in Terraform 0.9.2 are getting
continual diffs:

```
-/+ aws_ecs_service.mongo
    cluster:                             "arn:aws:ecs:us-west-2:187416307283:cluster/terraformecstest1" => "arn:aws:ecs:us-west-2:187416307283:cluster/terraformecstest1"
    deployment_maximum_percent:          "200" => "200"
    deployment_minimum_healthy_percent:  "100" => "100"
    desired_count:                       "1" => "1"
    name:                                "mongodb" => "mongodb"
    placement_strategy.#:                "1" => "1"
    placement_strategy.1676812570.field: "instanceid" => "" (forces new resource)
    placement_strategy.1676812570.type:  "spread" => "" (forces new resource)
    placement_strategy.3946258308.field: "" => "instanceId" (forces new resource)
    placement_strategy.3946258308.type:  "" => "spread" (forces new resource)
    task_definition:                     "arn:aws:ecs:us-west-2:187416307283:task-definition/mongodb:1991" => "arn:aws:ecs:us-west-2:187416307283:task-definition/mongodb:1991"

Plan: 1 to add, 0 to change, 1 to destroy.
```

This adds a DiffSuppression func to make sure this doesn't trigger a
ForceNew resource:

```
% terraform plan                                                                                                                           ✹ ✭
[WARN] /Users/stacko/Code/go/bin/terraform-provider-aws overrides an internal plugin for aws-provider.
  If you did not expect to see this message you will need to remove the old plugin.
  See https://www.terraform.io/docs/internals/internal-plugins.html
Refreshing Terraform state in-memory prior to plan...
The refreshed state will be used to calculate this plan, but will not be
persisted to local or remote state storage.

aws_ecs_cluster.default: Refreshing state... (ID: arn:aws:e...ecstest1)
aws_ecs_task_definition.mongo: Refreshing state... (ID: mongodb)
aws_ecs_service.mongo: Refreshing state... (ID: arn:aws:e.../mongodb)
No changes. Infrastructure is up-to-date.

This means that Terraform did not detect any differences between your
configuration and real physical resources that exist. As a result, Terraform
doesn't need to do anything.
```

```

```
2017-03-30 23:42:16 +03:00
..
alicloud provider alicloud:add new rds resource and some bugs fix (#12913) 2017-03-24 13:04:56 +02:00
archive
arukas provider/arukas: Increase timeout to 15mins & use standard helper (#12849) 2017-03-19 18:55:11 +00:00
atlas
aws provider/aws: Add DiffSuppression to aws_ecs_service placement_strategies (#13220) 2017-03-30 23:42:16 +03:00
azure
azurerm Ignoring the case for NSG Protocol's in the state (#13153) 2017-03-29 18:55:20 +03:00
bitbucket
chef
circonus Add `consul` check type to `circonus_check` resource (#13030) 2017-03-24 15:05:19 -07:00
clc
cloudflare
cloudstack Add params zone_id to cloudstack ipaddress resource (#11306) 2017-03-21 12:02:38 +01:00
cobbler
consul Fix govet error in consul provider 2017-03-28 08:06:39 -07:00
datadog datadog: Fix incorrect schema of monitor for 'silenced' (#12720) 2017-03-15 15:01:49 +00:00
digitalocean provider/packet|digitalocean: Randomize the SSH Key acceptance tests (#13096) 2017-03-27 19:59:09 +03:00
dme
dns Convert dns data tests to acceptance tests 2017-03-17 12:07:29 -04:00
dnsimple Allow dnsimple_record.priority attribute to be set (#12843) 2017-03-18 13:04:48 +00:00
docker
dyn
external
fastly fix bool vs Compatibool ref used in flattenBackends (#12538) 2017-03-24 14:05:29 -05:00
github provider/github: add repository_webhook resource (#12924) 2017-03-23 11:21:45 +02:00
google provider/google: Mark GKE pass as sensitive (#13148) 2017-03-29 11:22:33 +01:00
grafana
heroku
icinga2
ignition ignition_filesystem: explicit option to create the filesystem (Fix #12152) (#12980) 2017-03-23 11:02:54 +02:00
influxdb
kubernetes kubernetes: Add secret resource (#12960) 2017-03-30 09:24:40 +01:00
librato librato: Work around eventual consistency of the API (#12816) 2017-03-17 16:52:38 +00:00
logentries
mailgun
mysql MySQL Provider does not recreate user if user got deleted manually in MySQL (#12791) 2017-03-18 13:15:01 +00:00
newrelic
nomad
ns1 provider/ns1: Ensure provider checks for credentials (#12920) 2017-03-23 12:00:56 +02:00
null
openstack provider/openstack: Resolve issues with Port Fixed IPs (#13056) 2017-03-27 20:22:56 +03:00
opsgenie
packet provider/packet|digitalocean: Randomize the SSH Key acceptance tests (#13096) 2017-03-27 19:59:09 +03:00
pagerduty provider/pagerduty: Validate credentials (#12854) 2017-03-19 17:37:46 +00:00
postgresql
powerdns
profitbricks Handling missing resources (#13053) 2017-03-25 22:43:41 +02:00
rabbitmq
rancher Rancher: error when no api_url is provided (#13086) 2017-03-28 12:18:03 +03:00
random random_pet resource (#12903) 2017-03-27 12:50:39 +03:00
rundeck
scaleway provider/scaleway: work around parallel request limitation (#13045) 2017-03-27 13:00:11 +03:00
softlayer
spotinst
statuscake
template
terraform
test
tls
triton provider/triton: Id trying to be used before being set 2016-08-30 23:19:04 +01:00
ultradns
vault
vcd
vsphere provider/vsphere: Randomize the vsphere_virtual_disk acceptance test 2017-03-27 18:09:12 +03:00