Commit Graph

323 Commits

Author SHA1 Message Date
Clint Shryock f31891fa5e provider/aws: Add IAMGroupMembership resource
bare bones implementation of a Group Membership resource
2015-06-08 11:26:47 -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
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
Clint Shryock 5e6b0166af provider/aws: Add ASG SNS Notification top level resource
- works with multiple asgs
2015-06-04 16:54:01 -05:00
Trent Johnson 054a40475c provider/aws: add aws_route53_health_check 2015-06-04 05:58:45 -05:00
John Ewart 34e9e31377 Adding DynamoDB resource 2015-06-03 17:05:02 -07: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
Chris Bednarski 6986121305 AWS Lambda functionality
- Includes documentation
- Includes acceptance tests
2015-06-01 09:33:45 -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 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 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
Clint Shryock be7ece0ce7 provider/aws: Add IAM Server Certificate resource 2015-05-26 16:40:15 -05:00
Michael Austin 9a8625e6a6 added new provider for creating objects in an s3 bucket 2015-05-26 10:46:06 -04:00
John Ewart 68734517f8 Initial SNS support 2015-05-22 20:26:10 -07:00
Clint Shryock 68587eb51e provider/aws: Add resource_aws_volume_attachment 2015-05-22 16:30:40 -05:00
Clint 9f52192a79 Merge pull request #1939 from johnewart/sqs
Initial SQS support
2015-05-15 15:44:52 -05:00
John Ewart 8dd479dbe0 Initial SQS support 2015-05-15 11:37:07 -07:00
Panagiotis Moustafellos 9c8748d2dc providers/aws: resource aws_route53_zone_association 2015-05-14 16:03:51 -05: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
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
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
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 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
Christopher Tiwald e7f8883929 aws: Add support for VPN connection routes. 2015-05-04 12:20:42 -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
Christopher Tiwald 814403f45c aws: Add support for AWS VPN connections 2015-05-01 12:23:08 -04: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
TANABE Ken-ichi 5c1dabdb69 provider/aws: Add ProxyProtocol support via aws_proxy_protocol_policy 2015-04-30 17:56:46 +09:00
Christopher Tiwald 2794a1c5ab aws: Add support for aws_customer_gateway 2015-04-29 21:32:51 -04:00
Mitchell Hashimoto d66012969a Merge pull request #1658 from bitglue/ebs
provider/aws: Implement aws_ebs_volume
2015-04-28 20:37:26 -07:00
Mitchell Hashimoto d354cae524 Merge pull request #1685 from ctiwald/master
provider/aws: Implement support for various AWS ELB cookie stickiness policies
2015-04-28 20:24:11 -07:00
Phil Frost dcebff7108 Implement aws_ebs_volume
This resource allows the management of EBS volumes not associated with
any EC2 instance.
2015-04-28 12:54:02 -04:00
Christopher Tiwald 0533d60195 aws: Add support for aws_app_cookie_stickiness_policy.
This resource represents a session stickiness policy in AWS, and can be
applied to an ELB's client-facing listeners.
2015-04-26 18:56:07 -04:00
Christopher Tiwald 0120899f2a aws: Add support for aws_lb_cookie_stickiness_policy.
This resource represents a session stickiness policy in AWS, and can be
applied to an ELB's client-facing listeners.
2015-04-26 18:05:37 -04:00
Tomotaka Sakuma f3d9a287e1 support aws resource ElastiCache 2015-04-26 10:53:21 +09:00
Mitchell Hashimoto 3176e5b44a Merge pull request #1595 from TimeIncOSS/aws-account-protection
aws: Allow defining blacklist/whitelist of account IDs
2015-04-22 08:08:01 +02:00
Phil Frost d4c8c528e0 Support session token in AWS credentials
Session tokens are necessary to utilize temporary credentials.
http://docs.aws.amazon.com/STS/latest/UsingSTS/Welcome.html
2015-04-20 15:09:04 -04:00
Radek Simko 150fd00932 AWS account ID protection added 2015-04-20 12:07:39 +01:00
Clint bb4dd8ae77 Merge pull request #1137 from deverton/aws-go-vpn
provider/aws: Add Support For AWS VPN Gateways using aws-sdk-go
2015-03-19 16:12:17 -05:00
Peter Beams 810860ec37 fixing indentation 2015-03-06 16:39:00 +00:00
Dan Everton 4706ee7ffc Add acceptance test for aws_vpn_gateway resource. 2015-03-06 08:41:22 +10:00
Peter Beams 590a912cc9 first steps to add network interface 2015-03-03 01:33:42 +00:00
jba 101f801846 add aws_vpc_peering_connection 2015-02-12 10:45:29 +01:00
Paul Hinze 92335b742a provider/aws: aws_main_route_table_association
This resource allows an existing Route Table to be assigned as the
"main" Route Table of a VPC. This means that the Route Table will be
used for any subnets within the VPC without an explicit Route Table
assigned [1].

This is particularly useful in getting an Internet Gateway in place as
the default for a VPC, since the automatically created Main Route Table
does not have one [2].

Note that this resource is an abstraction over an association and does not
map directly to a CRUD-able object in AWS. In order to retain a coherent
"Delete" operation for this resource, we remember the ID of the AWS-created
Route Table and reset the VPC's main Route Table to it when this
resource is deleted.

refs #843, #748

[1] http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html#RouteTableDetails
[2] http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Internet_Gateway.html#Add_IGW_Routing
2015-02-03 13:47:43 -06:00
Seth Vargo 072a1cf353 Read the "standard" AWS environment variables
This is 100% backwards-compatible
2015-01-22 16:09:25 -05:00
Jeff Mitchell f2bd1f45ab Move duplicated envDefaultFunc out of each provider and into Schema. 2015-01-16 17:25:39 +00:00
Pete Hodgson 5b66b9306e add aws_key_pair resource
For now this only supports importing a key pair (by specifying a
public_key) property. In the future it'd be fairly trivial to support
key pair creation, with the private key returned as a computed property.

In real world usage you'd probably want to provide that public_key
property via a variable rather than hard-coding it into a terraform
config that'd end up in source control.
2014-12-18 01:27:06 -08:00
Sneha Somwanshi cebea04cce added provider for aws_network_acl 2014-11-26 19:12:39 +05:30
Sander van Harmelen 0725486e89 Refactored the last two resources 2014-11-24 14:04:48 +01:00
Sander van Harmelen eccd5ad308 Refactored about 90%
Still need to update 2 resources and check the acceptance tests, but
overall we’re nearly there 😃
2014-11-21 17:58:34 +01:00
Armon Dadgar e53bf23c0c provider/aws: Fixing merge conflict 2014-11-19 17:17:18 -08:00
Rob Costanzo de16b10555 Added new aws_db_parameter_group resource for creating RDS DB Parameter Groups.
Added plumbing to allow an optional DBParameterGroupName to be passed when creating an RDS DB instance.
2014-11-05 11:03:06 -08:00
Simon Turvey 31132f1ded Add tag support to AWS subnets 2014-11-02 12:30:33 -08:00
Mitchell Hashimoto b43cfa3bb0 providers/aws: launch configuration in helper/schema 2014-10-10 14:50:23 -07:00
Mitchell Hashimoto caaa9d145a providers/aws: convert autoscaling group to helper/schema 2014-10-10 14:34:40 -07:00
Mitchell Hashimoto 12ff354749 providers/aws: convert most of ELB to schema 2014-10-09 23:58:48 -07:00
Mitchell Hashimoto 699b2efa1c providers/aws: convert aws_vpc to helper/schema 2014-10-08 16:43:13 -07:00
Mitchell Hashimoto a7c321a028 helper/scheam: support UI defaults 2014-09-29 14:00:35 -07:00
Mitchell Hashimoto 99044a1f14 Add descriptions for AWS inputs 2014-09-29 13:30:28 -07:00
Eric Buth 4cd11e4091 AWS DB Subnet Group resource and testing 2014-09-15 14:58:04 -04:00
Mitchell Hashimoto 2317f7ea9b providers/aws: proper DefaultFunc to return nil if no env 2014-09-09 21:46:50 -07:00
Mitchell Hashimoto 6a275d7bd0 providers/aws: convert validation to helper/schema 2014-09-09 21:44:31 -07:00
Mitchell Hashimoto 2fd2470c92 providers/aws: resource_aws_instance partially to schema.Resource 2014-08-21 18:38:43 -07:00
Mitchell Hashimoto 89041c0595 providers/aws: resource_aws_security_group using helper/schema 2014-08-20 10:40:18 -07:00
Mitchell Hashimoto c4d261ac61 providers/aws: resource_aws_eip is in new framework 2014-08-19 16:56:23 -07:00
Mitchell Hashimoto 776bb22e4e providers/aws: create an empty schema.Provider 2014-08-19 15:40:48 -07:00