Commit Graph

2624 Commits

Author SHA1 Message Date
Chris Marchesi 6ebac8403d provider/aws: CloudFront post-merge review updates (#6196)
* provider/aws: Fix hashing on CloudFront certificate parameters

Adding necessary type assertion to values on the viewer_certificate hash
function to ensure that certain fields are indeed not zero string
values, versus simply zero interface{} values (aka nil, as is such for a
map[string]interface{}).

* provider/aws: CloudFront complex structure error handling

Handle errors better on calls to d.Set() in the
aws_cloudfront_distribution, namely in flattenDistributionConfig(). Also
caught a bug in the setting of the origin attribute, was incorrectly
attempting to set origins.

* provider/aws: Pass pointers to set CloudFront primitives

Change a few d.Set() for primitives in aws_cloudfront_distribution and
aws_cloudfront_origin_access_identity to use the pointer versus a
dereference.

* docs: Fix CloudFront examples formatting

Ran each example thru terraform fmt to fix indentation.

* provider/aws: Remove delete retention on CloudFront tests

To play better with Travis and not bloat the test account with disabled
distributions.

Disable-only functionality has been retained - one can enable it with
the TF_TEST_CLOUDFRONT_RETAIN environment variable.

* provider/aws: CloudFront delete waiter error handling

The call to resourceAwsCloudFrontDistributionWaitUntilDeployed() on
deletion of CloudFront distributions was not trapping error messages,
causing issues with waiter failure.
2016-04-19 16:40:30 -05:00
Paul Stack 8335555636 Gofmt issues (#6246) 2016-04-19 20:41:26 +01:00
David Harris b78f4c1114 provider/aws: Added migration for `tier` attribute in aws_elastic_beanstalk_environment resource. (#6167)
Fixes #6164.
2016-04-19 20:32:49 +01:00
Justin Clark 8249cb10eb Resolves DefaultOS and ConfigurationManager conflict (#6244) 2016-04-19 19:59:03 +01:00
clint shryock 6a9400d10e provider/aws: Allow 'available' state when deleting RDS Clusters 2016-04-19 13:15:45 -05:00
Clint fcdcb4b916 provider/aws: Default Network ACL resource (#6165)
* provider/aws: Default Network ACL resource

Provides a resource to manage the default AWS Network ACL. VPC Only.

* Remove subnet_id update, mark as computed value. Remove extra tag update

* refactor default rule number to be a constant

* refactor revokeRulesForType to be revokeAllNetworkACLEntries

Refactor method to delete all network ACL entries, regardless of type. The
previous implementation was under the assumption that we may only eliminate some
rule types and possibly not others, so the split was necessary.

We're now removing them all, so the logic isn't necessary

Several doc and test cleanups are here as well

* smite subnet_id, improve docs
2016-04-18 11:02:00 -05:00
clint shryock a810edd7a6 provider/aws: Randomize DB Identifier in test
Getting name collisions every now and again
2016-04-18 10:00:59 -05:00
Martin Atkins e41616198f Don't read back opsworks stack cookbooks source password (#6203)
As with several other sensitive values in Opsworks, the API returns a
placeholder value rather than a nil. To avoid writing the placeholder
value into the state we just skip updating the password on read, letting
whatever value was in the state persist.

This means that Terraform can't detect configuration drift where someone
has changed the password via some other means, but Terraform will still
be able to recognize changes to the password made within Terraform itself
due to the "last-written" value in the state.

This fixes #6192.
2016-04-16 22:56:36 +01:00
Martin Atkins 94f338d5de Merge #4276: aws_opsworks_instance resource 2016-04-16 10:14:22 -07:00
Martin Atkins 64db0454b4 Merge #6049: In Opsworks Stacks, wait for IAM changes to settle 2016-04-16 09:54:20 -07:00
Martin Atkins 2d597f09a8 Fix aws_opsworks_application acctest by passing in stack name
Other separate changes to testAccOpsworksStackConfigNoVpcCreate caused
this to begin failing because it was attempting to create a stack with
an empty name.
2016-04-16 09:44:04 -07:00
Martin Atkins bb7b8d6550 Merge #4419: aws_opsworks_application resource 2016-04-16 09:28:12 -07:00
Martin Atkins 41c535dc68 Unconditionally set opsworks layer custom_json
Previously in Update we would only set req.CustomJson if a non-empty
value was provided in the config. It seems that the Opsworks API considers
a null CustomJson to mean "do not change" rather than "set to empty",
so we need to explicitly set the empty string in the request body in
order to successfully remove an already-configured custom JSON.
2016-04-16 09:18:47 -07:00
Martin Atkins 72f121aec1 Merge #4272: custom JSON for Opsworks layers 2016-04-16 08:48:36 -07:00
Clint 05decba135 provider/aws: Better randomize the CloudTrail tests (#6188) 2016-04-15 10:06:40 -05:00
Chris Marchesi a38ccbe074 CloudFront distribution and origin access identity support (#5221)
* CloudFront implementation v3

* Update tests

* Refactor - new resource: aws_cloudfront_distribution

 * Includes a complete re-write of the old aws_cloudfront_web_distribution
   resource to bring it to feature parity with API and CloudFormation.
 * Also includes the aws_cloudfront_origin_access_identity resource to generate
   origin access identities for use with S3.
2016-04-14 14:55:11 -05:00
Raymond Fallon eed8733ee3 provider/aws: Enhance Triggers for AWS CodeDeploy Event Notifications (#6168)
* Improve testing of CodeDeploy DeploymentGroup Trigger Configs

  - ensure updates to trigger_events are applied
  - assert changes to trigger_target_arn

* Retry CodeDeploy DeploymentGroup when Trigger Config SNS Topic is not available

  - increase retries from 2 => 5
2016-04-14 20:26:33 +01:00
clint shryock 2830558bc9 check resource data for base64 encoded string 2016-04-13 10:44:26 -05:00
Doug Neal 1c662c2bc4 [#4794] Don't Base64-encode EC2 userdata if it is already Base64 encoded (#6140)
* Don't Base64-encode EC2 userdata if it is already Base64 encoded

The user data may be Base64 encoded already - for example, if it has been
generated by a template_cloudinit_config resource.

* Add encoded user_data to aws_instance acceptance test
2016-04-13 10:20:20 -05:00
Carlos Sanchez 32bd25d743 Issue #2174 Check that InternetGateway exists before returning from creation (#6105)
* Issue #2174 Check that InternetGateway exists before returning from creation

Fix some random InvalidInternetGatewayID.NotFound errors

* Issue #2174 Reuse IGStateRefreshFunc

* Issue #2174 Need to wait for creation before setting tags
2016-04-13 09:28:17 -05:00
Radek Simko f6a21e7899 provider/aws: Read VPC ID for Lambda function back from API 2016-04-13 15:05:19 +01:00
Radek Simko 3f188d5d1b provider/aws: Improve test for VPC-based Lambda func 2016-04-13 15:05:19 +01:00
Raymond Fallon 0cd0a4ec9c provider/aws: Manage Triggers for AWS CodeDeploy Event Notifications (#5599)
* provider/aws: CodeDeploy Deployment Group Triggers

  - Create a Trigger to Send Notifications for AWS CodeDeploy Events
  - Update aws_codedeploy_deployment_group docs

* Refactor validateTriggerEvent function and test

  - also rename TestAccAWSCodeDeployDeploymentGroup_triggerConfiguration test

* Enhance existing Deployment Group integration tests

  - by using built in resource attribute helpers
  - these can get quite verbose and repetitive, so passing the resource to a function might be better
  - can't use these (yet) to assert trigger configuration state

* Unit tests for conversions between aws TriggerConfig and terraform resource schema

  - buildTriggerConfigs
  - triggerConfigsToMap
2016-04-11 19:42:21 +01:00
Clint 2ea8c64079 provider/aws: More randomization to our Acc tests (#6124)
* provider/aws: Add more Randomization to DB Parameter Group Tests, to avoid collisions

* provider/aws: Add more randomization to Autoscaling group tests
2016-04-11 12:06:28 -05:00
protomouse 0d82b4d0bf hclfmt test resources 2016-04-11 10:45:19 +02:00
protomouse ec55a34430 _disappears test 2016-04-11 10:44:46 +02:00
protomouse e9ce2b3a20 remove partial mode handling 2016-04-11 10:44:28 +02:00
protomouse b45e941144 add resource aws_rds_cluster_parameter_group 2016-04-11 10:26:47 +02:00
Hector Rivas Gandara 0fdf91661d provider/aws: normalize json policy for sns topic policy attribute (#6089)
* provider/aws: test empty plan with sns_topic policy with random order

If we setup a sns_topic policy with a policy with a different order
to the one set by the AWS API, terraform plan will be not empty between
runs.

* provider/aws: normalize json policy for sns topic

For the policy attribute of the resource aws_sns_topic,  AWS returns the policy
in JSON format with the fields in a different order.
If we store and compare the values without normalizing, terraform
will unnecesary trigger and update of the resource.

To avoid that, we must add a normalization function in the StateFunc of
the policy attribute and also when we read the attribute from AWS.
2016-04-08 13:55:49 -05:00
Jan Nabbefeld 6bf9f21c39 Opsworks Application support 2016-04-07 14:18:50 -07:00
Paul Hinze 8380a7b03e provider/aws: Allow multiple EIPs to associate to single ENI
When calling AssociateAddress, the PrivateIpAddress parameter must be
used to select which private IP the EIP should associate with, otherwise
the EIP always associates with the _first_ private IP.

Without this parameter, multiple EIPs couldn't be assigned to a single
ENI. Includes covering test and docs update.

Fixes #2997
2016-04-07 13:26:15 -05:00
Jeff Tang be0ebbc22e Handle race condition with IAM role permissions 2016-04-06 16:04:25 -04:00
David Harris e698822be5 provider/aws: Renaming `option_settings` attribute to `setting`. Added test to verify that settings are applied to template.
Fixes #6035
2016-04-06 11:35:07 -05:00
Martin Atkins f739ef9849 Human-readable error for failure to read EC2 volume
Previously the format string was using %#v, which prints the whole data structure given.

Instead we want to use %s to get the string representation of the error.

This fixes #6038.
2016-04-06 09:34:10 -07:00
Hector Rivas Gandara eb4fef1ca1 aws provider: normalize json of cloudwatch event_pattern
Normalise the event_pattern of the aws_cloudwatch_event_rule resource

before uploading it to AWS.



AWS seems to accept a event_pattern with a JSON with new lines, but then

the rule does not seem to work. Creating the rule in the AWS console works,

but will setup the pattern  as a json without newlines or spaces, and

display a formatted JSON.
2016-04-05 15:56:45 -05:00
Clint 6f4dc98354 provider/aws: Remove CloudTrail Trail from state if not found 2016-04-05 14:04:00 -05:00
Jeff Tang b857bd1ce9 add TestCheckExists/TestCheckAttributes for opsworks instance 2016-04-05 13:44:48 -04:00
Clint 053ba9005d provider/aws: Remove Network ACL from state if not found 2016-04-05 11:11:16 -05:00
Clint be385b83f8 provider/aws: Fix issue with retrying deletion of Network ACLs
Fix retry after removing associations by correctly checking and returning an

error. This should patch the VPC/Resource leak in our nightly acceptance tests.
2016-04-05 10:18:03 -05:00
Jeff Tang 41a8220e0f add custom_json for opsworks layers 2016-04-05 08:57:19 -04:00
KOJIMA Kazunori d646682d7a provider/aws: Support S3 bucket notification
* Implement aws_s3_bucket_notification resource
2016-04-04 21:23:06 -05:00
Clint b351a72e4c provider/aws: Normalize and compact SQS Redrive, Policy JSON
* provider/aws: Nomralize SQS Redrive Policy JSON

* provider/aws: Fix typo in log statements

* compact the Policy on SNS Queue

* add acceptance test for policy formatting
2016-04-04 11:41:36 -05:00
David Harris c3a6cf0620 provider/aws: Adding outputs for elastic_beanstalk_environment resource.
refs #5798
2016-04-01 13:58:09 -06:00
David Harris bb1d4ee886 provider/aws: Add support for `cname_prefix` to `aws_elastic_beanstalk_environment`. 2016-04-01 09:53:10 -06:00
Paul Stack c10c1b9a11 Merge pull request #5967 from dharrisio/f-aws-elastic-beanstalk-timeout-config
Adds `wait_for_ready_timeout` option to `aws_elastic_beanstalk_environment`.
2016-03-31 23:06:29 -05:00
David Harris a8c7fb0a06 Adds `wait_for_ready_timeout` option to `aws_elastic_beanstalk_environment`. 2016-03-31 17:28:02 -06:00
clint shryock 5ac3c5e53d update aws db test config 2016-03-31 17:07:04 -05:00
Clint 2ddddf340d Merge pull request #5964 from hashicorp/b-aws-rds-test-updates
provider/aws: Improve the randomization in RDS tests
2016-03-31 16:56:55 -05:00
clint shryock cbad80182a randomize DB Parameter Group names 2016-03-31 16:32:05 -05:00
clint shryock cd5569a624 provider/aws: Improve the randomization in RDS tests 2016-03-31 16:25:38 -05:00
clint shryock 2575b9f5d4 provider/aws: Fix issue re-creating deleted VPC peering connections 2016-03-31 15:23:56 -05:00
Paul Stack 0615819a98 Merge pull request #5940 from stack72/f-aws-redshift-username
provider/aws: Change Redshift Cluster Test to check for `_` in username
2016-03-30 21:08:48 -05:00
Paul Stack a8e0528784 Merge pull request #4277 from ctiwald/ct/add-new-asg-policy-type
Add support for "StepScaling" autoscaling policies.
2016-03-30 21:06:39 -05:00
stack72 3a836fa617 provider/aws: Change Redshift Cluster Test to check for `_` in username 2016-03-30 20:55:37 -05:00
Paul Stack 9d49c545af Merge pull request #5935 from ethangunderson/master
Redshift master usernames may contain underscores
2016-03-30 20:54:35 -05:00
stack72 03baf3e5a5 provider/aws: Allow `aws_redshift_security_group` ingress rules to
change
2016-03-30 20:13:28 -05:00
James Nugent 980f165bf7 Merge pull request #5910 from grayaii/master
Elasticsearch times out. It takes a while to create.
2016-03-30 17:22:06 -07:00
Paul Stack 3dbedc6407 Merge pull request #5787 from iceycake/ISSUE-5702
ISSUE-5702: Making the Cloudwatch Event Rule Target target_id optional
2016-03-30 19:17:32 -05:00
Paul Stack 8ed809456d Merge pull request #5830 from hashicorp/phinze/asg-health-check-grace-period-default
provider/aws: set ASG health_check_grace_period default to 300
2016-03-30 19:05:06 -05:00
stack72 197c6fa143 provider/aws: Test to validate that db subnet group description
can be updated
2016-03-30 18:53:52 -05:00
Paul Stack 1801904e36 Merge pull request #5921 from ColinHebert/rds_subnet_group_description
provider/aws: DB subnet group description modification
2016-03-30 18:50:33 -05:00
Colin Hebert 1389bb2f5e Do not check only whether the subnet_ids have changed 2016-03-31 10:37:26 +11:00
Ethan Gunderson 1c5c58d072 Redshift master usernames may contain underscores 2016-03-30 17:41:58 -05:00
Colin Hebert 3ae21f0891 Add the description as a part of the update request 2016-03-31 09:36:42 +11:00
Paul Stack 53434ae09c Merge pull request #5904 from keymon/bugfix/5661_fix_codecommit_default_branch
AWS: codecommit set default_branch only if defined
2016-03-30 11:18:22 -05:00
Hector Rivas Gandara 29c9b8497d provider/aws: Add tests for default_branch in new codecommit repos
The provider should, when working on a new repository without branches:
 * Able to create a new repository even with default_branch defined.
 * Able to create a new repository without default_branch, and do not fail
   if default_branch is defined.
2016-03-30 16:41:20 +01:00
Hector Rivas Gandara 0c49b17f72 provider/aws: codecommit check default_branch before update
In AWS codecommit the default branch must have a value unless there are
no branches created, in which case it is not possible to set it to any value.

We query the existing branches and do not update the default branch
if there are none defined remotely.

This solves the issue of the initial creation of the repository with a
resource with `default_branch` defined.
2016-03-30 16:40:41 +01:00
Hector Rivas Gandara 1afd3a53b2 provider/aws: codecommit set default_branch only if defined
Do not try to update or reaad the AWS codecommit repository default branch if
the resource definition is not set it or is an empty string.

Fixes #5641
2016-03-30 16:40:37 +01:00
Colin Hebert d7a7db9c5a provider/aws: Subnet group description modification
Do not force a new resource when changing the description of a subnet group
2016-03-30 09:33:44 +11:00
Alex Gray 50c050bb92 Elasticsearch times out. It takes a while to create. lets increase the timeout. 2016-03-29 15:58:40 -04:00
Paul Hinze faba2b7d31 Merge pull request #5867 from hashicorp/phinze/fix-route-crash
provider/aws: fix potential aws_route crashes
2016-03-29 13:20:36 -05:00
Paul Hinze 70096c5ac0 provider/aws: fix potential aws_route crashes
Fixes #5865
2016-03-29 09:57:29 -05:00
Clint 163173df7a Merge pull request #5881 from hashicorp/b-aws-sg-r-protocols
provider/aws: Convert protocols to standard format for Security Groups
2016-03-28 13:23:52 -05:00
clint shryock 1a2846072c update tests to cover icmp 2016-03-28 13:08:53 -05:00
clint shryock e98d7d706f provider/aws: Convert protocols to standard format for Security Groups
Convert network protocols to their names for keys/state, fixing issue(s) when
using them interchangeably.
2016-03-28 10:32:39 -05:00
Radek Simko a2c59f071f Merge pull request #5838 from hashicorp/b-aws-lambda-guard
provider/aws: Guard against empty responses from Lambda Permissions
2016-03-25 20:35:57 +00:00
Paul Hinze 6c2b511152 provider/aws: Fix launch_config waiting for IAM instance profile
AWS changed their error message, which was being used for detection of
the specific error that indicates we need to wait for IAM propagation.

Behavior is covered by a test now.

Fixes #5862
2016-03-25 13:10:10 -05:00
clint shryock 01f868d3e6 provider/aws: Guard against empty responses from Lambda Permissions 2016-03-24 16:30:21 -05:00
Christopher Tiwald 2cf6afa6c1 aws_autoscaling_policy: Add tests for StepScaling policies. 2016-03-24 16:35:54 -04:00
Christopher Tiwald 305a450239 aws_autoscaling_policy: Add support for StepScaling policies.
Unlike SimpleScaling policies, StepScaling policies require one or more
"steps", which are interval ranges in which a tracked metric can lie.
Policies can then execute scaling adjustments wedded to these steps.

This commit also adds a slew of additional policy attributes which are
only applicable to step policies.
2016-03-24 16:35:54 -04:00
Jeff Tang 88de250615 style updates to documentation and nil checks 2016-03-24 08:08:01 -04:00
Paul Hinze 6f76fb0702 provider/aws: set ASG health_check_grace_period default to 300
Closes #5658
2016-03-23 18:55:37 -05:00
Andy Chan 4115249ce3 ISSUE-5702: Fixed the testing 2016-03-23 11:15:06 -07:00
Andy Chan 76adbefb95 ISSUE-5702: 2nd attempt to impl the target_id be optional 2016-03-23 10:42:53 -07:00
Andy Chan 0eee165a2b ISSUE-5702: Fixed a bug on target_id generation and related test case 2016-03-23 10:25:13 -07:00
Andy Chan 92590d1ac8 Fixed the test case to check if the targetId is created 2016-03-23 10:25:13 -07:00
Andy Chan 7dc5a272be ISSUE-5702: Making the CloudWatch Event Rule Target ID optional 2016-03-23 10:25:13 -07:00
Clint ccb9693994 Merge pull request #5676 from Originate/mb-ensure-iops-is-provided
provider/aws: Provide iops when changing storage type to io1 on RDS
2016-03-23 08:31:21 -05:00
Paul Hinze e5e6b571a5 provider/aws: Fix aws_route panic when destination CIDR block is nil
Fixes #5754
2016-03-22 10:35:22 -05:00
Edmund Craske edbc4fad13 Fail if failover set when set_identifier unset
Added as per
https://github.com/hashicorp/terraform/pull/5777#issuecomment-199802514
2016-03-22 13:19:24 +00:00
edmundcraske 4aa7d4f7db Fail when weight set and set_identifier not set
Resolves https://github.com/hashicorp/terraform/issues/5776
2016-03-22 12:20:47 +00:00
James Nugent 22a409e4cc Merge pull request #5774 from stack72/f-aws-iam-user-sshkey
provider/aws: Add `aws_iam_user_ssh_key` resource
2016-03-22 10:29:08 +00:00
Paul Stack 12546c6fca Merge pull request #5065 from tpounds/fix-aws-elb-access-logs-type
provider/aws: Change ELB access_logs to list type
2016-03-22 01:40:14 +00:00
stack72 7e61947c0a provider/aws: Scaffold `aws_iam_user_ssh_key` resource 2016-03-22 01:19:16 +00:00
Paul Hinze 20e517475b Merge pull request #5724 from paulodeininger/feature/fix_aws_opsworks_windows
Add DefaultOs on Stack creation (fix Windows stack issue)
2016-03-21 15:10:03 -05:00
stack72 fb92896326 Merge branch 'master' of github.com:hashicorp/terraform 2016-03-21 18:48:47 +00:00
Andy Chan d6cd47fd5e Reformat the kms alias test code 2016-03-21 18:48:00 +00:00
Clint f715c91666 Merge pull request #5756 from hashicorp/b-beanstalk-configuration-update
provider/aws: Fix crasher in Elastic Beanstalk Configuration with Options
2016-03-21 12:59:22 -05:00
Radek Simko 5c21422f7d Merge pull request #5712 from bjss/master
Use timeout_in_minutes for Terraform timeout in AWS CloudFormation
2016-03-21 17:06:20 +00:00
James Nugent f946695187 Merge pull request #5444 from TimeIncOSS/f-aws-logs-metric-filter
provider/aws: Add support for CloudWatch Log Metric Filter
2016-03-21 16:43:38 +00:00
clint shryock 9ae8e85640 provider/aws: Fix crasher in Elastic Beanstalk Configuration with option settings 2016-03-21 11:43:31 -05:00
James Nugent 6732659fe9 provider/aws: Fix panic in VPN connection resource
Check to ensure that vpnConnection.CustomerGatewayConfiguration is not
nil prior to dereferencing it on read.

Fixes #5647.
2016-03-21 13:52:14 +00:00
Andrew Tarry c3b3feaf11 Set cloudformation timeout to more than timeout_in_minutes
updated cloudformation timeout to use timeout_in_minutes if greater than 30 minutes

set the retry timeout as int64 when created
2016-03-21 09:08:52 +00:00
Paul Hinze d60bf93b4d Merge pull request #5723 from hashicorp/phinze/rds-instance-generate-identifier
provider/aws: ability to generate unique RDS identifier
2016-03-18 16:16:35 -05:00
Paul Hinze 4e5429a140 provider/aws: ability to generate unique RDS identifier
Needed to truncate the identifier for SQL Server engines to keep it at
max 15 chars per the docs. Not a full UUID going into it, but should be
"unique enough" to not matter in practice.

Modified the basic test to use the generated value. Other tests are
still working w/ explicitly specified identifiers.
2016-03-18 16:07:37 -05:00
Paulo Eduardo Deininger Messias Alves 0a0ccb84f2 Add DefaultOs on Stack creation (fix Windows stack issue) 2016-03-18 17:51:25 -03:00
stack72 12ac0761b7 provider/aws: Modify `aws_redshift_cluster` now allows
`publicly_accessible` to be changed

Also updated the AWS Go SDK from 1.1.9 -> 1.1.12 as this was required to
allow the new behavior for the Redshift API
2016-03-19 01:05:09 +05:30
Paul Hinze 17775205f7 provider/aws: fix crash when Aurora instance disappears
Usage of a helper function was assuming that an error would be returned
in a not found condition, when in fact a nil pointer was
returned.

Attached test crashes w/o fix, passes with it.

Fixes #5350
Refs #5418
2016-03-18 12:27:57 -05:00
Maxime Bury 210eb3571e Provide iops when changing storage type to io1 2016-03-16 18:32:11 -04:00
Maxime Bury ec749d964f Correctly handle missing lambda function 2016-03-16 14:26:14 -04:00
Radek Simko af93183459 provider/aws: Add validation for CW Log Metric Filter 2016-03-15 15:01:21 +00:00
Radek Simko 7eba8f6f66 provider/aws: Add tests for CloudWatch Log Metric Filter 2016-03-15 15:01:20 +00:00
Radek Simko 3bfcd47238 provider/aws: Add support for CloudWatch Log Metric Filter 2016-03-15 15:01:20 +00:00
Jeff Tang bcd5904eea Add support for Opsworks Instances
New resource checklist
- [x] Acceptance testing
- [x] Documentation
- [x] Well-formed code
2016-03-14 15:12:43 -04:00
Paul Hinze 25fce81bfc provider/aws: log HTTP req/resp at DEBUG level
This should be quite helpful in debugging aws-sdk-go operations.

Required some tweaking around the `helper/logging` functions to expose an
`IsDebugOrHigher()` helper for us to use.
2016-03-14 12:26:37 -05:00
Paul Hinze fff441b4ac provider/aws: send Terraform version in User-Agent 2016-03-14 12:16:49 -05:00
Paul Hinze 60b239d7d1 provider/aws: Switch to session.Copy to build up configs
Found this function which makes the config setup much nicer - looks like
it's meant to be used for the very thing we're doing, which is starting
w/ a base config and customizing it slightly.

https://docs.aws.amazon.com/sdk-for-go/api/aws/session/Session.html#Copy-instance_method

This will make the User-Agent setting code to follow much simpler.
2016-03-14 11:42:37 -05:00
Pierre Carrier a8865b8901 provider/aws: optional fields in aws_autoscaling_lifecycle_hook
See hashicorp/terraform/issues/5614
2016-03-14 11:45:17 +00:00
Radek Simko 189e9b5ceb Merge pull request #5605 from nicolai86/bugfix/verify-ecs-elb-count
provider/aws validate number of load_balancers before creating aws_ecs_service
2016-03-13 15:15:00 +00:00
Raphael Randschau fc0c2c0ea7 Validate number of load_balancers
see #5336
2016-03-13 12:51:51 +01:00
Oleg Chunikhin 25383ad5a3 aws: Fix CloudFormation update for parameters & capabilities if not modified 2016-03-13 08:10:57 +00:00
Radek Simko 8612cc3373 aws: Improve acceptance test for CloudFormation w/ all attributes 2016-03-13 08:10:54 +00:00
clint shryock 66eb7c6055 provider/aws: Guard against Nil Reference in Redshift Endpoints 2016-03-11 12:16:29 -06:00
Radek Simko d8b36532ef Merge pull request #5239 from TimeIncOSS/f-aws-lambda-func-updates
provider/aws: Add support for updating Lambda function
2016-03-11 16:59:18 +00:00
Paul Hinze 82765ea589 Merge pull request #5453 from bigkraig/aws-s3-kms-key
provider/aws: Support KMS encryption of S3 objects
2016-03-10 15:44:10 -06:00
Paul Hinze 5ce68fd1bd Merge pull request #5571 from hashicorp/revert-5193-f-aws-instance-security-groups-updates
Revert "provider/aws: Support additional changes to security groups of instance without forcing new"
2016-03-10 15:09:16 -06:00
Paul Hinze e9c4d4f6d5 Revert "provider/aws: Support additional changes to security groups of instance without forcing new" 2016-03-10 14:51:30 -06:00
clint shryock 02ba1bf2d4 provider/aws: More Acc test updates
Working on the green

- randomize some Autoscaling lifecycle hook test names
- use vpc_security_group_ids for this test
2016-03-10 14:33:54 -06:00
Clint 99ddea503d Merge pull request #5495 from nicolai86/bugfix/aws_security_group-protocol-case-sensitivity
provider/aws Always transform aws_security_group protocol to lower case
2016-03-10 09:34:55 -06:00
Clint 239b3e4f5f Merge pull request #5533 from hashicorp/pr-5184
provider/aws: Fix EC2 Classic SG Rule issue
2016-03-10 08:56:29 -06:00
Radek Simko d777141a7b provider/aws: Add tests for Lambda function updates 2016-03-10 12:31:35 +00:00
Radek Simko fdc21aad25 provider/aws: Simplify update logic for Lambda function 2016-03-10 12:31:35 +00:00
Chris Marchesi b5c7521f52 aws_lambda_function: Force code update on SHA sum mismatch 2016-03-10 12:31:35 +00:00
Rob Zienert 4aeb5bb8e9 Adding support for Lambda function updates 2016-03-10 12:31:35 +00:00
Kraig Amador 76b3c74a58 Providing a more informative error message when combining kms_key_id and etag as well as using aws_kms_key to test aws_s3_bucket's kms_key_id. 2016-03-09 19:06:36 -08:00
Paul Hinze d12944797a Merge pull request #3928 from TimeIncOSS/aws-kms
provider/aws: Add support for KMS
2016-03-09 18:30:06 -06:00
Paul Hinze 108ccf0007 builtin: Refactor resource.Retry to clarify return
Change the `RetryFunc` from a plain `error` return type to a
specialized `RetryError` which must decide whether it is
retryable or not.

Add `RetryableError` / `NonRetryableError` factory functions that
callers are meant to use to build up these errors.

This makes it eminently clear whether or not a given error is
retryable from inside the client code.

Goal here is to _not_ change any behavior, simply reflect the
existing behavior with the new, clearer, API.
2016-03-09 17:37:56 -06:00
Paul Stack ab075bca60 Merge pull request #5193 from innossh/f-aws-instance-security-groups-updates
provider/aws: Support additional changes to security groups of instance without forcing new
2016-03-10 00:28:32 +01:00
James Nugent 7436cf7f89 Merge pull request #5376 from stack72/b-aws-ELBListner
provider/aws: Fixes the use of Uppercase chars in ELB Listeners
2016-03-09 23:18:56 +00:00
Paul Hinze ffa5db4f52 Merge pull request #5538 from hashicorp/phinze/retryerror-pointers-are-evil
provider/aws: Fix all pointer RetryError returns
2016-03-09 16:53:19 -06:00
Brad Sickles 3f41515d2b Fixing noop differences in aws_route. 2016-03-09 23:27:09 +01:00
Brad Sickles 16f94ed4b7 Added failing aws_route test that shows diff after apply. 2016-03-09 23:27:09 +01:00
clint shryock f96ec46681 update comments 2016-03-09 15:50:01 -06:00
Clint d14920adaf Merge pull request #5515 from hashicorp/b-aws-acc-test-updates
provider/aws: Retry DB Creation on IAM propigation error
2016-03-09 15:08:13 -06:00
clint shryock 23c42cd6cf Add test for flattenSecurityGroups 2016-03-09 15:00:30 -06:00
Paul Hinze de656942ae provider/aws: Fix all pointer RetryError returns
All of these RetryErrors were meant to fail right away, but instead
caused retry looping because the typecheck in the implementation of
`resource.Retry()` only catches the value type, and not the pointer
type.

Refs #5537
2016-03-09 14:59:55 -06:00
Maxime Bury 9e0bac6c9f Terraform should keep track of the publicly accessible attribute 2016-03-09 13:33:00 -05:00
ephemeralsnow 54cb5ffe00 provider/aws: Fix EC2 Classic SG Rule issue
Fixes an issue where security groups would fail to update after applying an
initial security_group, because we were improperly saving the id of the group
and not the name (EC2 Classic only).

This is a PR combining https://github.com/hashicorp/terraform/pull/4983 and
https://github.com/hashicorp/terraform/pull/5184 . It's majority
@ephemeralsnow's work.
2016-03-09 09:51:41 -06:00
Paul Stack 4601d371e1 Merge pull request #5524 from stack72/f-aws-ecr-repository_name
provider/aws: `repository_url` is computed for `aws_ecr_repository`
2016-03-09 09:38:09 +00:00
stack72 7c5ab40b74 provider/aws: Add support for the `repository_url` to be computed for
ECR
2016-03-09 09:29:23 +00:00
Paul Stack b5e6cb5f88 Merge pull request #5520 from bsiegel/aws_rds_cluster_encryption
Add storage_encrypted as an optional parameter to aws_rds_cluster
2016-03-09 00:21:26 +00:00
stack72 cad550e63d provider/aws: Add support for `description` to `aws_network_interface`
resource
2016-03-08 23:28:37 +00:00
Brandon Siegel fc7e9fcd53 Ensure aws_rds_cluster can have storage_encrypted set to true 2016-03-08 17:28:44 -05:00
Brandon Siegel 0085bf6ae8 Ensure aws_rds_cluster has storage_encrypted set to false by default 2016-03-08 17:28:32 -05:00
Brandon Siegel b3864db462 fixup! Add storage_encrypted as an optional parameter to aws_rds_cluster 2016-03-08 17:15:01 -05:00
Brandon Siegel 8aadf1d56d Add storage_encrypted as an optional parameter to aws_rds_cluster 2016-03-08 16:48:04 -05:00
clint shryock c29e1f24b8 provider/aws: Retry DB Creation on IAM propigation error 2016-03-08 14:09:42 -06:00
clint shryock 5dc387354d provider/aws: Randomize tests more to reduce conflicts
- ASG placement tests
- Randomize DynamoDB names in tests
- tag the sg created in this test to help identify in the console
- randomize policy and role names
2016-03-08 09:56:14 -06:00
Radek Simko d4d20a9f5a kms: Treat keys in PendingDeletion state as deleted 2016-03-08 09:30:47 +00:00
Radek Simko 6f8a9c0f77 aws: kms_key - Add support for is_enabled + enable_key_rotation 2016-03-08 09:30:47 +00:00
Radek Simko 347913a3be aws: kms_key - Iterate over all aliases (not just 50) 2016-03-08 09:30:47 +00:00
Radek Simko ff2d040d28 aws: kms_key + kms_alias - Add acceptance tests 2016-03-08 09:30:47 +00:00
Radek Simko ccedb36a86 aws: kms_key - add forgotten policy read call + normalize 2016-03-08 09:30:47 +00:00
Radek Simko 4c1f8db32d aws: kms_key - Change field name (deletion_window -> deletion_window_in_days) 2016-03-08 09:30:47 +00:00
Radek Simko fccffbcbb1 aws: kms_alias - Remove unnecessary default ForceNew state 2016-03-08 09:30:47 +00:00
Radek Simko 5c9fe668f5 aws: kms resources - Simplify error handling 2016-03-08 09:30:47 +00:00
Radek Simko 2b244e21bc aws: kms validation - Add missing placeholders for Errorf 2016-03-08 09:30:47 +00:00
Radek Simko 5466d69450 aws: kms resources - gofmt all the code 2016-03-08 09:30:47 +00:00
Philip Witty 5e18031367 Update AWS KMS with respect to key deletion features 2016-03-08 09:30:47 +00:00
Philip Witty 6648df7acc Added AWS KMS key & alias support 2016-03-08 09:30:47 +00:00
Raphael Randschau 2c698d2cb0 Always transform aws_security_group protocol to lower case
fixes #5489
2016-03-07 22:40:29 +01:00
clint shryock f0d3176999 provider/aws: Add Elastic Beanstalk Application, Configuration Template, and Environment
This adds support for Elastic Beanstalk Applications, Configuration Templates,
and Environments.

This is a combined work of @catsby, @dharrisio, @Bowbaq, and @jen20
2016-03-07 14:43:23 -06:00
Paul Stack 46e4717428 Merge pull request #5474 from kjmkznr/skip-normalize-empty-policy
provider/aws: Fix error parsing JSON in S3 bucket policy
2016-03-07 18:53:51 +01:00
Michael H. Oshita 00288c36b9 fix indentation 2016-03-07 22:18:58 +09:00
Kazunori Kojima 8d1292d608 Return empty string when input empty S3 bucket policy
Before:

"" -> "Error parsing JSON: unexpected end of JSON input"

After:

"" -> ""
2016-03-07 09:31:33 +09:00
Radek Simko c6c2752211 provider/aws: Sort API Gateway resources alphabetically 2016-03-06 09:29:31 +00:00
Radek Simko fa0d6af524 provider/aws: Remove unnecessary GetChange in Delete funcs 2016-03-06 09:29:31 +00:00
Radek Simko a338eae72a provider/aws: Guard APIGateway resource & REST API against deletion 2016-03-06 09:29:30 +00:00
Radek Simko ce5324b341 Merge pull request #4295 from nicolai86/feature/aws-api-gateway
provider/aws: API Gateway resources
2016-03-06 09:00:02 +00:00
Raphael Randschau 6430fca7f6 Add aws_api_gateway_deployment resource 2016-03-05 23:21:58 +01:00
Raphael Randschau 8c59d0861e Add aws_api_gateway_api_key resource 2016-03-05 23:21:54 +01:00
Raphael Randschau b4c99f1009 Add aws_api_gateway_model resource 2016-03-05 23:21:51 +01:00
Raphael Randschau 4da8b3d03a Add aws_api_gateawy_integration_response resource 2016-03-05 23:21:48 +01:00
Raphael Randschau 1593dbe9c8 Add aws_api_gateway_integration resource 2016-03-05 23:21:44 +01:00
Raphael Randschau 91f5206f8d Add aws_api_gateway_method_response resource 2016-03-05 23:21:41 +01:00
Raphael Randschau 032e6081cb Add aws_api_gateway_method resource 2016-03-05 23:21:38 +01:00
Raphael Randschau 7ead800f6a Add aws_api_gateway_resource resource 2016-03-05 23:21:35 +01:00
Raphael Randschau a73721d248 Add aws_api_gateway_rest_api resource 2016-03-05 23:13:38 +01:00
Raphael Randschau fdf0cfa66d Vendor AWS APIGateway API 2016-03-05 23:12:19 +01:00
Paul Stack b66b9c92a2 Merge pull request #5401 from Originate/mb-fix-kinesis-stream-shard-count
provider/aws: Report the correct number of shards for Kinesis streams
2016-03-05 19:19:16 +01:00
stack72 d63166c025 provider/aws: Adding a test for AWS Kinesis Stream Shard Count 2016-03-05 18:40:47 +01:00
Kraig Amador 74de6531fe Return an error when conflicting etag & kms_key_id parameters are provided and now with ServerSideEncryption we can go back to the higher level PutObject. 2016-03-04 09:22:43 -08:00
Kraig Amador db91aebd8e Added a kms_key_id parameter which will allow you to encrypt objects that are put into a bucket. 2016-03-03 16:20:01 -08:00
Maxime Bury ae8627f92a Report the correct number of shards 2016-03-01 10:46:39 -08:00
Radek Simko dc45f84a8f Allow recovering from failed CW Event Target creation in state 2016-03-01 12:37:36 +00:00
Radek Simko 5a786d52d9 Fix: Do not store ID of CW Event Target if creation fails 2016-03-01 12:35:15 +00:00
stack72 d3697fa50b provider/aws: Combine AWS Metrics Collection resource and AWS
Autoscaling Group
2016-02-29 20:58:41 +00:00
stack72 4fc1391303 Scaffold the AWS Autoscaling Group Metrics Collection 2016-02-29 19:24:30 +00:00
stack72 ffbb59a73e provider/aws: Fixes the use of Uppercase chars in ELB Listeners 2016-02-29 18:04:47 +00:00
Paul Stack e6f3fafcd6 Merge pull request #5361 from stack72/b-aws-es-tags
provider/aws: `aws_elastisearch_domain` tags not being set correctly.
2016-02-29 17:38:06 +00:00
Maxime Bury 0290884fdc Lambda S3 object version defaults to '$LATEST' if unspecified 2016-02-29 14:31:47 +00:00
stack72 7b61567bf6 provider/aws: `aws_elastisearch_domain` tags not being set correctly.
The top level object was used not the tags within
2016-02-28 18:31:58 +00:00
Paul Stack a372800cd0 Merge pull request #5318 from stack72/f-aws-route53zone-updateComment
provider/aws: Add ability to update r53 zone comment
2016-02-26 19:43:13 +00:00
James Nugent f249a432fc Merge pull request #5329 from hashicorp/b-5310
provider/aws: Fix crash creating rules in aws SGs
2016-02-26 14:42:01 -05:00
Radek Simko 5b4fccaa73 provider/aws: Add acceptance test for IAM Account Password Policy 2016-02-26 13:29:34 +00:00
stack72 d750d4d1cc provider/aws: Add ability to update r53 zone comment 2016-02-26 13:26:25 +00:00
Radek Simko f7f3d95a9b provider/aws: Add support for AWS Account Password Policy 2016-02-26 11:04:25 +00:00
James Nugent 5b548e938c Merge pull request #5327 from Originate/s3-website-routing-rules
Added routing rules to s3 buckets
2016-02-25 14:43:55 -05:00
James Nugent 3adae0216c provider/aws: Fix crash creating rules in aws SGs
This commit uses Group Name in preference to Group ID where appropriate
in the aws_security_group_rule resource. This fixes the crash reported
in #5310.

Fixes #5310.
2016-02-25 13:50:24 -05:00
Drew Minnear ef50479e8a added routing rules to s3 buckets 2016-02-25 10:19:23 -08:00
Radek Simko 4b8726dc2b Merge pull request #5305 from TimeIncOSS/f-s3-obj-update-and-versioning
provider/aws: Enable updates & versioning for s3_bucket_object
2016-02-25 12:19:34 +00:00
Radek Simko 44246ca126 provider/aws: Add tests for s3_bucket_object w/ versioning enabled 2016-02-25 12:04:18 +00:00
Radek Simko ef85147559 provider/aws: Add tests for s3_bucket_object updates 2016-02-25 12:04:18 +00:00
Radek Simko 9377b301ca provider/aws: Cleanup s3_bucket_object acceptance tests
- the goal was to allow running tests in parallel and to get rid of global variables in the aws package
2016-02-25 12:04:18 +00:00
Radek Simko 24ac996963 provider/aws: Add support for versioned objects 2016-02-25 12:04:18 +00:00
Radek Simko 2f8b9edaf8 provider/aws: Add support for s3_bucket_object updates 2016-02-25 12:04:16 +00:00
James Nugent 74e5711f08 Merge pull request #5182 from Originate/mb-fix-lambda-vpc-implementation
provider/aws: Fixes terraform crash when lambda VpcId is nil
2016-02-24 17:52:38 -05:00
Paul Hinze 893bfb3ff4 provider/aws: Fix int overflow on 386 builds
386 architecture builds were failing with:

```
builtin/providers/aws/resource_aws_sns_topic_subscription.go:216: constant 60000000000 overflows int
```
2016-02-24 13:55:01 -06:00
Paul Hinze cb8f0f04b5 fix go vet warnings
```
go tool vet -all .
builtin/providers/aws/resource_aws_elasticache_security_group.go:130: arg apierr.Code in printf call is a function value, not a function call
builtin/providers/aws/resource_aws_elasticache_subnet_group.go:155: arg apierr.Code in printf call is a function value, not a function call
```
2016-02-24 09:48:32 -06:00
Radek Simko ebf2fd54e5 provider/aws: Clean up whitespaces 2016-02-24 14:58:17 +00:00
Radek Simko 70f045e46e provider/aws: Breaking change - Trim off quotes for aws_s3_bucket_object.etag 2016-02-24 14:58:17 +00:00
Maxime Bury f92b2b7c58 Also ignore empty VPC config after all 2016-02-23 12:56:46 -08:00
Paul Stack e454b21100 Merge pull request #5271 from stack72/f-aws-dynamodb-stream-arn
provider/aws: Enable DynamoDB Table to output `stream_arm` when streams are enabled
2016-02-23 17:27:22 +00:00
Paul Stack 039065f63a Merge pull request #5223 from stack72/f-aws-kinesis-retention-period
provider/aws: Implement RetentionPeriod Changes for Kinesis Stream
2016-02-23 17:26:12 +00:00
stack72 8d6cfe8e89 Implement RetentionPeriod Changes for AWS Kinesis Stream 2016-02-23 17:15:33 +00:00
stack72 0ce4aed52a provider/aws: Enable DynamoDB Table to output `stream_arm` when streams
are enabled
2016-02-23 15:40:41 +00:00
Paul Hinze b5e6a4fac7 Merge pull request #5101 from tpounds/fix-read-aws-asg-termination-policies
provider/aws: Fix reading auto scaling group termination policies
2016-02-23 08:03:18 -06:00
Trevor Pounds 066a60debe Add termination policies acceptance test. 2016-02-22 17:05:10 -08:00
Trevor Pounds b39cc55f37 Cleanup termination policy update logic. 2016-02-22 17:05:09 -08:00
Trevor Pounds 44b00782c3 Fix termination policies read logic. 2016-02-22 17:05:09 -08:00
Paul Hinze ce948c0dea Merge pull request #5120 from paybyphone/paybyphone_igw_destroyfix
IGW detatch waiter tweak, 30 not found checks w/15 min max
2016-02-22 18:17:12 -06:00
Paul Hinze 9c0e52bc4b Merge pull request #5100 from hashicorp/b-aws-sg-drift-updates
provider/aws: Security Group drift updates
2016-02-22 18:10:49 -06:00
Paul Stack 57f58dec98 Merge pull request #5262 from stack72/b-aws-redshift-cluster-public
provider/aws: `aws_redshift_cluster` publicly_accessible now defaults true
2016-02-22 23:19:30 +00:00
stack72 e822d46843 provider/aws: `aws_redshift_cluster` publicly_accessible now defaults to
true
2016-02-22 23:11:55 +00:00
Paul Hinze 5528abb51e Merge pull request #5255 from hashicorp/phinze/improve-vpc-cidr-errmsg
provider/aws: improve vpc cidr_block err message
2016-02-22 16:54:47 -06:00
Paul Hinze ce74e3d8f0 provider/aws: improve vpc cidr_block err message
Pull CIDR block validation into a shared func ready to be used elsewhere

Example of new err message:

```
Errors:

  * aws_vpc.foo: "cidr_block" must contain a valid network CIDR,
    expected "10.0.0.0/16", got "10.0.1.0/16"
```
2016-02-22 16:44:33 -06:00
Paul Stack d5fb018250 Merge pull request #4945 from stack72/aws-rds-enhanced-monitoring
provider/aws: Enabled Enhanced Monitoring for RDS
2016-02-22 22:02:09 +00:00
James Nugent a285ae1e2c Fix format string making vet fail 2016-02-22 13:34:15 -05:00
James Nugent 16b18df1fd Merge pull request #5238 from stack72/f-aws-redshift-calculate-cluster
provider/aws: Change Redshift Cluster cluster_type to be computed
2016-02-22 13:18:09 -05:00
Paul Stack 30dcc45635 Merge pull request #5178 from hashicorp/f-aws-iam-server-updates
provider/aws: Update IAM Server Cert
2016-02-22 18:07:22 +00:00
Paul Stack c4dd1a9a64 Merge pull request #5197 from hashicorp/f-aws-db-snapshot-copy
provider/aws: Fix copy_tags_to_snapshot for DB Instance
2016-02-22 18:05:41 +00:00
Paul Stack 0214319333 Merge pull request #4882 from stack72/f-aws-asg-getAutoscaleGroup
provider/aws: Autoscaling Group Code Refactor
2016-02-22 09:58:53 +00:00
Trevor Pounds f83c81dbb5 Change AWS ELB access_logs to list type.
There can only be a single access_log configuration per load balancer
so choosing to use a list over a set is only relevant when comparing
changes during a plan. A list makes it much easier to compare updates
since the index is stable (0 vs. computed hash).
2016-02-21 15:16:09 -08:00
Paul Stack 1e7f10d3a3 Merge pull request #5066 from tpounds/fix-aws-elb-health-check-type
provider/aws: Change ELB health_check to list type
2016-02-21 22:38:10 +00:00
stack72 628fb1a37c provider/aws: Add test to ECS Service to make sure deployment values are
set
2016-02-21 22:33:48 +00:00
stack72 5f7060e9f5 Merge branch 'ecs_service_deployment_cfg' of https://github.com/joshgarnett/terraform into joshgarnett-ecs_service_deployment_cfg 2016-02-21 22:09:20 +00:00
stack72 e6e18a4a9e provider/aws: Change Redshift Cluster cluster_type to be computed
It will be based off the number of nodes. Can only be multi-node (>1
node) or single-node (nodes=1)
2016-02-21 19:42:02 +00:00
innossh 564dd360a2 provider/aws: Support additional changes to security groups of instance without forcing new 2016-02-21 14:24:33 +09:00
James Nugent c91b648c15 core: Test fix for mismatched diffs from GH-4965
This test presents itself in an awkward manner as part of the AWS test
suite rather than the core test suite - this is because you cannot use
real providers in context tests because of circular references, and
simplistic test providers in that package do not demonstrate the issue.
In the interests of getting this fix in quickly and still having
regression coverage for it, it was agreed to include the change here
instead.

Running the test TestAccAWSVPC_coreMismatchedDiffs without the changes
in d95ab75 applied leads to the following output:

```
$ make testacc TEST=./builtin/providers/aws TESTARGS="-run TestAccAWSVPC_coreMismatchedDiffs"
==> Checking that code complies with gofmt requirements...
/Users/James/Code/go/bin/stringer
GO15VENDOREXPERIMENT=1 go generate $(GO15VENDOREXPERIMENT=1 go list ./... | grep -v /vendor/)
TF_ACC=1 GO15VENDOREXPERIMENT=1 go test ./builtin/providers/aws -v -run TestAccAWSVPC_coreMismatchedDiffs -timeout 120m
=== RUN   TestAccAWSVPC_coreMismatchedDiffs
--- FAIL: TestAccAWSVPC_coreMismatchedDiffs (2.26s)
	testing.go:148: Step 0 error: Error applying: 1 error(s) occurred:

		* aws_vpc.test: diffs didn't match during apply. This is a bug with Terraform and should be reported.
FAIL
exit status 1
FAIL	github.com/hashicorp/terraform/builtin/providers/aws	2.281s
make: *** [testacc] Error 1
```

Applying the changes in d95ab75 (pull request GH-4965) yields the
following result when running the test:

```
$ make testacc TEST=./builtin/providers/aws TESTARGS="-run TestAccAWSVPC_coreMismatchedDiffs"
==> Checking that code complies with gofmt requirements...
/Users/James/Code/go/bin/stringer
GO15VENDOREXPERIMENT=1 go generate $(GO15VENDOREXPERIMENT=1 go list ./... | grep -v /vendor/)
TF_ACC=1 GO15VENDOREXPERIMENT=1 go test ./builtin/providers/aws -v -run TestAccAWSVPC_coreMismatchedDiffs -timeout 120m
=== RUN   TestAccAWSVPC_coreMismatchedDiffs
--- PASS: TestAccAWSVPC_coreMismatchedDiffs (15.17s)
PASS
ok  	github.com/hashicorp/terraform/builtin/providers/aws	15.183s
```

The test has a rather misleading name ("AWS") such that it is actually run as
part of the nightly acceptance testing. The VPC resource is quick and free to
create, hence the selection.
2016-02-19 21:24:49 -05:00
clint shryock 280054a387 provider/aws: Security Rules drift and sorting changes
This commit adds failing tests to demonstrate the problem presented with AWS
aggregating the security group rules
2016-02-19 16:51:08 -06:00
Joshua Garnett 12958fb5e7 Added support for the deployment configuration settings to the ecs service resource. 2016-02-19 15:32:39 -05:00
Maxime Bury 288ba868e4 Harden things around VPC config 2016-02-18 13:45:32 -08:00
clint shryock ca29437581 provider/aws: Fix copy_tags_to_snapshot for DB Instance 2016-02-18 11:33:21 -06:00
Maxime Bury f0f3c430a8 Generalize fix to ignore empty VPC config 2016-02-17 21:45:13 -05:00
Maxime Bury eb2aaef016 VpcId can be nil in the wild 2016-02-17 20:06:18 -05:00
clint shryock fce562ba0b update name length 2016-02-17 17:03:31 -06:00
clint shryock c8178ad31c provider/aws: Update IAM Server Cert to allow name_prefix, auto generated namesprovider/aws: Update IAM Server Cert to allow name_prefix, auto generated namesdiff 2016-02-17 16:34:02 -06:00
James Nugent f7504f7f9f Merge branch 'master' of https://github.com/vincer/terraform into vincer-master 2016-02-17 13:16:16 -08:00
James Nugent bc6107508d Fix additional vet warnings 2016-02-17 11:59:50 -08:00
Trevor Pounds e130b2c2dc Fix `go vet` printf verb warnings.
e.g. arg trail.LogFileValidationEnabled for printf verb %t of wrong type: *bool
2016-02-17 11:59:50 -08:00
Clint 37a708a2f0 Merge pull request #5155 from hashicorp/b-aws-route-error
provider/aws: Return an error if no route is found for an AWS Route
2016-02-17 10:02:48 -06:00
Clint 52e0cd82bd Merge pull request #5116 from hashicorp/b-aws-acc-tests
provider/aws: Update some tests to introduce more randomization
2016-02-17 10:02:20 -06:00
Radek Simko 35345c92af fix: Return non-aws errors if bucket creation fails 2016-02-17 13:49:41 +00:00
Paul Stack cd28433c2a Merge pull request #4826 from TimeIncOSS/f-aws-lambda-permission
[WIP] provider/aws: Add aws_lambda_permission
2016-02-17 13:31:29 +00:00
Radek Simko f8fac710ad Randomize name of S3 bucket in acctest 2016-02-17 12:36:19 +00:00
Radek Simko db0d48eb84 Add retry-logic and mutexes to work around inconsistent nature of IAM 2016-02-17 11:38:24 +00:00
Radek Simko 8481625596 Add retry logic to s3_bucket to prevent OperationAborted errors 2016-02-17 11:38:20 +00:00
Paul Stack ec0e445c25 Merge pull request #4973 from paultyng/pt/elasticsearch-tags
AWS - Tag support for Elasticsearch
2016-02-17 10:35:18 +00:00
clint shryock a706b7c8a4 provider/aws: Return an error if no route is found for an AWS Route 2016-02-16 16:08:02 -06:00
Paul Stack 77deff1194 Merge pull request #5135 from TimeIncOSS/f-aws-cloudtrail-tags
provider/aws: Add support for CloudTrail tags
2016-02-16 21:55:45 +00:00
vince rosso 3baabb0186 VPC config support in Lambda functions
fixes #5105
2016-02-16 10:43:51 -08:00
clint shryock 320dc3ddf4 provider/aws: Err on failure to attach elb in OpsWorks layer update 2016-02-16 10:31:30 -06:00
Paulo Schreiner 923f7dca37 Added error checking and removed debug statement 2016-02-16 09:44:15 -06:00
Paulo Schreiner 7293ab99d3 Added option to attach an ELB to Opsworks layer 2016-02-16 09:44:15 -06:00
Radek Simko b7a63c15f9 provider/aws: Add tests for new validators 2016-02-15 17:16:41 +00:00
Radek Simko d2a3799158 provider/aws: Add tests for aws_lambda_permission 2016-02-15 17:16:41 +00:00
Radek Simko 64539d30bc provider/aws: Add aws_lambda_permission 2016-02-15 17:16:41 +00:00
Radek Simko 3f66347025 provider/aws: Add tests for CloudTrail tags 2016-02-15 14:10:36 +00:00
Radek Simko fb0838ce1b provider/aws: Add support for CloudTrail tags 2016-02-15 14:10:19 +00:00
Radek Simko fdd9c3b2b8 Merge pull request #4711 from srikalyan/master
Added support for http/https endpoints that auto confirms SNS topic subscription.
2016-02-14 21:13:22 +00:00
Srikalyan Swayampakula 345dbce77a Made the necessary changes to ensure the variable name represents right value. 2016-02-13 12:15:29 -08:00
Radek Simko 30082a4c85 provider/aws: Add acc tests for CloudWatch Event Target 2016-02-13 13:21:33 +00:00
Radek Simko 61afc6d34d provider/aws: Add CloudWatch Event Target 2016-02-13 13:21:33 +00:00
Radek Simko b5039dd897 provider/aws: Add acc tests for CloudWatch Event Rule 2016-02-13 13:21:33 +00:00
Radek Simko ab89e5e528 provider/aws: Add CloudWatch Event Rule 2016-02-13 13:21:32 +00:00
Chris Marchesi c24fbc3f24 IGW detatch waiter tweak, 30 not found checks w/15 min max 2016-02-12 17:31:49 -08:00
clint shryock e7fa0952de provider/aws: Add some randomization for this IAM test 2016-02-12 14:38:23 -06:00
Srikalyan Swayampakula f21dc995c5 Update code based on the review suggestions.
1. Used resource.Retry instead of custom solution
2. Removed unnecessary variables and added required variable to resource.Retry.
2016-02-12 12:21:52 -08:00
clint shryock 9c3699d905 provider/aws: Add some randomization to this test 2016-02-12 14:17:19 -06:00
clint shryock 2a860ff564 provider/aws: Switch format for error message to utilize Go Stringer 2016-02-12 14:16:20 -06:00
clint shryock a344204cc7 provider/aws: format and randomize RDS Cluster Instance tests 2016-02-12 11:43:07 -06:00
clint shryock a7af4c46b2 rename test 2016-02-12 11:21:03 -06:00
Clint 169b63e401 Merge pull request #5032 from clstokes/f-aws-gateway-tunnel-info
provider/aws: Expose additional VPN Connection attributes.
2016-02-12 10:31:23 -06:00
Hasan Türken 766dac4d79 update documentation 2016-02-12 09:56:48 -06:00
Hasan Türken e41266e971 Move endpoint options into endpoints block 2016-02-12 09:38:21 -06:00
Hasan Türken 231604e8b7 support custom endpoints for AWS EC2 ELB and IAM 2016-02-12 09:35:50 -06:00
Paul Hinze 66ec38b2d9 Merge pull request #5046 from tpounds/use-built-in-schema-string-hash
Use built-in schema.HashString instead of custom hash functions.
2016-02-12 07:58:34 -06:00
clint shryock 8b4a366b43 Merge branch 'pr-4969'
* pr-4969:
  provider/aws: All security group mods on first run when restoring from snapshot
2016-02-11 16:40:29 -06:00
clint shryock 21a59fc708 provider/aws: All security group mods on first run when restoring from snapshot 2016-02-11 16:39:53 -06:00
Paul Stack 06fdadf491 Merge pull request #5099 from tpounds/cleanup-aws-type-conversions
provider/aws: Consolidate duplicate list/set type conversions
2016-02-11 22:29:50 +00:00
Clint 934c31f76b Merge pull request #4969 from Chili-Man/bugfix/aws_provider_rds_security_groups
provider/aws: apply security group changes in EC2 Classic RDS for aws_db_instance
2016-02-11 16:12:12 -06:00
Clint e04450d95f Merge pull request #4958 from hashicorp/b-aws-r53-record-tests
provider/aws: Add a regression test for Route53 records
2016-02-11 13:32:29 -06:00
Trevor Pounds 57a9048510 Consolidate duplicate list/set type conversions. 2016-02-11 00:48:58 -08:00
Trevor Pounds 164596880a Update acceptance test to use t2.micro instances.
The AWS free tier allows up to 750 hours on t2.micro
instance types. It's better to use cheaper instances
in case the resources are not cleaned up if a tests
is canceled or crashes.
2016-02-09 00:24:38 -08:00
Trevor Pounds 5624a33239 Change AWS ELB health_check to list type.
There can only be a single health_check configuration per load balancer
so choosing to use a list over a set is only relevant when comparing
changes during a plan. A list makes it much easier to compare updates
since the index is stable (0 vs. computed hash).
2016-02-08 23:08:35 -08:00
Trevor Pounds 5801b991c9 Cleanup unrelated config to speed up autogenerate name acc test.
Removes overspecified config that is unrelated to testing the auto scaling
group's autogenerated name. The test is only concerned with checking that
the auto scaling group was created successfully with an autogenerated name
matching a specific pattern.
2016-02-08 21:28:35 -08:00
Trevor Pounds eba605fa6a Cleanup unrelated config to speed up AZ/VPC acc tests.
Removes overspecified config that is unrelated to the auto scaling
group's availability zone and VPC identifier acceptance tests. The
created auto scaling groups do not need to spin up any hosts since
the acceptance tests are only concerned with checking the existence
of the associated availability zones and VPC identifiers.
2016-02-08 19:55:11 -08:00
Paul Stack 4baa8fa691 Merge pull request #5044 from tpounds/fix-read-aws-asg-az
provider/aws: Fix reading auto scaling group availability zones
2016-02-08 21:37:23 +00:00
Radek Simko 05b6af5d83 Merge pull request #5051 from TimeIncOSS/f-aws-cloudtrail-fields
provider/aws: Add support for CloudTrail log validation + KMS encryption
2016-02-08 21:05:35 +00:00
Radek Simko 531e60047b provider/aws: Add support for CloudTrail log validation + KMS encryption 2016-02-08 11:51:25 +00:00
Trevor Pounds 0cd0ff0f8e Use built-in schema.HashString. 2016-02-07 16:29:34 -08:00
Trevor Pounds 8ceeaaf7ff Fix load balancers read logic. 2016-02-07 15:00:21 -08:00
Trevor Pounds dac7226a8e Check calculated availability zones. 2016-02-07 14:24:31 -08:00
Trevor Pounds 37eb1cba88 Make availability zones a computed attribute.
Fixes a diff calculation error when only a VPC zone
identifiers is provided. In this case the associated
availability zones are computed from the subnets per
the AWS documentation.
2016-02-07 14:14:00 -08:00
Trevor Pounds e0f4be47a8 Remove redundant metadata get. 2016-02-07 14:14:00 -08:00
Trevor Pounds cd42705bf1 Fix availability zones read logic. 2016-02-07 14:14:00 -08:00
Paul Stack 00ea9c969d Merge pull request #4943 from stack72/f-aws-dynamodbtable-refresh
provider/aws: DynamoDB Table Refresh State on Error
2016-02-06 23:47:41 +00:00
Cameron Stokes 24f034a2c6 Acc tests for aws_vpn_connection tunnel attributes. 2016-02-06 14:00:26 -08:00
Cameron Stokes 6a5cb5b109 Provide tunnel info from XML config. 2016-02-06 12:39:49 -08:00
Maxime Bury eaacf5c618 Add multi-region option to cloudtrail 2016-02-05 13:15:05 -05:00
clint shryock 52f3e9b8db update provider test and extend the delete timelimit 2016-02-04 15:48:54 -06:00
Paul Tyng 0961033400 Add tag support for elasticsearch 2016-02-04 12:53:11 -05:00
Paul Tyng 20efc7688f Update validation on domain name 2016-02-04 12:53:10 -05:00
clint shryock 840d2e7ccc Switch to acctest.RandInt for acceptance tests 2016-02-04 11:20:22 -06:00
clint shryock 53a42eaa0f provider/aws: Add a regression test for Route53 records
This is a follow up on #4892 with tests that demonstrate creating a record and a zone, then destroying said record, and confirming that a new plan is generated, using the ExpectNonEmptyPlan flag

This simulates the bug reported in #4641 by mimicking the state file that one would have if they created a record with Terraform v0.6.6, which is to say a weight = 0 for a default value.

When upgrading, there would be an expected plan change to get that to -1. To mimic the statefile we apply the record and then in a follow up step change the attributes directly. We then try to delete the record.

I tested this by grabbing the source of aws_resource_route53.go from Terraform v0.6.9 and running the included test, which fails. The test will pass with #4892 , because we no longer reconstruct what the record should be based on the state (instead finding via the API and elimination/matching)
2016-02-03 09:16:50 -06:00
Diego Rodriguez cfafa3f574 fix ec2 classic security group changing 2016-02-03 00:33:42 -08:00
stack72 e87d3bb711 Enabled Enhanced Monitoring for RDS 2016-02-03 00:14:24 +00:00
stack72 9c17e5d3e8 DynamoDB Table now refreshes the state when NotFoundException occurs 2016-02-01 21:55:10 +00:00
clint shryock 772ac8522a provider/aws: Change VPC ClassicLink to be computed 2016-02-01 09:30:09 -06:00
Clint 41de3ee6bd Merge pull request #4892 from hashicorp/b-aws-r53-weight-update
provider/aws: Refactor Route53 record to fix regression in deleting
2016-01-29 13:36:32 -06:00
clint shryock 39f5a7e751 use the same error checking in DELETE 2016-01-29 12:38:22 -06:00
clint shryock 3bbb21d115 refactor error handling in findRecord 2016-01-29 11:56:19 -06:00
Clint b7582fa6d9 Merge pull request #4869 from hashicorp/b-aws-provider-auth-docs
provider/aws: Provide a better message if no AWS creds are found
2016-01-29 09:25:26 -06:00
Clint 800420cf9b Merge pull request #4856 from hashicorp/b-aws-test-randoms
provider/aws: Randomize all S3 bucket names per test, not per run
2016-01-29 06:52:29 -06:00
Clint 23cf9fdbd9 Merge pull request #4860 from hashicorp/b-aws-test-randoms-ops
provider/aws: Restructure OpsWorks test files
2016-01-29 06:52:16 -06:00
Paul Stack 2bc5d25bc0 Merge pull request #4891 from stack72/f-aws-sns-ui-deleted
provider/aws: SNS Topic State Refreshing correctly
2016-01-29 11:03:19 +00:00
Radek Simko 51f6a15803 Merge pull request #4894 from paultyng/pt/error-message
Add "lowercase" to error message
2016-01-29 10:39:43 +00:00
stack72 91cb65dd05 Provider/aws - SNS Topics deleted from the UI were causing Terraform to
throw an error:

* aws_sns_topic_subscription.checker: NotFound: Subscription does not
* exist
    status code: 404, request id: b8ca0c27-1a62-57b3-8b96-43038a0ead86

Terraform wasn't refreshing the state when the topic gave a 404
2016-01-28 23:26:05 +00:00
Paul Tyng 15f3091f9d Add "lowercase" to error message 2016-01-28 18:20:50 -05:00
clint shryock 125987994c provider/aws: Refactor Route53 record to fix regression in deleting
refactored to add a `findRecord` method to find the matching record set,
and use that for the `DELETE` method call.
2016-01-28 17:01:53 -06:00
stack72 bd4f8ed800 Refactoring the getAwsAutoscalingGroup func to accept only the arguments it needs rather than ResourceData and meta. This makes it more portable and reusable 2016-01-28 17:52:35 +00:00
Clint dd0475ca4e Merge pull request #4879 from hashicorp/b-aws-vpc-classiclink-fix
providers/aws: Fix issue with VPC Classic Link and regions that don't support it
2016-01-28 10:54:40 -06:00
clint shryock 2ac040bef2 providers/aws: Fix issue with VPC Classic Link and regions that don't support it
- use eu-central-1 to a config to check for #4874
- update documentation
2016-01-28 10:12:06 -06:00
Paul Stack 05d19b0fc3 Merge pull request #4693 from stack72/f-aws-asg-schedule-0values
provider/aws: aws autoscale schedule 0 values
2016-01-28 15:38:41 +00:00
clint shryock 45c9a10d0f provider/aws: Provide a better message if no AWS creds are found 2016-01-27 16:30:03 -06:00
clint shryock e64c23c69a patch up acc tests 2016-01-27 14:42:21 -06:00
Paul Hinze c70eab6500 aws: undeprecate min_elb_capacity; restore min capacity waiting
It was a mistake to switched fully to `==` when activating waiting for
capacity on updates in #3947. Users that didn't set `min_elb_capacity ==
desired_capacity` and instead treated it as an actual "minimum" would
see timeouts for every create, since their target numbers would never be
reached exactly.

Here, we fix that regression by restoring the minimum waiting behavior
during creates.

In order to preserve all the stated behavior, I had to split out
different criteria for create and update, criteria which are now
exhaustively unit tested.

The set of fields that affect capacity waiting behavior has become a bit
of a mess. Next major release I'd like to rework all of these into a
more consistently named block of config. For now, just getting the
behavior correct and documented.

(Also removes all the fixed names from the ASG tests as I was hitting
collision issues running them over here.)

Fixes #4792
2016-01-27 13:30:44 -06:00
clint shryock 99e9dca413 fix some typos 2016-01-27 11:46:46 -06:00
Lars Bahner 8f2d39be45 On Oracle RDS DB instances you can't change the encoding
of the database after creation. So we need to be able to
set the CharacterSetName on creation.
This is an option and will automagically default to
AL32UTF8.

The AWS SDK will give you an error message if you try to
apply this setting to other engines. The patch will only
report the character_set_name attribute, if CharacterSetName
is set on the instance.

Signed-off-by: Lars Bahner <lars.bahner@gmail.com>
2016-01-27 18:39:00 +01:00
clint shryock 303554c8df restructure OpsWorks test files to use random stack name, and duplication 2016-01-27 11:32:40 -06:00