terraform/builtin/providers
Martin Atkins 145bf42806 provider/aws: IAM policy document: normalize wildcard principals
There are three equivalent forms for expressing "everyone" (including
anonymous) in IAM policies:

- "Principals": "*"
- "Principals": {"AWS": "*"}
- "Principals": {"*": "*"}

The more-constrained syntax used by our aws_iam_policy_document data
source means that the user can only express the latter two of these
directly. However, when returning IAM policies from the API AWS likes to
normalize to the first form, causing unresolvable diffs.

This fixes #9335 by handling the "everyone" case as a special case,
serializing it in JSON as the "*" shorthand form.

This change does *not* address the normalization of hand-written policies
containing such elements. A similar change would need to be made in
the external package github.com/jen20/awspolicyequivalence in order to
avoid the issue for hand-written policies.
2016-11-01 08:46:34 -07:00
..
archive
atlas
aws provider/aws: IAM policy document: normalize wildcard principals 2016-11-01 08:46:34 -07:00
azure
azurerm provider/azurerm: fix sql_database resource reading tags (#9767) 2016-11-01 10:55:02 +00:00
bitbucket
chef
clc
cloudflare
cloudstack
cobbler
consul
datadog
digitalocean
dme
dnsimple
docker
dyn
fastly
github
google Add support for default-internet-gateway alias for google_compute_route (#9676) 2016-11-01 13:45:36 +00:00
grafana
heroku
influxdb
librato
logentries
mailgun
mysql
null
openstack provider/openstack: Openstack Provider Updates (#9725) 2016-11-01 13:16:39 +00:00
packet
pagerduty
postgresql
powerdns
rabbitmq
random
rundeck
scaleway provider/scaleway server volume property (#9695) 2016-10-29 12:07:35 +01:00
softlayer
statuscake
template
terraform
test
tls
triton
ultradns
vcd
vsphere