Commit Graph

3433 Commits

Author SHA1 Message Date
James Bardin ee1d6d3d43 Fix vet errors in providers 2017-01-13 17:31:44 -05:00
Clint 2599137150 Merge pull request #11164 from johanneswuerbach/aws-route53-changeable-record-type
provider/aws: Make the type of a route53_record changeable
2017-01-13 13:51:35 -06:00
Paul Stack 8e4f19918a provider/aws: Add Support for aws_cloudwatch_metric_alarm extended (#11193)
statistic

Fixes: #11189

This introduces a new parameter and makes an existing parameter from
`required` to `optional` as both cannot be specified together

```
% make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSCloudWatchMetricAlarm_' 2 ↵ ✹ ✭
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/01/13 11:25:24 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSCloudWatchMetricAlarm_ -timeout 120m
=== RUN   TestAccAWSCloudWatchMetricAlarm_importBasic
--- PASS: TestAccAWSCloudWatchMetricAlarm_importBasic (19.80s)
=== RUN   TestAccAWSCloudWatchMetricAlarm_basic
--- PASS: TestAccAWSCloudWatchMetricAlarm_basic (20.42s)
=== RUN   TestAccAWSCloudWatchMetricAlarm_extendedStatistic
--- PASS: TestAccAWSCloudWatchMetricAlarm_extendedStatistic (18.92s)
PASS
```
2017-01-13 14:47:58 +00:00
Jake Champlin a2c0b85b2d Merge pull request #11162 from hashicorp/f-add-route53-record-import-10941
provider/aws: Add import to route53 record
2017-01-12 12:08:46 -05:00
Jake Champlin bb0b9048b0 Merge pull request #11178 from hashicorp/cloudwatch-log-tags
provider/aws: Add Support for Tags to aws_cloudwatch_log_group
2017-01-12 10:21:07 -05:00
Paul Stack 6b292c23dc Update resource_aws_cloudwatch_log_group.go 2017-01-12 17:14:29 +02:00
Paul Stack bcdabe7619 provider/aws: New DataSource: aws_elb_hosted_zone_id (#11027)
* provider/aws: New DataSource: aws_elb_hosted_zone_id

This datasource is a list of all of the ELB DualStack Hosted Zone IDs.
This will allow us to reference the correct hosted zone id when creating
route53 alias records

There are many bugs for this - this is just the beginning of fixing them

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

* Update elb_hosted_zone_id.html.markdown
2017-01-12 16:50:58 +02:00
stack72 188350458c
provider/aws: Add Support for Tags to aws_cloudwatch_log_group
``````
make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSCloudWatchLogGroup_'                               2 ↵ ✭
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/01/12 16:22:07 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSCloudWatchLogGroup_ -timeout 120m
=== RUN   TestAccAWSCloudWatchLogGroup_importBasic
--- PASS: TestAccAWSCloudWatchLogGroup_importBasic (44.20s)
=== RUN   TestAccAWSCloudWatchLogGroup_basic
--- PASS: TestAccAWSCloudWatchLogGroup_basic (38.08s)
=== RUN   TestAccAWSCloudWatchLogGroup_retentionPolicy
--- PASS: TestAccAWSCloudWatchLogGroup_retentionPolicy (55.85s)
=== RUN   TestAccAWSCloudWatchLogGroup_multiple
--- PASS: TestAccAWSCloudWatchLogGroup_multiple (20.68s)
=== RUN   TestAccAWSCloudWatchLogGroup_disappears
--- PASS: TestAccAWSCloudWatchLogGroup_disappears (21.48s)
=== RUN   TestAccAWSCloudWatchLogGroup_tagging
--- PASS: TestAccAWSCloudWatchLogGroup_tagging (39.09s)
ok
PASS	github.com/hashicorp/terraform/builtin/providers/aws	219.411s
```
2017-01-12 16:39:12 +02:00
Paul Stack 73e950989c provider/aws: Allow creating aws_codecommit repository outside of (#11177)
us-east-1

Fixes #11175

Because of a previous limitation that codecommit only ran in us-east-1,
we hard coded the session under which it should run. This has caused the
repository to be spun up in the wrong region regardless of what region
was passed to the provider

```
make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSCodeCommitRepository_'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/01/12 16:09:52 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSCodeCommitRepository_ -timeout 120m
=== RUN   TestAccAWSCodeCommitRepository_basic
--- PASS: TestAccAWSCodeCommitRepository_basic (23.28s)
=== RUN   TestAccAWSCodeCommitRepository_withChanges
--- PASS: TestAccAWSCodeCommitRepository_withChanges (33.71s)
=== RUN   TestAccAWSCodeCommitRepository_create_default_branch
--- PASS: TestAccAWSCodeCommitRepository_create_default_branch (22.70s)
=== RUN   TestAccAWSCodeCommitRepository_create_and_update_default_branch
--- PASS: TestAccAWSCodeCommitRepository_create_and_update_default_branch (32.72s)
PASS
ok  	github.com/hashicorp/terraform/builtin/providers/aws	112.437s
```
2017-01-12 16:27:04 +02:00
Johannes Würbach ef0196f754
provider/aws: Make the type of a route53_record changeable
Utilize the ChangeResourceRecordSets to change the type of a record by
deleting and recreating with a new type.

As change batches are considered transactional changes, Amazon Route 53
either makes all or none of the changes in the batch request ensuring the
update will never be partially applied.
2017-01-12 13:13:35 +01:00
Jake Champlin e579c1c90f
provider/aws: Add import to route53 record
Allows the user to run:

```
terraform import aws_route53_record.record_name <record_id>
```

Fixes: #10941
2017-01-11 17:38:02 -05:00
Jake Champlin 642e0107e1
Update error message to 'route_table_id' 2017-01-11 13:23:40 -05:00
Jake Champlin 439b94707e
Use 'route_table_id' instead of 'rtb_id' 2017-01-11 13:22:29 -05:00
Jake Champlin d794bdfc26
provider/aws: Add missing id argument for Route Table data source
Documentation for the `aws_route_table` data source mentions that it supports a route table `id` as an argument, however it was missing from the actual provider code.

Adds in the missing provider code, adds a test, and updates the documentation to use `rtb_id` as the argument, instead of the more ambiguous `id`.
2017-01-11 13:16:52 -05:00
Jake Champlin 7399401b64
provider/aws: Fix panic caused by main route table lookup
A VPC's main route table has an implicit subnet association, not an explicit subnet association. This caused a Terraform panic when using the `data_source_aws_route_table` resource to query the main route table for a VPC.

This fixes the Terraform panic, and allows the data lookup to complete successfully. Also added an acceptance test to verify the bugfix.

Fixes: #11134
2017-01-11 12:33:15 -05:00
Ninir fe60b4e90a Added aws-sdk-go SFN service (#11109) 2017-01-10 14:17:39 +00:00
Clint c0d0f711d9 provider/aws: Allow disabled access_log in ELB (#11120)
* provider/aws: Save disabled ELB accesslogs to state

Save any explicitly disabled access_log to state. Do not save disabled
access_logs if they are not in the configuration.

* test that fails on master
2017-01-09 23:10:58 +00:00
Jake Champlin 1955ac38bc
provider/aws: Route53 Record: Add Type validation
Adds validation for the `type` parameter of an `aws_route53_record` resource.

This will allow Terraform to catch any user errors of a `type` parameter during a `terraform plan` instead of during a `terraform apply`.

Fixes: #11114
2017-01-09 15:45:26 -05:00
Paul Stack 519d873263 provider/aws: New Resource aws_codedeploy_deployment_config (#11062)
* provider/aws: New Resource - aws_codedeploy_deployment_config

* provider/aws: Adding acceptance tests for new
aws_codedeploy_deployment_config resource

* provider/aws: Documentation for the aws_codedeploy_deployment_config resource

* Update codedeploy_deployment_config.html.markdown
2017-01-09 19:17:09 +00:00
Paul Stack 5ece0f2d04 provider/aws: aws_db_instance restored from snapshot had problem with (#11050)
subnet_group

Fixes #11024

A change was introduced in 0.8.2 that allows db_instances to change
their db_subnet_group. Unfortunately, this caused an issue for
db_instances that were being restored from snapshot. The restore from
snapshot part of create calls the Update func whereas a normal create
calls the Read func

When calling the Update func, the db_instance was trying to go through a
db_subnet_group_name change and was failing for the following reason:

```
InvalidVPCNetworkStateFault: You cannot move DB instance _rds_instance_name_ to subnet group _subnet_group_name_. The specified DB subnet group and DB instance are in the same VPC. Choose a DB subnet group in different VPC than the specified DB instance and try again.
```
2017-01-09 19:10:13 +00:00
Jake Champlin b9d4a54341
provider/aws: Add S3 Bucket name validation
Adds region specific S3 bucket name validation. Currently all regions except for us-east-1 force a dns-compliant naming convention. Thus we cannot utilize the standard `SchemaValidateFunc` interface to validate an S3 bucket name.
 This change creates a helper function outside of the schema validation interface so we can validate S3 bucket names for both naming conventions. At a later date, when the us-east-1 region is updated to conform to a dns-compliant naming scheme, we can refactor the `validateS3BucketName` function to fit the `SchemaValidateFunc` interface.
2017-01-09 11:22:47 -05:00
Paul Stack ba41375fd9 provider/aws: Add support for content_handling to (#11002)
aws_api_gateway_integration_response

This continues the work carried out in #10696

```
% make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSAPIGatewayIntegrationResponse_'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/01/03 14:18:46 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v
-run=TestAccAWSAPIGatewayIntegrationResponse_ -timeout 120m
=== RUN   TestAccAWSAPIGatewayIntegrationResponse_basic
--- PASS: TestAccAWSAPIGatewayIntegrationResponse_basic (57.33s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/aws57.352s
```
2017-01-09 14:46:21 +00:00
Kazuma Watanabe c560c72e58 provider/aws: Validate window time format (#11089)
* create window format validate function

* apply ValidateFunc for window time format
2017-01-09 13:12:07 +00:00
Paul Stack cf390e86b8 provider/aws: Fix up AWS Lambda* tests (#11104)
The tests are complaining of:

```
Errors: []string{"aws_lambda_function.test_lambda: \"runtime\": required field is not set"}
```
2017-01-09 09:56:37 +01:00
clint shryock e4b9e63e90 provider/aws: Update regex to pass test 2017-01-05 15:06:54 -06:00
clint shryock 520029032d provider/aws: fix iam login user test 2017-01-05 14:54:03 -06:00
clint shryock f4c5b9fada provider/aws: Update lambda_function with runtime for tests 2017-01-05 11:24:17 -06:00
Paul Stack 8542715151 provider/aws: Updating the aws_efs_mount_target dns_name (#11023)
Fixes:#10902

AWS introduced a change to the Mount Target DNS Name to remove the
availability_zone from it -
https://aws.amazon.com/about-aws/whats-new/2016/12/simplified-mounting-of-amazon-efs-file-systems/

This was because there used to be a limit of 1 mount target per AZ -
this has been raised.

```
% make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSEFSMountTarget_'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/01/04 10:45:35 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSEFSMountTarget_ -timeout 120m
=== RUN   TestAccAWSEFSMountTarget_importBasic
--- PASS: TestAccAWSEFSMountTarget_importBasic (236.19s)
=== RUN   TestAccAWSEFSMountTarget_basic
--- PASS: TestAccAWSEFSMountTarget_basic (445.52s)
=== RUN   TestAccAWSEFSMountTarget_disappears
--- PASS: TestAccAWSEFSMountTarget_disappears (228.31s)
PASS
ok  	github.com/hashicorp/terraform/builtin/providers/aws	910.044s
```
2017-01-04 23:12:45 +00:00
Clint 3b4866042b Merge pull request #10987 from zendesk/fix_10983
aws_key_pair: Ensure key_name attribute is set
2017-01-04 16:18:31 -06:00
Clint cfb597d42d Merge pull request #11043 from hashicorp/b-aws-test-fixes
provider/aws: Fix some failing AWS acc tests
2017-01-04 16:03:47 -06:00
clint shryock b656579211 provider/aws: Randomize lb and policy name in LB policy test 2017-01-04 16:02:02 -06:00
Christian Hildebrando Hercules 63eb0ba870 Increasing timeout for redshift cluster creation
This is in response to creating 25 node cluster, and taking longer than 40 min max.
2017-01-04 13:03:57 -08:00
clint shryock db1c1bec72 add missing runtime param to test 2017-01-04 14:58:47 -06:00
Clint 21e706cb82 Merge pull request #11030 from hashicorp/f-aws-ecs-placement
provider/aws: Add Placement Constraints to ECS Task Definition
2017-01-04 13:41:41 -06:00
Paul Stack 2331a64fd8 provider/aws: aws_kinesis_firehose_delivery_stream code cleanup (#11021)
We `removed` these items in 0.7 and they can be deleted from 0.8 IMO

//cc @catsby
2017-01-04 15:40:41 +00:00
clint shryock a73f947b8d provider/aws: Add Placement Constraints to ECS Task Definition
Adds support for applying placement constraints to
aws_ecs_task_definition resource
2017-01-04 09:10:18 -06:00
Daniel del Castillo cbcb313c08 aws_redshift_cluster: Fix typo security groups update (#11025) 2017-01-04 11:19:49 +00:00
Paul Stack 56c352a535 provider/aws: data_source_aws_iam_server_certificate latest should be (#11016)
bool not string

Fixes: #11010

Adds a test to show cover the use-case that the OP suggested caused the
panic

```
% make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSDataSourceIAMServerCertificate_'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/01/03 22:39:21 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSDataSourceIAMServerCertificate_ -timeout 120m
=== RUN   TestAccAWSDataSourceIAMServerCertificate_basic
--- PASS: TestAccAWSDataSourceIAMServerCertificate_basic (19.48s)
=== RUN   TestAccAWSDataSourceIAMServerCertificate_matchNamePrefix
--- PASS: TestAccAWSDataSourceIAMServerCertificate_matchNamePrefix (1.95s)
PASS
ok  	github.com/hashicorp/terraform/builtin/providers/aws	21.454s
```
2017-01-03 22:45:39 +00:00
Paul Stack 8ff44d0056 provider:aws: Add support for updating aws_emr_cluster parameters (#11008)
* provider:aws: Add support for updating aws_emr_cluster parameters

Fixes #10962

We now support the update of `visibile_to_add_users` and
`termination_protected` parameters

```
make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSEMRCluster_'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/01/03 18:45:20 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSEMRCluster_ -timeout 120m
=== RUN   TestAccAWSEMRCluster_basic
--- PASS: TestAccAWSEMRCluster_basic (551.98s)
=== RUN   TestAccAWSEMRCluster_terminationProtected
--- PASS: TestAccAWSEMRCluster_terminationProtected (545.52s)
=== RUN   TestAccAWSEMRCluster_visibleToAllUsers
--- PASS: TestAccAWSEMRCluster_visibleToAllUsers (552.09s)
=== RUN   TestAccAWSEMRCluster_tags
--- PASS: TestAccAWSEMRCluster_tags (598.91s)
PASS
ok	github.com/hashicorp/terraform/builtin/providers/aws	2248.537s
```

* Update resource_aws_emr_cluster_test.go
2017-01-03 22:15:44 +00:00
Paul Stack cb64fdeb28 provider/aws: Add support for updating tags in aws_emr_cluster (#11003)
Fixes: #10958

This wasn't implemented the first time around for some reason

```
% make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSEMRCluster_'                                       2 ↵ ✹ ✭
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/01/03 15:40:09 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSEMRCluster_ -timeout 120m
=== RUN   TestAccAWSEMRCluster_basic
--- PASS: TestAccAWSEMRCluster_basic (529.36s)
=== RUN   TestAccAWSEMRCluster_tags
--- PASS: TestAccAWSEMRCluster_tags (556.81s)
PASS
ok  	github.com/hashicorp/terraform/builtin/providers/aws	1086.197s
```
2017-01-03 18:30:40 +00:00
Tim Gossett c2c7f23bba
fix expectation messages that did not align with code 2017-01-02 23:00:12 -05:00
Paul Stack cb1acca2be provider/aws: Add snapshotting to the list of pending state for (#10965)
elasticache

Fixes #10964
2017-01-02 20:37:43 +00:00
Paul Stack d9088d8cc0 provider/aws: Bump SDK version to 1.6.9 (#10993)
There is 1 breaking change. The OpsWorks Update API no longer supports
`tenancy` as an update. So that has to be marked as ForceNew: true

```
% make testacc TEST=./builtin/providers/aws
% TESTARGS='-run=TestAccAWSOpsworksInstance'
% 2 ↵ ✹ ✭
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/01/02 17:11:29 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v
-run=TestAccAWSOpsworksInstance -timeout 120m
=== RUN   TestAccAWSOpsworksInstance
--- PASS: TestAccAWSOpsworksInstance (99.89s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/aws99.911s
```
2017-01-02 20:35:31 +00:00
Chris Trotman ae3144a876 provider/aws: Add `most_recent` to the ebs_snapshot data source (#10986) 2017-01-02 13:48:23 +00:00
Michael S. Fischer af9505ffa2 aws_key_pair: Ensure key_name attribute is set
Ensure that the `key_name` attribute is available to `aws_key_pair`
resource dependents, even when the attribute is not specifically
set (i.e., when `key_name_prefix` or automatic naming is performed).

Fixes #10983.
2017-01-01 12:17:43 -08:00
Kit Ewbank e8f4d002d9 provider/aws: Add 'aws_vpc_peering_connection' data source (#10913)
* Add 'aws_vpc_peering_connection' data source.

* Changes after code review.

* Add 'accepter' and 'requester' blocks to aws_vpc_peering_connection data source output attributes.
2016-12-30 00:30:51 +00:00
Ninir d126570712 provider/aws: Added a validation for security group rule types (#10864) 2016-12-30 00:26:01 +00:00
Paul Stack e336d4e00b provider/aws: Set aws_autoscaling_policy metric_aggregation_type to be (#10904)
Computed

Fixes: #10887

In the Terraform documentation, we say the following:

```
metric_aggregation_type - (Optional) The aggregation type for the policy's metrics. Valid values are "Minimum", "Maximum", and "Average". Without a value, AWS will treat the aggregation type as "Average".
```

Therefore, because the parameter wasn't set as computed, we got a diff as follows:

```
~ aws_autoscaling_policy.scale
    metric_aggregation_type: "Average" => ""
```

With the change in place, we get the correct behaviour

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

aws_launch_configuration.launch: Refreshing state... (ID: config)
aws_autoscaling_group.asg: Refreshing state... (ID: asg)
aws_autoscaling_policy.scale: Refreshing state... (ID: scale)

No changes. Infrastructure is up-to-date. This means that Terraform
could not detect any differences between your configuration and
the real physical resources that exist. As a result, Terraform
doesn't need to do anything.
```
2016-12-28 23:30:43 +00:00
myoung34 dd807c79ff Add support for instance tenancy in `aws_opsworks_instance` (#10885) 2016-12-28 22:48:24 +00:00
Clint b6a54bb14f provider/aws: Guard against nil change output (#10798) 2016-12-28 16:45:07 +00:00