Commit Graph

182 Commits

Author SHA1 Message Date
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
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
Paul Hinze fad6f69071 Revert "Add Azure provider"
This reverts commit f561e2a6a8.
2015-02-13 12:53:01 -06:00
Paul Hinze edaed1fa77 Merge pull request #966 from TimeInc/ig-tags-docs
Add docs for AWS IG tags
2015-02-13 12:34:50 -06:00
jba 101f801846 add aws_vpc_peering_connection 2015-02-12 10:45:29 +01:00
Radek Simko 3366f1924f Add docs for AWS IG tags 2015-02-11 13:33:59 +00:00
Dave Cunningham 66ad26f19a Merge branch 'master' into oauth2 2015-02-11 00:37:13 -05:00
jba 3b0b41c9a1 allow vpc_peering_connection_id in aws_route_table 2015-02-10 17:50:29 +01:00
Phil Frost 81b5c238ef Clarify usage of `aws_elb`
Address confusion regarding ELB in VPC or EC2-classic. See #958.
2015-02-10 11:13:54 -05:00
Paul Hinze 448edd1a83 Merge pull request #959 from BashtonLtd/gce_instance_template
GCE instance template support
2015-02-10 08:57:45 -06:00
David Watson 7df536345c Add docs for google Instance Template. 2015-02-10 10:41:21 +00:00
Dave Cunningham 26b90c10a0 Merge branch 'master' into gcp_image 2015-02-10 03:25:45 -05:00
Dave Cunningham e898daf573 Merge branch 'master' into oauth2 2015-02-09 20:07:36 -05:00
Paul Hinze 6e27da8c47 Merge pull request #937 from sparkprime/pr_network_interface
Deprecated 'network', introduce 'network_interface'
2015-02-09 18:49:56 -06:00
Julien Vey 33eebbed51 provider/gce: Add description in firewall resource 2015-02-06 13:33:02 +01:00
Dave Cunningham b385093502 Deprecated 'network', introduce 'network_interface' 2015-02-06 03:21:22 -05:00
Enrique Garbi 2b3015f66a Added missing line for aws_launch_configuration resource on AWS provider docs 2015-02-05 17:05:14 +00:00
Paul Hinze f852a01c22 providers/aws: docs for aws_main_route_table_association 2015-02-03 15:13:15 -06:00
Paul Hinze 44759903fa Merge pull request #895 from hashicorp/588-gcp-improvements
Multiple gcp improvements and new resources
2015-01-30 16:49:22 -06:00
Dave Cunningham 12db8bc9d3 Merge branch 'master' into oauth2 2015-01-30 17:48:49 -05:00
Ferran Rodenas f561e2a6a8 Add Azure provider 2015-01-30 16:32:35 -06:00
Dave Cunningham 1d41800cd2 Add docs 2015-01-30 15:12:13 -05:00
Phil Frost 8eb5418c4a Implement apply_method for RDS parameters
This is necessary to support creating parameter groups with parameters
that require a reboot, since the RDS API will return an error when
attempting to set those parameters with ApplyMethod "immediate".
2015-01-30 13:06:15 -05:00
Phil Frost bfaf8ccee6 Support storage_type parameter for aws_db_instance
This allows provisioning "gp2" (general purpose SSD) storage for DB
instances.
2015-01-30 13:01:10 -05:00
Dave Cunningham 6046647f38 Multiple gcp improvements and new resources 2015-01-30 10:32:35 -06:00
Dave Cunningham e85c7113fa Allow specifying project or full URL when specifying image 2015-01-29 20:00:02 -05:00
Paul Hinze 24c3718ac6 Merge pull request #884 from hashicorp/452-google-secrets-file
[REPACK] #452 providers/google: remove deprecated client secrets file
2015-01-28 17:21:11 -06:00
stungtoat d3814d6180 providers/google: remove secrets file
fixes #452
2015-01-28 15:47:49 -06:00
Phil Frost 254b25a64f Fix aws_db_instance to not recreate each time
Several of the arguments were optional, and if omitted, they are
calculated. Mark them as such in the schema to avoid triggering an
update.

Go back to storing the password in the state file. Without doing so,
there's no way for Terraform to know the password has changed. It should
be hashed, but then interpolating the password yields a hash instead of
the password.

Make the `name` parameter optional. It's not required in any engine, and
in some (MS SQL Server) it's not allowed at all.

Drop the `skip_final_snapshot` argument. If `final_snapshot_identifier`
isn't specified, then don't make a final snapshot. As things were, it
was possible to create a resource with neither of these arguments
specified which would later fail when it was to be deleted since the RDS
API requires exactly one of the two.

Resolves issue #689.
2015-01-28 12:03:26 -05:00
Seth Vargo 5713b7abcc Remove extra newline 2015-01-22 16:09:26 -05:00
Seth Vargo 038d241043 Update the documentation to read the new AWS environment variables 2015-01-22 16:09:25 -05:00
Sander van Harmelen edc8b91d09 Adding/updating the docs to reflect the changes in the provider 2015-01-16 17:23:27 +01:00
Emil Hessman 0cfbf4d8d9 website: use lists throughout the docs instead of array 2015-01-14 18:38:08 +01:00
Mitchell Hashimoto 577e2420b0 Revert "docs: consistent use of array configuration syntax"
This reverts commit 4893eb8b55.
2015-01-14 09:28:25 -08:00
Mitchell Hashimoto 152e72ffa6 Merge pull request #773 from ceh/issue-691
helper/schema: fix panic when validating composite schema type
2015-01-14 09:28:11 -08:00
Sander van Harmelen 68a6e7197f Adding some needed references and updated a couple of passes 2015-01-13 11:28:05 +01:00
Emil Hessman 4893eb8b55 docs: consistent use of array configuration syntax
The Terraform configuration syntax defines what arrays are.
Use the word array consistently throughout the documentation
instead of list.

The corresponding JSON datatype is called array as well, and
since the Terraform configuration syntax is interoperable with
JSON it makes sense to use the term array to describe them.
2015-01-13 06:59:12 +01:00
Sören Blom efca6b0e8a only non-default VPC security groups are referenced by ID. 2015-01-07 12:52:20 +01:00
Armon Dadgar eef75a7a2a Merge pull request #695 from moredip/aws_key_pair-resource
add aws_key_pair resource
2015-01-06 10:46:58 -08:00
Armon Dadgar 0ffc11c885 Merge pull request #704 from yahyapo/master
[AWS] Adding default network ACL ID and default security group ID to VPC reference attributes
2015-01-06 10:29:16 -08:00
Pete Hodgson 55347c0e59 Add docs for key_pair AWS resource 2015-01-05 21:45:05 -08:00
Armon Dadgar 34d5464c63 Merge pull request #725 from jgoldschrafe/feature-google-compute-service-accounts
Support service accounts on GCE instances
2015-01-05 11:30:38 -08:00
Emil Hessman 28d39cd0bc website: address spelling mistakes, casing and links 2015-01-03 19:31:53 +01:00
Jeff Goldschrafe d3081e0da8 Support service accounts on GCE instances
Update the Google Compute Engine provider to add support for service
accounts on `google_compute_instance`. Both gcloud shorthand (`compute-ro`,
`storage-ro`, etc.) and OAuth2 API endpoints are supported.

This feature is currently limited to a single service account (supporting
multiple scopes) and an automatically-generated service account email.
2015-01-02 01:25:19 -05:00