Commit Graph

7583 Commits

Author SHA1 Message Date
Tom Harvey 13583b4b8b provider/azurerm: Upgrading to AutoRest v8 (#15006)
* Upgrading to AutoRest 8

* Upgrading to AutoRest v8

* Updating the Remote State to v8
2017-06-02 15:30:41 +01:00
Radek Simko b6abf1f2bb
provider/kubernetes: Provide more details about why PVC failed to bind 2017-06-02 14:19:38 +01:00
Radek Simko 7552331f50
provider/kubernetes: Mark HPA's target_cpu_utilization_percentage as computed 2017-06-02 14:17:30 +01:00
Radek Simko d0d3f37795
provider/kubernetes: Fix failing tests after upgrading to 1.6 2017-06-02 14:16:53 +01:00
Radek Simko 8a002b937a
provider/kubernetes: Ignore k8s internal labels
Fixes #13716
2017-06-02 14:15:30 +01:00
Jake Champlin 7d06a9bf43 Merge pull request #13123 from UKCloud/master
provider/vcd: Adding VPN Support to vCloud Provider
2017-06-02 09:14:11 -04:00
Bobby DeVeaux d84dfd6904 changes plus acceptance tests for vpn 2017-06-02 09:52:35 +01:00
Gavin Williams 401c6a95a7 provider/openstack: Add Terraform version to UserAgent string (#14955)
* core: Add 'UserAgentString' helper function to generate a standard UserAgent string. Example generation: 'Terraform 0.9.7-dev (go1.8.1)'

* provider/openstack: Add Terraform version to UserAgent string
2017-06-01 22:12:25 -06:00
clint shryock 29444aee87 bump the time we wait for RunInstances to succeed 2017-06-01 16:05:14 -05:00
Jake Champlin 802eae3b4b Merge pull request #14992 from hashicorp/b-fix-modify-instance-attribute
provider/aws: Fix ModifyInstanceAttribute on new instances
2017-06-01 13:11:43 -04:00
Eugene Chuvyrov acd586adf2 [MS] provider/azurerm: fixes for bug #8227 and bug #11226 (#13877)
* Resolved merge conflicts

* Changes conforming to HashiCorp guidelines and additional bug fixes

* Rebase merge

* Rebase merge

* Merging changes

* Changes to tests and code constructs
2017-06-01 17:40:30 +01:00
Jake Champlin acb38e3782
provider/aws: Fix ModifyInstanceAttribute on new instances
Previously `ModifyInstanceAttribute` permissions were required on creating a new instance with an unmodified `source_dest_check` attribute, as we forced the `ModifyInstanceAttribute` set on a new AWS instance.

This change only calls `ModifyInstanceAttribute` if `source_dest_check` was changed from default on a new instance, or if `source_dest_check` was modified.

```
$ make testacc TEST=./builtin/providers/aws TESTARGS="-run=TestAccAWSInstance_sourceDestCheck"
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/06/01 11:18:31 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSInstance_sourceDestCheck -timeout 120m
=== RUN   TestAccAWSInstance_sourceDestCheck
--- PASS: TestAccAWSInstance_sourceDestCheck (172.28s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/aws    172.308s
```
2017-06-01 11:52:22 -04:00
Tom Harvey 68fe08045b provider/azurerm: Fixing broken tests / Making Container Registry `sku` optional (#14983)
* Updating the Sku field to be optional

* Making the Sku optional

* Ensuring we check for a 404 to mark a successful deletion

* Upping the size of the internal data disk

* Randomizing the Local Network Gateway tests

* Fixing a bug in Local Network Gateway's where the deletion wouldn't be detected
2017-06-01 14:00:04 +01:00
Abhijeet Gaiha 6e995323a4 Changes to behaviour of string enum comparison in AzureRM provider (#14861)
* Fix for CDN Profile SKU

* Fix for event hub namespace

* Fix for managed disk

* Fix for redis cache, servicebus namespace and storage account.

* Fix for virtual machine scale set
2017-06-01 14:46:36 +03:00
Jasmin Gacic ea48d71c0f fixed error message (#14922)
* fixed error message

* Improved error messages

* Typo fix
2017-06-01 13:37:20 +03:00
Paul Stack cfcb4dff79 provider/aws: Support import of aws_lambda_event_source_mapping (#14898)
Fixes: #14017

```
% make testacc TEST=./builtin/providers/aws/ TESTARGS='-run=TestAccAWSLambdaEventSourceMapping_importBasic'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/05/29 00:36:31 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws/ -v -run=TestAccAWSLambdaEventSourceMapping_importBasic -timeout 120m
=== RUN   TestAccAWSLambdaEventSourceMapping_importBasic
--- PASS: TestAccAWSLambdaEventSourceMapping_importBasic (144.23s)
PASS
ok  	github.com/hashicorp/terraform/builtin/providers/aws	144.258s
```
2017-06-01 13:35:34 +03:00
Tom Harvey df2875045d provider/azurerm: Upgrading to v10 of the Azure SDK (#14004)
provider/azurerm: Upgrading to v10.0.2 of the Azure SDK
2017-06-01 10:18:22 +01:00
Radek Simko bc314ca8a0 provider/aws: Expect exception on deletion of APIG Usage Plan Key (#14958) 2017-06-01 06:23:02 +01:00
Radek Simko 8fa40c1ce7 provider/aws: Work around IAM eventual consistency in CW Log Subs (#14959) 2017-06-01 06:21:36 +01:00
Gavin Williams 1da7fda417 provider/openstack: Add support for FWaaS routerinsertion extension (#12589)
* vendor: Add gophercloud/routerinsertion package and update
gophercloud/firewall to support router insertion

* provider/openstack: Add support for associating
`openstack_fw_firewall_v1` resources with router(s).
Added `associated_routers` and `no_routers` arguments.

* website: Add documentation for `associated_routers`and `no_routers` arguments on `openstack_fw_firewall_v1` resource.

* provider/openstack: Add `AddValueSpecs` function and refactor existing
uses.
2017-05-31 23:19:59 -06:00
Joe Topjian 527b7af79e Merge pull request #14956 from fatmcgav/openstack_sort_headers
provider/openstack: Sort request/response headers whilst debugging
2017-05-31 18:21:54 -06:00
Thomas Schaaf 79c91e11c8 provider/aws: Add aws elastic beanstalk solution stack (#14944)
* Add aws elastic beanstalk solution stack

Signed-off-by: Thomas Schaaf <thomaschaaf@Thomass-MBP.fritz.box>

* Fix incorrect naming

Signed-off-by: Thomas Schaaf <thomaschaaf@Thomass-MBP.fritz.box>

* Use unique go variable/function names

Signed-off-by: Thomas Schaaf <thomaschaaf@Thomass-MacBook-Pro.local>

* Add docs to sidebar

* Sort provider by alphabet

* Fix indent

* Add required statement

* Fix acceptance test
2017-06-01 02:23:06 +03:00
Mioi Hanaoka 805ff4021e provider/aws: Fix misleading error in aws_route validation
If more than one of the allowed targets is specified in an `aws_route`
resource, we should provide an error message that does not include
`route_table_id` as a valid target, since `route_table_id` is actually
a required argument.
2017-05-31 12:50:56 -07:00
Riley Karson 32d47b384f provider/google: Add CORS support for google_storage_bucket. (#14695) 2017-05-31 15:44:25 -04:00
David Radcliffe 4e6dcb3a3e google container_cluster master_auth should be optional (#14630) 2017-05-31 15:43:31 -04:00
Dana Hoffman 0d1718fa83 provider/google: use a mutex to prevent concurrent sql instance operations (#14424) 2017-05-31 15:19:27 -04:00
Jake Champlin 0845ab8d0f Merge pull request #14964 from hashicorp/b-fix-panic-nil-dead-letter-config
provider/aws: Fix panic on nil dead_letter_config
2017-05-31 14:56:55 -04:00
Sean Chittenden 1ab22e1dba Drop the optional WITH token from CREATE ROLE. (#14864)
Fixes: #11273
2017-05-31 21:10:56 +03:00
rdark bebcc8796a export internal tunnel addresses + document (#14835) 2017-05-31 21:03:13 +03:00
Radek Simko 5b677d8632 provider/fastly: Randomize domain names in tests (#14960) 2017-05-31 20:22:38 +03:00
PaulAtkins d3eed78d95 provider/aws: Add support for aws_ssm_patch_baseline (#14954)
* Add support for aws_ssm_patch_baseline and aws_ssm_patch_group

* Fix failing test

* Cleanup commented out code
2017-05-31 20:16:35 +03:00
Sean Chittenden 2ebac5226c PostgreSQL: leaked pg privs (#14817)
* Fix doc bug. Spell `collation` like `lc_collate`.

* Whitespace nit in error message

* Use %q as the format verb for error messages in postgresql_database resource messages.

* REVOKE the `GRANT` given to the connection user when creating a database.

For `ROLE`s who have been delegated `CREATEDB` privileges and are not a
superuser, in order for them to `CREATE DATABASE` they need to be a member
of the `ROLE` who will be `OWNER` for the new database.  Once the
`CREATE DATABASE` is complete, `REVOKE` the `GRANT` that was given to role
so that the user who ran the `CREATE DATABASE` looses all privileges to the
target database (unless of course they're a superuser).

Fixes a regression introduced in #11452

* Delegated DBA ROLEs can now fix OWNER drift for PostgreSQL databases.

Uses the helper functions introduced in #11452
2017-05-31 20:03:32 +03:00
Jake Champlin 6b72e08b72
provider/aws: Fix panic on nil dead_letter_config
Fixes a panic where specifying a nil `target_arn` for a `dead_letter_config` inside the `aws_lambda_function` resource would throw a panic.
Now, we return a nice error to the user instead of throwing a panic and stacktrace.

```
$ make testacc TEST=./builtin/providers/aws TESTARGS="-run=TestAccAWSLambdaFunction_nilDeadLetterConfig"
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/05/31 10:22:26 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSLambdaFunction_nilDeadLetterConfig -timeout 120m
=== RUN   TestAccAWSLambdaFunction_nilDeadLetterConfig
--- PASS: TestAccAWSLambdaFunction_nilDeadLetterConfig (20.86s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/aws    20.884s
```
2017-05-31 10:26:13 -04:00
Jake Champlin 647a3940ea Merge pull request #13702 from bryanburgers/aws-instance-ipv6
provider/aws: Allow IPv6/IPv4 addresses to coexist
2017-05-31 10:11:39 -04:00
Paul Stack e28f9c11bf provider/aws: aws_elasticache_cluster data source (#14895)
* provider/aws: Add data source for aws_elasticache_cluster

Fixes: #11445

* provider/aws: Add acceptance tests for aws_elasticache_cluster data source

* provider/aws: Add documentation for the aws_elasticache_cluster datasource
2017-05-31 16:25:27 +03:00
Bobby DeVeaux 5c3227b532 adding read methods 2017-05-31 13:27:54 +01:00
Gavin Williams 029ff9801b provider/openstack: Sort request/response headers whilst debugging 2017-05-31 11:16:55 +01:00
Bobby DeVeaux 9f0394f30c Merge remote-tracking branch 'upstream/master' 2017-05-31 09:26:27 +01:00
Bobby DeVeaux 991ddf1743 goimports ordered correctly 2017-05-31 09:24:14 +01:00
Radek Simko b17bcd3852 Merge pull request #14923 from hashicorp/f-k8s-upgrade-1.6.1
provider/kubernetes: Upgrade K8S to 1.6.1
2017-05-31 07:30:11 +01:00
Radek Simko b802897cea provider/aws: Avoid crash when EgressOnly IGW disappears (#14929) 2017-05-30 20:40:54 +01:00
Joe Topjian ff1c2b10e0 Merge pull request #14917 from jtopjian/openstack-secgroup-numeric-protocol
provider/openstack: Allow numerical protocols in security group rules
2017-05-30 12:55:17 -06:00
Andrew Starr-Bochicchio 2a3d752834 Add support for changing TTL on DigitalOcean domain records. Fixes #12631 (#14805) 2017-05-30 19:29:56 +03:00
Paul Stack f7996e36ea provider/digitalocean: Refresh DO loadbalancer from state if 404 (#14897)
Fixes: #14852
2017-05-30 19:21:53 +03:00
Radek Simko 832b7bd456 provider/aws: Randomize IAM role names in flow log tests (#14928) 2017-05-30 16:23:21 +01:00
Radek Simko efd1e1ffb3 provider/aws: Run Configure as part of testAccPreCheck (#14925) 2017-05-30 16:22:56 +01:00
Sam Bashton 56fbe027c3 Add ability to import Google Compute persistent disks (#14573)
* Add ability to import Google Compute persistent disks

* Fix additional URL names
2017-05-30 14:16:12 +01:00
Radek Simko 2a16352463
provider/kubernetes: Change imports and references after upgrade 2017-05-30 08:25:38 +01:00
Joe Topjian d311417122 provider/openstack: Allow numerical protocols in security group rules
This commit enables a user to specify protocols in numerical form
when creating security group rules.
2017-05-29 22:03:40 -06:00
Joe Topjian 19008e28af provider/openstack: Re-add missing create option logging 2017-05-29 21:34:25 -06:00
Ryo Takaishi c501cb1063 provider/openstack: Add support provider network (#10265)
* provider:openstack Add support provider network

* revert vendor file changes

* vendor: Updating Gophercloud for OpenStack Provider

* create provider network if parameter has segments

* segments is not computed resource

* extract to generate []provider.Segment

* change segmentstion id type
2017-05-29 21:30:41 -06:00
Joe Topjian 6d0f507175 Merge pull request #14907 from fatmcgav/openstack_fix_provider_test_os_image
provider/openstack: Fix issue with providing OS_IMAGE_ID or OS_IMAGE_…
2017-05-29 21:17:50 -06:00
Paul Stack 0f7de130b1 provider/aws: ForceNew aws_launch_config on ebs_block_device change (#14899)
Fixes: #14826

aws_launch_configuration ebs_block_device only had selected properties in the set hash. I removed these to allow any changes to the block device config to force a new resource

```
% make testacc TEST=./builtin/providers/aws/ TESTARGS='-run=TestAccAWSLaunchConfiguration_'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/05/29 01:08:55 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws/ -v -run=TestAccAWSLaunchConfiguration_ -timeout 120m
=== RUN   TestAccAWSLaunchConfiguration_importBasic
--- PASS: TestAccAWSLaunchConfiguration_importBasic (32.89s)
=== RUN   TestAccAWSLaunchConfiguration_basic
--- PASS: TestAccAWSLaunchConfiguration_basic (44.34s)
=== RUN   TestAccAWSLaunchConfiguration_withBlockDevices
--- PASS: TestAccAWSLaunchConfiguration_withBlockDevices (28.98s)
=== RUN   TestAccAWSLaunchConfiguration_updateRootBlockDevice
--- PASS: TestAccAWSLaunchConfiguration_updateRootBlockDevice (52.23s)
=== RUN   TestAccAWSLaunchConfiguration_withSpotPrice
--- PASS: TestAccAWSLaunchConfiguration_withSpotPrice (23.04s)
=== RUN   TestAccAWSLaunchConfiguration_withVpcClassicLink
--- PASS: TestAccAWSLaunchConfiguration_withVpcClassicLink (62.30s)
=== RUN   TestAccAWSLaunchConfiguration_withIAMProfile
--- PASS: TestAccAWSLaunchConfiguration_withIAMProfile (51.62s)
=== RUN   TestAccAWSLaunchConfiguration_withEncryption
--- PASS: TestAccAWSLaunchConfiguration_withEncryption (27.91s)
=== RUN   TestAccAWSLaunchConfiguration_updateEbsBlockDevices
--- PASS: TestAccAWSLaunchConfiguration_updateEbsBlockDevices (62.98s)
PASS
ok  	github.com/hashicorp/terraform/builtin/providers/aws	386.308s
```
2017-05-30 01:16:43 +03:00
Raphaël Pinson 396dbac72f github_team data source: fix wrong set (#14859)
Do not set members_count and repos_count, which are not declared.
2017-05-29 17:01:53 +03:00
Gavin Williams 3c3c08a0cd provider/openstack: Fix issue with providing OS_IMAGE_ID or OS_IMAGE_NAME when running acceptance tests. 2017-05-29 13:04:50 +01:00
Nick Johnstone ab7cbb1cf9 Fix typo in validators.go (#14900)
s/conatains/contains
2017-05-29 06:07:44 +01:00
Jeff Theriault 07f89e2728 Export RDS instance and cluster resource id (#14882) 2017-05-28 06:47:55 +01:00
Paul Thrasher be9ca35f79 Merge pull request #14845 from hashicorp/thrashr888/tfe-doc-snippets
Docs: Update atlas_artifact resource to use data
2017-05-26 14:00:09 -07:00
Jake Champlin 24202fb3c1 Merge pull request #14578 from caiofilipini/digitalocean-certs
provider/digitalocean: Add support for certificates
2017-05-26 13:07:15 -04:00
Sander van Harmelen 12c2e3222d Update provider docs and add validation (#14863) 2017-05-26 17:58:10 +02:00
Caio Filipini c4bbb6e8a5 provider/digitalocean: Remove Optional and ForceNew for computed attr 2017-05-26 17:36:51 +02:00
Caio Filipini 2b12ddffd0 provider/digitalocean: Mark not_after and sha1_fingerprint as computed 2017-05-26 16:21:08 +02:00
Caio Filipini 32d724ee0d provider/digitalocean: Remove unnecessary SetId("") on cert destroy 2017-05-26 15:44:33 +02:00
Paul Thrasher dc3ed9bb50 Docs: Update atlas_artifact resource to use data
A while back `atlas_artifact` was switched from being a `resource` to a `data` provider. When you use the examples suggested in the Terraform Enterprise docs, the Terraform cli shows a deprecation warning and provides an old url to the new data provider docs.

There are some complimentary doc updates in the Terraform Enterprise/Atlas repo.
2017-05-25 14:24:24 -07:00
Chris Johnson 527d79aa3c removed unused constants 2017-05-25 14:26:55 -04:00
Chris Johnson e6b4dc9b42 reduce sleep time 2017-05-25 14:22:51 -04:00
Chris Johnson 1c76194197 Respond to review feedback 2017-05-25 14:09:46 -04:00
Chris Johnson 6a0dca93af Restore previous version for now 2017-05-25 14:09:46 -04:00
Chris Johnson 78b61ad5f8 Cleanup and slight refactors 2017-05-25 14:09:46 -04:00
Chris Johnson 45c93cfb07 Separate metric test by type 2017-05-25 14:09:46 -04:00
Chris Johnson 52040c69a4 Fixup bad rebase 2017-05-25 14:09:46 -04:00
Chris Johnson 002c9985d3 Enable CRUD of metrics 2017-05-25 14:09:46 -04:00
Joe Topjian db47721e15 provider/openstack: Enable Security Group Updates (#14815)
* vendor: Updating Gophercloud for OpenStack Provider

* provider/openstack: Enable Security Group Updates

This commit enables security group names and descriptions to
be updated without causing a recreate.
2017-05-25 07:53:26 +01:00
jrperritt e1c8d760d3 provider/openstack: Add DNS V2 RecordSet resource (#14813)
* vendor gophercloud dns v2 recordset deps

* openstack dns v2 recordset resource

* fix type assertion panic condition

* address pr review feedback
2017-05-24 22:58:44 -06:00
Paddy 63ce0dae98 Merge pull request #12411 from drebes/cloud_router
provider/google: Cloud router resource
2017-05-24 21:36:17 -07:00
Paddy c675b9e3f8 Merge pull request #14643 from hashicorp/pr-8180
provider/google: New Datasource: Google Storage Object Signed URL (supersedes #8180)
2017-05-24 16:46:14 -07:00
Riley Karson 0ea0d86de4 Change google_compute_target_pool's session_affinity field default to NONE. (#14807) 2017-05-24 16:24:45 -07:00
Paddy d59d0a0673 Fix some style things, handle errors.
Fix a typo, follow our acceptance test naming guidelines, simplify some
logic, and handle an unhandled error.
2017-05-24 15:55:01 -07:00
cmorent e676813eaa providers/heroku: import heroku_addon resource (#14508) 2017-05-24 14:19:46 -05:00
Radek Simko 2c3e8e3cfb provider/kubernetes: Add support for Horizontal Pod Autoscaler (#14763) 2017-05-24 17:18:02 +01:00
Sandeep Sidhu 4c6404d012 provider/vsphere: Exposing moid value from vm resource (#14793)
* Exposing moid value from vm resource

moid value is needed by NSX resources, like security tag, when we attached security tags to a VMs, so needed before we commit NSX provider.

* fixing gofmt issue

* Updating docs regarding new exported moid attribute.
2017-05-24 17:08:40 +01:00
Mickaël Canévet e4bd7e2430 Load Cloudstack configuration from file (#13926)
* Load Cloudstack configuration from file

* Add ConflictsWith
2017-05-24 15:23:32 +02:00
Łukasz Jan Niemier 18f2edf729 Add namespcace ID attribute (#14483)
* Add namespcace ID attribute

This commit also introduce `id` comouted value which is numeric value
used by GitLab to iteract with repository. This should simplify use of
`gitlab_project_hook` usage and would allow to introduce other resources
as described in #14471

* Fixes requested by @richardc

* Handle optional `namespace_id`
2017-05-24 13:05:27 +01:00
Richard Clamp 9e90e77be4 provider/gitlab: Add `gitlab_group` resource (#14490)
* vendor: Update go-gitlab to master@e6c11e

Update go-gitlab to master@e6c11e.  This brings in UpdateGroup in
addition to fuller management of other attributes.

* provider/gitlab:  Add `gitlab_group` resource

This adds a gitlab_group resource.

This combined with #14483 will allow you to create projects in a
group.
2017-05-24 13:01:24 +01:00
cmorent c08253e8d5 providers/heroku: upgrade vendored cyberdelia/heroku-go client (#14672)
* Update vendored github.com/cyberdelia/heroku-go/v3

* Update heroku provider code to work with the newly generated heroku-go API
2017-05-24 12:04:17 +01:00
Richard Clamp 395f1d5bbf provider/gitlab: add `gitlab_deploy_key` (#14734)
* provider/gitlab: add `gitlab_deploy_key`

Here we extend the gitlab provider further by adding a `gitlab_deploy_key`
resource.  This resource allows management of a projects deploy
keys.

* provider/gitlab: Do not test `gitlab_deploy_key` `can_push`

Here we remove the testing of the `can_push` attribute.  This makes the
tests less comprehensive, but will allow them to work with the current
release of gitlab-ce.

This change is staged as a distinct commit so it can be easily
dropped/reverted once gitlab MR !11607 has reached a released state.

https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/11607

* provider/gitlab: Update docs for gitlab_deploy_key/can_push

Note that the can_push attribute of gitlab_deploy_key doesn't currently
work.  This note can be removed once
https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/11607 is merged
and in general circulation.
2017-05-24 11:41:40 +01:00
Joe Topjian da8f71d4c2 provider/openstack: Add support for updating Subnet Allocation Pools (#14782)
* vendor: Updating Gophercloud for OpenStack Provider

* provider/openstack: Add support for updating Subnet Allocation Pools

This commit adds the ability to update a subnet's allocation pool.
2017-05-24 11:38:05 +01:00
Paul Stack be58c809b6 provider/aws: Add support for X-Ray tracing to aws_lambda_function (#14728)
Fixes: #13801
2017-05-24 11:37:04 +01:00
Paddy 1f2dff6a50 Fix fmt. 2017-05-23 14:47:46 -07:00
Paddy 7976a03a2d Merge branch 'master' into paddy_gcp_detach_deleted_disks 2017-05-23 14:45:27 -07:00
Paddy be17d7ac12 Remove required env var, fix test names.
We no longer need to set an env var (yaaay!) and our test names use
camelCase not snake_case, though that confusion is understandable.
2017-05-23 14:28:06 -07:00
Paddy f5ff3b987d Merge commit '96a67766bf94fdba15f607a9f620cc7df3675a9b' into paddy_fix_12278_rebase 2017-05-23 14:11:38 -07:00
Paul Stack 88d9254661 provider/aws: Add ability to define timeouts for DMS replication instance (#14729)
Fixes: #13996
2017-05-23 19:31:26 +01:00
Paul Stack cb5b5c034e provider/aws: Provider ability to enable snapshotting on ElastiCache RG (#14757)
Fixes: #10581

When a cluster was originally created, you could not enable snapshotting
on it. An error message like this was found:

```
* aws_elasticache_replication_group.bar: Error updating Elasticache replication group: InvalidParameterCombination: Must specify both SnapshotRetentionLimit and SnapshottingClusterId to turn on snapshots
    status code: 400, request id: 98d2ea4e-3fb1-11e7-b077-5967719aeab4
```

There is no guidance from AWS on which is the preferred Cluster in the RG to use for snapshotting. Therefore, I decided to set it to be the first cluster. We can now enable snapshotting

```
% make testacc TEST=./builtin/providers/aws/ TESTARGS='-run=TestAccAWSElasticacheReplicationGroup_enableSnapshotting'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/05/23 15:02:21 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws/ -v -run=TestAccAWSElasticacheReplicationGroup_enableSnapshotting -timeout 120m
=== RUN   TestAccAWSElasticacheReplicationGroup_enableSnapshotting
--- PASS: TestAccAWSElasticacheReplicationGroup_enableSnapshotting (1261.47s)
PASS
ok  	github.com/hashicorp/terraform/builtin/providers/aws	1261.496s
```
2017-05-23 19:30:34 +01:00
Martin Atkins 410b60cb7f Stop requiring multi-vars (splats) to be in array brackets
Prior to Terraform 0.7, lists in Terraform were just a shallow abstraction
on top of strings with a magic delimiter between items. Wrapping a single
string in brackets in the configuration was Terraform's prompt that it
needed to split the string on that delimiter during interpolation.

In 0.7, when first-class lists were added, this convention was preserved
by flattening lists-of-lists by one level when they were encountered in
configuration. However, there was an oversight in that change where it
did not correctly handle the case where the inner list was unknown.

In #14135 we removed some code that was flattening partially-unknown lists
into fully-unknown (untyped) values. This inadvertently exposed the missed
case from the previous paragraph, causing issues for list-wrapped splat
expressions with unknown members. While this worked fine for resources,
due to some fixup done inside helper/schema, this did not work for other
interpolation contexts such as module blocks.

Various attempts to fix this up and restore the flattening behavior
selectively were unsuccessful, due to a proliferation of assumptions all
over the core code that would be too risky to change just to fix this bug.

This change, then, takes the different approach of removing the
requirement that splats be presented inside list brackets. This
requirement didn't make much sense anymore anyway, since no other
list-returning expression had this constraint and so the rest of Terraform
was already successfully dealing with both cases.

This leaves us with two different scenarios:

- For resource arguments, existing normalization code in helper/schema
  does its own flattening that preserves compatibility with the common
  practice of using bracketed splats. This change proves this with a test
  within the "test" provider that exercises the whole Terraform core and
  helper/schema stack that assigns bracketed splats to list and set
  attributes.

- For arguments in other blocks, such as in module callsites, the
  interpolator's own flattening behavior applies to known lists,
  preserving compatibility with configurations from before
  partially-computed splats were possible, but those wishing to use
  partially-computed splats are required to drop the surrounding brackets.
  This is less concerning because this scenario was introduced only in
  0.9.5, so the scope for breakage is limited to those who adopted this
  new feature quickly after upgrading.

As of this commit, the recommendation is to stop using brackets around
splats but the old form continues to be supported for backward
compatibility. In a future _major_ version of Terraform we will probably
phase out this legacy form to improve consistency, but for now both
forms are acceptable at the expense of some (pre-existing) weird behavior
when _actual_ lists-of-lists are used.

This addresses #14521 by officially adopting the suggested workaround of
dropping the brackets around the splat. However, it doesn't yet allow
passing of a partially-unknown list between modules: that still violates
assumptions in Terraform's core, so for the moment partially-unknown lists
work only within a _single_ interpolation expression, and cannot be
passed around between expressions. Until more holistic work is done to
improve Terraform's type handling, passing a partially-unknown splat
through to a module will result in a fully-unknown list emerging on
the other side, just as was the case before #14135; this change just
addresses the fact that this was failing with an error in 0.9.5.
2017-05-23 11:22:37 -07:00
Techbrunch 170533c026 Fixes #14765 Handle migration when restoring db cluster from snapshot (#14766)
Add `migrating` to the list of pending statuses when creating a cluster from a snapshot using a different engine.
2017-05-23 18:48:15 +01:00
Bobby DeVeaux ac105b5b18 Merge branch 'master' of github.com:UKCloud/terraform 2017-05-23 12:25:18 +01:00
Bobby DeVeaux fee66882f0 removing unecessary config for initial implementation 2017-05-23 12:24:53 +01:00
Thomas Poindessous 96a67766bf Corrected test for generating disk from a snapshot URI from another project 2017-05-22 23:36:53 +02:00
Riley Karson dbeb7fde98 Updated debug message in compute_firewall_migrate. (#14743) 2017-05-22 14:05:31 -07:00