Commit Graph

750 Commits

Author SHA1 Message Date
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
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
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
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
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
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
Clint Shryock 54edf1cd2c provider/aws: Fix issue when changing map-public-ip in Subnets 2015-03-18 10:50:36 -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
Clint Shryock f74e68ea46 provider/aws: Fixes issue 886 in DB Parameter group 2015-03-17 17:22:30 -05: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
Peter Beams e4214a9983 ran go fmt and made 1 fix after running tests again 2015-03-17 13:00:36 +00:00
Peter Beams 34d2efa7df moving expand/flatten methods into structure.go and unit testing them 2015-03-17 12:42:05 +00:00
Peter Beams 130775f38a changes after ec2 connection renamed 2015-03-17 09:48:08 +00:00
Peter Beams c72918efb3 Merge branch 'master' of github.com:hashicorp/terraform 2015-03-17 09:04:16 +00:00
Clint Shryock 346ff12bc5 provider/aws: Fix issue with Route53 and TXT records 2015-03-16 15:36:18 -05:00
Clint Shryock f4808b1ea7 provider/aws: Add test for TXT route53 record 2015-03-16 15:28:45 -05:00
Clint dc4abb48fa Merge pull request #1195 from hashicorp/f-retire-goamz
provider/aws: Retire goamz
2015-03-16 08:42:40 -05:00
Clint Shryock 670d22e18f update acceptance test with the correct depends_on declarations 2015-03-13 14:58:05 -05:00
Clint Shryock 14a4ea65ea Merge branch 'master' into b-aws-instance-sec-groups
* master:
  provider/aws: Fix encoding bug with AWS Instance
  minor style cleanups
  Tags Schema
  Added Tagging
  Added vpc refactor in aws sdk go
  Removed additional variable for print, added for debugging
  Using hashicorp/aws-sdk-go
  Changed things around as suggested by @catsby
  Refactor with Acceptance Tests
  VPC Refactor
  First refactor
  Added Connection to config
2015-03-13 14:39:29 -05:00
Clint Shryock d5f23aec0a provider/aws: Fix encoding bug with AWS Instance 2015-03-13 10:54:00 -05:00
Clint Shryock 28fbd971fc Retire goamz 2015-03-13 09:42:50 -05:00
Clint Shryock 580b696e7f Strike 'goamz' from the repo' 2015-03-12 16:49:38 -05:00
Clint Shryock 57556bba75 Replace tags files with tags_sdk, rename, and update 2015-03-12 16:43:08 -05:00
Clint Shryock 0fbd701ccb minor style cleanups 2015-03-12 15:13:45 -05:00