Commit Graph

6485 Commits

Author SHA1 Message Date
Kazumichi Yamamoto cd7f69ab11 New provider arukas (#11171)
* Add a Arukas provider

* Add dependencies for the Arukas provider

* Add documents for the Arukas
2017-02-13 19:11:30 +00:00
Conor Mongey a4d03c9cd1 provider/vault: vault_policy resource (#10980)
* provider/vault: vault_policy resource

* website: vault_policy resource

* Refresh state when reading vault policy
2017-02-13 18:53:45 +00:00
Jake Champlin 89e338f0bc Merge pull request #11909 from hashicorp/b-fix-diff-supress-function
provider/aws: Fix Diff Suppress function for aws_db_instance
2017-02-13 12:43:30 -05:00
Kit Ewbank 03af9fa42d Add S3 bucket object tag support. (#11344) 2017-02-13 17:27:13 +00:00
Jake Champlin 64f75ff0f9
provider/aws: Fix Diff Suppress function for aws_db_instance
Introduced in #11369, this fixes an issue with the diff suppress function when creating a new `aws_db_instance` resource, while using the default `engine_version`.

```
$ make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSDBInstance_diffSuppressInitialState'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/02/13 11:52:12 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSDBInstance_diffSuppressInitialState -timeout 120m
=== RUN   TestAccAWSDBInstance_diffSuppressInitialState
--- PASS: TestAccAWSDBInstance_diffSuppressInitialState (480.78s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/aws    480.793s
```
2017-02-13 12:26:06 -05:00
Tom Harvey f349309a8f provider/azurerm: Container Service (#10820)
* Importing v7.0.1 of the SDK

* Configuring the Container Service Client

* Scaffolding the Container Service resource

* Scaffolding the Website documentation

* Completing the documentation

* Acceptance Tests for Kubernetes Azure Container Service

* DCOS / Swarm tests

* Parsing values back from the API properly

* Fixing the test

* Service Principal can be optional. Because of course it can.

* Validation for the Container Service Count's

* Updating the docs

* Updating the field required values

* Making the documentation more explicit

* Fixing the build

* Examples for DCOS and Swarm

* Removing storage_uri for now

* Making the SSH Key required as per the docs

* Resolving the merge conflicts

* Removing the unused error's

* Adding Hash's to the schema's

* Switching out the provider registration

* Fixing the hash definitions

* Updating keydata to match

* Client Secret is sensitive

* List -> Set

* Using the first item for the diagnostic_profile

* Helps if you actually update the type

* Updating the docs to include the Computed fields

* Fixing comments / removing redundant optional checks

* Removing the FQDN's from the examples

* Moving the Container resources together
2017-02-13 16:33:50 +00:00
Kit Ewbank 64fda44b00 Add 'aws_vpn_gateway' data source. (#11886) 2017-02-13 16:24:55 +00:00
Radek Simko c6b21d853a Merge pull request #5850 from TimeIncOSS/f-aws-config
provider/aws: Add support for AWSConfig service
2017-02-13 15:07:15 +00:00
Paul Stack a322e916ba provider/datadog: Default notify_no_data on datadog_monitor to false (#11903)
Fixes: #11863

Backwards incompatible so will not be pushed to 0.8.x series. This
follows the datadog documentation as mentioned in the issue

```
% make testacc TEST=./builtin/providers/datadog TESTARGS='-run=TestAccDatadogMonitor_'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/02/13 12:30:24 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/datadog -v -run=TestAccDatadogMonitor_ -timeout 120m
=== RUN   TestAccDatadogMonitor_Basic
--- PASS: TestAccDatadogMonitor_Basic (84.23s)
=== RUN   TestAccDatadogMonitor_BasicNoTreshold
--- PASS: TestAccDatadogMonitor_BasicNoTreshold (81.92s)
=== RUN   TestAccDatadogMonitor_Updated
--- PASS: TestAccDatadogMonitor_Updated (82.91s)
=== RUN   TestAccDatadogMonitor_TrimWhitespace
--- PASS: TestAccDatadogMonitor_TrimWhitespace (63.34s)
=== RUN   TestAccDatadogMonitor_Basic_float_int
--- PASS: TestAccDatadogMonitor_Basic_float_int (75.84s)
PASS
ok  	github.com/hashicorp/terraform/builtin/providers/datadog	388.257s
```
2017-02-13 14:31:00 +00:00
Radek Simko f2af02eb59
provider/aws: Add aws_config_delivery_channel 2017-02-13 14:01:35 +00:00
Radek Simko a2b63f92c0
provider/aws: Add aws_config_configuration_recorder_status 2017-02-13 14:01:34 +00:00
Radek Simko f5220ab884
provider/aws: Add aws_config_configuration_recorder 2017-02-13 14:01:32 +00:00
Radek Simko 1fdd52ea20
provider/aws: Add aws_config_config_rule 2017-02-13 14:01:30 +00:00
Jahn Saito 9b2439b027 Add support for missing attributes for PagerDuty service resource (#11856)
* Add urgencies for PagerDuty services

* Improve naming, comments, handle unexpected urgency rules

* Document urgency rules for PagerDuty service
2017-02-13 11:41:24 +00:00
Jake Champlin 3fba1160fe provider/digitalocean: Fix faililng acceptance test (#11887)
The volume_Droplet test was failing from an incorrect fix pushed on Friday. Fixes the failing test.

```
$ make testacc TEST=./builtin/providers/digitalocean TESTARGS='-run=TestAccDigitalOceanVolume_Droplet'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/02/11 17:55:09 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/digitalocean -v -run=TestAccDigitalOceanVolume_Droplet -timeout 120m
=== RUN   TestAccDigitalOceanVolume_Droplet
--- PASS: TestAccDigitalOceanVolume_Droplet (52.78s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/digitalocean   52.797s
```
2017-02-12 19:57:44 +00:00
Tom Harvey 705e3541d0 Fixing a bug in VM Extension if the RG didn't exist (#11894) 2017-02-12 19:54:28 +00:00
Jake Champlin 67b0c3dfc6 Merge pull request #11869 from hashicorp/f-update-do-acctests
provider/digitalocean: Update digital ocean acceptance tests
2017-02-10 18:54:11 -05:00
Jake Champlin d5222aa2e6
provider/digitalocean: Update digital ocean acceptance tests
Digital Ocean doesn't let you upload multiple SSH keys regardless of key_name, but on the fingerprint of the key contents. Which broke all of our tests when ran in parallel.

These changes maintain our acctest validity, and still let them pass.

```
##teamcity[testStarted timestamp='2017-02-10T16:19:12.532' name='TestAccDigitalOceanDroplet_Basic']
##teamcity[testStdOut name='TestAccDigitalOceanDroplet_Basic' out='=== RUN   TestAccDigitalOceanDroplet_Basic|n--- PASS: TestAccDigitalOceanDroplet_Basic (47.33s)|nPASS|n']
##teamcity[testStdErr name='TestAccDigitalOceanDroplet_Basic' out='']
##teamcity[testFinished timestamp='2017-02-10T16:19:59.898' name='TestAccDigitalOceanDroplet_Basic']
##teamcity[testStarted timestamp='2017-02-10T16:19:12.532' name='TestAccDigitalOceanDroplet_UpdateTags']
##teamcity[testStdOut name='TestAccDigitalOceanDroplet_UpdateTags' out='=== RUN   TestAccDigitalOceanDroplet_UpdateTags|n--- PASS: TestAccDigitalOceanDroplet_UpdateTags (50.96s)|nPASS|n']
##teamcity[testStdErr name='TestAccDigitalOceanDroplet_UpdateTags' out='']
##teamcity[testFinished timestamp='2017-02-10T16:20:03.516' name='TestAccDigitalOceanDroplet_UpdateTags']
##teamcity[testStarted timestamp='2017-02-10T16:19:12.530' name='TestAccDigitalOceanDroplet_importBasic']
##teamcity[testStdOut name='TestAccDigitalOceanDroplet_importBasic' out='=== RUN   TestAccDigitalOceanDroplet_importBasic|n--- PASS: TestAccDigitalOceanDroplet_importBasic (56.78s)|nPASS|n']
##teamcity[testStdErr name='TestAccDigitalOceanDroplet_importBasic' out='']
##teamcity[testFinished timestamp='2017-02-10T16:20:09.335' name='TestAccDigitalOceanDroplet_importBasic']
##teamcity[testStarted timestamp='2017-02-10T16:19:12.530' name='TestAccDigitalOceanDroplet_PrivateNetworkingIpv6']
##teamcity[testStdOut name='TestAccDigitalOceanDroplet_PrivateNetworkingIpv6' out='=== RUN   TestAccDigitalOceanDroplet_PrivateNetworkingIpv6|n--- PASS: TestAccDigitalOceanDroplet_PrivateNetworkingIpv6 (57.60s)|nPASS|n']
##teamcity[testStdErr name='TestAccDigitalOceanDroplet_PrivateNetworkingIpv6' out='']
##teamcity[testFinished timestamp='2017-02-10T16:20:10.157' name='TestAccDigitalOceanDroplet_PrivateNetworkingIpv6']
##teamcity[testStarted timestamp='2017-02-10T16:19:12.533' name='TestAccDigitalOceanDroplet_withSSH']
##teamcity[testStdOut name='TestAccDigitalOceanDroplet_withSSH' out='=== RUN   TestAccDigitalOceanDroplet_withSSH|n--- PASS: TestAccDigitalOceanDroplet_withSSH (59.76s)|nPASS|n']
##teamcity[testStdErr name='TestAccDigitalOceanDroplet_withSSH' out='']
##teamcity[testFinished timestamp='2017-02-10T16:20:12.326' name='TestAccDigitalOceanDroplet_withSSH']
##teamcity[testStarted timestamp='2017-02-10T16:19:12.530' name='TestAccDigitalOceanDroplet_Update']
##teamcity[testStdOut name='TestAccDigitalOceanDroplet_Update' out='=== RUN   TestAccDigitalOceanDroplet_Update|n--- PASS: TestAccDigitalOceanDroplet_Update (83.65s)|nPASS|n']
##teamcity[testStdErr name='TestAccDigitalOceanDroplet_Update' out='']
##teamcity[testFinished timestamp='2017-02-10T16:20:36.213' name='TestAccDigitalOceanDroplet_Update']
##teamcity[testStarted timestamp='2017-02-10T16:19:12.530' name='TestAccDigitalOceanDroplet_UpdateUserData']
##teamcity[testStdOut name='TestAccDigitalOceanDroplet_UpdateUserData' out='=== RUN   TestAccDigitalOceanDroplet_UpdateUserData|n--- PASS: TestAccDigitalOceanDroplet_UpdateUserData (103.18s)|nPASS|n']
##teamcity[testStdErr name='TestAccDigitalOceanDroplet_UpdateUserData' out='']
##teamcity[testFinished timestamp='2017-02-10T16:20:55.738' name='TestAccDigitalOceanDroplet_UpdateUserData']
##teamcity[testStarted timestamp='2017-02-10T16:19:12.533' name='TestAccDigitalOceanDroplet_ResizeWithOutDisk']
##teamcity[testStdOut name='TestAccDigitalOceanDroplet_ResizeWithOutDisk' out='=== RUN   TestAccDigitalOceanDroplet_ResizeWithOutDisk|n--- PASS: TestAccDigitalOceanDroplet_ResizeWithOutDisk (118.98s)|nPASS|n']
##teamcity[testStdErr name='TestAccDigitalOceanDroplet_ResizeWithOutDisk' out='']
##teamcity[testFinished timestamp='2017-02-10T16:21:11.558' name='TestAccDigitalOceanDroplet_ResizeWithOutDisk']
```
2017-02-10 16:41:35 -05:00
Joseph Anthony Pasquale Holsten ef8104890f ultradns: revert record thresholds 2017-02-10 13:11:33 -08:00
Joseph Anthony Pasquale Holsten 8cf16943ad ultradns: update threshold values to be valid (#11865) 2017-02-10 20:57:28 +00:00
Roberto Jung Drebes e3934c23c8 provider/dns: DNS dynamic updates (RFC 2136) 2017-02-10 21:38:26 +01:00
Jake Champlin aa1c4cafa4 Merge pull request #11861 from hashicorp/b-fix-security-group-rule-regression
provider/aws: Fix SecurityGroupRule regression
2017-02-10 13:53:47 -05:00
Jake Champlin f3befb0fe5 Merge pull request #11858 from hashicorp/f-fix-acc-tests
provider/aws: Fix ECS Task Definition Acceptance tests
2017-02-10 13:21:19 -05:00
Jake Champlin 4586b3727d
Fix the rest of the failing security_group_rule tests 2017-02-10 13:19:39 -05:00
Paul Stack e223ec4b40 provider/aws: Remove commented out test codethat causes panic in (#11859)
CI
2017-02-10 17:51:44 +00:00
Jake Champlin a2792f46c2
provider/aws: Fix SecurityGroupRule regression
A security_group_rule can also be created from a `prefix_list_id`.
Introduced in #11809

```
$ make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSSecurityGroupRule_PrefixListEgress'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/02/10 12:41:40 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSSecurityGroupRule_PrefixListEgress -timeout 120m
=== RUN   TestAccAWSSecurityGroupRule_PrefixListEgress
--- PASS: TestAccAWSSecurityGroupRule_PrefixListEgress (33.94s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/aws    33.970s
```
2017-02-10 12:46:35 -05:00
Jake Champlin 1cd98c76c0
provider/aws: Fix ECS Task Definition Acceptance tests
```
$ make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSEcsTaskDefinition_withNetworkMode'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/02/10 12:12:32 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSEcsTaskDefinition_withNetworkMode -timeout 120m
=== RUN   TestAccAWSEcsTaskDefinition_withNetworkMode
--- PASS: TestAccAWSEcsTaskDefinition_withNetworkMode (13.70s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/aws    13.741s
```

```
$ make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSEcsTaskDefinition_withTaskRoleArn'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/02/10 12:22:40 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSEcsTaskDefinition_withTaskRoleArn -timeout 120m
=== RUN   TestAccAWSEcsTaskDefinition_withTaskRoleArn
--- PASS: TestAccAWSEcsTaskDefinition_withTaskRoleArn (14.70s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/aws    14.728s
```
2017-02-10 12:40:01 -05:00
Paul Stack 06aaa44a80 provider/aws: data_aws_db_instance resource (#11717) 2017-02-10 14:58:31 +00:00
Paul Stack a306a6d780 provider/aws: Support import of aws_opsworks_instance (#11783)
Fixes: #11180

```
% make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSOpsworksInstance'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/02/08 15:01:08 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSOpsworksInstance -timeout 120m
=== RUN   TestAccAWSOpsworksInstance_importBasic
--- PASS: TestAccAWSOpsworksInstance_importBasic (84.47s)
=== RUN   TestAccAWSOpsworksInstance
--- PASS: TestAccAWSOpsworksInstance (113.09s)
PASS
ok  	github.com/hashicorp/terraform/builtin/providers/aws	197.583s
```
2017-02-10 14:53:50 +00:00
Jake Champlin 5a467edb0b Merge pull request #11842 from hashicorp/f-update-aws-ami
provider/aws: Fix AMI creation from snapshot issue
2017-02-10 09:42:01 -05:00
Jake Champlin 3c51c728f4
remove commented line 2017-02-10 09:41:45 -05:00
Paul Stack 4f1ed2287a provider/aws: Fix bug to allow update of maintenance_window in (#11850)
elasticache_replication_group

Fixes: #11832

```
% make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSElasticacheReplicationGroup_updateMaintenanceWindow'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/02/10 13:34:15 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSElasticacheReplicationGroup_updateMaintenanceWindow -timeout 120m
=== RUN   TestAccAWSElasticacheReplicationGroup_updateMaintenanceWindow
--- PASS: TestAccAWSElasticacheReplicationGroup_updateMaintenanceWindow (1023.52s)
PASS
ok  	github.com/hashicorp/terraform/builtin/providers/aws	1023.552s
```
2017-02-10 14:04:09 +00:00
Robert Rudduck da218a37c2 Dont send ssh_keys if length is 0. (#11804) 2017-02-10 11:52:33 +00:00
Martin Häger f00dee67a4 fix typo that causes serialization to fail when events is non-empty (#11839) 2017-02-10 11:27:08 +00:00
netjunki 5d053754e6 provider/aws: output the log group name when create fails (#11812)
* provider/aws: output the log group name when create fails

* adjusted formatting to match other error output

* fixup detailed error message for ResourceAlreadyExistsException

* forgot an import

* show the log group name regardless of error type
2017-02-10 08:38:14 +00:00
Jake Champlin fcec0a9f3d
provider/aws: Fix AMI creation from snapshot issue
Previously the AMI creation accepted a static value for the AMI's block device's volume size.
This change allows the user to omit the `volume_size` attribute, in order to mimic the AWS API behavior, which will use the EBS Volume's size.

Also fixes a potential panic case when setting `iops` on the AMI's block device.

The `aws_ami` resource previously didn't have any acceptance tests, adds two acceptance tests and a full testing suite for the `aws_ami` resource, so further tests can be written, as well as expansion upon the other `aws_ami_*` acceptance tests

```
$ make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSAMI_'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/02/09 20:18:22 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSAMI_ -timeout 120m
=== RUN   TestAccAWSAMI_basic
--- PASS: TestAccAWSAMI_basic (44.21s)
=== RUN   TestAccAWSAMI_snapshotSize
--- PASS: TestAccAWSAMI_snapshotSize (45.08s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/aws    89.320s
```
2017-02-09 20:30:26 -05:00
Dana Hoffman ccb3674c04 Merge pull request #11840 from danawillow/gke-version
provider/google: Update node version in container cluster test
2017-02-09 16:33:43 -08:00
Dana Hoffman b18e7bcfd2 provider/google: Update node version in container cluster test 2017-02-09 16:14:00 -08:00
Dana Hoffman d8e4f9545f Merge pull request #11646 from danawillow/google-subnetwork
provider/google: set subnetwork_project to computed
2017-02-09 15:01:15 -08:00
Clint 25d6507a7a Merge pull request #11505 from ewbankkit/aws_vpc_peering_connection_accepter-resource
provider/aws: Add 'aws_vpc_peering_connection_accepter' resource
2017-02-09 16:30:51 -06:00
Jake Champlin 3b372b649b Merge pull request #11833 from hashicorp/f-redshift-cluster-acctests
provider/aws: Update redshift_cluster acceptance tests
2017-02-09 16:20:52 -05:00
Clint b1a70b5560 Merge pull request #11829 from hashicorp/b-aws-test-fixes
provider/aws: Set the qualifier to an empty string if the parsing fai…
2017-02-09 15:17:25 -06:00
Jake Champlin 8618973c5c Merge pull request #11523 from 2uinc/vault-init-fix
Use vault api.DefaultConfig()
2017-02-09 15:18:49 -05:00
Jake Champlin 53d081e89f
provider/aws: Update redshift_cluster acceptance tests
Allows failing redshift_cluster acceptance tests to pass when ran in parallel

```
$ make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSRedshiftCluster_'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/02/09 11:15:49 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSRedshiftCluster_ -timeout 120m
=== RUN   TestAccAWSRedshiftCluster_importBasic
--- PASS: TestAccAWSRedshiftCluster_importBasic (593.87s)
=== RUN   TestAccAWSRedshiftCluster_basic
--- PASS: TestAccAWSRedshiftCluster_basic (663.11s)
=== RUN   TestAccAWSRedshiftCluster_kmsKey
--- PASS: TestAccAWSRedshiftCluster_kmsKey (684.31s)
=== RUN   TestAccAWSRedshiftCluster_enhancedVpcRoutingEnabled
--- PASS: TestAccAWSRedshiftCluster_enhancedVpcRoutingEnabled (914.33s)
=== RUN   TestAccAWSRedshiftCluster_loggingEnabled
=== RUN   TestAccAWSRedshiftCluster_loggingEnabled
--- PASS: TestAccAWSRedshiftCluster_loggingEnabled (764.83s)
=== RUN   TestAccAWSRedshiftCluster_iamRoles
--- PASS: TestAccAWSRedshiftCluster_iamRoles (907.82s)
=== RUN   TestAccAWSRedshiftCluster_publiclyAccessible
--- PASS: TestAccAWSRedshiftCluster_publiclyAccessible (691.63s)
=== RUN   TestAccAWSRedshiftCluster_updateNodeCount
--- PASS: TestAccAWSRedshiftCluster_updateNodeCount (1881.95s)
=== RUN   TestAccAWSRedshiftCluster_tags
--- PASS: TestAccAWSRedshiftCluster_tags (586.80s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/aws    6995.524s
```
2017-02-09 14:58:37 -05:00
clint shryock 0d8a6fb998 provider/aws: Set the qualifier to an empty string if the parsing fails, to attempt to detect drift 2017-02-09 10:42:51 -06:00
Jake Champlin 057341acf8 Merge pull request #11827 from hashicorp/f-redshift-sg-acctests
provider/aws: Update Redshift SG Acctests
2017-02-09 11:19:44 -05:00
Jake Champlin d91bbe441f
provider/aws: Update Redshift SG Acctests
Allows redshift security group tests to better handle being ran in parallel.

```
$ make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSRedshiftSecurityGroup_'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/02/09 10:40:25 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSRedshiftSecurityGroup_ -timeout 120m
=== RUN   TestAccAWSRedshiftSecurityGroup_importBasic
--- PASS: TestAccAWSRedshiftSecurityGroup_importBasic (12.98s)
=== RUN   TestAccAWSRedshiftSecurityGroup_ingressCidr
--- PASS: TestAccAWSRedshiftSecurityGroup_ingressCidr (11.02s)
=== RUN   TestAccAWSRedshiftSecurityGroup_updateIngressCidr
--- PASS: TestAccAWSRedshiftSecurityGroup_updateIngressCidr (32.81s)
=== RUN   TestAccAWSRedshiftSecurityGroup_ingressSecurityGroup
--- PASS: TestAccAWSRedshiftSecurityGroup_ingressSecurityGroup (14.82s)
=== RUN   TestAccAWSRedshiftSecurityGroup_updateIngressSecurityGroup
--- PASS: TestAccAWSRedshiftSecurityGroup_updateIngressSecurityGroup (37.43s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/aws    109.090s
```
2017-02-09 10:55:12 -05:00
clint shryock 86bf9fde83 provider/aws: fix testAccInstanceDataSourceConfig_keyPair from possibly leaking instances if tmp-key already existed 2017-02-09 09:50:36 -06:00
Jake Champlin 767764ff10 Merge pull request #11826 from hashicorp/f-redshift-parameter-group-test-fixes
provider/aws: Fix redshift parameter group acctests
2017-02-09 10:24:11 -05:00
Jake Champlin 35c773a616
provider/aws: Fix redshift parameter group acctests
Allows the redshift parameter group acceptance tests handle being ran in parallel better

```
$ make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSRedshiftParameterGroup_'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/02/09 10:16:19 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSRedshiftParameterGroup_ -timeout 120m
=== RUN   TestAccAWSRedshiftParameterGroup_importBasic
--- PASS: TestAccAWSRedshiftParameterGroup_importBasic (15.17s)
=== RUN   TestAccAWSRedshiftParameterGroup_withParameters
--- PASS: TestAccAWSRedshiftParameterGroup_withParameters (13.16s)
=== RUN   TestAccAWSRedshiftParameterGroup_withoutParameters
--- PASS: TestAccAWSRedshiftParameterGroup_withoutParameters (12.58s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/aws    40.940s
```
2017-02-09 10:18:31 -05:00
Jake Champlin 9064954ca0 Merge pull request #11825 from hashicorp/f-update-lb-policy-acctests
provider/aws: Update aws_elb policy acctests
2017-02-09 10:16:20 -05:00
Jake Champlin c899e8d49e
provider/aws: Update aws_elb policy acctests
Updates the aws_elb acceptance tests to better handle parallel test runs

 ```
 $ make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSLoadBalancerPolicy_'
 ==> Checking that code complies with gofmt requirements...
 go generate $(go list ./... | grep -v /terraform/vendor/)
 2017/02/09 10:04:58 Generated command/internal_plugin_list.go
 TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSLoadBalancerPolicy_ -timeout 120m
 === RUN   TestAccAWSLoadBalancerPolicy_basic
 --- PASS: TestAccAWSLoadBalancerPolicy_basic (24.50s)
 === RUN   TestAccAWSLoadBalancerPolicy_updateWhileAssigned
 --- PASS: TestAccAWSLoadBalancerPolicy_updateWhileAssigned (42.34s)
 PASS
 ok      github.com/hashicorp/terraform/builtin/providers/aws    66.866s
 ```
2017-02-09 10:08:05 -05:00
Jake Champlin 597bcabd49 Merge pull request #11823 from hashicorp/f-update-aws-kms-acctests
provider/aws: Update KMS Alias acceptance tests
2017-02-09 09:57:27 -05:00
Jake Champlin 6869fae6f3
provider/aws: Update KMS Alias acceptance tests
Updates KMS tests to ensure compatibility with running our tests in parallel

```
$ make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSKmsAlias_'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/02/09 09:43:42 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSKmsAlias_ -timeout 120m
=== RUN   TestAccAWSKmsAlias_basic
--- PASS: TestAccAWSKmsAlias_basic (51.63s)
=== RUN   TestAccAWSKmsAlias_name_prefix
--- PASS: TestAccAWSKmsAlias_name_prefix (39.58s)
=== RUN   TestAccAWSKmsAlias_no_name
--- PASS: TestAccAWSKmsAlias_no_name (42.27s)
=== RUN   TestAccAWSKmsAlias_multiple
--- PASS: TestAccAWSKmsAlias_multiple (40.04s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/aws    173.547s
```
2017-02-09 09:49:34 -05:00
Jake Champlin 30fc87ce55 Merge pull request #11818 from hashicorp/f-update-ecs-task-definition-tests
provider/aws: Fix ECS Task Definition tests
2017-02-09 09:31:25 -05:00
Jake Champlin 9f0c5103d4
provider/aws: Fix ECS Task Definition tests
When ran in parallel the tests `TestAccAwsEcsTaskDefinition_withNetwork` and `TestAccAwsEcsTaskDefinition_withTask` will overlap with each other due to the shared naming of the `iam_role` resource.

This fixes these tests to allow running in parallel on TeamCity.

```
$ make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAwsEcsTaskDefinition_withTask'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/02/09 09:20:03 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAwsEcsTaskDefinition_withTask -timeout 120m
PASS
ok      github.com/hashicorp/terraform/builtin/providers/aws    0.022s
```

```
$ make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAwsEcsTaskDefinition_withNetwork'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/02/09 09:21:10 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAwsEcsTaskDefinition_withNetwork -timeout 120m
PASS
ok      github.com/hashicorp/terraform/builtin/providers/aws    0.026s
```
2017-02-09 09:23:32 -05:00
Jake Champlin cf4b175ac1
provider/aws: Fix aws_api_gateway acceptance test
Fixes the `TestAccAwsAPIGatewayMethod_customauthorizer` acceptance test which would previously fail if the iam_role resources would leak

```
$ make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAwsAPIGatewayMethod_customauthorizer'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/02/09 09:10:07 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAwsAPIGatewayMethod_customauthorizer -timeout 120m
PASS
ok      github.com/hashicorp/terraform/builtin/providers/aws    0.022s
```
2017-02-09 09:11:55 -05:00
Jake Champlin 103ce56e70 Merge pull request #11809 from hashicorp/b-fix-aws-sg-rule-create
provider/aws: Fix AWS Security Group Rule Timeout
2017-02-09 08:16:07 -05:00
Paul Stack 4964ec402f provider/aws: Bump Create and Delete timeouts to 60 mins on (#11793)
directory_service

Fixes: #11781
2017-02-09 11:44:50 +00:00
Paul Stack 7310b26896 provider/aws: Make aws_dms_endpoint database_name optional (#11792)
Not required for MySQL

Fixes: #11791
2017-02-09 11:43:14 +00:00
Joe Topjian beb00e287d Merge pull request #10271 from ljfranklin/PR-openstack-ssl-content
Allow OpenStack SSL certs + keys to take path or content
2017-02-08 22:11:31 -07:00
Jake Champlin 6fa0946571
provider/aws: Fix AWS Security Group Rule Timeout
An AWS Security Group Rule requires at least one of `cidr_blocks`, `self`, or `source_security_group_id` in order to be successfully created.
 If the `aws_security_group_rule` doesn't contain one of these attributes, the AWS API will still return a `200` response, and not report any error in the response.

 Example response from the API on a malformed submission:
 ```
2017/02/08 16:04:33 [DEBUG] plugin: terraform: -----------------------------------------------------
2017/02/08 16:04:33 [DEBUG] plugin: terraform: aws-provider (internal) 2017/02/08 16:04:33 [DEBUG] [aws-sdk-go] DEBUG: Response ec2/AuthorizeSecurityGroupIngress Details:
2017/02/08 16:04:33 [DEBUG] plugin: terraform: ---[ RESPONSE ]--------------------------------------
2017/02/08 16:04:33 [DEBUG] plugin: terraform: HTTP/1.1 200 OK
2017/02/08 16:04:33 [DEBUG] plugin: terraform: Connection: close
2017/02/08 16:04:33 [DEBUG] plugin: terraform: Transfer-Encoding: chunked
2017/02/08 16:04:33 [DEBUG] plugin: terraform: Content-Type: text/xml;charset=UTF-8
2017/02/08 16:04:33 [DEBUG] plugin: terraform: Date: Wed, 08 Feb 2017 21:04:33 GMT
2017/02/08 16:04:33 [DEBUG] plugin: terraform: Server: AmazonEC2
2017/02/08 16:04:33 [DEBUG] plugin: terraform: Vary: Accept-Encoding
2017/02/08 16:04:33 [DEBUG] plugin: terraform:
2017/02/08 16:04:33 [DEBUG] plugin: terraform: 102
2017/02/08 16:04:33 [DEBUG] plugin: terraform: <?xml version="1.0" encoding="UTF-8"?>
2017/02/08 16:04:33 [DEBUG] plugin: terraform: <AuthorizeSecurityGroupIngressResponse xmlns="http://ec2.amazonaws.com/doc/2016-11-15/">
2017/02/08 16:04:33 [DEBUG] plugin: terraform:     <requestId>ac08c33f-8043-46d4-b637-4c4b2fc7a094</requestId>
2017/02/08 16:04:33 [DEBUG] plugin: terraform:     <return>true</return>
2017/02/08 16:04:33 [DEBUG] plugin: terraform: </AuthorizeSecurityGroupIngressResponse>
2017/02/08 16:04:33 [DEBUG] plugin: terraform: 0
2017/02/08 16:04:33 [DEBUG] plugin: terraform:
2017/02/08 16:04:33 [DEBUG] plugin: terraform:
2017/02/08 16:04:33 [DEBUG] plugin: terraform: -----------------------------------------------------
```

This previously caused Terraform to wait until the security_group_rule propagated, which never happened due to the silent failure.

The changeset ensures that one of the required attributes are set prior to creating the aws_security_group_rule.
Also catches the error returned from the retry function. Previously the error was ignored, and only logged at the `DEBUG` level.
2017-02-08 21:30:30 -05:00
Dana Hoffman df0210401d provider/google: set subnetwork_project to computed 2017-02-08 15:26:47 -08:00
Dana Hoffman 0a60142080 Merge pull request #11650 from danawillow/google-container
provider/google: set additional_zones to computed and disallow the original zone from appearing in the list
2017-02-08 15:12:08 -08:00
Jake Champlin 327b9e2549 Merge pull request #11795 from hashicorp/b-respect-400-rds-deletion
provider/aws: Catch 400 error from rds_cluster
2017-02-08 14:26:24 -05:00
Jake Champlin 6dd979605d
provider/aws: Catch 400 error from rds_cluster
Previously, an `aws_rds_cluster` that contains active instance groups would timeout on a destroy, if the destroy was able to only target the rds_cluster and not include the instance groups.
This would result in a `400` response from AWS, and Terraform would sit in a wait-loop until a 15-minute timeout while waiting for the cluster to be destroyed.

This catches the error returned from the `DeleteDBCluster` function call such that the proper error case can be returned to the user.

`400` from the AWS API:
```
2017/02/08 13:40:47 [DEBUG] plugin: terraform: ---[ RESPONSE ]--------------------------------------
2017/02/08 13:40:47 [DEBUG] plugin: terraform: HTTP/1.1 400 Bad Request
2017/02/08 13:40:47 [DEBUG] plugin: terraform: Connection: close
2017/02/08 13:40:47 [DEBUG] plugin: terraform: Content-Length: 337
2017/02/08 13:40:47 [DEBUG] plugin: terraform: Content-Type: text/xml
2017/02/08 13:40:47 [DEBUG] plugin: terraform: Date: Wed, 08 Feb 2017 18:40:46 GMT
2017/02/08 13:40:47 [DEBUG] plugin: terraform: X-Amzn-Requestid: 1b4a76cc-ee2e-11e6-867d-2311ebaffd3e
2017/02/08 13:40:47 [DEBUG] plugin: terraform:
2017/02/08 13:40:47 [DEBUG] plugin: terraform: <ErrorResponse xmlns="http://rds.amazonaws.com/doc/2014-10-31/">
2017/02/08 13:40:47 [DEBUG] plugin: terraform:   <Error>
2017/02/08 13:40:47 [DEBUG] plugin: terraform:     <Type>Sender</Type>
2017/02/08 13:40:47 [DEBUG] plugin: terraform:     <Code>InvalidDBClusterStateFault</Code>
2017/02/08 13:40:47 [DEBUG] plugin: terraform:     <Message>Cluster cannot be deleted, it still contains DB instances in non-deleting state.</Message>
2017/02/08 13:40:47 [DEBUG] plugin: terraform:   </Error>
2017/02/08 13:40:47 [DEBUG] plugin: terraform:   <RequestId>1b4a76cc-ee2e-11e6-867d-2311ebaffd3e</RequestId>
2017/02/08 13:40:47 [DEBUG] plugin: terraform: </ErrorResponse>
2017/02/08 13:40:47 [DEBUG] plugin: terraform:
2017/02/08 13:40:47 [DEBUG] plugin: terraform: -----------------------------------------------------
```

Error returns now,  as expected:
```
Error applying plan:

2017/02/08 13:40:47 [DEBUG] plugin: waiting for all plugin processes to complete...
1 error(s) occurred:

* aws_rds_cluster.jake (destroy): 1 error(s) occurred:

2017/02/08 13:40:47 [DEBUG] plugin: terraform: aws-provider (internal) 2017/02/08 13:40:47 [DEBUG] plugin: waiting for all plugin processes to complete...
* aws_rds_cluster.jake: RDS Cluster cannot be deleted: Cluster cannot be deleted, it still contains DB instances in non-deleting state.
```
2017-02-08 13:59:21 -05:00
Paddy 6257aff676 provider/google: update DNS names in tests.
Our DNS tests were using terraform.test as a DNS name, which GCP was
erroring on, as we haven't proven we own the domain (and can't, as we
don't). To solve this, I updated the tests to use hashicorptest.com,
which we _do_ own, and which we have proven ownership of. The tests now
pass.
2017-02-08 10:24:04 -08:00
James Bardin 6a626a2215 Merge pull request #11761 from hashicorp/jbardin/GH-11746
Cannot store multiple types in atomic.Value
2017-02-08 10:18:13 -05:00
Jake Champlin 49697eb5de
provider/aws: Fix spot_fleet request tests
Due to the fact that an iam_policy_attachment can only be used once PER iam_policy, these changes create a specific iam_policy for each test, so that when they are ran in parallel we will no longer get the iam_policy_attachment clobbers that we've gotten previously.

```
##teamcity[testStarted timestamp='2017-02-08T09:11:38.361' name='TestAccAWSSpotFleetRequest_CannotUseEmptyKeyName']
##teamcity[testStdOut name='TestAccAWSSpotFleetRequest_CannotUseEmptyKeyName' out='=== RUN   TestAccAWSSpotFleetRequest_CannotUseEmptyKeyName|n--- PASS: TestAccAWSSpotFleetRequest_CannotUseEmptyKeyName (0.00s)|
nPASS|n']
##teamcity[testStdErr name='TestAccAWSSpotFleetRequest_CannotUseEmptyKeyName' out='']
##teamcity[testFinished timestamp='2017-02-08T09:11:38.420' name='TestAccAWSSpotFleetRequest_CannotUseEmptyKeyName']
##teamcity[testStarted timestamp='2017-02-08T09:11:38.361' name='TestAccAWSSpotFleetRequest_lowestPriceAzOrSubnetInRegion']
##teamcity[testStdOut name='TestAccAWSSpotFleetRequest_lowestPriceAzOrSubnetInRegion' out='=== RUN   TestAccAWSSpotFleetRequest_lowestPriceAzOrSubnetInRegion|n--- PASS: TestAccAWSSpotFleetRequest_lowestPriceAzO
rSubnetInRegion (54.59s)|nPASS|n']
##teamcity[testStdErr name='TestAccAWSSpotFleetRequest_lowestPriceAzOrSubnetInRegion' out='']
##teamcity[testFinished timestamp='2017-02-08T09:12:33.046' name='TestAccAWSSpotFleetRequest_lowestPriceAzOrSubnetInRegion']
##teamcity[testStarted timestamp='2017-02-08T09:11:38.361' name='TestAccAWSSpotFleetRequest_multipleInstanceTypesInSameAz']
##teamcity[testStdOut name='TestAccAWSSpotFleetRequest_multipleInstanceTypesInSameAz' out='=== RUN   TestAccAWSSpotFleetRequest_multipleInstanceTypesInSameAz|n--- PASS: TestAccAWSSpotFleetRequest_multipleInstan
ceTypesInSameAz (55.50s)|nPASS|n']
##teamcity[testStdErr name='TestAccAWSSpotFleetRequest_multipleInstanceTypesInSameAz' out='']
##teamcity[testFinished timestamp='2017-02-08T09:12:33.937' name='TestAccAWSSpotFleetRequest_multipleInstanceTypesInSameAz']
##teamcity[testStarted timestamp='2017-02-08T09:11:38.361' name='TestAccAWSSpotFleetRequest_lowestPriceAzInGivenList']
##teamcity[testStdOut name='TestAccAWSSpotFleetRequest_lowestPriceAzInGivenList' out='=== RUN   TestAccAWSSpotFleetRequest_lowestPriceAzInGivenList|n--- PASS: TestAccAWSSpotFleetRequest_lowestPriceAzInGivenList
 (56.05s)|nPASS|n']
##teamcity[testStdErr name='TestAccAWSSpotFleetRequest_lowestPriceAzInGivenList' out='']
##teamcity[testFinished timestamp='2017-02-08T09:12:34.492' name='TestAccAWSSpotFleetRequest_lowestPriceAzInGivenList']
##teamcity[testStarted timestamp='2017-02-08T09:11:38.361' name='TestAccAWSSpotFleetRequest_withEBSDisk']
##teamcity[testStdOut name='TestAccAWSSpotFleetRequest_withEBSDisk' out='=== RUN   TestAccAWSSpotFleetRequest_withEBSDisk|n--- PASS: TestAccAWSSpotFleetRequest_withEBSDisk (58.02s)|nPASS|n']
##teamcity[testStdErr name='TestAccAWSSpotFleetRequest_withEBSDisk' out='']
##teamcity[testFinished timestamp='2017-02-08T09:12:36.457' name='TestAccAWSSpotFleetRequest_withEBSDisk']
##teamcity[testStarted timestamp='2017-02-08T09:11:38.362' name='TestAccAWSSpotFleetRequest_overriddingSpotPrice']
##teamcity[testStdOut name='TestAccAWSSpotFleetRequest_overriddingSpotPrice' out='=== RUN   TestAccAWSSpotFleetRequest_overriddingSpotPrice|n--- PASS: TestAccAWSSpotFleetRequest_overriddingSpotPrice (58.84s)|nP
ASS|n']
##teamcity[testStdErr name='TestAccAWSSpotFleetRequest_overriddingSpotPrice' out='']
##teamcity[testFinished timestamp='2017-02-08T09:12:37.286' name='TestAccAWSSpotFleetRequest_overriddingSpotPrice']
##teamcity[testStarted timestamp='2017-02-08T09:11:38.362' name='TestAccAWSSpotFleetRequest_lowestPriceSubnetInGivenList']
##teamcity[testStdOut name='TestAccAWSSpotFleetRequest_lowestPriceSubnetInGivenList' out='=== RUN   TestAccAWSSpotFleetRequest_lowestPriceSubnetInGivenList|n--- PASS: TestAccAWSSpotFleetRequest_lowestPriceSubne
tInGivenList (60.75s)|nPASS|n']
##teamcity[testStdErr name='TestAccAWSSpotFleetRequest_lowestPriceSubnetInGivenList' out='']
##teamcity[testFinished timestamp='2017-02-08T09:12:39.206' name='TestAccAWSSpotFleetRequest_lowestPriceSubnetInGivenList']
##teamcity[testStarted timestamp='2017-02-08T09:11:38.362' name='TestAccAWSSpotFleetRequest_multipleInstanceTypesInSameSubnet']
##teamcity[testStdOut name='TestAccAWSSpotFleetRequest_multipleInstanceTypesInSameSubnet' out='=== RUN   TestAccAWSSpotFleetRequest_multipleInstanceTypesInSameSubnet|n--- PASS: TestAccAWSSpotFleetRequest_multip
leInstanceTypesInSameSubnet (61.80s)|nPASS|n']
##teamcity[testStdErr name='TestAccAWSSpotFleetRequest_multipleInstanceTypesInSameSubnet' out='']
##teamcity[testFinished timestamp='2017-02-08T09:12:40.241' name='TestAccAWSSpotFleetRequest_multipleInstanceTypesInSameSubnet']
##teamcity[testStarted timestamp='2017-02-08T09:11:38.361' name='TestAccAWSSpotFleetRequest_changePriceForcesNewRequest']
##teamcity[testStdOut name='TestAccAWSSpotFleetRequest_changePriceForcesNewRequest' out='=== RUN   TestAccAWSSpotFleetRequest_changePriceForcesNewRequest|n--- PASS: TestAccAWSSpotFleetRequest_changePriceForcesN
ewRequest (98.70s)|nPASS|n']
##teamcity[testStdErr name='TestAccAWSSpotFleetRequest_changePriceForcesNewRequest' out='']
##teamcity[testFinished timestamp='2017-02-08T09:13:17.142' name='TestAccAWSSpotFleetRequest_changePriceForcesNewRequest']
##teamcity[testStarted timestamp='2017-02-08T09:11:38.361' name='TestAccAWSSpotFleetRequest_withWeightedCapacity']
##teamcity[testStdOut name='TestAccAWSSpotFleetRequest_withWeightedCapacity' out='=== RUN   TestAccAWSSpotFleetRequest_withWeightedCapacity|n--- PASS: TestAccAWSSpotFleetRequest_withWeightedCapacity (269.12s)|n
PASS|n']
##teamcity[testStdErr name='TestAccAWSSpotFleetRequest_withWeightedCapacity' out='']
##teamcity[testFinished timestamp='2017-02-08T09:16:07.554' name='TestAccAWSSpotFleetRequest_withWeightedCapacity']
##teamcity[testStarted timestamp='2017-02-08T09:11:38.361' name='TestAccAWSSpotFleetRequest_diversifiedAllocation']
##teamcity[testStdOut name='TestAccAWSSpotFleetRequest_diversifiedAllocation' out='=== RUN   TestAccAWSSpotFleetRequest_diversifiedAllocation|n--- PASS: TestAccAWSSpotFleetRequest_diversifiedAllocation (348.36s
)|nPASS|n']
##teamcity[testStdErr name='TestAccAWSSpotFleetRequest_diversifiedAllocation' out='']
##teamcity[testFinished timestamp='2017-02-08T09:17:26.802' name='TestAccAWSSpotFleetRequest_diversifiedAllocation']
```
2017-02-08 09:20:19 -05:00
Radek Simko 3fbc037b8f provider/aws: Remove deprecated DynamoDB & Kinesis endpoint fields (#11778) 2017-02-08 13:29:08 +00:00
Radek Simko c25579a6f8 provider/aws: Add aws_elasticsearch_domain_policy (#8648) 2017-02-08 13:20:57 +00:00
Radek Simko d3c9a4b265 provider/aws: Unify custom endpoint fields in provider schema (#11768) 2017-02-08 13:08:59 +00:00
Paul Stack 6a44f258e6 provider/aws: Raise the codebuild_project create timeout (#11777)
Found in testing that a timeout of 30 seconds didn't allow for the error
message that codebuild wasn't supported in eu-west-2

Discussed this with @radeksimko and he suggested a timeout raise
2017-02-08 13:03:58 +00:00
Liam Bennett d760f2102a Latest updates to aws_ssm_document resource. (#11671)
A parameter `document_type` and a few more attributes returned based
upon the new API.
2017-02-08 12:45:38 +00:00
Manuwela Kanade 0942aed7a3 provider/consul: catalog entry service id should default to service name 2017-02-08 09:43:00 +00:00
Dana Hoffman a3ca05a3c9 provider/google: always set additional_zones on read 2017-02-07 19:21:00 -08:00
James Bardin 197f6cab79 Cannot store multiple types in atomic.Value
Storing error values to atomic.Value may fail if they have different
dynamic types. Wrap error value in a consistent struct type to avoid
panics.

Make sure we return a nil error on success
2017-02-07 19:02:04 -05:00
Jake Champlin 28b9f3f8fb Merge pull request #11744 from hashicorp/b-fix-db-event-import
provider/aws: Fix aws_db_event_subscription import
2017-02-07 14:40:41 -05:00
Dana Hoffman 260e803880 providers/google: disallow specifying the original zone in additional_zones, change field to computed 2017-02-07 11:02:02 -08:00
Jake Champlin 1ab17bf5d3 Merge pull request #11735 from hashicorp/paddy_11728_with_tests
Revert backwards incompatibility in google_project.policy_data
2017-02-07 11:50:59 -05:00
Jake Champlin 20a75ec6d7
provider/aws: Fix aws_db_event_subscription import
Previously the db_event_subscription import would only work if there was a single db_event_subscription resource. This fixes the import, allowing it to work as expected.

Also fixes the acceptance test for the resource to reflect this.

```
$ make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSDBEventSubscription_importBasic'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/02/07 10:38:10 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSDBEventSubscription_importBasic -timeout 120m
=== RUN   TestAccAWSDBEventSubscription_importBasic
--- PASS: TestAccAWSDBEventSubscription_importBasic (633.33s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/aws    633.353s
```
2017-02-07 11:01:26 -05:00
Traver Tischio 441b1cca90 provider/fastly Adds healthcheck service (#11709)
* Adds schema for fastly healthcheck

* Handles changes to the fastly healthcheck

* Flattens and refreshed fastly healthchecks

* Adds testing for fastly healthcheck

* Adds website documentation for fastly healthcheck

* Fixes terraform syntax in test examples
2017-02-07 11:34:58 +01:00
Erik Jansson e3e24f4592 Fix nil pointer in resource_aws_codebuild_project (#11740) 2017-02-07 11:25:29 +01:00
Paddy faa640dfe8 Add a test that would have caught backwards incompatibility.
Add a test that would have caught the backwards incompatibility where
project IAM bindings aren't merged, but are overwritten.
2017-02-06 22:27:28 -08:00
Dana Hoffman 32c71b88a4 Merge pull request #11548 from zopanix/patch-1
Added forceNew on accessConfig in google_compute_instance_template
2017-02-06 17:19:55 -08:00
Mitchell Hashimoto 640faf18c3
Revert "provisioner/remote-exec: fail on first inline script with bad exit code (#11155)"
This reverts commit d2047d714e.
2017-02-06 16:51:51 -08:00
Jake Champlin f5c4d7bfc3
provider/aws: Fix aws_db_event_subscription acceptance test
Fixes the `TestAccAWSDBEventSubscription_basicUpdate` acceptance test

`TestAccAWSDBEventSubscription_importBasic` is still failing, but has been failing since November.
2017-02-06 18:24:15 -05:00
Evan Brown 7d5c405c96 providers/google: Fix google_project IAM bug
This changes removes read of the deprecated `policy_data` attr in
the `google_project` resource.

0.8.5 introduced new behavior that incorrectly read the `policy_data`
field during the read lifecycle event. This caused Terraform to
assume it owned not just policy defined in the data source, but
everything that was associated with the project. Migrating from 0.8.4
to 0.8.5, this would cause the config (partial) to be compared to the
state (complete, as it was read from the API) and assume some
policies had been explicitly deleted. Terraform would then delete them.

Fixes #11556
2017-02-06 14:16:22 -08:00
Jake Champlin 4eda693710
fix validator test 2017-02-06 15:16:59 -05:00
Jake Champlin 5481fd941a
provider/fastly: Allow specifying log format version
Allows the user to specify the log format version when setting up `s3logging` on the fastly service resource.

Requires an update to the vendored `go-fastly` dependency.

Also adds an additional acceptance test for the new attribute.

```
$ make testacc TEST=./builtin/providers/fastly TESTARGS='-run=TestAccFastlyServiceV1_s3logging'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/02/06 14:51:55 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/fastly -v -run=TestAccFastlyServiceV1_s3logging -timeout 120m
=== RUN   TestAccFastlyServiceV1_s3logging_basic
--- PASS: TestAccFastlyServiceV1_s3logging_basic (36.11s)
=== RUN   TestAccFastlyServiceV1_s3logging_s3_env
--- PASS: TestAccFastlyServiceV1_s3logging_s3_env (15.35s)
=== RUN   TestAccFastlyServiceV1_s3logging_formatVersion
--- PASS: TestAccFastlyServiceV1_s3logging_formatVersion (15.71s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/fastly 67.186s
```
2017-02-06 14:54:58 -05:00
Jake Champlin 17dfa0c8e3 Merge pull request #11691 from hashicorp/f-update-nomad-jobspec-parser
provider/nomad: Update jobspec parser
2017-02-06 12:02:37 -05:00
Clint 2e0b30efbb Merge pull request #11678 from snakeb1t/iam_instance_profile_availcheck
provider/aws: fix instance profile creation false negative
2017-02-06 08:48:54 -06:00
Lyle Franklin 3b7cf41b83 Allow OpenStack SSL fields to be specified by contents
- OpenStack provider now supports either a path or the file contents for
  `cacert_file`, `cert`, and `key`
- Makes it easier to automate TF by passing in certs as environment
  variables
- set `OS_SSL_TESTS=true` to run the acceptance tests
2017-02-05 11:17:00 -08:00
John Engelman 1efd5ff814 [Rancher] - allow for importing resources using environment ID to target (#11688) 2017-02-05 11:35:48 +01:00
netjunki 64e2381cb2 validate aws_alb_target_group name is less than 32 characters (#11699) 2017-02-05 11:24:24 +01:00
Kit Ewbank 1ab38ceae5 Return route_table_id from aws_route_table data source. (#11703) 2017-02-05 11:19:25 +01:00
Tamas Szasz e001ecac2c Provide the certificate ID in the aws data source (#11693)
ID is used in aws cloudfront distributions and probably in other aws resources as well
2017-02-04 12:34:16 +00:00
ValFadeev cb8d85fc50 provider/aws: New DataSource: aws_partition (#11675) 2017-02-04 11:54:45 +00:00
Jake Champlin 79c117877e
provider/nomad: Update jobspec parser
Updates vendored Nomad jobspec parser such that parameterized nomad job files can no be parsed and used with Terraform.
Also fixes tests to adhere to new jobspec version, and update documentation to reflect such as well.
2017-02-03 18:19:23 -05:00
Xavier Sellier dbe647dd56 Add epsilon to the regex date validation 2017-02-03 13:52:22 -05:00
Paul Tittle bd5fc5d0e0 provider/aws: fix instance profile creation false negative
fixes https://github.com/hashicorp/terraform/issues/9474

discussion of approach in https://github.com/hashicorp/terraform/pull/11634
2017-02-03 13:27:50 -05:00
Paul Stack ced96aa90b provider/aws: Set aws_db_cluster to snapshot by default (#11668)
As requested in #11448

Terraform didn't snapshot AWS DB Instances by default. We are going to
change that behaviour going forward.
2017-02-03 17:21:25 +00:00
Jason Felice ab33435863 Fix error message for when home directory not found 2017-02-03 08:52:53 -08:00
Jason Felice 8a7a6c6059 Use go-homedir (as vault does) 2017-02-03 08:52:53 -08:00
Jason Felice bb1756c86a Read ~/.vault-token if token not supplied another way
Closes #11365
2017-02-03 08:52:53 -08:00
Clint 195e668865 Merge pull request #11674 from hashicorp/b-aws-test-fixes
provider/aws: More test fixing
2017-02-03 10:41:16 -06:00
clint shryock 549256ed1d fix transcoder tests 2017-02-03 10:40:33 -06:00
clint shryock 9ad75cfdc6 fix db subnet test 2017-02-03 10:22:46 -06:00
Jason Felice b5d891b109 Check result of config.ConfigureTLS() 2017-02-03 11:07:03 -05:00
Jason Felice 7da8e9285e Use vault api.DefaultConfig()
Closes #11364
2017-02-03 11:04:35 -05:00
Jake Champlin 7e71dfce0f Merge pull request #11649 from hashicorp/b-fix-spot-request-bug
provider/aws: Fix spot_instance_request bug
2017-02-03 09:23:54 -05:00
Raphaël Pinson acd7320e1f rancher: set environment_id on import (#11594) 2017-02-03 12:34:26 +00:00
Matthew Frahry d421829aaa Add test to PR 9320 (#11645) 2017-02-03 11:50:57 +00:00
Dana Hoffman 3efe2c942c provider/google: only set additional zones on read if it had been set in the config 2017-02-02 17:37:03 -08:00
Jake Champlin a58f292d88
provider/aws: Fix spot_instance_request bug
Discovered after #11619 was fixed, and while fixing acceptance tests for the `aws_spot_instance_request` resource.
Previously the `aws_spot_instance_request` resource wouldn't populate any of the block device attributes from the resulting instance's metadata. This fixes that issue, and also fixes the `aws_spot_instance_request` acceptance tests to be more equipped for running in parallel.

 ```
 make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSSpotInstanceRequest_'
 ==> Checking that code complies with gofmt requirements...
 go generate $(go list ./... | grep -v /terraform/vendor/)
 2017/02/02 18:02:37 Generated command/internal_plugin_list.go
 TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSSpotInstanceRequest_ -timeout 120m
 === RUN   TestAccAWSSpotInstanceRequest_basic
 --- PASS: TestAccAWSSpotInstanceRequest_basic (111.96s)
 === RUN   TestAccAWSSpotInstanceRequest_withBlockDuration
 --- PASS: TestAccAWSSpotInstanceRequest_withBlockDuration (105.12s)
 === RUN   TestAccAWSSpotInstanceRequest_vpc
 --- PASS: TestAccAWSSpotInstanceRequest_vpc (115.81s)
 === RUN   TestAccAWSSpotInstanceRequest_SubnetAndSG
 --- PASS: TestAccAWSSpotInstanceRequest_SubnetAndSG (130.46s)
 PASS
 ok      github.com/hashicorp/terraform/builtin/providers/aws    463.377s
 ```
2017-02-02 18:57:50 -05:00
Kit Ewbank 380aef9720 Tighten up documentation, same-account acceptance test, better error handling. 2017-02-02 18:46:23 -05:00
Jake Champlin 188a00cbe0 Merge pull request #11642 from hashicorp/f-improve-iam-tests
provider/aws: Improve IAM Group AccTests
2017-02-02 14:10:51 -05:00
Jake Champlin 643a52ab3e
provider/aws: Improve IAM Group AccTests
Improve the iam_group acceptance tests. Previously, the iam_group would overlap when running our tests in parallel. This fixes that.
2017-02-02 13:03:39 -05:00
Jake Champlin e4a36c3d7a
provider/aws: Better handle parallel tests spot-fleet-req
Better handle parallel testing of the `aws_spot_fleet_request` resource. Previously we were catching a lot of errors due to naming the policy_attachment resource the same between tests.
2017-02-02 12:48:52 -05:00
Clint aa7aa19592 Merge pull request #11637 from hashicorp/b-aws-test-fixes
provider/aws: More lambda test fixes
2017-02-02 10:30:23 -06:00
liamjbennett 4aa5117e82
New resource aws_codebuild_project 2017-02-02 16:13:51 +00:00
clint shryock 8cede07657 fix missing %s 2017-02-02 10:04:27 -06:00
clint shryock 27c1dd8097 provider/aws: More lambda test cleanups 2017-02-02 09:57:44 -06:00
Jake Champlin 755040b177 Merge pull request #11617 from hashicorp/f-tags-dynamodb
provider/aws: Add tag support to the dynamodb table resource
2017-02-02 09:44:54 -05:00
Jake Champlin dacc765a5e
update casing for dynamoDb 2017-02-02 09:20:33 -05:00
Jasmin Gacic b862cd2ccb Terraform provider ProfitBricks - Data Sources (#11520)
* Terraform ProfitBricks Builder

* make fmt

* Merge remote-tracking branch 'upstream/master' into terraform-provider-profitbricks

# Conflicts:
#	command/internal_plugin_list.go

* Addressing PR remarks

* Removed importers

* Added ProfitBricks Data Sources

* Added documentation

* Updated to REST v3:
- nat parameter for Nics
- availabilityZone for Volumes

Minor code clean up

* Minor code clean up

* Fixed typo in volume documentation

* make fmt

* Addressing requested changes

* Added a step in load balancer tests in CheckDestroy where we are making sure that the test doesn't leave dangling resources in ProfitBricks

* Changed expected image name

* Fixed data center test
Code clean up
2017-02-02 13:26:14 +00:00
stack72 c8a2d40c82
provider/aws: Fixing a merge conflict issue in validators.go 2017-02-02 10:30:41 +00:00
Jack Bruno be56c7d2f6 provider/aws: Add AWS DMS (data migration service) resources (#11122)
* Add aws dms vendoring

* Add aws dms endpoint resource

* Add aws dms replication instance resource

* Add aws dms replication subnet group resource

* Add aws dms replication task resource

* Fix aws dms resource go vet errors

* Review fixes: Add id validators for all resources. Add validator for endpoint engine_name.

* Add aws dms resources to importability list

* Review fixes: Add aws dms iam role dependencies to test cases

* Review fixes: Adjustments for handling input values

* Add aws dms replication subnet group tagging

* Fix aws dms subnet group doesn't use standard error for resource not found

* Missed update of aws dms vendored version

* Add aws dms certificate resource

* Update aws dms resources to force new for immutable attributes

* Fix tests failing on subnet deletion by adding explicit dependencies. Combine import tests with basic tests to cut down runtime.
2017-02-02 10:30:05 +00:00
Raymond Fallon b30ef0f58d Update Application Auto Scaling to support scaling an Amazon EC2 Spot fleet. (#8697)
* provider/aws: Update Application Auto Scaling service model

  - Add support for automatically scaling an Amazon EC2 Spot fleet.

* Remove duplicate policy_type check.

* Test creating a scalable target for a splot fleet request.

* Test creating a scaling policy for a splot fleet request.

* Update resource docs to support scaling an Amazon EC2 Spot fleet.

  - aws_appautoscaling_policy
  - aws_appautoscaling_target

* Remove arn attribute from aws_appautoscaling_target

  - No arn is generated or returned for this resource.

* Remove optional name attribute from aws_appautoscaling_target

  - ScalableTargets do not have a name
  - I think this was copied from aws_appautoscaling_policy

* AWS Application Autoscaling resource documentation tweaks

  - include a target resource in the policy example
  - sort attributes by alpha
  - fixup markdown
  - add spaces to test config
2017-02-02 09:39:22 +00:00
Alexander e2603bedec provider/pagerduty: Fix tests (#11622)
* Fix typo in user_reference

* Disable rotation_virtual_start check
2017-02-01 23:51:17 +00:00
Dana Hoffman b16ef83b9a Merge pull request #11590 from evandbrown/google-cloud-sql-pw
providers/google: No default root user for SQL
2017-02-01 15:43:23 -08:00
Alexander 3884c86b44 provider/pagerduty: pagerduty_addon resource (#11620)
* Add resource

* Add tests

* Add documentation
2017-02-01 22:59:29 +00:00
Clint 8f063d6773 Merge pull request #11621 from hashicorp/b-aws-test-fixes
provider/aws: Some Lambda test fixes
2017-02-01 16:39:15 -06:00
clint shryock f87f0f5ba6 provider/aws: Fix permissions for IAM role in Lambda tests 2017-02-01 15:59:40 -06:00
Jake Champlin f135ce8b09 Merge pull request #11619 from hashicorp/b-fix-instance-root-block-device
provider/aws: Fix root-block-device bug
2017-02-01 16:31:23 -05:00
Jake Champlin 3d22adbd5d
provider/aws: Fix root-block-device bug
Previously the `root_block_device` config map was a `schema.TypeSet` with an empty `Set` function, and a hard-limit of 1 on the attribute block.
This prevented a user from making any real changes inside the attribute block, thus leaving the user with a `Apply complete!` message, and nothing changed.

The schema API has since been updated, and we can now specify the `root_block_device` as a `schema.TypeList` with `MaxItems` set to `1`. This fixes the issue, and allows the user to update the `aws_instance`'s `root_block_device` attribute, and see changes actually propagate.
2017-02-01 16:25:07 -05:00
Dana Hoffman cd246545af Merge pull request #11020 from drebes/remote_traffic_selector
provider/google: remote_traffic_selector for google_compute_vpn_tunnel
2017-02-01 13:04:06 -08:00
Alexander dd0f2f11ae provider/pagerduty: pagerduty_escalation_policy data source (#11616)
* Add data source

* Add tests

* Add documentation

* Remove unnecessary id from schema
2017-02-01 20:53:31 +00:00
Jake Champlin 91e0fed333
provider/aws: Add tag support to the dynamodb table resource
Adds tag support to the `aws_dynamodb_table` resource. Also adds a test for the resource, and a test to ensure that the tags are populated correctly from a resource import.

```
$ make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSDynamoDBTable_tags'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/02/01 15:35:00 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSDynamoDBTable_tags -timeout 120m
=== RUN   TestAccAWSDynamoDBTable_tags
--- PASS: TestAccAWSDynamoDBTable_tags (28.69s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/aws    28.713s
```

```
$ make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSDynamoDbTable_importTags'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/02/01 15:39:49 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSDynamoDbTable_importTags -timeout 120m
=== RUN   TestAccAWSDynamoDbTable_importTags
--- PASS: TestAccAWSDynamoDbTable_importTags (30.62s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/aws    30.645s
```
2017-02-01 15:44:30 -05:00
Alexander 2c59c9d44e provider/pagerduty: pagerduty_schedule data source (#11614)
* Add data source

* Add tests

* Add documentation

* Remove unnecessary id from schema
2017-02-01 20:01:46 +00:00
John Engelman f0dd9b23a3 Closes #11567. Handled Rancher deleted resources. (#11607)
* Fix some spec names.

* Closes #11567 .Handle deleted/purged resources from Rancher.
2017-02-01 19:49:17 +00:00
clint shryock b592f8d35d provider/aws: Fix lambda source mapping tests 2017-02-01 13:25:24 -06:00
Jake Champlin b51edd6175 Merge pull request #11612 from hashicorp/b-fix-beanstalk-env-acctests
provider/aws: Fixes aws beanstalk env acc tests
2017-02-01 13:22:32 -05:00
Paul Stack 851cc46548 provider/aws: Guard against panic in aws_vpc_endpoint_association (#11613)
I believe that if no VPC Endpoints were returned from the AWS API, we
were not guarding against a panic. We were strill trying to inspect the
RouteTableIds. This commit will ensure that no errors are thrown before
trying to use the RouteTableIds

```
% make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSVpcEndpointRouteTableAssociation_'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/02/01 18:06:29 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSVpcEndpointRouteTableAssociation_ -timeout 120m
=== RUN   TestAccAWSVpcEndpointRouteTableAssociation_basic
--- PASS: TestAccAWSVpcEndpointRouteTableAssociation_basic (42.83s)
PASS
ok  	github.com/hashicorp/terraform/builtin/providers/aws	42.859s
```
2017-02-01 18:14:41 +00:00
Jake Champlin f7db75da58
provider/aws: Fixes aws beanstalk env acc tests
Fixes the beanstalk env tests such that they can run in parallel better. Previously, only the beanstalk application was randomized, now the beanstalk environment is also randomized to help better facilitate running our tests in parallel.

```
=== RUN   TestAccAWSBeanstalkEnv_outputs
--- PASS: TestAccAWSBeanstalkEnv_outputs (388.74s)
=== RUN   TestAccAWSBeanstalkEnv_cname_prefix
--- PASS: TestAccAWSBeanstalkEnv_cname_prefix (386.78s)
=== RUN   TestAccAWSBeanstalkEnv_config
--- PASS: TestAccAWSBeanstalkEnv_config (532.56s)
=== RUN   TestAccAWSBeanstalkEnv_resource
--- PASS: TestAccAWSBeanstalkEnv_resource (420.47s)
=== RUN   TestAccAWSBeanstalkEnv_vpc
--- PASS: TestAccAWSBeanstalkEnv_vpc (516.02s)
=== RUN   TestAccAWSBeanstalkEnv_template_change
--- PASS: TestAccAWSBeanstalkEnv_template_change (623.38s)
=== RUN   TestAccAWSBeanstalkEnv_basic_settings_update
--- PASS: TestAccAWSBeanstalkEnv_basic_settings_update (705.32s)
```
2017-02-01 13:09:43 -05:00
James Bardin 9c1775a28c Merge pull request #11554 from hashicorp/jbardin/local-exec-context
Remove race around local-exec Wait
2017-02-01 12:39:41 -05:00
Peter McAtominey bbde0537d1 provider/azurerm: support import for load balancer and sub resources (#11610)
implemented ResourceImporter for sub resources which extracts the lb id
deprecated location on each sub resource as it was unused
2017-02-01 17:17:51 +00:00
James Bardin ff2936bb3f Fix cancellation when spawning a subprocess
If the shell spawns a subprocess which doesn't close the output file
descriptors, the exec.Cmd will block on Wait() (see
golang.org/issue/18874). Use an os.Pipe to provide the command with a
real file descriptor so the exec package doesn't need to do the copy
manually. This in turn may block our own reading goroutine, but we can
select on that and leave it for cleanup later.
2017-02-01 12:01:29 -05:00
Mike Fowler 23e01de515 provider/google-cloud: Add second generation disk specification options (#11571)
* Add second generation disk specification options.

* Adjust test check to match resource read behaviour.
2017-02-01 16:20:31 +00:00
Doug Neal babc52202c Succeed creating aws_volume_attachment if identical attachment exists (#11060)
If an `aws_volume_attachment` is identical to one that already exists in
the API, don't attempt to re-create it (which fails), simply act as
though the creation command had already been run and continue.

This allows Terraform to cleanly recover from a situation where a volume
attachment action hangs indefinitely, possibly due to a bad instance
state, requiring manual intervention such as an instance reboot. In such
a situation, Terraform believes the attachment has failed, when in fact
it succeeded after the timeout had expired. On the subsequent retry run,
attempting to re-create the attachment will fail outright, due to the
AttachVolume API call being non-idempotent. This patch implements the
idempotency client-side by matching the (name, vID, iID) tuple.

Note that volume attachments are not assigned an ID by the API.
2017-02-01 15:41:53 +00:00