Commit Graph

1287 Commits

Author SHA1 Message Date
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
Paul Hinze a9de720a4e Merge pull request #1708 from hashicorp/f-elb-source-security-group
providers/aws: add source_security_group to elb
2015-04-30 16:10:02 -05:00
Clint 76e897fedb Merge pull request #1753 from hashicorp/f-aws-db-subnet-name
provider/aws: Fix refresh/plan issue with DB Param. Group name
2015-04-30 13:42:06 -05:00
Paul Hinze b99611fa44 provider/aws: allow key_pair name to be generated
As a module author, I'd like to be able to create a module that includes
a key_pair.  I don't care about the name, I only know I don't want it to
collide with anything else in the account.

This allows my module to be used multiple times in the same account
without having to do anything funky like adding a user-specified unique
name parameter.
2015-04-30 10:33:14 -05:00
Clint Shryock c006af9efe provider/aws: Fix refresh/plan issue with DB Param. Group name
Check against AWS with lowercase, but store in state unmodified.
2015-04-30 09:25:50 -05:00
TANABE Ken-ichi 53a7da379c provider/aws: Add acceptance tests for aws_proxy_protocol_policy 2015-04-30 17:56:46 +09:00
TANABE Ken-ichi 9df2bf68cb providers/aws: use isLoadBalancerNotFound 2015-04-30 17:56:46 +09: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 eb03f08454 aws: Add acceptance test for aws_customer_gateway. 2015-04-29 21:32:59 -04:00
Christopher Tiwald 2794a1c5ab aws: Add support for aws_customer_gateway 2015-04-29 21:32:51 -04:00
Clint daeaba5cd4 Merge pull request #1618 from hashicorp/b-aws-fix-vpc-security-id-update
provider/aws: Fix issue with updating VPC Security Group IDs for an Instance
2015-04-29 10:39:14 -05:00
Paul Hinze 950bd92837 Merge pull request #1633 from Banno/route53-zone-back-to-list
changing route53_zone.name_servers back to list
2015-04-29 10:38:59 -05:00
Clint Shryock 036d199dd6 provider/aws: Fix issue with updating VPC Security Group IDs for an Instance
Currently, we weren't correctly setting the ids, and are setting both
`security_groups` and `vpc_security_group_ids`. As a result, we really only use
the former.

We also don't actually update the latter in the `update` method.

This PR fixes both issues, correctly reading `security_groups` vs.
`vpc_security_group_ids` and allows users to update the latter without
destroying the Instance when in a VPC.
2015-04-29 10:03:57 -05:00
James Stremick e586d05a7d Remove some unecessary debug output I added 2015-04-29 10:21:28 -04:00
James Stremick 244639cf3d Remove some domain checking duplication 2015-04-29 10:21:28 -04:00
James Stremick b29e9d3b6f Allow assocation of EIP to ENI 2015-04-29 10:21:08 -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 77f6945ae7 Merge pull request #1662 from jgjay/elb-sgs-update
provider/aws: update elb security groups in-place
2015-04-28 20:30:00 -07:00
Mitchell Hashimoto b45cd2830f Merge pull request #1682 from mzupan/master
provider/aws: Don't re-do a ASG on a grace healthcheck grace period change
2015-04-28 20:26:00 -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
Mitchell Hashimoto 57af67b314 Merge pull request #1718 from ravenac95/encrypted-ebs-volume-fix
provider/aws: Fix connecting encrypted ebs volumes to aws_instances
2015-04-28 20:21:12 -07:00
Reuven V. Gonzales e8e42decc9 Added docs about m3.medium to tests 2015-04-28 15:19:31 -07:00
Reuven V. Gonzales 25ab54b4e3 Added tests to check for encrypted flag 2015-04-28 15:07:23 -07:00
Reuven V. Gonzales 4ef6d468e9 Actually sends ebs encrypted flag 2015-04-28 10:54:30 -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
Paul Hinze fc26f7a119 Merge pull request #1331 from tmtk75/dev/aws_ecache
provider/aws: resource ElastiCache
2015-04-28 10:00:25 -05:00
Paul Hinze e4e6ac5d91 providers/aws: add source_security_group to elb 2015-04-28 09:40:19 -05:00
Paul Hinze c748ce9c9e Merge pull request #1695 from aznashwan/commfix
Fixed/added docstrings in aws provider package.
2015-04-28 08:51:20 -05:00
Paul Hinze 120cfdce59 provider/aws: fix EIPs on new upstream sdk
As we've seen elsewhere, the SDK now wants nils instead of empty arrays
for collections

fixes #1696

thanks @jstremick for pointing me in the right direction
2015-04-27 19:55:26 -05:00
aznashwan d64dd99d4d Fixed/added docstrings in aws provider package. 2015-04-27 21:06:49 +03:00
Christopher Tiwald 99ce8cf25e aws: Add acceptance test of aws_app_cookie_stickiness_policy. 2015-04-26 18:56:56 -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 448fb4895f aws: Add acceptance test of aws_lb_cookie_stickiness_policy. 2015-04-26 18:05:40 -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
Mike Zupan 0177be2a66 need to update aws with the change if there is one 2015-04-25 20:00:04 -07:00
Mike Zupan 9fe6317348 don't need to create a new ASG for this change
Tested

```
aws_autoscaling_group.rabbit: Modifying...
  health_check_grace_period: "200" => "3000"
aws_autoscaling_group.rabbit: Modifications complete
```
2015-04-25 19:50:33 -07:00
Tomotaka Sakuma f3d9a287e1 support aws resource ElastiCache 2015-04-26 10:53:21 +09:00
Paul Hinze 37c693e8ce Merge pull request #1672 from PeopleNet/vpc_peering_tags
Fix for #1664. Apply AWS VPC Peering Conn. tags on create.
2015-04-25 09:37:28 -05:00
John Engelman c2fa397ec8 Fix for #1664. Apply AWS VPC Peering Conn. tags on create. 2015-04-24 16:12:20 -05:00
Trevor Pounds fe62312617 Fix comment typos. 2015-04-24 10:25:19 -07:00
Gavin James c986c65238 update security groups in-place 2015-04-23 20:57:37 +01:00
Henrik Hodne 769f456028 aws: add propagating_vgws to route tables 2015-04-23 15:03:45 +00:00
Luke Amdor fe2d9ea3cc sorting the name_server entries 2015-04-23 08:48:19 -05:00
Paul Hinze 10b73f95ae Merge pull request #1635 from hashicorp/b-net-acls-blank-id
providers/aws: network_acl, remove blank filter
2015-04-23 07:32:04 -05:00
Paul Hinze 69ef012dfc Merge pull request #1632 from hashicorp/f-generate-sg-names
unique identifier helper for resources / generate AWS security group names
2015-04-23 07:25:23 -05:00
Panagiotis Moustafellos 6bb8947d16 providers/aws: aws_elb incr. idle_timeout to 60s
per docs
http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/config-idle-timeout.html
2015-04-23 12:46:52 +03:00
Paul Hinze 6401635b97 providers/aws: network_acl, remove blank filter
The upstream behavior here changed, and the request needs a `nil`
instead of an empty slice to indicate that we _don't_ want to filter on
Network ACL IDs.

fixes #1634
2015-04-22 14:44:31 -05:00
Luke Amdor 6b5138328f changing route53_zone.name_servers back to list 2015-04-22 13:27:20 -05:00
Paul Hinze 079856620a provider/aws: set default SG description
because requiring a SG description is annoying
2015-04-22 13:27:20 -05:00
Paul Hinze 33de319293 provider/aws: allow SG names to be generated 2015-04-22 12:56:06 -05:00
Paul Hinze 94f703692c provider/aws: switch to helper for LC names 2015-04-22 12:53:47 -05:00
Mitchell Hashimoto c1464b1c6d Merge pull request #1623 from hashicorp/b-private-ip-ssh
providers/aws: if no public IP, use private IP for SSH by default
2015-04-22 16:02:04 +02:00
Mitchell Hashimoto 341b2ff864 Merge pull request #1625 from hashicorp/b-panic-network-acl
provider/aws: fix potential panic when finding network ACL
2015-04-22 16:01:57 +02:00
Mitchell Hashimoto f77f77f9f8 provider/aws: fix potential panic when finding network ACL 2015-04-22 12:39:01 +02:00
Mitchell Hashimoto 19b3fa1a76 provider/aws: allow int for network acl entry [GH-1435] 2015-04-22 12:35:23 +02:00
Mitchell Hashimoto ec38a65dda providers/aws: if no public IP, use private IP for SSH by default 2015-04-22 12:25:28 +02:00
Mitchell Hashimoto 8ca42f832e Merge pull request #1525 from Banno/route53-zone-nameservers
providers/aws: Expose Route53 zone nameservers for parent zone NS record
2015-04-22 12:10:27 +02:00
Mitchell Hashimoto 11e6e89f73 provider/aws: make tests public and run them 2015-04-22 08:44:24 +02:00
Mitchell Hashimoto 78f9fb164b provider/aws: fix compilation errors 2015-04-22 08:42:44 +02:00
Mitchell Hashimoto 887f1b3d12 Merge branch 'elb-connection-settings' of https://github.com/jwaldrip/terraform into jwaldrip-elb-connection-settings 2015-04-22 08:38:19 +02:00
Mitchell Hashimoto 70a0579a12 Merge pull request #1578 from TimeIncOSS/route53-weighted-records
provider/aws: Add support for weighted Route53 records
2015-04-22 08:33:28 +02:00
Mitchell Hashimoto 2cecd586c2 Merge pull request #1619 from jgjay/elb-listener-update
provider/aws: handle changes to elb listeners after creation
2015-04-22 08:24:36 +02:00
Mitchell Hashimoto b755459ee3 Merge pull request #1358 from rzh/placement_group
provider/aws: support for AWS Placement Group
2015-04-22 08:20:43 +02:00
Mitchell Hashimoto 2996a25ce0 Merge pull request #1597 from aocsolutions/fix_sg_refresh
provider/aws: more careful with pointers
2015-04-22 08:12:43 +02: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
Gavin James 81079bb6ac handle addition/update/removal of listeners after creation 2015-04-21 23:17:17 +01:00
Clint Shryock 0c5011bea4 provider/aws: Fix issue with empty IPRanges 2015-04-21 10:57:50 -05:00
Mitchell Hashimoto c8a8f05935 Merge pull request #1601 from bitglue/sts_token
provider/aws: support session token in AWS credentials
2015-04-20 15:01:29 -07:00
Matt Good 21b0a03d70 Support for multiple providers of the same type
Adds an "alias" field to the provider which allows creating multiple instances
of a provider under different names. This provides support for configurations
such as multiple AWS providers for different regions. In each resource, the
provider can be set with the "provider" field.

(thanks to Cisco Cloud for their support)
2015-04-20 14:14:34 -07: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
Nevins Bartolomeo 6da242de03 fixing sg refresh 2015-04-20 11:27:58 -04:00
Radek Simko 150fd00932 AWS account ID protection added 2015-04-20 12:07:39 +01:00
Mitchell Hashimoto 1c0f2f136c provider/aws: fix vet error, missing fmt param 2015-04-19 18:13:04 -07:00
Mitchell Hashimoto dda4ae6d12 Merge pull request #1555 from fatih/fix-eip-panic
providers/aws: check allocationId only if it's vpc, fixes #1345
2015-04-19 18:10:31 -07:00
Mitchell Hashimoto 283a3af693 Merge pull request #1576 from bitglue/s3_refresh
provider/aws: refresh state for deleted s3 bucket correctly
2015-04-18 16:40:12 -07:00
Radek Simko 009514f0d3 Allow using deprecated security_groups in NI spec 2015-04-17 21:26:17 +01:00
Clint Shryock eda987dcfb provider/aws: Fix issue when creating ELB with no tags 2015-04-17 14:00:27 -05:00
Radek Simko 555f9dfab3 aws: Support for weighted Route53 records added
- closes #1155
2015-04-17 18:53:36 +01:00
Phil Frost 47e1ec85f1 Refresh state for deleted s3 bucket correctly
If reading an S3 bucket's state, and that bucket has been deleted, don't
fail with a 404 error. Instead, update the state to reflect that the
bucket does not exist. Fixes #1574.
2015-04-17 13:30:31 -04:00
duncan e1ac4b9f90 Add Elastic Network Interfaces as route destination
Fixes #938
2015-04-17 13:22:31 -04:00
Luke Amdor c3f9c12426 Merge remote-tracking branch 'refs/remotes/origin/master' into route53-zone-nameservers 2015-04-17 10:11:53 -05:00
Clint Shryock d27a41746c clean up tags sdk lib 2015-04-16 15:31:40 -05:00
Clint Shryock 3e6822ce08 more cleans ups of SDK reference 2015-04-16 15:28:18 -05:00
Clint Shryock 79fc8223bb consolidate structure.go 2015-04-16 15:18:01 -05:00
Clint Shryock ba43b7c963 mass search-replace of ec2SDKconn 2015-04-16 15:05:55 -05:00
Clint Shryock 331f6705b8 providers/aws: cleanup of connections, upgrades network acl test 2015-04-16 15:02:04 -05:00
Clint Shryock c59bfd0ca5 Merge branch 'f-aws-upstream-s3'
* f-aws-upstream-s3:
  provider/aws: Conver AWS S3 to upstream sdk
2015-04-16 13:51:12 -05:00
Clint Shryock 1da9bc8f4c fix go formatting after rebase 2015-04-16 13:42:16 -05:00
Clint Shryock 1545dbb803 provider/aws: Convert Route 53 Zone, Record to upstream 2015-04-16 13:41:38 -05:00
Clint Shryock a5b2437dcf provider/aws: Convert Instance to use upstream library 2015-04-16 12:01:10 -05:00
Fatih Arslan 86810789c2 providers/aws: check allocationId only if it's vpc, fixes #1345
EIP with VPC only returns an allocationID. However, for standard we need
to lookup for PublicIP. When we use an example for standard EC2 instance
(here `t1.micro`):

```
resource "aws_instance" "example" {
    ami = "ami-25773a24"
    instance_type = "t1.micro"
}

resource "aws_eip" "ip" {
    instance = "${aws_instance.example.id}"
}

```

then in this case, allocationID will be nil, but publicIP will be non
nil (which is used later for association the IP).  So check for
allocationId only if it's of domain `VPC`.
2015-04-16 16:08:52 +03:00
Clint Shryock 7a99dd48b2 provider/aws: Convert Launch Configuration over to upstream
- removes extra ASG connection
2015-04-16 07:10:17 -05:00
Luke Amdor f8b05fa05e using a set for route53 name_servers 2015-04-15 16:10:02 -05:00
Luke Amdor 46d3ab5ccd rename delegation_set_name_servers to name_servers 2015-04-15 16:07:50 -05:00
Clint Shryock 210b380d01 go vet updates 2015-04-15 15:32:20 -05:00
Clint Shryock 723be13f96 go fmt asg things 2015-04-15 15:30:35 -05:00
Clint Shryock 1f7d0944f1 provider/aws: Convert AWS ASG to upstream aws-sdk-go 2015-04-15 15:29:59 -05:00
Clint e97fd27b14 Merge pull request #1539 from hashicorp/f-aws-instance-vpc-sec-ids
provider/aws: Add support for separate VPC Security Group IDs attribute
2015-04-15 15:25:03 -05:00
Clint Shryock 1ed2219493 don't capitalize IAM 2015-04-15 15:05:44 -05:00
Clint Shryock df45b2cda8 go fmt db things 2015-04-15 15:02:52 -05:00
Clint Shryock 470379e7ed connection naming cleanups 2015-04-15 14:36:08 -05:00
Clint Shryock 9187cab6ac provider/aws: Convert remaining RDS resources to use upstream library 2015-04-15 14:31:53 -05:00
Clint Shryock d579b4b75c provider/aws: Convert AWS RDS to use upstream aws-sdk-go 2015-04-15 14:28:02 -05:00
Clint 220f62eb72 Merge pull request #1532 from hashicorp/f-aws-upstream-elb
providers/aws: Conver AWS ELB to upstream
2015-04-15 14:16:24 -05:00
Clint 5a815efdbb Merge pull request #1531 from hashicorp/f-aws-upstream-vpn-gateway
provider/aws: Convert VPN Gateway to upstream
2015-04-15 14:15:03 -05:00
Clint Shryock 3337503eda update test and documentation for vpc ids in instances 2015-04-15 12:17:21 -05:00
Clint Shryock 97b98b1da6 Merge branch 'master' into f-aws-instance-vpc-sec-ids
* master: (511 commits)
  Update CHANGELOG.md
  core: avoid diff mismatch on NewRemoved fields during -/+
  Update CHANGELOG.md
  update CHANGELOG
  Fix minor error in index/count docs
  terraform: remove debug
  terraform: when pruning destroy, only match exact nodes, or exact counts
  up version for dev
  update CHANGELOG
  terraform: prune tainted destroys if no tainted in state [GH-1475]
  update CHANGELOG
  config/lang: support math on variables through implicits
  update CHANGELOG
  update cHANGELOG
  update cHANGELOG
  providers/aws: set id outside if/esle
  providers/aws: set ID after creation
  core: remove dead code from pre-deposed refactor
  website: update LC docs to note name is optional
  security_groups field expects a list of Security Group Group Names, not IDs
  ...
2015-04-15 12:12:17 -05:00
Clint Shryock dc54d6a852 refactor out a refresh fun that wasn't really used 2015-04-15 10:26:39 -05:00
Clint Shryock a3ffb6ea6e fix test failure 2015-04-15 09:43:43 -05:00
Luke Amdor b763294926 fixing string format 2015-04-14 16:51:58 -05:00
Clint Shryock 4186ec18c6 providers/aws: Conver AWS ELB to upstream 2015-04-14 16:41:36 -05:00
Clint Shryock 900dd4e151 provider/aws: Convert VPN Gateway to upstream 2015-04-14 15:45:48 -05:00
Luke Amdor eb43822f68 err-check the resource set 2015-04-14 14:54:38 -05:00
Luke Amdor 8f1acaf026 expose Route53 zone name servers 2015-04-14 14:17:01 -05:00
Clint Shryock 95026b6266 provider/aws: Convert AWS VPC Peering to upstream 2015-04-14 11:23:26 -05:00
Clint Shryock d4e7c2dedc provider/aws: Conver AWS S3 to upstream sdk 2015-04-14 11:07:05 -05:00
Mitchell Hashimoto 0eb69bcd37 Merge pull request #1518 from hashicorp/b-lc-id
providers/aws: set LC ID after creation
2015-04-14 08:23:31 -07:00
Mitchell Hashimoto 783d912b7c providers/aws: set id outside if/esle 2015-04-14 08:23:16 -07:00
Clint 0eecf070d9 Merge pull request #1489 from hashicorp/f-aws-upstream-route-table
provider/aws: Convert Route table and Route table association to upstream aws-sdk-go
2015-04-14 10:15:24 -05:00
Clint 85c4a134ad Merge pull request #1486 from hashicorp/f-aws-upstream-vpc
provider/aws: Convert AWS VPC to upstream aws-sdk-go
2015-04-14 10:14:56 -05:00
Mitchell Hashimoto f7a2f2a2e7 providers/aws: set ID after creation 2015-04-13 17:03:13 -07:00
Jason Waldrip 74bfbece69 Implement Additional ELB Connection Attributes 2015-04-13 14:14:26 -06:00
Clint Shryock 5394d91657 provider/aws: Convert Network ACL and helper library to upstream aws-sdk-go 2015-04-13 11:14:21 -05:00
Clint Shryock 53478c96de provider/aws: Convert AWS Main Route Table Association to upstream 2015-04-13 10:01:56 -05:00
Clint Shryock c89470a754 provider/aws: Convert Route table and Route table association to upstream aws-sdk-go 2015-04-10 17:09:36 -05:00
Clint Shryock 74bab7b89d provider/aws: Convert AWS VPC to upstream aws-sdk-go 2015-04-10 16:09:12 -05:00
Clint 9f56addf0c Merge pull request #1446 from hashicorp/f-aws-upstream-security-group
providers/aws: Convert AWS Security Group to upstream aws-sdk-go
2015-04-10 11:06:55 -05:00
Clint Shryock c160058baf provider/aws: Detect creds in AWS config 2015-04-09 17:06:22 -05:00
Clint Shryock 6ff9b0c776 provider/aws: Fix type mismatch issue with AWS RDS 2015-04-09 14:27:52 -05:00
Mitchell Hashimoto 6f82137875 provider/aws: fix potential panic on nil db name [GH-1460] 2015-04-09 11:19:33 -07:00
Mitchell Hashimoto 4e92b8c77f provider/aws: fix network ACL test, at some point we added a second rule 2015-04-09 10:45:22 -07:00
Paul Hinze 1118a86798 providers/aws: make acc test name match pattern 2015-04-09 12:33:20 -05:00
Mitchell Hashimoto d189457376 provider/aws: clean up VPC peering connection test 2015-04-09 10:18:50 -07:00
Clint 02c81c479d Merge pull request #1430 from hashicorp/b-aws-route53-record-update
provider/aws: Fix issue in updating Route 53 records on refresh/read.
2015-04-09 11:54:27 -05:00
Paul Hinze 4363ac4970 Merge pull request #1444 from hashicorp/b-launch-config-bugs
providers/aws: fix a few more bugs in launch configs
2015-04-09 10:24:18 -05:00
Paul Hinze bfb3134148 Merge pull request #1445 from hashicorp/b-ebs-perpetual-recreate-without-both-volume-fields
providers/aws: reduce scope of block_device set hashcodes
2015-04-09 10:24:07 -05:00
Clint Shryock ffdd20133a providers/aws: Convert AWS Security Group to upstream aws-sdk-go
Moves structure test lib too, to that `make test` actually runs it
2015-04-09 09:10:04 -05:00
Clint Shryock ef0a763c29 fix pointer references 2015-04-09 09:03:45 -05:00
Paul Hinze 34c7bbcf4d providers/aws: reduce scope of block_device set hashcodes
Fixes #1409

Resource set hash calculation is a bit of a devil's bargain when it
comes to optional, computed attributes.

If you omit the optional, computed attribute from the hash function,
changing it in an existing config is not properly detected.

If you include the optional, computed attribute in the hash and do not
specify a value for it in the config, then you'll end up with a
perpetual, unresolvable diff.

We'll need to think about how to get the best of both worlds, here, but
for now I'm switching us to the latter and documenting the fact that
changing these attributes requires manual `terraform taint` to apply.
2015-04-09 08:53:09 -05:00
Paul Hinze 8fccd9cec4 providers/aws: fix a few more bugs in launch configs
These bugs were found by additional check added in #1443

 * Reversed nil err check meant that block devices were broken :(
 * Fixing the err check revealed a few missed pointer derefs
 * Unlike instances, ephemeral block devices do come back in
   `BlockDeviceMappings` from `DescribeLaunchConfigurations` calls, so
   we need to recognize them and filter them properly. Even though
   they're not set as computed, I'm doing a `d.Set` since it doesn't
   hurt and it gives us the benefit of basic drift detection.
2015-04-09 08:36:18 -05:00
Radek Simko 947761f34f ec2/config: Use provided region instead of hardcoding us-west-2 2015-04-09 12:36:37 +01:00
Clint 5c3ec3ddcc Merge pull request #1411 from hashicorp/f-aws-upstream-network-interface
provider/aws: Convert AWS Network Interface to aws-sdk-go
2015-04-08 15:51:36 -05:00
Clint 8e25dcd4f6 Merge pull request #1408 from hashicorp/f-aws-upstream-eip
provider/aws: Convert EIP to use upstream aws-sdk-go
2015-04-08 15:51:18 -05:00
Clint 0f6ba3eae9 Merge pull request #1407 from hashicorp/f-aws-upstream-internet-gateway
Convert AWS Internet Gateway to use upstream aws-sdk-go
2015-04-08 15:51:10 -05:00
Clint 281825db76 Merge pull request #1398 from hashicorp/f-aws-upstream-subnet
provider/aws: Convert AWS Subnet to mainstream aws-sdk-go
2015-04-08 15:38:05 -05:00
Clint Shryock 3a5a3d8515 update test to pass on Travis 2015-04-08 15:27:48 -05:00
Clint abdfa450b2 Merge pull request #1397 from hashicorp/aws-upstream-keypair
provider/aws: Convert Key Pair to upstream aws-sdk-go
2015-04-08 15:21:58 -05:00
Clint 28f8dab87f Merge pull request #1396 from hashicorp/f-aws-route53record-add-update
provider/aws: Change Route 53 record to allow resource updates
2015-04-08 15:14:46 -05:00
Clint Shryock 22e487c5d0 surface error with setting records on Route 53 record 2015-04-08 14:01:00 -05:00
Clint Shryock 29a5d9fc1a Update how we expand/flatten TXT records for Route 53 2015-04-08 13:58:23 -05:00
Clint 9a3bc12cff Merge pull request #1415 from hashicorp/b-fix-route53-recorcd-zone
provider/aws: Fix issue with Route 53 and pre-existing, external Hosted zones
2015-04-08 09:38:59 -05:00
Clint Shryock f2b68c4ca8 provider/aws: Fix issue in updating Route 53 records on refresh/read.
Route 53 records were silently erroring out when saving the records returned
from AWS, because they weren't being presented as an array of strings like we
expected.
2015-04-08 09:06:15 -05:00
Clint Shryock 547080002c provider/aws: Fix issue with Route 53 and pre-existing, external Hosted Zones 2015-04-07 15:20:56 -05:00
Paul Hinze ee7ccb7908 providers/aws: fix LCs being invalid in classic
Turns out AssociatePublicIPAddress was always being set, but the AWS
APIs don't like that when you're launching into EC2 Classic and return a
validation error at ASG launch time.

Fixes #1410
2015-04-07 13:08:09 -05:00
Clint Shryock 6376ac2dab provider/aws: Convert AWS Network Interface to aws-sdk-go
Also adds sdk versions of structure, structure test
2015-04-07 12:07:12 -05:00
Clint Shryock a15547b955 provider/aws: Convert EIP to use upstream aws-sdk-go 2015-04-07 10:37:17 -05:00
Clint Shryock 2c1c448031 providers/aws: Convert AWS Internet gateway to upstream aws-sdk-go 2015-04-07 09:44:00 -05:00
Clint Shryock 6feba0bf36 migrate aws keypair test suite 2015-04-06 15:13:29 -05:00
Clint Shryock 0fbbd1195a provider/aws: Convert AWS Subnet to mainstream aws-sdk-go 2015-04-06 15:07:40 -05:00
Clint Shryock eb82f2bf2a provider/aws: Convert Key Pair to upstream aws-sdk-go 2015-04-06 12:22:57 -05:00
Clint 23c0fb7695 Merge pull request #1384 from hashicorp/b-aws-fix-route53-hosted-refresh
provider/aws: Fix refresh issue in Route 53 hosted zone
2015-04-06 11:11:07 -05:00
Clint fa2d41ef55 Merge pull request #1234 from hashicorp/b-fix-aws-subnet-map-public-change
provider/aws: Fix issue when changing map-public-ip in Subnets
2015-04-06 11:03:45 -05:00
Clint 008012b7a6 Merge pull request #1382 from hashicorp/f-aws-rds-updates
provider/aws: Support additional changes to RDS without forcing new
2015-04-06 10:59:57 -05:00
Paul Hinze 6726309947 Fix string typo 2015-04-06 10:51:30 -05:00
Paul Hinze c2b293d047 Fix comment typo 2015-04-06 10:45:02 -05:00
Clint Shryock c5eb16cfb1 provider/aws: Change Route 53 record to allow resource updates
This removes `ForceNew` from `records` and `ttl`, and introduces a
`resourceAwsRoute53RecordUpdate` function. The `resourceAwsRoute53RecordUpdate`
falls through to the `resourceAwsRoute53RecordCreate` function, which utilizes
AWS `UPSERT` behavior and diffs for us.

`Name` and `Type` are used by AWS in the `UPSERT`, so only records with matching
`name` and `type` can be updated. Others are created as new, so we leave the
`ForceNew` behavior here.
2015-04-06 10:16:23 -05:00
Clint Shryock f02de51d58 provider/aws: Fix refresh issue in Route 53 hosted zone
Change the error handling/detection to correctly determine no hosted zone
exists.
2015-04-03 13:59:34 -05:00
Paul Hinze 9a91e1021a providers/aws: don't force update for existing launch configs
These changes should fix #1367:

 * `ebs_optimized` gets `Computed: true` and set from `Read`
 * `ephemeral_block_device` loses `Computed: true`
 * explicitly set `root_block_device` to empty from `Read`

While I was in there (tm):

 * Send pointers to `d.Set` so we can use its internal nil check.
2015-04-03 12:58:49 -05:00
Paul Hinze b0abb4ea49 Merge pull request #1379 from hashicorp/f-validate-forcenew-on-resources-without-update
helper/schema: ensure ForceNew set when Update is not
2015-04-03 12:53:55 -05:00
Clint Shryock 961a646b9a provider/aws: Support additional changes to RDS without forcing a new resource 2015-04-03 12:23:01 -05:00
Paul Hinze 66dbf91ffd helper/schema: ensure ForceNew set when Update is not
If a given resource does not define an `Update` function, then all of
its attributes must be specified as `ForceNew`, lest Applys fail with
"doesn't support update" like #1367.

This is something we can detect automatically, so this adds a check for
it when we validate provider implementations.
2015-04-03 09:57:30 -05:00
Clint Shryock 268f935386 provider/aws: Fix issue finding db subnets
AWS seems to lower case DB Subnet Group names, causing a failure in TF if your
name isn't all lower case.
2015-04-03 09:34:04 -05:00
Paul Hinze cedfadc808 Merge pull request #1352 from hashicorp/b-rds-pointers
providers/aws: pass pointers directly to d.Set in RDS
2015-04-02 12:41:31 -05:00
Jason Waldrip f77250f17d block device support for launch configurations
- mimics block device support from AWS instance
 - splits the acceptance tests out so they all pass, handling a FIXME
   from #1079
2015-04-02 12:34:13 -05:00
Paul Hinze f8a699f3d8 Merge pull request #1079 from bobtfish/launch_configuration_computed_names
RFC for making launch configuration names computed.
2015-04-02 12:10:22 -05:00
Clint Shryock 87e1260fac update hash for aws security group test 2015-04-02 09:00:47 -05:00
Rui Zhang 94bb3ed513 Support for AWS Placement Group
- add placement_group for aws instance
- update test and document
2015-04-01 23:33:16 -07:00
Clint Shryock c7282d6a94 provider/aws: Change AWS Subnet map ip on launch to default false, from computed 2015-04-01 16:27:12 -05:00
Clint Shryock 85c0910165 Merge remote-tracking branch 'upstream/master' into b-fix-aws-subnet-map-public-change
* upstream/master: (295 commits)
  Update CHANGELOG.md
  provider/aws: Allow DB Parameter group to change in RDS
  return error if failed to set tags on Route 53 zone
  core: [tests] fix order dependent test
  Fix hashcode for ASG test
  provider/aws: Fix issue with tainted ASG groups failing to re-create
  Don't error when reading s3 bucket with no tags
  Avoid panics when DBName is not set
  Add floating IP association in aceptance tests
  Use env var OS_POOL_NAME as default for pool attribute
  providers/heroku: Add heroku-postgres to example
  docs: resource addressing
  providers/heroku: Document environment variables
  providers/heroku: Add region to example
  Bugfix on floating IP assignment
  Update CHANGELOG.md
  update CHANGELOG
  website: note on docker
  core: formalize resource addressing
  core: fill out context tests for targeted ops
  ...
2015-04-01 16:24:38 -05:00
Clint Shryock b31a69fe43 provider/aws: Allow DB Parameter group to change in RDS 2015-04-01 16:05:19 -05:00
Clint Shryock 261faaf3d2 Merge branch 'master' into f-rds-update
* master: (167 commits)
  return error if failed to set tags on Route 53 zone
  core: [tests] fix order dependent test
  Fix hashcode for ASG test
  provider/aws: Fix issue with tainted ASG groups failing to re-create
  Don't error when reading s3 bucket with no tags
  Avoid panics when DBName is not set
  Add floating IP association in aceptance tests
  Use env var OS_POOL_NAME as default for pool attribute
  providers/heroku: Add heroku-postgres to example
  docs: resource addressing
  providers/heroku: Document environment variables
  providers/heroku: Add region to example
  Bugfix on floating IP assignment
  Update CHANGELOG.md
  update CHANGELOG
  website: note on docker
  core: formalize resource addressing
  core: fill out context tests for targeted ops
  core: docs for targeted operations
  core: targeted operations
  ...
2015-04-01 15:28:35 -05:00
Clint Shryock 6be66612b5 Merge remote-tracking branch 'upstream/master' into f-aws-rds-tags
* upstream/master:
  return error if failed to set tags on Route 53 zone
  cleanups
  provider/aws: Finish Tag support for Route 53 zone
  provider/aws: Add tags to Route53 hosted zones
2015-04-01 14:58:04 -05:00
Clint Shryock 815b79753a return error if failed to set tags on Route 53 zone 2015-04-01 14:49:50 -05:00
Clint Shryock a4f72dc8ee Merge branch 'master' into f-aws-route53zone-tags
* master: (172 commits)
  core: [tests] fix order dependent test
  Fix hashcode for ASG test
  provider/aws: Fix issue with tainted ASG groups failing to re-create
  Don't error when reading s3 bucket with no tags
  Avoid panics when DBName is not set
  Add floating IP association in aceptance tests
  Use env var OS_POOL_NAME as default for pool attribute
  providers/heroku: Add heroku-postgres to example
  docs: resource addressing
  providers/heroku: Document environment variables
  providers/heroku: Add region to example
  Bugfix on floating IP assignment
  Update CHANGELOG.md
  update CHANGELOG
  website: note on docker
  core: formalize resource addressing
  core: fill out context tests for targeted ops
  core: docs for targeted operations
  core: targeted operations
  user_data support
  ...
2015-04-01 14:23:32 -05:00
Clint Shryock d16492a962 Merge branch 'master' into f-aws-rds-tags
* master: (172 commits)
  core: [tests] fix order dependent test
  Fix hashcode for ASG test
  provider/aws: Fix issue with tainted ASG groups failing to re-create
  Don't error when reading s3 bucket with no tags
  Avoid panics when DBName is not set
  Add floating IP association in aceptance tests
  Use env var OS_POOL_NAME as default for pool attribute
  providers/heroku: Add heroku-postgres to example
  docs: resource addressing
  providers/heroku: Document environment variables
  providers/heroku: Add region to example
  Bugfix on floating IP assignment
  Update CHANGELOG.md
  update CHANGELOG
  website: note on docker
  core: formalize resource addressing
  core: fill out context tests for targeted ops
  core: docs for targeted operations
  core: targeted operations
  user_data support
  ...
2015-04-01 14:21:57 -05:00
Paul Hinze 78963fc3d9 providers/aws: fix/improve RDS pointers handling
* d.Set has a pointer nil check we can lean on
* need to be a bit more conservative about nil checks on nested structs;
  (this fixes the RDS acceptance tests)

/cc @fanhaf
2015-04-01 11:32:17 -05:00
Clint Shryock 3f5829dc78 Merge branch 'f-aws-asg-fix-drain-delete'
* f-aws-asg-fix-drain-delete:
  Fix hashcode for ASG test
2015-04-01 10:47:09 -05:00
Clint Shryock 84e448de1a Fix hashcode for ASG test 2015-04-01 10:42:53 -05:00
Clint 9d91c806fc Merge pull request #1353 from hashicorp/f-aws-asg-fix-drain-delete
provider/aws: Fix issue with tainted ASG groups failing to re-create
2015-04-01 10:20:58 -05:00
Clint Shryock 3d65998282 provider/aws: Fix issue with tainted ASG groups failing to re-create 2015-04-01 09:24:26 -05:00
Paul Hinze 85c89c3ec6 Merge pull request #1350 from fanhaf/panic_DBName_null
Provider/AWS: RDS - Avoid panics when DBName is not set
2015-04-01 09:02:52 -05:00
Phil Frost 27f0873de7 Don't error when reading s3 bucket with no tags
s3.GetBucketTagging returns an error if there are no tags associated
with a bucket. Consequently, any configuration with a tagless s3 bucket
would fail with an error, "the TagSet does not exist".

Handle that error more appropriately, interpreting it as an empty set of
tags.
2015-04-01 08:57:50 -04:00
Michał Guminiak dc67b043fa Avoid panics when DBName is not set
provider/aws: The DBName in RDS instance is optional and when
not set, the Read function return null.
2015-04-01 14:43:05 +02:00
Clint Shryock e485767694 provider/aws: Add non-destructive updates to AWS RDS
This introduces non-destructive, in-place upgrades to MultiAZ and Engine Version
attributes of AWS RDS instances.
2015-03-31 09:41:37 -05:00
Clint Shryock a897b5208e Merge branch 'f-aws-rds-tags' into f-rds-update
* f-aws-rds-tags:
  fix index out of range error
  fix formatting
  upgrade VPC Ids and DB Subnet to be optionally computed
  fix typo
  provider/aws: Introduce IAM connection
2015-03-30 15:19:35 -05:00
Clint Shryock 755f8d0f44 provider/aws: Fix acceptance test checks for AWS Security Group 2015-03-30 14:54:03 -05:00
Paul Hinze f2968b045c Merge pull request #1316 from hashicorp/b-empty-instancestate-state-migrate-crash
providers/aws: handle empty instancestate in state migration
2015-03-29 08:53:04 -05:00
Clint Shryock ce8ec26d08 cleanups 2015-03-27 16:05:54 -05:00
Clint Shryock 12585b1963 provider/aws: Finish Tag support for Route 53 zone 2015-03-27 15:41:42 -05:00
Clint Shryock 3ce5b6cd70 Merge branch 'master' into f-aws-route53zone-tags
* master:
  provider/aws: Fix dependency violation when deleting Internet Gateways
  command/remote-config: failing tests
  update CHANGELOG
  command/remote-config: do a pull with `terraform remote config`
  command/remote-{pull,push}: colorize and show success output
  command/remote-config: lowercase the type so that Atlas works, for example
  command/remote-config: show flag parse errors
  command/remote-config: remove weird error case that shows no error message
  command: when setting up state, only write back if local is newer
2015-03-27 13:57:33 -05:00
Clint Shryock 38c386487b Merge branch 'master' into f-aws-rds-tags
* master: (66 commits)
  provider/aws: Fix dependency violation when deleting Internet Gateways
  command/remote-config: failing tests
  update CHANGELOG
  command/remote-config: do a pull with `terraform remote config`
  command/remote-{pull,push}: colorize and show success output
  command/remote-config: lowercase the type so that Atlas works, for example
  command/remote-config: show flag parse errors
  command/remote-config: remove weird error case that shows no error message
  command: when setting up state, only write back if local is newer
  minor code cleanups to get acceptance tests passing
  update CHANGELOG
  providers/digitalocean: add dot in GET response
  providers/digitalocean: force fqdn in dns rr value
  update CHANGELOG
  small code cleanup
  Add proper reading/updating of tags for S3
  provider/aws: Add tags to S3
  Documentation for ASG Tags added
  Tags support added for AWS ASG
  command/output: don't panic if no root module in state [GH-1263]
  ...
2015-03-27 13:49:05 -05:00
Clint Shryock 043a4848ee provider/aws: Fix dependency violation when deleting Internet Gateways 2015-03-27 11:39:07 -05:00
Clint Shryock b64a919d83 provider/aws: Add tags to Route53 hosted zones 2015-03-26 16:45:23 -05:00
Clint 340863b6cc Merge pull request #1312 from hashicorp/f-aws-s3-tags
provider/aws: Add tags to S3
2015-03-26 15:15:54 -05:00
Clint 1b22f206fb Merge pull request #1279 from hashicorp/b-route53-record-fixes
provider/aws: Cleanup Route 53 subdomain name handling
2015-03-26 15:15:31 -05:00
Clint Shryock deda59b50e minor code cleanups to get acceptance tests passing 2015-03-26 14:49:15 -05:00
Clint Shryock 877eb902a0 Merge branch 'master' into time-asg-tags-support
* master:
  update CHANGELOG
  providers/digitalocean: add dot in GET response
  providers/digitalocean: force fqdn in dns rr value
  update CHANGELOG
  Add disk size to google_compute_instance disk blocks.
  'project' should be set to the project's ID, not its name.
  Don't error when enabling DNS hostnames in a VPC
  Correct AWS VPC or route table read functions
  Updates to GCE Instances and Instance Templates to allow for false values to be set for the auto_delete setting.
  Update GCE Instance Template tests now that existing disk must exist prior to template creation.
  Update Google API import to point to the new location.
  add network field to the network_interface
2015-03-26 13:47:46 -05:00
Paul Hinze f51fb5e127 providers/aws: handle empty instancestate in state migration
fixes #1309
2015-03-26 13:07:04 -05:00
Mitchell Hashimoto 944ff16d4e Merge branch 'vpc_missing' of https://github.com/bitglue/terraform into bitglue-vpc_missing
Conflicts:
	builtin/providers/aws/resource_aws_vpc.go
2015-03-26 10:17:14 -07:00
Clint Shryock 1b699aae7d small code cleanup 2015-03-26 11:58:20 -05:00
Clint Shryock be60d39b24 Add proper reading/updating of tags for S3 2015-03-26 11:45:16 -05:00
Clint Shryock c6d832333b provider/aws: Add tags to S3 2015-03-26 11:19:42 -05:00
Radek Simko fff05e2aad Tags support added for AWS ASG 2015-03-26 07:35:15 +00:00
Paul Hinze 396b082c20 Merge pull request #1304 from hashicorp/b-aws-vpc-modify-attr-req
providers/aws: fix DNS options on VPC
2015-03-25 16:24:13 -05:00
Paul Hinze cddb057f40 providers/aws: fix DNS options on VPC
One typo on a `d.Get` and reuse of the request object was making it sad.

Now it is happy!

fixes #1301
2015-03-25 15:15:32 -05:00
Paul Hinze 6b02cfb700 Merge pull request #1277 from hashicorp/f-aws-derive-root-device-name
providers/aws: derive instance root_block_device name
2015-03-25 15:15:05 -05:00
Clint Shryock 89854b0af5 fix index out of range error 2015-03-25 11:10:12 -05:00
Clint Shryock 398f4564c4 fix formatting 2015-03-25 10:32:54 -05:00
Clint Shryock 65ff5b327d upgrade VPC Ids and DB Subnet to be optionally computed 2015-03-25 10:14:45 -05:00
Clint Shryock 676f3c5bab fix typo 2015-03-25 10:05:15 -05:00
Clint Shryock 87907e24ba provider/aws: Introduce IAM connection 2015-03-24 15:47:22 -05:00
Clint Shryock ef094e2cfe provider/aws: Add tag support to ELB 2015-03-24 13:37:42 -05:00
Clint Shryock 32eebf4e15 provider/aws: Cleanup Route 53 subdomain name handling 2015-03-23 15:01:53 -05:00
Paul Hinze a4e80b6313 providers/aws: derive instance root_block_device name
I was working on building a validation to check the user-provided
"device_name" for "root_block_device" on AWS Instances, when I realized
that if I can check it, I might as well just derive it automatically!

So that's what we do here - when you customize the details of the root
block device, device name is just comes from the selected AMI.
2015-03-23 11:58:45 -05:00
Clint 55d682482a Merge pull request #1274 from TimeIncOSS/modifiers-fix
Fix fmt modifiers for bool to be actually bool, not integer
2015-03-23 10:56:23 -05:00
Radek Simko bbda2d6733 Fix fmt modifiers for bool to be actually bool, not integer 2015-03-22 13:33:17 +00:00
Phil Frost b49fba6b61 Don't error when enabling DNS hostnames in a VPC
The AWS API call ModifyVpcAttribute will allow only one attribute to be
modified at a time. Modifying both results in the error:

    Fields for multiple attribute types specified: enableDnsHostnames, enableDnsSupport

Retructure the provider to honor this restriction.

Also, enable DNS support before attempting to enable DNS hostnames,
since the former is a prerequisite of the latter.

Additionally, fix what must have been a copy&paste error, setting
enable_dns_support to the value of enable_dns_hostnames.
2015-03-20 14:49:50 -04:00
Phil Frost 9545f26fa0 Correct AWS VPC or route table read functions
If the state file contained a VPC or a route table which no longer
exists, Terraform would fail to create the correct plan, which is to
recreate them.

In the case of VPCs, this was due to incorrect error handling. The AWS
SDK returns a aws.APIError, not a *aws.APIError on error.  When the VPC
no longer exists, upon attempting to refresh state Terraform would
simply exit with an error.

For route tables, the provider would recognize that the route table no
longer existed, but would not make the appropriate call to update the
state as such. Thus there'd be no crash, but also no plan to re-create
the route table.
2015-03-20 13:38:41 -04:00
Clint Shryock f97343dea1 provider/aws: Fix issue in AWS AutoScaling Group where health_check_type is not set correctly 2015-03-20 10:11:12 -05:00
Clint Shryock c48a5bf42b provider/aws: Fix DB Subnet refresh issue 2015-03-19 16:45:07 -05: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
Clint Shryock 1ccfcb5e3d Merge remote-tracking branch 'upstream/master'
* upstream/master:
  provider/aws: Fix dependency violation with subnets and security groups
2015-03-19 16:01:15 -05:00
Clint Shryock a8c80a447e Merge branch 'b-fix-route53-txt-records'
* b-fix-route53-txt-records:
  provider/aws: Fix issue with Route53 and TXT records
  provider/aws: Add test for TXT route53 record
2015-03-19 15:47:20 -05:00
Clint 3cbc8899b5 Merge pull request #1252 from hashicorp/fix-subnet-sg-dependency-violation
provider/aws: Fix dependency violation with subnets and security groups
2015-03-19 15:39:57 -05:00
Clint Shryock 3d8005729d provider/aws: Fix dependency violation with subnets and security groups
Though not directly connected, trying to delete a subnet and security group in
parallel can cause a dependency violation from the subnet, claiming there are
dependencies.

This commit fixes that by allowing subnet deletion to tolerate failure with a
retry / refresh function.

Fixes #934
2015-03-19 15:10:49 -05:00
Paul Hinze 5e1de9d930 Merge pull request #1250 from hashicorp/b-block-devices
providers/aws: fix bug w/ empty block dev mapping
2015-03-19 13:21:08 -05:00
Paul Hinze 6c62e23829 providers/aws: fix bug w/ empty block dev mapping
fixes #1249
2015-03-19 13:14:31 -05:00
Paul Hinze f990c3b02b providers/aws: fix blockdevices acceptance test
hashcodes just needed updating from latest hash func tweaks
2015-03-19 11:40:48 -05:00
Clint 21fa3d1fc9 Merge pull request #1210 from hashicorp/b-add-guards-aws-instance
provider/aws: Add additional guards for Tenancy, SourceDestCheck
2015-03-19 11:20:14 -05:00