Commit Graph

1325 Commits

Author SHA1 Message Date
Paul Hinze f4f5139f22 provider/aws: improve iam_policy err msgs
Turns out `%s` outputs nicer than `%#v` here.

Closes #2247
2015-06-07 20:58:22 -05:00
Paul Hinze 84afeb73b1 acc tests: ensure each resource has a _basic test
Helpful for breadth first acc test sweeps `-run '_basic$'`
2015-06-07 18:18:14 -05:00
Paul Hinze 66c51d44f6 aws/provider convert _normal tests to _basic
For consistency!
2015-06-07 18:04:38 -05:00
Paul Hinze 112724fc39 provider/aws: spot_instance_request
This is an iteration on the great work done by @dalehamel in PRs #2095
and #2109.

The core team went back and forth on how to best model Spot Instance
Requests, requesting and then rejecting a separate-resource
implementation in #2109.

After more internal discussion, we landed once again on a separate
resource to model Spot Instance Requests. Out of respect for
@dalehamel's already-significant donated time, with this I'm attempting
to pick up the work to take this across the finish line.

Important architectural decisions represented here:

 * Spot Instance Requests are always of type "persistent", to properly
   match Terraform's declarative model.
 * The spot_instance_request resource exports several attributes that
   are expected to be constantly changing as the spot market changes:
   spot_bid_status, spot_request_state, and instance_id. Creating
   additional resource dependencies based on these attributes is not
   recommended, as Terraform diffs will be continually generated to keep
   up with the live changes.
 * When a Spot Instance Request is deleted/canceled, an attempt is made
   to terminate the last-known attached spot instance. Race conditions
   dictate that this attempt cannot guarantee that the associated spot
   instance is terminated immediately.

Implementation notes:

 * This version of aws_spot_instance_request borrows a lot of common
   code from aws_instance.
 * In order to facilitate borrowing, we introduce `awsInstanceOpts`, an
   internal representation of instance details that's meant to be shared
   between resources. The goal here would be to refactor ASG Launch
   Configurations to use the same struct.
 * The new aws_spot_instance_request acc. test is passing.
 * All aws_instance acc. tests remain passing.
2015-06-07 17:33:32 -05:00
Alexander Ekdahl 52a21f3fb0 Corrected Frankfurt S3 Website Endpoint fixes #2258 2015-06-07 11:39:18 +02:00
Clint e2cefe290d Merge pull request #2232 from justnom/master
Fixing bugs with `aws_network_interface` and added docs.
2015-06-05 16:24:14 -05:00
Jack Pearkes 6c29671561 provider/aws: clarify scaling timeout error
This just gives the user a better hint to why their scaling may have timed out.
2015-06-05 17:14:21 -04:00
Clint e172508788 Merge pull request #2197 from hashicorp/f-aws-asg-notifications
provider/aws: ASG Notifications Resource
2015-06-05 16:04:19 -05:00
Radek Simko 1770713633 Merge pull request #1803 from TimeIncOSS/ecs
aws: Add support for ECS (Container Service)
2015-06-05 22:25:41 +02:00
Paul Hinze f65cce478b provider/aws: fix case in ELB listener protocols
fixes #2242
2015-06-05 10:20:07 -05:00
Clint Shryock d65c8a421a refactor the internals of this 2015-06-05 10:00:39 -05:00
Clint Shryock 5e6b0166af provider/aws: Add ASG SNS Notification top level resource
- works with multiple asgs
2015-06-04 16:54:01 -05:00
justnom aed17f8658 Fixing bugs with `aws_network_interface` and added docs.
When a user tried to create an `aws_network_interface` resource without specifying the `private_ips` or `security_groups` attributes the API call to AWS would fail with a 500 HTTP error. Length checks have been put in place for both of these attributes before they are added to the `ec2.CreateNetworkInterfaceInput` struct.

Documentation was also added for the `aws_network_interface` resource.
2015-06-04 11:44:33 -04:00
Trent Johnson 054a40475c provider/aws: add aws_route53_health_check 2015-06-04 05:58:45 -05:00
John Ewart 4784eff9ca Fix AWS SDK imports 2015-06-03 17:12:41 -07:00
John Ewart 1669c35007 Adding DynamoDB acceptance tests 2015-06-03 17:05:40 -07:00
John Ewart 34e9e31377 Adding DynamoDB resource 2015-06-03 17:05:02 -07:00
Clint Shryock 2a0dc4e277 don't set this, it messes things up 2015-06-03 17:10:07 -05:00
Radek Simko ebaa9bde2a provider/aws: Add new resource - aws_ecs_service 2015-06-03 22:48:17 +01:00
Radek Simko 87faf855aa provider/aws: Add new resource - aws_ecs_task_definition 2015-06-03 22:47:32 +01:00
Radek Simko ae5502b744 provider/aws: Add new resource - aws_ecs_cluster 2015-06-03 22:47:05 +01:00
Clint Shryock fcd89828f9 provider/aws: Correctly default Instance source_dest_check to true 2015-06-03 15:54:01 -05:00
Paul Hinze 1caef3031b provider/aws: fix panic when route has no cidr_block
While cidr_block is required for static route creation, there are
apparently cases (involving some combination of VPNs, Customer Gateways,
and automatic route propogation) where the cidr_block can come back nil.
This means we cannot assume it's there in the set hash calculation.
2015-06-03 13:43:05 -05:00
Paul Hinze b71fa3d0ae provider/aws: handle upstream aws-sdk-go repo move
`awslabs/aws-sdk-go => aws/aws-sdk-go`

Congrats to upstream on the promotion. :)
2015-06-03 13:36:57 -05:00
Clint Shryock de141fe1cc provider/aws: Updates to SNS / SQS resources after upstream change 2015-06-03 08:46:03 -05:00
Clint Shryock a2717acf81 provider/aws: Allow ElastiCache Subnet Group updates
Adds update method for ElastiCache Subnet Groups, things are not all ForceNew
anymore.

- can update description
- can update subnet ids
2015-06-02 11:19:23 -05:00
Clint Shryock 015c111a3d provider/aws: Remove roles from profiles when trying to delete 2015-06-01 15:47:14 -05:00
Paul Hinze e84203a2dc provider/aws: remove asg test dependence on default SG
accidentally pushed this with an implicit dependency on the default SG
and VPC
2015-06-01 12:12:49 -05:00
Chris Bednarski 6986121305 AWS Lambda functionality
- Includes documentation
- Includes acceptance tests
2015-06-01 09:33:45 -07:00
Clint Shryock 6242f49af7 provider/aws: Update hash of network acl tests 2015-06-01 09:12:17 -05:00
Clint ceca4ef9aa Merge pull request #2148 from hashicorp/b-aws-netacl-icmp-support
provider/aws: Add support for ICMP Protocol in Network ACLs
2015-06-01 08:33:06 -05:00
Jake Champlin b236cdf918 Set AWS Elasticache Port Number to be required
Set Elasticache Port number to not be set by default, and require
Elasticache Port number to be specified.

Also updated acceptance tests to supply port number upon resource
declaration

Fixes #2084
2015-05-31 18:01:07 -04:00
Paul Hinze 060e8882bd Merge pull request #2147 from mzupan/fix-asg-health-checkswitch
Switching the healthcheck shouldn't cause a refresh of the resource
2015-05-30 07:10:56 -05:00
Mike Zupan e7fa855174 making the update happen 2015-05-30 02:51:56 -07:00
Clint c4af5b2e9a Merge pull request #2120 from hashicorp/b-aws-instance-ebs-snapshot
provider/aws: Fix issue with restoring from snapshot ID
2015-05-29 17:07:01 -05:00
Clint Shryock 339f2bd21f provider/aws: Add support for ICMP Protocol in Network ACLs
- added icmp_type attribute
- added icmp_code attribute
- fixed an issue hiding the error
2015-05-29 16:48:50 -05:00
Mike Zupan c122323d14 Switching the healthcheck shouldn't cause a refresh of the resource
Switching the healthcheck from elb->ec2 or ec2->elb shouldn't cause the ASG to re-create itself
2015-05-29 13:40:15 -07:00
Clint 4cd8147340 Merge pull request #2110 from hashicorp/f-aws-kinesis
provider/aws: AWS Kinesis Stream support
2015-05-29 10:37:29 -05:00
Clint f536df7aff Merge pull request #2128 from hashicorp/f-aws-elasticache-check-nodes
provider/aws: Check ElastiCache node status before returning
2015-05-29 10:20:02 -05:00
Clint Shryock c95557af27 Check node length to match expected node count 2015-05-29 10:09:54 -05:00
Clint Shryock 9a1ae44475 provider/aws: Cleanups on Kinesis naming 2015-05-29 09:40:34 -05:00
Radek Simko 01399f3240 Add tags to EBS volumes 2015-05-29 12:39:20 +01:00
Sander van Harmelen 2e1463ba0f Merge pull request #2133 from hashicorp/b-volumn-error-params
go vet caught wrong number of params passed to error message
2015-05-29 10:38:20 +02:00
Chris Bednarski 3768bdeae1 Updated the names for autoscaling to match breaking changes in upstream
AutoScalingGroup -> Group

04d1270245
2015-05-29 00:55:59 -07:00
Chris Bednarski d9551866f4 go vet caught wrong number of params passed to error message 2015-05-28 21:21:52 -07:00
Clint Shryock 8a4cbcb5a2 provider/aws: Check ElastiCache node status before returning 2015-05-28 17:36:21 -05:00
Clint Shryock db8805dfa5 provider/aws: Fix issue with restoring from snapshot ID
Fixes #1862
2015-05-28 11:25:13 -05:00
Clint Shryock 3f68ea7d0e Merge remote-tracking branch 'upstream/master' into f-aws-volume-attachment
* upstream/master: (21 commits)
  fix typo
  fix typo, use awslabs/aws-sdk-go
  Update CHANGELOG.md
  More internal links in template documentation.
  providers/aws: Requires ttl and records attributes if there isn't an ALIAS block.
  Condense switch fallthroughs into expr lists
  Fix docs for aws_route53_record params
  Update CHANGELOG.md
  provider/aws: Add IAM Server Certificate resource
  aws_db_instance docs updated per #2070
  providers/aws: Adds link to AWS docs about RDS parameters.
  Downgrade middleman to 3.3.12 as 3.3.13 does not exist
  providers/aws: Clarifies db_security_group usage.
  "More more" no more!
  Indentation issue
  Export ARN in SQS queue and SNS topic / subscription; updated tests for new AWS SDK errors; updated documentation.
  Changed Required: false to Optional: true in the SNS topic schema
  Initial SNS support
  correct resource name in example
  added attributes reference section for AWS_EBS_VOLUME
  ...
2015-05-28 10:13:58 -05:00
Clint Shryock 9329073dae refactor to poll for status consistently 2015-05-28 10:13:46 -05:00
Clint Shryock 3af25c1b97 refactor volume attachment to not retry attachment 2015-05-27 17:07:34 -05:00
Clint Shryock c523401f46 provider/aws: Wait for EBS Volume to be available 2015-05-27 17:07:04 -05:00
Clint Shryock d06f637c74 fix typo, use awslabs/aws-sdk-go 2015-05-27 16:07:38 -05:00
Clint Shryock 214ed23974 provider/aws: AWS Kinesis Stream support
Adds a Kinesis Stream resource
2015-05-27 15:54:17 -05:00
Clint 13e2a7cf0e Merge pull request #2086 from hashicorp/f-aws-iam-server-cert
provider/aws: Add IAM Server Certificate resource
2015-05-27 08:34:23 -05:00
Camilo Aguilar c346da6981 providers/aws: Requires ttl and records attributes if there isn't an ALIAS block. 2015-05-26 22:11:01 -04:00
Clint Shryock be7ece0ce7 provider/aws: Add IAM Server Certificate resource 2015-05-26 16:40:15 -05:00
Adam Enger 6799225757 adding all supproted options for db snapshot restore 2015-05-24 20:18:36 -05:00
Adam Enger b0d2b25b2d Adding support for snapshot_identifier option which enables restoring a DB from a snapshot 2015-05-24 16:51:35 -05:00
John Ewart 17d9d314d0 Indentation issue 2015-05-22 21:19:43 -07:00
John Ewart 1dd95df5ab Export ARN in SQS queue and SNS topic / subscription; updated tests for new AWS SDK errors; updated documentation. 2015-05-22 21:12:25 -07:00
John Ewart 0196a0c2ae Changed Required: false to Optional: true in the SNS topic schema 2015-05-22 20:26:10 -07:00
John Ewart 68734517f8 Initial SNS support 2015-05-22 20:26:10 -07:00
Clint Shryock fa44e455fa provider/aws: Add accdeptance test for volume attachment 2015-05-22 17:02:05 -05:00
Clint Shryock 68587eb51e provider/aws: Add resource_aws_volume_attachment 2015-05-22 16:30:40 -05:00
Clint 11f67ddc39 Merge pull request #2039 from stephenchu/master
Added support for 'comment' field for an AWS route53 zone resource.
2015-05-22 07:11:19 -05:00
Clint b2af84f466 Merge pull request #2026 from hashicorp/f-aws-instance-move-tags
providers/aws: Move up where we assign tags on Instance
2015-05-22 06:48:04 -05:00
Clint 338bb50555 Merge pull request #2037 from hashicorp/f-aws-iam-instance-bug
provider/aws: Retry RunInstance if IAM profile hasn't propagated
2015-05-22 06:47:50 -05:00
Stephen Chu 5e2e2ffa20 Use Schema Default declaratively instead of defaulting at each payload creation. 2015-05-21 21:23:29 +00:00
Stephen Chu c2628d8fae Fixed some whitespacing issues. 2015-05-21 20:16:01 +00:00
Clint ec06e81cf3 Merge pull request #1946 from hashicorp/f-aws-db-read-replicas
provider/aws: Add AWS RDS Read Replica
2015-05-21 15:14:11 -05:00
Stephen Chu 69f4acd5ac Moved 'comment' DSL definition to be alphabetically sorted. 2015-05-21 20:02:28 +00:00
Clint Shryock a2baf1d755 provider/aws: Retry RunInstance if IAM profile hasn't propagated 2015-05-21 14:58:34 -05:00
Stephen Chu cfbd546286 Added support for comment on a route53 zone. 2015-05-21 19:51:53 +00:00
Clint Shryock 6de8f9d180 provider/aws: RDS Read Replica cleanups
remove typos, debugging, and try spelling things correctly
2015-05-21 09:49:46 -05:00
Clint e5f5e1a167 Merge pull request #2007 from iJoinSolutions/2544-terraform-s3-forceDelete
provider/aws: force_destroy argument for s3 buckets with objects
2015-05-21 09:43:23 -05:00
Clint Shryock 66372d8d1d small update to keypair_refresh, to bring in-line with sdk changes 2015-05-21 09:21:57 -05:00
Phil Frost 9e2ecafc46 Handle AWS keypairs which no longer exist
When refreshing a keypair, update state appropriately rather than crash
if the keypair no longer exists on AWS.

Likely fixes #1851.
2015-05-20 20:53:49 -04:00
Michael Austin dc698e3b67 added force_destroy argument to s3 bucket provider
commit a92fe29b909af033c4c57257ddcb6793bfb694aa
Author: Michael Austin <m_austin@me.com>
Date:   Wed May 20 16:35:38 2015 -0400

    updated to new style of awserr

commit 428271c9b9ca01ed2add1ffa608ab354f520bfa0
Merge: b3bae0e 883e284
Author: Michael Austin <m_austin@me.com>
Date:   Wed May 20 16:29:00 2015 -0400

    Merge branch 'master' into 2544-terraform-s3-forceDelete

commit b3bae0efdac81adf8bb448d11cc1ca62eae75d94
Author: Michael Austin <m_austin@me.com>
Date:   Wed May 20 12:06:36 2015 -0400

    removed extra line

commit 85eb40fc7ce24f5eb01af10eadde35ebac3c8223
Author: Michael Austin <m_austin@me.com>
Date:   Tue May 19 14:27:19 2015 -0400

    stray [

commit d8a405f7d6880c350ab9fccb70b833d2239d9915
Author: Michael Austin <m_austin@me.com>
Date:   Tue May 19 14:24:01 2015 -0400

    addressed feedback concerning parsing of aws error in a more standard way

commit 5b9a5ee613af78e466d89ba772959bb38566f50e
Author: Michael Austin <m_austin@me.com>
Date:   Tue May 19 10:55:22 2015 -0400

    clarify comment to highlight recursion

commit 91043781f4ba08b075673cd4c7c01792975c2402
Author: Michael Austin <m_austin@me.com>
Date:   Tue May 19 10:51:13 2015 -0400

    addressed feedback about reusing err variable and unneeded parens

commit 95e9c3afbd34d4d09a6355b0aaeb52606917b6dc
Merge: 2637edf db095e2
Author: Michael Austin <m_austin@me.com>
Date:   Mon May 18 19:15:36 2015 -0400

    Merge branch 'master' into 2544-terraform-s3-forceDelete

commit 2637edfc48a23b2951032b1e974d7097602c4715
Author: Michael Austin <m_austin@me.com>
Date:   Fri May 15 15:12:41 2015 -0400

    optimize delete to delete up to 1000 at once instead of one at a time

commit 1441eb2ccf13fa34f4d8c43257c2e471108738e4
Author: Michael Austin <m_austin@me.com>
Date:   Fri May 15 12:34:53 2015 -0400

    Revert "hook new resource provider into configuration"

    This reverts commit e14a1ade5315e3276e039b745a40ce69a64518b5.

commit b532fa22022e34e4a8ea09024874bb0e8265f3ac
Author: Michael Austin <m_austin@me.com>
Date:   Fri May 15 12:34:49 2015 -0400

    this file should not be in this branch

commit 645c0b66c6f000a6da50ebeca1d867a63e5fd9f1
Author: Michael Austin <m_austin@me.com>
Date:   Thu May 14 21:15:29 2015 -0400

    buckets tagged force_destroy will delete all files and then delete buckets

commit ac50cae214ce88e22bb1184386c56b8ba8c057f7
Author: Michael Austin <m_austin@me.com>
Date:   Thu May 14 12:41:40 2015 -0400

    added code to delete policy from s3 bucket

commit cd45e45d6d04a3956fe35c178d5e816ba18d1051
Author: Michael Austin <m_austin@me.com>
Date:   Thu May 14 12:27:13 2015 -0400

    added code to read bucket policy from bucket, however, it's not working as expected currently

commit 0d3d51abfddec9c39c60d8f7b81e8fcd88e117b9
Merge: 31ffdea 8a3b75d
Author: Michael Austin <m_austin@me.com>
Date:   Thu May 14 08:38:06 2015 -0400

    Merge remote-tracking branch 'hashi_origin/master' into 2544-terraform-s3-policy

commit 31ffdea96ba3d5ddf5d42f862e68c1c133e49925
Author: Michael Austin <m_austin@me.com>
Date:   Wed May 13 16:01:52 2015 -0400

    add name for use with resouce id

commit b41c7375dbd9ae43ee0d421cf2432c1eb174b5b0
Author: Michael Austin <m_austin@me.com>
Date:   Wed May 13 14:48:24 2015 -0400

    Revert "working policy assignment"
    This reverts commit 0975a70c37eaa310d2bdfe6f77009253c5e450c7.

commit b926b11521878f1527bdcaba3c1b7c0b973e89e5
Author: Michael Austin <m_austin@me.com>
Date:   Wed May 13 14:35:02 2015 -0400

    moved policy to it's own provider

commit 233a5f443c13d71f3ddc06cf034d07cb8231b4dd
Merge: e14a1ad c003e96
Author: Michael Austin <m_austin@me.com>
Date:   Wed May 13 12:39:14 2015 -0400

    merged origin/master

commit e14a1ade5315e3276e039b745a40ce69a64518b5
Author: Michael Austin <m_austin@me.com>
Date:   Wed May 13 12:26:51 2015 -0400

    hook new resource provider into configuration

commit 455b409cb853faae3e45a0a3d4e2859ffc4ed865
Author: Michael Austin <m_austin@me.com>
Date:   Wed May 13 12:26:15 2015 -0400

    dummy resource provider

commit 0975a70c37eaa310d2bdfe6f77009253c5e450c7
Author: Michael Austin <m_austin@me.com>
Date:   Wed May 13 09:42:31 2015 -0400

    working policy assignment

commit 3ab901d6b3ab605adc0a8cb703aa047a513b68d4
Author: Michael Austin <m_austin@me.com>
Date:   Tue May 12 10:39:56 2015 -0400

    added policy string to schema
2015-05-20 19:06:27 -04:00
Clint Shryock 12e69084ef providers/aws: Move up where we assign tags on Instance 2015-05-20 15:33:01 -05:00
Clint Shryock 6b6aa867c0 update read replica acceptance test 2015-05-20 09:28:33 -05:00
Clint Shryock dc164c454e remove default here 2015-05-20 08:26:05 -05:00
Clint Shryock f346187948 provider/aws: Add RDS Read Replica support 2015-05-20 08:25:38 -05:00
Paul Hinze 31258e06c6 provider/aws: fix breakages from awserr refactor
This landed in aws-sdk-go yesterday, breaking the AWS provider in many places:

3c259c9586

Here, with much sedding, grepping, and manual massaging, we attempt to
catch Terraform up to the new `awserr.Error` interface world.
2015-05-20 06:21:23 -05:00
Clint Shryock f6bcc302d3 providers/aws+cloudflare+dnsimple: Increase some verbosity 2015-05-18 15:25:03 -05:00
Justin Campbell 89f0def721 providers/aws: Normalize S3 bucket policy
AWS always returns a compressed JSON body, without spaces or newlines, so we round-trip the JSON before storing in the state.
2015-05-18 13:10:44 -04:00
Justin Campbell 4b17554993 providers/aws: test S3 policy unmarshaled JSON 2015-05-18 13:10:44 -04:00
Justin Campbell 9c764a3253 providers/aws: Add support for policy on S3 bucket 2015-05-18 13:10:44 -04:00
Clint 9f52192a79 Merge pull request #1939 from johnewart/sqs
Initial SQS support
2015-05-15 15:44:52 -05:00
John Ewart d538194f59 Added docs, tests, and updated SQS code 2015-05-15 13:09:20 -07:00
Clint Shryock af09f257c8 fix regression in networkacl with conflicts with 2015-05-15 14:38:06 -05:00
Paul Hinze e1ea427649 provider/aws: support ec2 termination protection
closes #1233
2015-05-15 15:20:58 -04:00
John Ewart 8dd479dbe0 Initial SQS support 2015-05-15 11:37:07 -07:00
Clint Shryock 0021906bda fix minor regression with subnet_id 2015-05-15 10:58:59 -05:00
Clint Shryock 5113761f41 Merge branch 'f-aws-network-subnet-ids'
* f-aws-network-subnet-ids:
  document Network ACL Subnet IDs attribute
  provider/aws: Add tests for Network ACL subnets
  upgrade to use typeset for subnet_ids
  network acl cleanups
  provider/aws: Support multiple subnets in Network ACL
2015-05-15 09:58:57 -05:00
Justin Campbell e68dd5a8bf Merge pull request #1909 from justincampbell/s3-redirect
providers/aws: Add support for S3 website redirect
2015-05-15 09:32:39 -04:00
Clint Shryock d9521efbf6 provider/aws: Add tests for Network ACL subnets 2015-05-14 20:57:07 -05:00
Clint Shryock 468de49265 upgrade to use typeset for subnet_ids 2015-05-14 17:09:50 -05:00
John Engelman bd6ff34aa2 Retrieve nameservers for private hosted zone. 2015-05-14 16:04:37 -05:00
John Engelman a6fdb04829 Only d.Set("vpc_region") when creating a private zone. 2015-05-14 16:04:37 -05:00
John Engelman 3275ab0ba1 update acceptance test function names 2015-05-14 16:04:37 -05:00
John Engelman b784908491 Add documentation and changelog for route53_zone_association 2015-05-14 16:04:36 -05:00
John Engelman 766aead4a5 Add tests for cross region VPC associations. 2015-05-14 16:03:51 -05:00
John Engelman 3507c0618b cleanup of zone_association resource 2015-05-14 16:03:51 -05:00
Panagiotis Moustafellos 9da89974fc fix vpc_region param check 2015-05-14 16:03:51 -05:00
Panagiotis Moustafellos d02e247fc7 renamed region to vpc_region for clarity and made optional, updated tests 2015-05-14 16:03:51 -05:00
Panagiotis Moustafellos 450c42f166 keep clean changeinfo as res id 2015-05-14 16:03:51 -05:00
Panagiotis Moustafellos 9c8748d2dc providers/aws: resource aws_route53_zone_association 2015-05-14 16:03:51 -05:00
John Engelman 052ff83670 Handle public zones correctly. Check for associate when reading. 2015-05-14 16:03:51 -05:00
John Engelman 8e62a14f29 verify VPC association on private zone 2015-05-14 16:03:50 -05:00
John Engelman a51bc6007d DelegationSet is not support in private zones. 2015-05-14 16:03:50 -05:00
John Engelman bf97d6a80f AWS/Route53Zone - create private hosted zone associated with VPC. 2015-05-14 16:03:50 -05:00
Paul Hinze e47987651e Merge pull request #1970 from hashicorp/f-asg-wait-for-elb-inservice
provider/aws: ASGs can wait for ELB InService
2015-05-14 15:09:45 -05:00
Paul Hinze b56a42627f provider/aws: ASGs can wait for ELB InService
This enhances the waiting strategy introduced in #1839 to wait for each
ASG instance to become InService in attached ELBs before continuing.
2015-05-14 15:03:53 -05:00
Clint 0b548a4a99 Merge pull request #1965 from hashicorp/f-export-cache-cluster-endpoints
provider/aws: export elasticache nodes
2015-05-14 14:05:33 -05:00
Clint Shryock d81e63cc3c provider/aws: ElastiCache test updates
- rename test to have _basic suffix, so we can run it individually
- use us-east-1 for basic test, since that's probably the only region that has
  Classic
- update the indexing of nodes; cache nodes are 4 digits
2015-05-14 13:57:01 -05:00
Clint Shryock 10fc184c97 add tags helper library for ElastiCache 2015-05-14 12:32:40 -05:00
Mitchell Hashimoto 32f6eb77f3 Merge pull request #1960 from hashicorp/b-lc-ami
provider/aws: bad AMI won't block LC refresh [GH-1901]
2015-05-14 09:58:58 -07:00
Clint Shryock 2809280e98 cleanup 2015-05-14 11:51:08 -05:00
Clint Shryock d8f3783d09 provider/aws: Add tag support to ElastiCache 2015-05-14 11:44:24 -05:00
Clint Shryock aad0808cc5 make parameter group optional 2015-05-14 11:12:07 -05:00
Clint Shryock a552db0c8c provider/aws: ElastiCache enhancements
- request cache node info
- read after create, to populate nodes
2015-05-14 11:10:21 -05:00
Paul Hinze 7d9ee79660 provider/aws: add license_model to db_instance 2015-05-14 09:57:51 -05:00
Paul Hinze 6f3ce6bf3c WIP export cache nodes
Needs to wait for len(cluster.CacheNodes) == cluster.NumCacheNodes, since
apparently that takes a bit of time and the initial response always has
an empty collection of nodes
2015-05-14 09:16:39 -05:00
Mitchell Hashimoto e7c6cb22c5 provider/aws: bad AMI won't block LC refresh [GH-1901] 2015-05-13 20:28:36 -07:00
Clint Shryock 898fa91595 network acl cleanups 2015-05-12 22:23:55 -05:00
Clint Shryock f7b6b6b2b5 Strip 'sdk' suffix from methods; it's a remnant 2015-05-12 14:58:10 -05:00
Clint Shryock 0dda704cbf provider/aws: Support multiple subnets in Network ACL 2015-05-12 13:50:28 -05:00
Justin Campbell b8cd6b2bae providers/aws: Add support for S3 website redirect 2015-05-12 11:24:08 -04:00
Radek Simko 931d05198c Merge pull request #1886 from TimeIncOSS/subnet-timeout-fix
Increase subnet & security group deletion timeout (2 -> 5 mins)
2015-05-12 07:02:28 +01:00
Mitchell Hashimoto e1627883b2 Merge pull request #1907 from PeopleNet/rds-update
provider/aws: Closes #1906. Only submit modification requests if there is a change
2015-05-11 16:38:02 -07:00
John Engelman 1798df8e03 Closes #1906. Only submit modification requests if there is a change 2015-05-11 11:49:43 -05:00
John Engelman 04214c8c1a Closes #1908. Parse AccountId from User ARN for RDS tags 2015-05-11 10:32:06 -05:00
Radek Simko 754bcd8307 Increase subnet & security group deletion timeout (2 -> 5 mins)
- this should prevent DependencyViolation errors while waiting for larger ASGs to shut down
2015-05-09 22:18:04 +01:00
Clint Shryock eaf96d9d6f provider/aws: Document AWS ElastiCache cluster
- ElastiCache subnet group name is computed
2015-05-08 14:33:41 -05:00
Radek Simko ce8351ddef provider/aws: Add FQDN as output to route53_record 2015-05-08 20:19:40 +01:00
Justin Campbell 870b48b1c0 Merge pull request #1865 from justincampbell/s3-region-zone
providers/aws: Add hosted_zone_id and region to attributes
2015-05-08 14:49:12 -04:00
Paul Hinze a28267b886 provider/aws: SG description should be ForceNew
Description cannot be handled in Update (there is no ModifySecurityGroup
API call), so we have to recreate to change the description.

Closes #1870
2015-05-08 12:16:54 -05:00
Justin Campbell 73651e2c70 providers/aws: Extract normalizeRegion 2015-05-08 10:49:21 -04:00
Justin Campbell 445f92e48a providers/aws: Move HostedZoneIDForRegion into TF 2015-05-08 10:49:20 -04:00
Justin Campbell 64d2b495c3 providers/aws: Add region to S3 attrs 2015-05-08 10:02:16 -04:00
Justin Campbell 839688d477 providers/aws: Add hosted_zone_id to S3 attrs 2015-05-08 10:02:16 -04:00
Justin Campbell d7c9d8702c providers/aws: Extract website endpoint logic 2015-05-08 10:02:16 -04:00
Felix Rodriguez 60c3ca0430 typo 2015-05-07 23:21:47 +01:00
Clint Shryock 44461f49fd update structure test 2015-05-07 17:18:47 -05:00
Clint Shryock 70984526a4 Merge remote-tracking branch 'ctiwald/ct/fix-protocol-problem'
* ctiwald/ct/fix-protocol-problem:
  aws: Document the odd protocol = "-1" behavior in security groups.
  aws: Fixup structure_test to handle new expandIPPerms behavior.
  aws: Add security group acceptance tests for protocol -1 fixes.
  aws: error on expndIPPerms(...) if our ports and protocol conflict.
2015-05-07 17:13:21 -05:00
Clint 4874179e9a Merge pull request #1843 from ctiwald/ct/fix-network-acls
Fix a number of issues in AWS network ACLs
2015-05-07 16:39:10 -05:00
Paul Hinze 1594cb3dbe provider/aws: remove names from LCs in ASG tests
Makes the tests a little more durable if your account happens to end up
with a dangling LC.
2015-05-07 10:14:49 -05:00
Clint Shryock 20ebb38b8f update s3bucket website tests 2015-05-07 10:13:08 -05:00
Clint Shryock fed42fe1b3 update tests so go vet is happy 2015-05-07 10:03:28 -05:00
Paul Hinze e7b101dba4 provider/aws: elasticache_cluster engine_version is computed
fixes the TestAccAWSElasticacheCluster test
2015-05-07 08:47:52 -05:00
Christopher Tiwald 9e8aefcd40 aws: Fix network ACL acceptance tests and add -1 protocol rule. 2015-05-06 23:54:14 -04:00
Christopher Tiwald 5b0d61727e aws: Only store protocol numbers for ingress/egress rules on ACLs.
Users can input a limited number of protocol names (e.g. "tcp") as
inputs to network ACL rules, but the API only supports valid protocol
number:

http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml

Preserve the convenience of protocol names and simultaneously support
numbers by only writing numbers to the state file. Also use numbers
when hashing the rules, to keep everything consistent.
2015-05-06 23:54:12 -04:00
Christopher Tiwald 8056b5f8f7 aws: Force users to use valid network masks on ACL ingress/egress
AWS will accept any overly-specific IP/mask combination, such as
10.1.2.2/24, but will store it by its implied network: 10.1.2.0/24.
This results in hashing errors, because the remote API will return
hashing results out of sync with the local configuration file.

Enforce a stricter API rule than AWS. Force users to use valid masks,
and run a quick calculation on their input to discover their intent.
2015-05-06 23:53:34 -04:00
Christopher Tiwald b888b31e08 aws: Force users to use from_port, to_port = 0 on network ACLs with -1 protocol
AWS doesn't store ports for -1 protocol rules, thus the read from the
API will always come up with a different hash. Force the user to make a
deliberate port choice when enabling -1 protocol rules. All from_port
and to_port's on these rules must be 0.
2015-05-06 23:51:23 -04:00
Christopher Tiwald d14049c8ad aws: Don't try to modify or delete the untouchable network_acl rules.
AWS includes default rules with all network ACL resources which cannot
be modified by the user. Don't attempt to store them locally or change
them remotely if they are already stored -- it'll consistently result
in hashing problems.
2015-05-06 23:03:25 -04:00
Christopher Tiwald 03ee059da3 aws: Write ingress/egress rules into a map so they can be set.
resourceAwsNetworkAclRead swallowed these errors resulting in rules
that never properly updated. Implement an entry-to-maplist function
that'll allow us to write something that Set knows how to read.
2015-05-06 23:03:24 -04:00
Josh Bleecher Snyder ed67f8f588 providers/aws: detect credentials more robustly
aws hides its credentials in many places:
multiple env vars, config files,
ec2 metadata.

Terraform currently recognizes only the env vars;
to use the other options, you had to put in a
dummy empty value for access_key and secret_key.

Rather than duplicate all aws checks, ask the
aws sdk to fetch credentials earlier.
2015-05-06 20:02:09 -07:00
Paul Hinze a9678bd252 Merge pull request #1840 from hashicorp/f-aws-asg-handle-scaling-activity-in-progress-errors
provider/aws: handle in progress errs from ASG deletes
2015-05-06 19:39:23 -05:00
Paul Hinze 90907c8be5 Merge pull request #1738 from justincampbell/s3-website
providers/aws: S3 bucket website support
2015-05-06 19:37:29 -05:00
Paul Hinze 03530d1285 provider/aws: handle in progress errs from ASG deletes
If an AutoScalingGroup is in the middle of performing a Scaling
Activity, it cannot be deleted, and yields a ScalingActivityInProgress
error.

Retry the delete for up to 5m so we don't choke on this error. It's
telling us something's in progress, so we'll keep trying until the
scaling activity completed.
2015-05-06 18:54:59 -05:00
Paul Hinze 761523e8f9 Merge pull request #1839 from hashicorp/f-aws-asg-wait-for-capacity
provider/aws: wait for ASG capacity on creation
2015-05-06 18:40:13 -05:00
Paul Hinze 063454e9b8 provider/aws: wait for ASG capacity on creation
On ASG creation, waits for up to 10m for desired_capacity or min_size
healthy nodes to show up in the group before continuing.

With CBD and proper HealthCheck tuning, this allows us guarantee safe
ASG replacement.
2015-05-06 18:34:20 -05:00
Clint c44ba73a2a Merge pull request #1837 from hashicorp/b-fix-aws-sg-vpcid
provider/aws: fix issue with reading VPC id in AWS Security Group
2015-05-06 17:01:20 -05:00
Clint Shryock 8705f0f78f provider/aws: fix issue with reading VPC id in AWS Security Group 2015-05-06 16:54:43 -05:00
Mitchell Hashimoto 4a61d0abc9 provider/aws: do connection draining stuff totally separate 2015-05-06 11:47:06 -07:00
Clint Shryock acbca8101c provider/aws: Update Elasticache Subnet test 2015-05-06 13:44:24 -05:00
Mitchell Hashimoto 5378d904a2 provider/aws: remove debug 2015-05-06 11:43:36 -07:00
Mitchell Hashimoto 74665f27c8 provider/aws: must set connection draining timeout separate frrom
enabled
2015-05-06 11:43:18 -07:00
Mitchell Hashimoto 5d12c79d90 provider/aws: retry VGW connection a bit due to eventual consistency 2015-05-06 11:09:51 -07:00
Mitchell Hashimoto f2ddb53c8f provider/aws: only include network in hash if instance is not set 2015-05-06 10:32:17 -07:00
Mitchell Hashimoto 7311019efe provider/aws: fix incorrect test 2015-05-06 10:20:19 -07:00
Mitchell Hashimoto 4db68cee89 providers/aws: eip network interface is computed 2015-05-06 10:04:38 -07:00
Mitchell Hashimoto 37c56d0084 provider/aws: fix alias test 2015-05-06 09:55:14 -07:00
Clint Shryock 4e717829f8 Merge branch 'master' of github.com:hashicorp/terraform
* 'master' of github.com:hashicorp/terraform:
  provider/aws: detach VPN gateway with proper ID
  update CHANGELOG
  provider/aws: Update ARN in instanceProfileReadResult
  provider/aws: remove placement_group from acctest
  core: module targeting
  Added support for more complexly images repos such as images on a private registry that are stored as namespace/name
2015-05-06 11:45:35 -05:00
Mitchell Hashimoto b184e283b9 provider/aws: detach VPN gateway with proper ID 2015-05-06 09:45:08 -07:00
Clint Shryock cd90648d4e provider/aws: Fix acceptance issue with Network Acls 2015-05-06 11:44:09 -05:00
TANABE Ken-ichi 5be4ecdcdb provider/aws: Update ARN in instanceProfileReadResult 2015-05-07 00:26:57 +09:00
Paul Hinze 010a39a58e provider/aws: remove placement_group from acctest
Depends on there being an existing placement group in the account called
"terraform-placement-group" - we'll need to circle back around to cover
this with AccTests after TF gets an `aws_placement_group` resource.
2015-05-06 10:13:24 -05:00
Clint Shryock 34609c6c22 provider/aws: Change Route 53 record test name, so it can be ran individually 2015-05-06 09:48:15 -05:00
Paul Hinze 66fa633b80 provider/aws: move EBS test into us-west-2 2015-05-06 09:22:34 -05:00
Paul Hinze bcb4067cb3 provider/aws: update test name 2015-05-06 09:20:40 -05:00
Paul Hinze 7303568469 providers/aws: update test name 2015-05-06 09:18:41 -05:00
Paul Hinze b91796368f provider/aws: update test name 2015-05-06 09:18:00 -05:00
Justin Campbell 2745adba56 providers/aws: Test S3 website endpoint attr 2015-05-06 09:41:02 -04:00
Justin Campbell 87e6d3d17f providers/aws: Fix S3 website error doc 2015-05-06 09:41:02 -04:00
Justin Campbell 0b78a71ed5 providers/aws: Test S3 website removal 2015-05-06 09:41:02 -04:00
Justin Campbell eeb65b8d4c providers/aws: Read S3 website config 2015-05-06 09:41:02 -04:00
Paul Hinze 6c6eafa232 provider/aws: removing stray "Ecache" in tests 2015-05-06 08:33:05 -05:00
Justin Campbell 20e531ae0d providers/aws: Check that S3 website sets docs 2015-05-06 08:15:56 -04:00
Justin Campbell be84cf8a8c providers/aws: Add note for us-east-1 empty location 2015-05-06 08:15:56 -04:00
Justin Campbell 348942d3fb providers/aws: Use GetOk instead of Get + cast 2015-05-06 08:15:56 -04:00
Justin Campbell 562bd6541b providers/aws: Use explicit returns in websiteEndpoint 2015-05-06 08:15:56 -04:00
Justin Campbell 30f737c781 providers/aws: Change S3 website to block 2015-05-06 08:15:56 -04:00
Justin Campbell 38e04b3765 providers/aws: Add website_endpoint to S3 output 2015-05-06 08:15:55 -04:00
Justin Campbell b7a9ef5ef6 providers/aws: Add S3 error_document
Also fix when index/error document is empty
2015-05-06 08:15:55 -04:00
Justin Campbell e6d9dcfb1a providers/aws: Initial S3 bucket website support 2015-05-06 08:15:55 -04:00
Mitchell Hashimoto 1a2bac7645 provider/aws: main route table refresh handles VPC being gone [GH-1806] 2015-05-05 18:07:22 -07:00
Clint Shryock 885efa0837 provider/aws: Add Security Group Rule as a top level resource
- document conflict with sg rules and sg in-line rules
- for this to work, ingress rules need to be computed
2015-05-05 16:56:39 -05:00
Clint a4000941c2 Merge pull request #1765 from hashicorp/f-aws-security-group-remove-default-egress
provider/aws: Remove default egress rule from Security Group on creation
2015-05-05 16:47:23 -05:00
Mitchell Hashimoto fb4ac42c65 Merge pull request #1516 from henrikhodne/aws-propagating-vgws
provider/aws: add propagating_vgws to route tables
2015-05-05 14:42:45 -07:00
Clint Shryock eb7c1bb218 fix go formatting 2015-05-05 16:42:08 -05:00
Clint Shryock e9b08cf31f revert the required part 2015-05-05 16:23:26 -05:00
Clint Shryock 1ed81da9a9 update ENI test for SG egress constraint 2015-05-05 16:23:26 -05:00
Clint Shryock 85b1756c27 revise tests and check for vpc_id 2015-05-05 16:23:26 -05:00
Clint Shryock 8ded3c2d1b Move block for deleing default rule into the create method; only invoke once 2015-05-05 16:23:26 -05:00
Clint Shryock ee65684abe Add spec for removing default egress rule 2015-05-05 16:23:26 -05:00
Clint Shryock b145ce88b7 Document Egress+VPC change, update link 2015-05-05 16:23:26 -05:00
Clint Shryock 1558fd1c3e provider/aws: Remove default egress rule from Security Group on creation 2015-05-05 16:23:25 -05:00
Mitchell Hashimoto 412a2dca0b Merge pull request #1575 from freshbooks/aws-eni-route
provider/aws: Add Elastic Network Interfaces as route destination
2015-05-05 13:28:48 -07:00
Mitchell Hashimoto 1c2d5fbd0a Merge branch 'f-aws-associate-eip-to-eni' of https://github.com/jstremick/terraform into jstremick-f-aws-associate-eip-to-eni 2015-05-05 13:24:50 -07:00
Clint 18b43b78cb Merge pull request #939 from bitglue/iam
Implement a subset of IAM resources
2015-05-05 15:05:05 -05:00
Clint Shryock 7b082d007e Merge commit '33183c0'
* commit '33183c0':
  Implement a hash function for string sets
2015-05-05 15:01:02 -05:00
Mitchell Hashimoto 7a5499d4f7 providers/aws: chain credentials 2015-05-05 10:44:19 -07:00
John Engelman 6ee17a8e9e Add acceptance tests 2015-05-05 12:47:20 -04:00
Phil Frost b082117e92 Implement AWS IAM resources
- Users
- Groups
- Roles
- Inline policies for the above three
- Instance profiles
- Managed policies
- Access keys

This is most of the data types provided by IAM. There are a few things
missing, but the functionality here is probably sufficient for 95% of
the cases. Makes a dent in #28.
2015-05-05 12:47:20 -04:00
Phil Frost 33183c078b Implement a hash function for string sets
Sets of strings are pretty common. Let's not duplicate the function
necessary to create a set of strings in so many places.
2015-05-05 12:47:18 -04:00
Clint Shryock 272415303d provider/aws: Shorting retry timeout for Subnets to 2 minutes, from 5 2015-05-05 11:20:29 -05:00
Clint Shryock 3ce3b7c516 provider/aws: Shorting retry timeout for Security Groups to 2 minutes, from 5 2015-05-05 11:07:16 -05:00
Clint Shryock 4b160dd28e minor cleanups 2015-05-05 10:45:30 -05:00
jba c50bcf2930 renaming function according to the aws struct 2015-05-05 10:39:25 -05:00
jba e9215c0676 move accept block to the update func 2015-05-05 10:38:20 -05:00
jba 5658fd6122 clean code 2015-05-05 10:37:13 -05:00
jba 11ba9b1042 add the auto_accecpt option 2015-05-05 10:37:13 -05:00
Sander van Harmelen 7274de3c1d Small fix needed to be inline with the updated AWS SDK again...
Executed a couple of AWS ACC test as well to make sure everything works
properly again after this fix…
2015-05-05 12:26:26 +02:00
Christopher Tiwald 69e981c0b0 aws: Fixup structure_test to handle new expandIPPerms behavior. 2015-05-04 23:56:54 -04:00
Christopher Tiwald 362a6124e3 aws: Add security group acceptance tests for protocol -1 fixes.
These only test ingress rules as egress rules are broken by the
default "0.0.0.0/0" rule Amazon includes with every egressed security
group.
2015-05-04 23:55:32 -04:00
Christopher Tiwald 89bacc0b15 aws: error on expndIPPerms(...) if our ports and protocol conflict.
Ingress and egress rules given a "-1" protocol don't have ports when
Read out of AWS. This results in hashing problems, as a local
config file might contain port declarations AWS can't ever return.

Rather than making ports optional fields, which carries with it a huge
headache trying to distinguish between zero-value attributes (e.g.
'to_port = 0') and attributes that are simply omitted, simply force the
user to opt-in when using the "-1" protocol. If they choose to use it,
they must now specify "0" for both to_port and from_port. Any other
configuration will error.
2015-05-04 23:43:31 -04:00
Clint Shryock 81422123e8 provider/aws: Add a regression check for Route 53 records 2015-05-04 17:05:49 -05:00
Mitchell Hashimoto 9ed909c8fe Merge pull request #1749 from nabeken/aws-proxy-protocol-policy
provider/aws: Add proxy protocol support in ELB
2015-05-04 14:04:53 -07:00
Mitchell Hashimoto 8633c88723 Merge pull request #1775 from TimeIncOSS/r53-alias-record
aws: Add support for Alias records into AWS Route 53
2015-05-04 14:03:29 -07:00
Mitchell Hashimoto c8c0b02790 Merge pull request #1787 from koendc/f-aws-max-retries
aws: make MaxRetries for API calls configurable
2015-05-04 14:00:37 -07:00
Mitchell Hashimoto 2c90d3a637 Merge pull request #1793 from ctiwald/ct/add-vpn-connection-route
provider/aws: add support for VPN connection routes
2015-05-04 13:58:17 -07:00
Mitchell Hashimoto 9617761eb4 Merge pull request #1776 from TimeIncOSS/eip-without-igw
[bugfix] aws/eip: Don't save instance ID if association fails
2015-05-04 11:19:32 -07:00
Mitchell Hashimoto cf6fa89f46 Merge pull request #1785 from koendc/f-aws-security-token
aws: re-introduce support for AWS_SECURITY_TOKEN
2015-05-04 11:18:28 -07:00
Christopher Tiwald 2c21f248ad aws: Add acceptance tests for VPN connection routes. 2015-05-04 12:55:55 -04:00
Christopher Tiwald e7f8883929 aws: Add support for VPN connection routes. 2015-05-04 12:20:42 -04:00
Christopher Tiwald 4727260987 aws: fix VPN connection acceptance test.
This corrects syntactical errors and uses distinct IP addresses for
each configuration.
2015-05-04 11:34:35 -04:00
Christopher Tiwald 47305c9c5d aws: Fix customer gateway acceptance test.
This test contained a few syntactical errors.
2015-05-04 11:34:35 -04:00
Christopher Tiwald f31466a60e aws: Fix app cookie stickiness policy acceptance test.
This used the wrong AZ and contained a few syntactical errors in
configuration.
2015-05-04 11:34:35 -04:00
Christopher Tiwald 14ea3a33a4 aws: Fix LB cookie stickiness policy acceptance test.
This needs to run in us-west-2 and contained a few syntactical errors
that prevented it from working.
2015-05-04 11:34:34 -04:00
Koen De Causmaecker 398c22adcd aws: make MaxRetries for API calls configurable
- Make it configurable in the AWS provider by add an option
  'max_retries'.
- Set the default from 3 to 11 retries.
2015-05-03 15:35:51 +02:00
Koen De Causmaecker c8f32a2711 aws: re-introduce support for AWS_SECURITY_TOKEN 2015-05-03 10:26:58 +02:00
Paul Hinze fb37b3515d Merge pull request #1712 from hashicorp/f-rename-elasticache-cluster
providers/aws: add _cluster to aws_elasticache
2015-05-01 20:07:19 -05:00
Radek Simko 795d53e706 [bugfix] Don't save instance ID if association fails
- typically happens when no internet GW is available in VPC
2015-05-01 23:55:08 +01:00
Radek Simko 3d665ddfcf provider/aws: Add support for alias record to Route53 2015-05-01 22:43:04 +01:00
Christopher Tiwald f255fd8c42 aws: Add acceptance tests for aws_vpn_connection resources. 2015-05-01 12:23:16 -04:00
Christopher Tiwald 814403f45c aws: Add support for AWS VPN connections 2015-05-01 12:23:08 -04:00
Radek Simko bafabf17be provider/aws: Expose zone_id from elb 2015-05-01 08:07:33 +01:00
Camilo Aguilar 338ae601bc providers/aws: Implements DHCP Options Set support. 2015-04-30 17:52:04 -04:00
Paul Hinze 15b9bde1fe providers/aws: add _cluster to aws_elasticache
This AWS calls the actual resources "Cache Clusters" so it seems like
this name makes more sense.

Verified all Elasticache acc tests pass.
2015-04-30 16:12:08 -05:00