Commit Graph

1112 Commits

Author SHA1 Message Date
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
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
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
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
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
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