Commit Graph

578 Commits

Author SHA1 Message Date
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
Michael H. Oshita 1979d9b792 fix indent
align indentation with the rest of the code.
2015-03-19 03:45:32 +09:00
Clint dc4abb48fa Merge pull request #1195 from hashicorp/f-retire-goamz
provider/aws: Retire goamz
2015-03-16 08:42:40 -05:00
Joshua Lund 0d13cd1f54 Typo fix. 2015-03-13 17:37:05 -06:00
Clint Shryock cd15c9aaf9 clean up docs 2015-03-13 16:04:27 -05:00
Clint Shryock 2d62e55b0e Add note to Intergent Gateway resource on using depends_on 2015-03-13 15:39:17 -05:00
Clint Shryock 580b696e7f Strike 'goamz' from the repo' 2015-03-12 16:49:38 -05:00
Clint Shryock 64f7e6a19c Update website docs on AWS RDS encryption field 2015-03-11 13:37:56 -05:00
Sander van Harmelen d2c6ae0741 Merge pull request #1163 from svanharmelen/f-cloudstack-vpn-resources
provider/cloudstack: adding vpn resources
2015-03-09 17:50:12 +01:00
Sander van Harmelen bb7ef8db67 Adding tests and docs for the new VPN resources
And did some (very) minor refactoring in the existing docs
2015-03-09 14:00:29 +01:00
Jack Pearkes 26cc99bf3f website: add digitalocean ssh_key documentation
cc/ @plalloni
2015-03-06 10:00:41 -08:00
Radek Simko 30707dbd05 Locked dependencies updated to latest versions 2015-03-06 13:07:59 +00:00
Radek Simko c87ac6df04 Replace git:// with https:// in middleman source 2015-03-06 13:06:57 +00:00
Radek Simko 6e6369c7a4 vpc_peering docs added to sidebar 2015-03-06 07:55:38 +00:00
Mitchell Hashimoto 4306405af8 website: docs for new remote commands 2015-03-04 16:35:42 -08:00
Mitchell Hashimoto 23609a7af5 Merge pull request #1096 from hashicorp/f-sprintf
config: add "format' function [GH-758]
2015-03-04 16:05:25 -08:00
Paul Hinze 72d4ac73d3 Merge pull request #1103 from suguru/aws-block-device-iops
providers/aws: add iops to block devices
2015-03-04 12:02:10 -06:00
Mitchell Hashimoto 16cafe9d46 website; clarify where the args go for AWS [GH-853] 2015-03-03 17:35:54 -08:00
Mitchell Hashimoto 9efd20cd7c website: document MFA token for AWS [GH-390] 2015-03-03 17:31:45 -08:00
Mitchell Hashimoto 7f298d5951 website: note that terraform get is required [GH-706] 2015-03-03 17:28:41 -08:00
Mitchell Hashimoto 4ecc6188f6 website: note TF plugin name is important [GH-847] 2015-03-03 17:26:11 -08:00
Mitchell Hashimoto b4435e2c0d Merge pull request #1101 from yikaus/patch-1
website/docs: protocol value for all traffic should be -1
2015-03-03 08:45:30 -08:00
Sander van Harmelen 426fb2e457 Updating the docs so the represent the added feature
Adding info about the `managed` option for port forwards…
2015-03-03 13:51:22 +01:00
Suguru Namura 68efa3fc21 providers/aws: add iops to block devices 2015-03-03 15:57:08 +09:00
Kevin Yi 0e3f1a865e protocol value for all traffic should be -1
If it is all traffic instead of all tcp traffic , protocol should be equal -1 , otherwise indicate all tcp not all traffic
2015-03-03 10:33:54 +11:00
Mitchell Hashimoto bf43cabcc2 website: document format 2015-03-02 10:27:58 -08:00
Mitchell Hashimoto 68e4d346be website: doc replace 2015-03-02 09:40:24 -08:00
Mitchell Hashimoto ac6efa5e57 Merge pull request #1065 from hashicorp/f-taint
Add "taint" command
2015-02-26 23:55:20 -08:00
Jack Pearkes c21c766c3e website: route53 subdomain hosted zones example 2015-02-26 14:20:30 -08:00
Mitchell Hashimoto d411e2939f command/taint: -allow-missing 2015-02-26 10:56:45 -08:00
Mitchell Hashimoto d43c88f5f3 website: update docs for tainted 2015-02-26 10:45:39 -08:00
Mitchell Hashimoto fa9b655fd1 website: docs for tainted command 2015-02-26 10:37:08 -08:00
Jack Pearkes 0ee4e2b46c providers/dme: rename dnsmadeeasy package to dme
This package rename just makes one consistent name across the docs,
packages, and dirs.

cc/ @soniah
2015-02-25 15:54:22 -08:00
Jack Pearkes dfaa428728 Merge pull request #855 from soniah/dme
dme - DNSMadeEasy Provider
2015-02-25 14:38:38 -08:00
Clint Shryock d79b0d7fd1 provider/aws: Convert AWS DB Instance over to awslabs/aws-sdk-go
- Remove check on password for AWS RDS Instance
- Update documentation on AWS RDS Instance regarding DB Security Groups
- Change error handling to check error code from AWS API [ci skip]
2015-02-24 16:51:47 -06:00
Mitchell Hashimoto e2c912c53d website: update docs for self 2015-02-23 15:04:18 -08:00
Paul Hinze 4bc649e60c Merge pull request #1023 from sparkprime/sidebar
Add google resources to sidebar
2015-02-23 09:58:25 -06:00
Dave Cunningham 19af96bd87 Add google resources to sidebar 2015-02-22 20:44:00 -05:00
Mitchell Hashimoto 45a267111b Merge pull request #885 from brycekahle/split-func
config: add split function
2015-02-20 13:45:01 -08:00
Mitchell Hashimoto 3093268106 website: clarify lookup [GH-531] 2015-02-20 10:04:53 -08:00
Paul Hinze 73d20b4c58 providers/aws: add root_block_device to aws_instance
AWS provides a single `BlockDeviceMapping` to manage three different
kinds of block devices:

 (a) The root volume
 (b) Ephemeral storage
 (c) Additional EBS volumes

Each of these types has slightly different semantics [1].

(a) The root volume is defined by the AMI; it can only be customized
with `volume_size`, `volume_type`, and `delete_on_termination`.

(b) Ephemeral storage is made available based on instance type [2]. It's
attached automatically if _no_ block device mappings are specified, and
must otherwise be defined with block device mapping entries that contain
only DeviceName set to a device like "/dev/sdX" and VirtualName set to
"ephemeralN".

(c) Additional EBS volumes are controlled by mappings that omit
`virtual_name` and can specify `volume_size`, `volume_type`,
`delete_on_termination`, `snapshot_id`, and `encryption`.

After deciding to ignore root block devices to fix #859, we had users
with configurations that were attempting to manage the root block device chime
in on #913.

Terraform does not have the primitives to be able to properly handle a
single collection of resources that is partially managed and partially
computed, so our strategy here is to break out logical sub-resources for
Terraform and hide the BlockDeviceMapping inside the provider
implementation.

Now (a) is supported by the `root_block_device` sub-resource, and (b)
and (c) are still both merged together under `block_device`, though I
have yet to see ephemeral block devices working properly.

Looking into possibly separating out `ephemeral_block_device` and
`ebs_block_device` sub-resources as well, which seem like the logical
next step. We'll wait until the next big release for this, though, since
it will break backcompat.

[1] http://bit.ly/ec2bdmap
[2] http://bit.ly/instancestorebytype

Fixes #913
Refs #858
2015-02-18 13:15:11 -06:00
Mitchell Hashimoto 44c45994c8 Merge pull request #963 from julienba/master
providers/aws: vpc_peering_connection
2015-02-18 06:56:28 -08:00
jba 372035368f allow update 2015-02-18 10:45:12 +01:00
Mitchell Hashimoto 0feb29944c Merge pull request #856 from CashStar/aws_egress
provider/aws: adding support for egress rules in AWS Security Groups
2015-02-17 13:59:47 -08:00
Bryce Kahle fa8280a56c Add split docs 2015-02-17 13:24:34 -05:00
nevins-b b7238ca6f2 adding documentation 2015-02-17 13:23:10 -05:00
Mitchell Hashimoto c5e035361f Merge pull request #896 from bitglue/storage_type
provider/aws: Support storage_type parameter for aws_db_instance
2015-02-17 09:30:03 -08:00
Mitchell Hashimoto f63aa41d67 Merge pull request #897 from bitglue/apply_method
provider/aws: Implement apply_method for RDS parameters
2015-02-17 09:28:24 -08:00
Mitchell Hashimoto 1fa6141a39 Merge pull request #933 from egarbi/master
docs: Added missing line for aws_launch_configuration resource on AWS provider...
2015-02-17 09:24:50 -08:00