Commit Graph

3799 Commits

Author SHA1 Message Date
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
Clint 75837beb3d Merge pull request #1262 from hashicorp/b-aws-asg-fix-health-check-type
provider/aws: Fix issue in AWS AutoScaling Group and health_check_type
2015-03-23 08:56:56 -05:00
Radek Simko bbda2d6733 Fix fmt modifiers for bool to be actually bool, not integer 2015-03-22 13:33:17 +00:00
Nolan Darilek 85fc1bca33 'project' should be set to the project's ID, not its name. 2015-03-21 09:16:16 -05: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 d3135c1b2b Merge pull request #1254 from hashicorp/b-fix-db-subnet-refresh
provider/aws: Fix DB Subnet refresh issue
2015-03-20 09:02:57 -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
Clint Shryock a063ebe992 provider/aws: Update tag support in AWS Elastic Network Interfaces 2015-03-19 11:07:01 -05:00
Clint df514c9003 Merge pull request #1149 from peterbeams/master
Support AWS Elastic Network Interfaces (ENI)
2015-03-19 11:04:30 -05:00
Clint Shryock c1ccbb5c7d provider/aws: Add VPC guards for Tenancy, SourceDestCheck 2015-03-19 10:07:46 -05:00
Paul Hinze 5fca25ae5e providers/aws: remove commented code
oopsie!
2015-03-19 09:19:10 -05:00
Paul Hinze 46b63074e0 Merge pull request #1045 from hashicorp/f-block-devices
providers/aws: rework instance block devices
2015-03-19 09:09:45 -05:00
Paul Hinze 2b23c402ee providers/aws: rework instance block devices
Instance block devices are now managed by three distinct sub-resources:

 * `root_block_device` - introduced previously
 * `ebs_block_device` - all additional ebs-backed volumes
 * `ephemeral_block_device` - instance store / ephemeral devices

The AWS API support around BlockDeviceMapping is pretty confusing. It's
a single collection type that supports these three members each of which
has different fields and different behavior.

My biggest hiccup came from the fact that Instance Store volumes do not
show up in any response BlockDeviceMapping for any EC2 `Describe*` API
calls. They're only available from the instance meta-data service as
queried from inside the node.

This removes `block_device` altogether for a clean break from old
configs. New configs will need to sort their `block_device`
declarations into the three new types. The field has been marked
`Removed` to indicate this to users.

With the new block device format being introduced, we need to ensure
Terraform is able to properly read statefiles written in the old format.
So we use the new `helper/schema` facility of "state migrations" to
transform statefiles in the old format to something that the current
version of the schema can use.

Fixes #858
2015-03-19 09:03:41 -05:00
Mitchell Hashimoto f84ae29cf8 config: isTemporaryFile -> isIgnoredFile 2015-03-19 09:51:14 +01:00
Mitchell Hashimoto 49f850f13b update CHANGELOG 2015-03-19 09:50:38 +01:00
Mitchell Hashimoto 56b25399b4 Merge pull request #1227 from TimeIncOSS/ignore-hidden
config: ignore hidden files when autoloading *.tf per Unix conventions
2015-03-19 09:49:22 +01:00
Dan Everton 8ebbaf550c Fixes for goamz removal. 2015-03-19 11:14:41 +10:00
Dan Everton f7289599cc Merge branch 'master' into aws-go-vpn 2015-03-19 11:03:48 +10:00
Paul Hinze 3ba8ed536b helper/schema: record schema version on apply
We were previously only recording the schema version on refresh. This
caused the state to be incorrectly written after a `terraform apply`
causing subsequent commands to run the state through an unnecessary
migration.
2015-03-18 19:08:48 -05:00
Clint eadc44d5f7 Merge pull request #1223 from hashicorp/b-fix-ingress-self-ommission
provider/aws: Fix issue with ignoring the 'self' attribute of a Security Group rule
2015-03-18 16:42:17 -05:00
Mitchell Hashimoto e84711b460 providers/aws: more classic-mode fixes for instance
/cc @catsby - Just a quick note to be careful about checking the nil of
a field before cehcking the value (see the subnetid check), to avoid
panics
2015-03-18 20:54:44 +01:00
Mitchell Hashimoto 50c49396f4 providers/aws: only set instance tenancy if its set
/cc @clint
2015-03-18 20:48:39 +01:00
Mitchell Hashimoto c57325fc5f Merge pull request #1241 from ijin/patch-1
website: fix indent
2015-03-18 20:38:10 +01:00
Michael H. Oshita 1979d9b792 fix indent
align indentation with the rest of the code.
2015-03-19 03:45:32 +09:00
David Watson 988da2f90b Updates to GCE Instances and Instance Templates to allow for false values to be set for the auto_delete setting. 2015-03-18 17:50:03 +00:00
David Watson c675c20a48 Update GCE Instance Template tests now that existing disk must exist prior to template creation. 2015-03-18 17:42:03 +00:00
David Watson 33496eeaf8 Update Google API import to point to the new location. 2015-03-18 17:10:39 +00:00
Clint fd1514dfaf Merge pull request #1225 from hashicorp/b-fix-db-parameter-group-cases
provider/aws: Fixes issue 886 in DB Parameter group
2015-03-18 11:01:04 -05:00
Paul Hinze 5b84f011dd Merge pull request #1231 from hashicorp/b-instance-user-data-test-fix
providers/aws: fix TestAccAWSInstance_normal
2015-03-18 09:00:37 -05:00
Paul Hinze ca6f6a1e14 providers/aws: fix TestAccAWSInstance_normal
The test just needed updated SHAs for user_data.
2015-03-18 08:57:41 -05:00
Mitchell Hashimoto d823a8cf81 providers/aws: fix security group self ingress rules on EC2-classic 2015-03-18 13:47:59 +00:00
Radek Simko f794f30b7d Ignore hidden files per Unix conventions 2015-03-18 07:50:33 +00:00
Clint Shryock f74e68ea46 provider/aws: Fixes issue 886 in DB Parameter group 2015-03-17 17:22:30 -05:00
Paul Hinze 18a83347b5 Merge pull request #1224 from hashicorp/b-consul-scheme
state/remote: allow https consul addresses
2015-03-17 17:21:48 -04:00
Clint 5992e5b2ae Merge pull request #1222 from hashicorp/b-fix-route53-wildcard-record
provider/aws: Fix wildcard support in Route53 record
2015-03-17 16:12:24 -05:00
Paul Hinze 0a24e72c3b state/remote: allow https consul addresses
Sending state over a cleartext protocol is bad in untrusted networks.
Expose `-backend-config="scheme=https"` and wire it through to the
Consul client.
2015-03-17 17:11:35 -04:00
Clint Shryock 7034619863 provider/aws: Fix issue where we ignored the 'self' attribute of a security group rule 2015-03-17 15:48:10 -05:00
Clint Shryock 49e6c8fd87 provider/aws: Fix wildcard support in Route53 record
Fixes a bug in Route53 and wildcard entries. Refs #501.
Also fixes:
- an issue in the library where we don't fully wait for the results, because the
  error code/condition changed with the migration to aws-sdk-go
- a limitation in the test, where we only consider the first record returned
2015-03-17 14:57:45 -05:00