Commit Graph

4006 Commits

Author SHA1 Message Date
Kannan Goundan e1455350b8 aws_route53_record: More consistent unquoting of TXT/SPF records. (#14170)
* aws_route53_record: More consistent unquoting of TXT/SPF records.

Before, 'flatten' would remove the first two quotes.  This results in
confusing behavior if the value contained two quoted strings.

Now, 'flatten' we only remove the surrounding qutoes, which is more
consistent with 'expand'.

Should improve hashicorp/terraform#8423, but more could still be done.

* aws/route53: Cover new bugfix with an acceptance test
2017-05-05 11:41:53 +02:00
Paul Stack 3bb4c56165 provider/aws: Prevent Crash when importing aws_route53_record (#14218)
Fixes: #14217

We now check to make sure that we have the correct number of parts when
we have split the resource ID. It isn't an elegant fix but it works as
expected. Also added some more documentation about what is required to
actually construct the Id needed for import
2017-05-04 21:51:10 +03:00
Paul Stack 046bb0e1c3 provider/aws: Support run_command_parameters in aws_cloudwatch_event_target (#14067)
```
% make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSCloudWatchEventTarget_'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/04/29 11:00:09 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSCloudWatchEventTarget_ -timeout 120m
=== RUN   TestAccAWSCloudWatchEventTarget_basic
--- PASS: TestAccAWSCloudWatchEventTarget_basic (58.75s)
=== RUN   TestAccAWSCloudWatchEventTarget_missingTargetId
--- PASS: TestAccAWSCloudWatchEventTarget_missingTargetId (36.11s)
=== RUN   TestAccAWSCloudWatchEventTarget_full
--- PASS: TestAccAWSCloudWatchEventTarget_full (90.30s)
=== RUN   TestAccAWSCloudWatchEventTarget_ssmDocument
--- PASS: TestAccAWSCloudWatchEventTarget_ssmDocument (38.64s)
PASS
ok  	github.com/hashicorp/terraform/builtin/providers/aws	223.833s
```
2017-05-04 20:46:11 +03:00
Paul Stack e18f8df845 provider/aws: Add support for aws_ssm_maintenance_window (#14087)
* provider/aws: Add support for aws_ssm_maintenance_window

Fixes: #14027

```
% make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSSSMMaintenanceWindow_basic'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/04/29 13:38:19 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSSSMMaintenanceWindow_basic -timeout 120m
=== RUN   TestAccAWSSSMMaintenanceWindow_basic
--- PASS: TestAccAWSSSMMaintenanceWindow_basic (51.69s)
PASS
ok  	github.com/hashicorp/terraform/builtin/providers/aws	51.711s
```

* provider/aws: Add documentation for aws_ssm_maintenance_window

* provider/aws: Add support for aws_ssm_maintenance_window_target

```
% make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSSSMMaintenanceWindowTarget'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/04/29 16:38:22 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSSSMMaintenanceWindowTarget -timeout 120m
=== RUN   TestAccAWSSSMMaintenanceWindowTarget_basic
--- PASS: TestAccAWSSSMMaintenanceWindowTarget_basic (34.68s)
PASS
ok  	github.com/hashicorp/terraform/builtin/providers/aws	34.701s
```

* provider/aws: Adding the documentation for aws_ssm_maintenance_window_target

* provider/aws: Add support for aws_ssm_maintenance_window_task

* provider/aws: Documentation for aws_ssm_maintenance_window_task
2017-05-04 20:36:28 +03:00
stack72 fff5fed0f0
provider/aws: Change aws_iam_role description to not pass empty string 2017-05-04 18:46:36 +03:00
Masayuki Morita 410fdad2cb provider/aws: Add support description to aws_iam_role
Fixes #14198
2017-05-04 23:11:20 +09:00
Matthew Frahry bcf1514422 Merge pull request #14090 from hashicorp/p-aws-config-config-source-detail
provider/aws Added default to event source
2017-05-03 18:36:02 -06:00
Paul Thrasher ccae9372e5 provider/aws: aws_db_option_group normalizes name to lowercase
This is a fix for PR #11040. The code here lowercases the name and/or prefix before sending it to the AWS API and the terraform state. This means the state will match the actual resource name and be able to converge the diff.
2017-05-03 16:50:40 -07:00
Paddy c043f1185c Merge pull request #14163 from hashicorp/paddy_14152_sfr_tenancy
provider/aws: support tenancy for spot fleets
2017-05-03 13:53:45 -07:00
Paddy 76795dc2fc Fix whitespace. 2017-05-03 13:28:37 -07:00
Paddy a345cc45d7 provider/aws: support tenancy for spot fleets
Add the `placement_tenancy` attribute to the `aws_spot_fleet_request`
resource so users can request instances use dedicated hardware.

Fixes #14152.
2017-05-02 15:52:54 -07:00
Jake Champlin 43a2220808 Merge pull request #14064 from dgolja/bugfix/sns_delivery_policy
provider/aws: Fixes the bug where SNS delivery policy get always recreated
2017-05-02 10:33:42 -04:00
Dejan Golja 1df7e3afad acceptance test for SNS delivery policy 2017-05-03 00:11:58 +10:00
Kannan Goundan adb789f0f8 aws_route53_record: Only unquote the record types that we quote. (#11257)
Also clean up the code a little.
2017-05-02 10:31:51 +01:00
Clint a8e4a9bf07 provider/aws: Update `aws_emr_cluster` to support Security Configuration (#14133)
* added emr security configurations

* gofmt after rebase

* provider/aws: Update EMR Cluster to support Security Configuration

* update test to create key

* update docs
2017-05-01 17:02:59 -05:00
Jake Champlin 3a01d5f5e1 Merge pull request #14104 from rlweb/feature/aws_dynamodb_table-add-timetolive
provider/aws: aws_dynamodb_table Add support for TimeToLive
2017-05-01 15:37:34 -04:00
Rhys Laval 64b5ff54eb Fix vet issue 2017-05-01 19:56:21 +01:00
Rhys Laval 8230a5ded8 provider/aws: aws_dynamodb_table Add support for TimeToLive. Fix errcheck 2017-04-30 23:34:19 +01:00
Rhys Laval 27d3d2a871 provider/aws: aws_dynamodb_table Add support for TimeToLive 2017-04-30 23:20:38 +01:00
Gareth Oakley e4c732b34c Add support for IAMDatabaseAuthenticationEnabled 2017-04-29 20:32:21 +01:00
= 46cb9d30f3 Added default to event source 2017-04-29 10:03:26 -06:00
stack72 be002d9345
provider/aws: Add documentation for the EFS File System DataSource 2017-04-29 11:38:10 +12:00
stack72 6f4f13e462
Merge branch 'provider/aws/data_source_aws_efs_file_system' of https://github.com/craigknott/terraform into craigknott-provider/aws/data_source_aws_efs_file_system 2017-04-29 11:09:44 +12:00
Clint 7c59f7e282 provider/aws: Add EMR Security Configuration Resource (#14080)
* provider/aws: Add EMR Security Configuration

* provider/aws: Document EMR security configuration

* small refactoring and add an import test
2017-04-28 16:28:49 -05:00
Jake Champlin d3c1f4b48d
provider/aws: Fix source_dest_check with network_interface
The default value for `source_dest_check` needs to remain the same, so as not to break any backwards compatibility, however, adding a new `network_interface` parameter with a pre-configured network_interface that has `source_dest_check` set to false throws a diff after initial apply. Since we don't want to change `source_dest_check` to computed in order to not break sane defaults, ignore the diff thrown if `network_interface` attributes are configured on an instance.

```
$ make testacc TEST=./builtin/providers/aws TESTARGS="-run=TestAccAWSInstance_primaryNetworkInterfaceSourceDestCheck"
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/04/28 16:26:02 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSInstance_primaryNetworkInterfaceSourceDestCheck -timeout 120m
=== RUN   TestAccAWSInstance_primaryNetworkInterfaceSourceDestCheck
--- PASS: TestAccAWSInstance_primaryNetworkInterfaceSourceDestCheck (134.20s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/aws    134.211s
```

```
$ 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/04/28 16:15:14 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 (179.81s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/aws   179.815s
```

Fixes: #14068
2017-04-28 16:35:54 -04:00
Dejan Golja 7c4a242661 Fixes the bug where sns delivery policy get always recreated (see https://github.com/hashicorp/terraform/issues/14024) 2017-04-28 13:18:12 +10:00
Paul Stack 93e5d573ce provider/aws: Exclude aws_instance volume tagging for China and Gov Clouds (#14055)
Fixes: #14049

The China and Gov regions do not support the new way of tagging
instances and volumes on creation. Therefore, we need to hack this to
make sure we don't try and set these on instance creation
2017-04-28 12:09:18 +12:00
Paul Stack 0317a244eb provider/aws: aws_spot_instance_request not forcenew on volume_tags (#14046)
The introduction of volume_tags was causing a ForceNew on
spot_instance_requests

This has now been treated the same way as tags

```
% 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/04/28 05:17:42 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 (213.75s)
=== RUN   TestAccAWSSpotInstanceRequest_withBlockDuration
--- PASS: TestAccAWSSpotInstanceRequest_withBlockDuration (212.14s)
=== RUN   TestAccAWSSpotInstanceRequest_vpc
--- PASS: TestAccAWSSpotInstanceRequest_vpc (130.44s)
=== RUN   TestAccAWSSpotInstanceRequest_SubnetAndSG
--- PASS: TestAccAWSSpotInstanceRequest_SubnetAndSG (234.43s)
PASS
ok  	github.com/hashicorp/terraform/builtin/providers/aws	790.791s
```
2017-04-28 05:50:51 +12:00
Craig Knott 7781baa24b Change fmt error to errwrap wrapf 2017-04-27 11:39:10 -05:00
Craig Knott aa2e02ab14 Added data source for aws_efs_file_system, heavily based off of resource_aws_efs_file_systems read method. 2017-04-27 10:52:36 -05:00
Brian Antonelli 2dd7e72674 Fix for getting partition for federated users (#13992)
Federated users calling `iam:GetUser` will get the error code `InvalidClientTokenId` so this shouldn't bail out but instead continue on to try `sts:GetCallerIdentity`.
2017-04-27 10:24:53 -05:00
Radek Simko 086af4bd62 provider/aws: Retry setting KMS key rotation on DisabledException (#14029) 2017-04-27 12:42:36 +01:00
Paul Stack c953a2fc41 provider/aws: Set aws_instance volume_tags to be Computed (#14007)
Fixes: #14003

When an EBS volume was created and tags were specified on that resource
and NOT the aws_instance it was attached to, the tags would be removed
on subsequent Terraform runs.

We need to set volume_tags to be Computed to allow for changes to EBS
volumes not created as part of the instance but that are attached to the
instance

```
% make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSInstance_volumeTagsComputed'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/04/27 07:33:36 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSInstance_volumeTagsComputed -timeout 120m
=== RUN   TestAccAWSInstance_volumeTagsComputed
--- PASS: TestAccAWSInstance_volumeTagsComputed (151.37s)
PASS
ok  	github.com/hashicorp/terraform/builtin/providers/aws	151.411s
```
2017-04-27 07:50:06 +12:00
Paul Stack f9ba882f73 provider/aws: Update aws_ebs_volume when attached (#14005)
Fixes: #12496

When an EBS volume was attached to an instance and the user tried to
resize, they would get an error as follows:

```
* aws_ebs_volume.ebs_data_volume: Error waiting for Volume (vol-027e83f7) to become available: unexpected state 'in-use', wanted target 'available'. last error: %!s(<nil>)
```

`available` is a state *only* when creating an EBS volume that is not attached. When an instance is attached, it will go into the state `in-use`. Therefore `in-use` is a valid state when modifying an EBS volume that is attached:

```
% make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSEBSVolume_'                                   ✹ ✭
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/04/27 07:08:18 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSEBSVolume_ -timeout 120m
=== RUN   TestAccAWSEBSVolume_importBasic
--- PASS: TestAccAWSEBSVolume_importBasic (41.10s)
=== RUN   TestAccAWSEBSVolume_basic
--- PASS: TestAccAWSEBSVolume_basic (38.22s)
=== RUN   TestAccAWSEBSVolume_updateAttachedEbsVolume
--- PASS: TestAccAWSEBSVolume_updateAttachedEbsVolume (199.11s)
=== RUN   TestAccAWSEBSVolume_updateSize
--- PASS: TestAccAWSEBSVolume_updateSize (70.53s)
=== RUN   TestAccAWSEBSVolume_updateType
--- PASS: TestAccAWSEBSVolume_updateType (69.75s)
=== RUN   TestAccAWSEBSVolume_updateIops
--- PASS: TestAccAWSEBSVolume_updateIops (70.38s)
=== RUN   TestAccAWSEBSVolume_kmsKey
--- PASS: TestAccAWSEBSVolume_kmsKey (76.64s)
=== RUN   TestAccAWSEBSVolume_NoIops
--- PASS: TestAccAWSEBSVolume_NoIops (39.80s)
=== RUN   TestAccAWSEBSVolume_withTags
--- PASS: TestAccAWSEBSVolume_withTags (38.04s)
PASS
ok  	github.com/hashicorp/terraform/builtin/providers/aws	643.609s
```
2017-04-27 07:30:23 +12:00
Paul Stack 39d7400813 provider/aws: Change running of CloudTrail tests to not be parallel (#13982)
We can only ever have 5 cloudtrails in an AWS account so we want to make
sure we run these tests serially to make sure we don't exhaust limits
and get non-deterministic failures
2017-04-27 02:41:47 +12:00
Paul Stack 011cab5917 provider/aws: Add support for CustomOrigin timeouts to aws_cloudfront_distribution (#13367)
```

```
2017-04-27 02:13:59 +12:00
Jake Champlin 64134418a5 Merge pull request #12933 from hashicorp/f-network-interfaces
provider/aws: Add network_interface to aws_instance
2017-04-26 08:05:21 -04:00
Joshua Spence 76b0eefacc Fix validation of the `name_prefix` parameter of the `aws_alb` resource (#13441)
This parameter is being validated using the wrong validation function, which means that we are incorrectly disallowing a `name_prefix` value ending with a dash.
2017-04-26 11:48:02 +12:00
Paul Stack f4015b43c5 provider/aws: Support aws_instance and volume tagging on creation (#13945)
Fixes: #13173

We now tag at instance creation and introduced `volume_tags` that can be
set so that all devices created on instance creation will receive those
tags

```
% make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSInstance_volumeTags'                      2 ↵ ✚ ✭
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/04/26 06:30:48 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSInstance_volumeTags -timeout 120m
=== RUN   TestAccAWSInstance_volumeTags
--- PASS: TestAccAWSInstance_volumeTags (214.31s)
PASS
ok  	github.com/hashicorp/terraform/builtin/providers/aws	214.332s
```
2017-04-26 10:12:38 +12:00
Joshua Spence d721ff6d66 provider/aws: Sort AMI and snapshot IDs (#13866)
As a follow up to #13844, this pull request sorts the AMIs and snapshots returned from the aws_ami_ids and aws_ebs_snapshot_ids data sources, respectively.
2017-04-25 15:11:21 -07:00
Jake Champlin 4ad3cc3647 Merge pull request #13937 from tomelliff/filter-subnet-ids
provider/aws: Allow filtering of aws_subnet_ids by tags
2017-04-25 17:35:25 -04:00
Radek Simko eb374b795b provider/aws: Add test for SNS subscription w/ autoconfirming endpoint (#13912) 2017-04-25 21:25:36 +01:00
Matthew Frahry 9c42866887 Merge pull request #13942 from hashicorp/p-aws-glacier-vault-test
Randomizes glacier vault name
2017-04-25 13:44:52 -06:00
= 7130755d8b Randomizes basic test name 2017-04-25 11:44:42 -06:00
= 1e0f4d5e5e Randomizes glaciar vault name 2017-04-25 11:30:42 -06:00
Matthew Frahry f0272f5b14 Merge pull request #13918 from hashicorp/p-aws-ecs-service-test
Randomize mongodb names
2017-04-25 08:40:48 -06:00
Jake Champlin af3ba9a02c
cleanup conditional logic 2017-04-25 10:06:28 -04:00
Tom Elliff bc46b1cbf9 Allow filtering of aws_subnet_ids by tags
This is the minimal amount of work needed to be able to create a list of a subset of subnet IDs in a VPC, allowing people to loop through them easily when creating EC2 instances or provide a list straight to an ELB.
2017-04-25 14:46:51 +01:00
Jake Champlin 10ddf607e3
provider/aws: Add `network_interface` to instance 2017-04-24 18:06:28 -04:00
= 15aabe93c3 Randomize mongodb names 2017-04-24 15:23:52 -06:00