Commit Graph

1462 Commits

Author SHA1 Message Date
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
Anton Tereshchenkov 6f76340192 providers/digitalocean: add dot in GET response
Added tests for relative and external CNAME values.
2015-03-26 10:57:46 -07:00
Anton Tereshchenkov 3565ae034e providers/digitalocean: force fqdn in dns rr value
Fixes a bug that forces DNS record to be recreated when dealing with
records that have domain values (CNAME, MX, NS, etc.)
2015-03-26 10:57:46 -07:00
Mitchell Hashimoto 5e7007e38f Merge pull request #1239 from BashtonLtd/gce_fix_false_bools
providers/google: Updates to GCE Instances and Instance Templates to allow for false bools.
2015-03-26 10:20:52 -07:00
Mitchell Hashimoto 591376f88d Merge pull request #1238 from BashtonLtd/gce_update_instance_template_disk_tests
providers/google: Update GCE Instance Template tests now that existing disk must exist first.
2015-03-26 10:20:29 -07:00
Mitchell Hashimoto 266670c1a1 Merge pull request #1154 from stuntgoat/gce-add-network
providers/google: add network field to the network_interface
2015-03-26 10:19:00 -07: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
Mitchell Hashimoto d21c112593 Merge pull request #1236 from BashtonLtd/gce_update_imports
Update Google API import to point to the new location.
2015-03-26 10:14:33 -07:00
Mitchell Hashimoto deb5052454 Merge pull request #1284 from ndarilek/add-size-to-instance-disk
Add size option to disk blocks under google_compute_instance
2015-03-26 10:13:11 -07:00
Clint Shryock 1b699aae7d small code cleanup 2015-03-26 11:58:20 -05:00
Mitchell Hashimoto e5a375ae58 providers/heroku: empty config vars block shouldn't panic [GH-1211] 2015-03-26 09:45:37 -07: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
Sander van Harmelen 26fa9b6daa Merge pull request #1305 from svanharmelen/b-provider/cloudstack-template
provider/cloudstack: some small fixes, needed to work with bigger templates
2015-03-25 22:56:37 +01:00
Sander van Harmelen 041cce36b4 Some small fixes, needed to work with bigger templates 2015-03-25 22:48:44 +01: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
Nolan Darilek 9d75fa72ab Add disk size to google_compute_instance disk blocks. 2015-03-24 11:45:20 -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
Tarrant 05407296c6 Add cleanup function to close SSHAgent 2015-03-20 18:18:35 -07: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
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
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
Tarrant 164f303da4 Add SSH Agent support 2015-03-15 16:12:59 -07: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
Clint Shryock ddc2d8de2e Merge branch 'master' into rmenn-aws-go-vpc
* master: (69 commits)
  upgrade tests and remove ICMPTypeCode for now
  helper/ssh: update import location
  clean  up
  provider/aws: Convert AWS Network ACL to aws-sdk-go
  Update website docs on AWS RDS encryption field
  more test updates
  provider/aws update Network ACL tests
  code cleanup on subnet check
  restore IOPS positioning
  Code cleanup
  Update CHANGELOG.md
  Bugfix: Add tags on AWS IG creation, not just on update
  fix nit-pick from go vet
  remove duplicated function
  provider/aws: Convert AWS Route Table Association to aws-sdk-go
  Cleansup: Restore expandIPPerms, remove flattenIPPerms
  clean up debug output to make go vet happy
  providers/aws: Convert AWS VPC Peering to aws-sdk-go
  provider/aws: Add env default for AWS_ACCOUNT_ID in VPC Peering connection
  convert route table tests to aws-sdk-go
  ...
2015-03-12 15:07:28 -05:00
Clint Shryock 33fdc0c63f update the new test config 2015-03-12 15:01:24 -05:00
Clint Shryock 3a5918d013 Add acceptance test for Network / Instance security group fix 2015-03-12 14:26:10 -05:00
Clint Shryock 749db242f4 Fix issue with Network interfaces and an instance-level security groups (#1188) 2015-03-12 11:08:53 -05:00
Mitchell Hashimoto 7632458ad3 providers/terraform: remote state resource 2015-03-11 18:17:47 -05:00
Dan Everton cfd8d913bd Make vpnGatewayStateRefreshFunc private 2015-03-12 08:13:39 +10:00
Dan Everton 9f50b048e1 Merge branch 'master' into aws-go-vpn 2015-03-12 08:09:27 +10:00
Clint 9654f2ff3a Merge pull request #1147 from hashicorp/aws-go-instance
provider/aws: Convert AWS Instance to aws-sdk-go
2015-03-11 17:07:58 -05:00
Clint Shryock 670d53b1a1 upgrade tests and remove ICMPTypeCode for now 2015-03-11 16:21:22 -05:00
Clint Shryock 8a5eadedd1 clean up 2015-03-11 15:18:42 -05:00
Clint Shryock bd591877fe provider/aws: Convert AWS Network ACL to aws-sdk-go 2015-03-11 15:01:07 -05:00
Clint Shryock 70a989a23e more test updates 2015-03-11 11:19:08 -05:00
Clint Shryock 8a5c3b8525 provider/aws update Network ACL tests 2015-03-11 10:40:32 -05:00
Clint 9b974b0248 Merge pull request #1176 from TimeIncOSS/tags-updating
Bugfix: Add tags on AWS IG creation, not just on update
2015-03-11 10:31:33 -05:00
Clint Shryock 751140351b code cleanup on subnet check 2015-03-11 09:55:32 -05:00
Clint Shryock 9d6f05e529 restore IOPS positioning 2015-03-11 09:24:59 -05:00
Clint Shryock f8c22c1e2d Merge branch 'master' into aws-go-instance
* master:
  Code cleanup
  Update CHANGELOG.md
  fix nit-pick from go vet
  remove duplicated function
  provider/aws: Convert AWS Route Table Association to aws-sdk-go
  Cleansup: Restore expandIPPerms, remove flattenIPPerms
  clean up debug output to make go vet happy
  providers/aws: Convert AWS VPC Peering to aws-sdk-go
  provider/aws: Add env default for AWS_ACCOUNT_ID in VPC Peering connection
  convert route table tests to aws-sdk-go
  provider/aws: Convert AWS Route Table to aws-sdk-go
  providers/aws: iops in root device skipped when output state
  Give route table assoc it's own copy of this method for now
  provider/aws: Convert Main Route Table assoc. to aws-sdk-go
  aws/Route53 record creation timeout 10->30 mins
  provider/aws: Convert AWS Security Group to aws-sdk-go
  Fixing up the tests to make them pass correctly
  Fixing a corner case while retrieving a template UUID
  Adding tests and docs for the new VPN resources
  Adding a few new resources
2015-03-11 09:21:46 -05:00
Clint 344382df2e Merge pull request #1162 from hashicorp/aws-go-security-groups
provider/aws: Convert AWS Security Groups to aws-sdk-go
2015-03-11 08:33:01 -05:00
Clint Shryock 902ca25f36 Code cleanup 2015-03-11 08:30:43 -05:00
Mitchell Hashimoto ac92766d2c Merge pull request #1164 from TimeIncOSS/route53-increase-timeout
Increase aws/Route53 record creation timeout
2015-03-11 08:31:14 +01:00
Radek Simko c7ccf4f74d Bugfix: Add tags on AWS IG creation, not just on update 2015-03-10 23:01:05 +00:00
Clint 263395a9f0 Merge pull request #1171 from hashicorp/aws-go-route-table-assoc
provider/aws: Convert AWS Route Table Association to aws-sdk-go
2015-03-10 17:01:21 -05:00
Clint Shryock 314453abe5 fix nit-pick from go vet 2015-03-10 16:57:43 -05:00
Clint e4a298fdfb Merge pull request #1174 from hashicorp/aws-go-vpc-peering
providers/aws: Convert AWS VPC Peering to aws-sdk-go
2015-03-10 16:53:31 -05:00
Clint Shryock 3c3b7d51a2 remove duplicated function 2015-03-10 16:52:09 -05:00
Clint Shryock b038e5f720 provider/aws: Convert AWS Route Table Association to aws-sdk-go 2015-03-10 16:43:42 -05:00
Clint 357ef9f313 Merge pull request #1170 from hashicorp/aws-go-route-table
provider/aws: Convert AWS Route Table to aws-sdk-go
2015-03-10 16:42:56 -05:00
Clint 2d2072f8a8 Merge pull request #1165 from hashicorp/aws-go-main-route-table
provider/aws: Convert Main Route Table assoc. to aws-sdk-go
2015-03-10 16:40:15 -05:00
Clint Shryock 3977256c17 Cleansup: Restore expandIPPerms, remove flattenIPPerms 2015-03-10 16:35:49 -05:00
Clint Shryock a22c23ad42 clean up debug output to make go vet happy 2015-03-10 15:55:49 -05:00
Paul Hinze f3a786b084 Merge pull request #1166 from suguru/f-aws-block-device-root-iops
providers/aws: iops in root device skipped when output state
2015-03-10 14:29:23 -06:00
Clint Shryock 30125e3a5f providers/aws: Convert AWS VPC Peering to aws-sdk-go 2015-03-10 15:21:31 -05:00
Clint Shryock fe293f909e provider/aws: Add env default for AWS_ACCOUNT_ID in VPC Peering connection 2015-03-10 14:44:07 -05:00
Jeff Mitchell f7512ca29f Initial commit. This adds the initial bits of a Docker provider.
Docker's API is huge and only a small subset is currently implemented,
but this is expected to grow over time. Currently it's enough to
satisfy the use cases of probably 95% of Docker users.

I'm preparing this initial pull request as a preview step for feedback.
My ideal scenario would be to develop this within a branch in the main
repository; the more eyes and testing and pitching in on the code, the
better (this would avoid a merge request-to-the-merge-request scenario,
as I figure this will be built up over the longer term, even before
a merge into master).

Unit tests do not exist yet. Right now I've just been focused on getting
initial functionality ported over. I've been testing each option
extensively via the Docker inspect capabilities.

This code (C)2014-2015 Akamai Technologies, Inc. <opensource@akamai.com>
2015-03-10 15:38:52 +00:00
Clint Shryock e7b3f3cf17 convert route table tests to aws-sdk-go 2015-03-10 10:30:01 -05:00
Clint Shryock 30f401eab7 provider/aws: Convert AWS Route Table to aws-sdk-go 2015-03-10 10:23:14 -05:00
Suguru Namura 30941dfdc4 providers/aws: iops in root device skipped when output state 2015-03-10 19:50:05 +09:00
Dan Everton d6a731040c Format the resource_vpn_gateway*.go files. 2015-03-10 10:30:42 +10:00
Dan Everton c172fd3736 Fix error handling.
AWS returns IncorrectState not DependencyViolation when a VPN gateway is
still attached to a VPC.
2015-03-10 10:28:44 +10:00
Dan Everton d253fff4e5 Hardcode type parameter value.
Current AWS documentation says there's only one type of VPN gateway for
now.
2015-03-10 09:49:46 +10:00
Dan Everton 3339ab90c6 Merge branch 'master' into aws-go-vpn 2015-03-10 09:01:41 +10:00
Clint Shryock 795970d5a2 Give route table assoc it's own copy of this method for now 2015-03-09 17:12:15 -05:00
Clint Shryock 5a13ac9bc9 provider/aws: Convert Main Route Table assoc. to aws-sdk-go 2015-03-09 16:15:25 -05:00
Radek Simko bc44fdc1a7 aws/Route53 record creation timeout 10->30 mins 2015-03-09 20:12:15 +00: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
Clint Shryock 20b02cacd4 provider/aws: Convert AWS Security Group to aws-sdk-go
Convert security group test too
2015-03-09 11:45:58 -05:00
Sander van Harmelen 94608fc4bc Fixing up the tests to make them pass correctly 2015-03-09 17:44:09 +01:00
Sander van Harmelen bb88adb5a3 Fixing a corner case while retrieving a template UUID
Added some logic to the go-cloudstack package to support a more
customised call to GetTemplateID in order to get the correct/expected
UUID.
2015-03-09 14:02:18 +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
Rahul Menon a34800dff2 Tags Schema 2015-03-09 14:39:06 +05:30
Colin Hebert 675f8ea7b9 Print log in one line 2015-03-07 17:20:51 +11:00
Colin Hebert 2260045dc8 Improve backward compatibility for now 2015-03-07 17:16:59 +11:00
Colin Hebert 9e233a5cd7 Fix typo 2015-03-07 17:14:04 +11:00
stungtoat 1ae50a18f8 add network field to the network_interface 2015-03-06 22:13:07 -08:00
Colin Hebert 18c3042c47 Differenciate security groups in VPC and in non VPC env 2015-03-07 17:04:53 +11:00
Dan Everton 7565e69ba3 Merge branch 'master' into aws-go-vpn 2015-03-07 09:46:23 +10:00
Clint Shryock 94d30aa70a provider/aws: Convert aws instance test to aws-sdk
convert AWS Instance and Test file to use aws-sdk-go
2015-03-06 14:53:05 -06:00
Jack Pearkes 12bb4b866c Merge pull request #1074 from plalloni/do-ssh-keys
Add DigitalOcean SSH Key resource
2015-03-06 09:44:36 -08:00
Peter Beams 810860ec37 fixing indentation 2015-03-06 16:39:00 +00:00
Peter Beams 79eb50e06b removing commented imports 2015-03-06 16:37:18 +00:00
Peter Beams 3052edee6b removing unrequired changes 2015-03-06 16:12:09 +00:00
Peter Beams efcba8df2e tweaks after merge from master 2015-03-06 16:08:51 +00:00
Peter Beams e59d4fc976 merging from hashicorp master 2015-03-06 15:53:31 +00:00
Peter Beams c3ba0a7f6d adding acceptance tests for network interface 2015-03-06 15:49:56 +00:00
Peter Beams 39346e6f16 tweaks in new aws network interface 2015-03-06 09:29:25 +00:00
Dan Everton 7240af439c Minor test fixes. 2015-03-06 15:48:30 +10:00
Paul Hinze bc1baa8712 providers/aws: final_snapshot_id isn't ForceNew
Removing `ForceNew` from `final_snapshot_identifier` - it's a parameter
that's _only_ passed during the DeleteDBInstance API call, so it's perfectly
valid to change the attribute for an existing DB Instance.

fixes #1138
2015-03-05 19:07:41 -06:00
Dan Everton 98d827b6f5 Match the internet gateway code better. 2015-03-06 08:47:29 +10:00
Dan Everton 4706ee7ffc Add acceptance test for aws_vpn_gateway resource. 2015-03-06 08:41:22 +10:00
Dan Everton e5a2504acf First pass at aws_vpn_gateway resource
Uses the aws-sdk-go module and is based on the way the existing
aws_internet_gateway resource works.
2015-03-06 08:41:21 +10:00
Paul Hinze 170341d38e providers/aws: go vet fixes in aws_subnet 2015-03-05 14:53:07 -06:00
Radek Simko c616c83a21 Let aws_db_instance.*.address to be actually address 2015-03-05 18:15:30 +00:00
Clint cebe8b9cbe Merge pull request #1117 from hashicorp/aws-go-key-pair
provider/aws: Convert AWS Key Pair to aws-sdk-go
2015-03-05 09:17:22 -06:00
Clint 23ece16d15 Merge pull request #1113 from hashicorp/aws-go-internet-gateway
providers/aws: Convert AWS Internet Gateway to aws-sdk-go
2015-03-05 09:17:06 -06:00
Mitchell Hashimoto 1c817c7864 Merge pull request #1095 from hashicorp/b-google-set
providers/google: set only top-level configs for lists [GH-929]
2015-03-04 16:05:37 -08:00
Clint Shryock 641c7c613a provider/aws: Convert AWS Key Pair to aws-sdk-go 2015-03-04 15:17:23 -06: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
Sander van Harmelen b6f89d3e32 Adding a few new resources
Tests and docs will be added tomorrow so we can merge the new resources…
2015-03-04 18:51:07 +01:00
Clint Shryock 7643406735 provider/aws: Convert AWS Internet Gateway (test) to aws-sdk-go 2015-03-04 10:55:17 -06:00
Rahul Menon bbc9331d0c Fixed Merge conflicts 2015-03-04 18:42:10 +05:30
Rahul Menon 840e6f4826 Added Tagging 2015-03-04 18:37:30 +05:30
Rahul Menon 1cecb37ab9 Added vpc refactor in aws sdk go 2015-03-04 17:50:00 +05:30
Clint Shryock 89d6cdb0a6 providers/aws: Convert AWS Internet Gateway to aws-sdk-go 2015-03-03 16:08:52 -06:00
Clint b2dece259c Merge pull request #1099 from hashicorp/aws-go-subnet
providers/aws: Convert AWS Subnet to aws-sdk-go
2015-03-03 13:59:21 -06:00
Clint Shryock 612a570a6d provider/aws: Convert AWS EIP to use aws-sdk-go 2015-03-03 11:45:27 -06:00
Clint Shryock 8d53a4c50f Merge branch 'aws-go-subnet' into aws-go-eip
* aws-go-subnet:
  providers/aws: Convert AWS Subnet to aws-sdk-go
2015-03-03 11:10:29 -06:00
Peter Beams 42aaee3e92 dealing with attach / detach 2015-03-03 15:30:10 +00:00
rmenn d56c683602 Removed additional variable for print, added for debugging 2015-03-03 20:57:30 +05:30
Peter Beams 533b7238b1 can create, update & delete eni 2015-03-03 12:57:11 +00: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
Sander van Harmelen 033cee31f3 Fixing a small bug in the ACL rule hash function
Since the default value is not available in the initial config (when
`action` or `traffic_type` is omitted), the result would be `nil`
instead of a string when trying to access one of these the values.
2015-03-03 13:40:28 +01:00
Sander van Harmelen 221b48bd5a Adding a managed parameter
And fixing a few small logic errors
2015-03-03 12:26:13 +01:00
Suguru Namura 68efa3fc21 providers/aws: add iops to block devices 2015-03-03 15:57:08 +09:00
Rahul Menon c5efe1e5ce Using hashicorp/aws-sdk-go 2015-03-03 10:49:21 +05:30
Rahul Menon d77df312a3 Changed things around as suggested by @catsby 2015-03-03 10:45:15 +05:30
Peter Beams 590a912cc9 first steps to add network interface 2015-03-03 01:33:42 +00:00
Clint Shryock 10a32b9819 providers/aws: Convert AWS Subnet to aws-sdk-go 2015-03-02 16:32:48 -06:00
Clint 23d90c0c02 Merge pull request #1092 from hashicorp/aws-go-s3-fix-region-bug
provider/aws: Special case us-east-1 for S3 bucket creation
2015-03-02 14:38:48 -06:00
Clint 475a748ff8 Merge pull request #1090 from hashicorp/aws-go-elb
provider/aws: Convert AWS ELB to aws-sdk-go
2015-03-02 14:38:07 -06:00
Mitchell Hashimoto 1c2d19dc00 providers/google: set only top-level configs for lists [GH-929] 2015-03-02 10:00:24 -08:00
Clint Shryock 6eea5dcec8 rename structure tests to be more idiomatic 2015-03-02 11:47:06 -06:00
Paul Hinze 2450b03bc6 Merge pull request #1041 from aianchici/master
adding storage_encrypted as an optional parameter
2015-03-02 11:33:52 -06:00
Clint Shryock af57b3db69 provider/aws: Special case us-east-1 for S3 bucket creation. 2015-03-02 11:13:19 -06:00
Clint Shryock 2b3bcd5c27 add simple test for expandInstanceString 2015-03-02 10:00:45 -06:00
Clint Shryock da55f9bf85 provider/aws: Convert AWS ELB to aws-sdk-go 2015-03-02 09:44:06 -06:00
Radek Simko 503ffbd3be Save token that came from goamz + use it in go-sdk-aws 2015-03-02 11:16:06 +00:00
Rahul Menon 89d01b49ab Refactor with Acceptance Tests 2015-03-02 14:21:13 +05:30
Alex Ianchici 916c64b166 adding storage_encrypted as an optional boolean parameter to support encryption at rest in AWS 2015-02-27 14:29:24 -08:00
Tomas Doran 09f5935993 Allow launch configuration names to be computed
This allows you to set lifecycle create_before_destroy = true
and fixes #532 as then we'll make a new launch config, change
the launch config on the ASG, and *then* delete the old launch
config.

Also tried adding tests which unfortunately don't seem to fail...
2015-02-27 10:51:33 -08:00
Jack Pearkes 6f27f90ae1 providers/aws: increase db instance wait times 2015-02-27 09:38:07 -08:00
Jack Pearkes 053a7c0a8b Merge pull request #1052 from TimeInc/hct-bugfix
Bug: Prevent empty string to be used as default health_check_type
2015-02-27 09:33:46 -08:00
Clint 0adb052c11 provider/aws: Remove goamz/rds
consolidates the conversion of AWS RDS to aws-sdk-go
2015-02-27 10:54:37 -06:00
Clint Shryock b5590c6247 provider/aws: convert aws rds subnet to aws-sdk-go 2015-02-27 09:56:38 -06:00
Clint c44d0e6301 Merge pull request #1064 from hashicorp/aws-go-db-security-group
provider/aws: Convert AWS DB Security Group to aws-sdk-go
2015-02-27 08:49:48 -06:00
Pablo Lalloni ac58a450ba Add DigitalOcean SSH Key resource 2015-02-27 08:40:11 -03:00
Jack Pearkes 5c74a63f3d Merge pull request #1062 from hashicorp/configure-wait-checks
providers/digitalocean: Configure wait checks
2015-02-26 14:55:24 -08:00
Clint e95ebaf6ce Merge pull request #1066 from hashicorp/aws-go-db-param-group-test
provider/aws: convert db param group test to use aws-sdk-go
2015-02-26 16:00:59 -06:00
Clint Shryock 659ddd6fa1 provider/aws: convert db param group test to use aws-sdk-go 2015-02-26 15:54:03 -06:00
Clint Shryock f453d1863a remove helper functions, flatten status in the function 2015-02-26 15:47:30 -06:00
Clint Shryock 561e92e65d provider/aws: Convert db security group test 2015-02-26 15:36:38 -06:00
Clint Shryock ac8da7a988 provider/aws: Convert AWS DB Security Group to aws-sdk-go
Part 1: converting the test next
2015-02-26 15:08:39 -06:00
Jack Pearkes 8ab4d37f7c providers/digitalocean: be more lenient for droplets 404ing on creation 2015-02-26 10:00:54 -08:00
Jack Pearkes 74b7137cdc providers/digitalocean: use real bools for droplet creation
Fixes #792
Depends on https://github.com/pearkes/digitalocean/pull/5
2015-02-26 09:37:05 -08:00
Jack Pearkes 7008880ac8 Merge pull request #1057 from hashicorp/digitalocean-droplet-destroy
providers/digitalocean: wait for droplet to be unlocked before destroy
2015-02-26 09:19:33 -08:00
Clint Shryock bd2791824f Update ingress signature 2015-02-26 11:03:56 -06:00
Clint Shryock 242cdc7a29 provider/aws: Convert RDS DB Parameter group to aws-sdk-go 2015-02-26 09:33:33 -06:00
Clint c52ee17e77 Merge pull request #1053 from hashicorp/hashicorp-aws-sdk
provider/aws: Swap awslabs/aws-sdk-go for hashicorp fork
2015-02-26 08:36:16 -06:00
Jack Pearkes 3f217763c7 providers/digitalocean: wait for droplet to be unlocked before destroy 2015-02-25 16:54:39 -08:00
Jack Pearkes f2e92cfeab providers/digitalocean: increase timeout for droplet wait to 60 mins
fixes #325
2015-02-25 16:08:35 -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 44f20cad6b dnsmadeeasy: re-organize the bins
cc/ @soniah
2015-02-25 14:45:11 -08:00
Jack Pearkes dfaa428728 Merge pull request #855 from soniah/dme
dme - DNSMadeEasy Provider
2015-02-25 14:38:38 -08:00
Radek Simko e378ea42b8 Prevent empty string to be used as default health_check_type 2015-02-25 21:46:56 +00:00
Clint Shryock f3ba181861 Swap awslabs/aws-sdk-go for hashicorp fork
A temporary change to prevent upstream break while awslabs continues to
refactor.
2015-02-25 15:29:11 -06:00
Clint Shryock 31236b8f9e Fix zero case 2015-02-25 11:05:14 -06:00
Clint Shryock 5252623656 provider/aws: Remove sentinel value default for RDS instance; default 1 to match API 2015-02-25 10:44:10 -06:00
Clint Shryock bb94eaa50d provider/aws: Fix issue with AWS RDS DB instance which prevented disabling backups 2015-02-25 09:41:05 -06:00
Rahul Menon 06b2d0bbf6 VPC Refactor 2015-02-25 17:34:27 +05:30
Rahul Menon 1472f976d7 First refactor 2015-02-25 16:17:55 +05:30
Rahul Menon 38a8232e9a Added Connection to config 2015-02-25 15:04:17 +05:30
Clint Shryock 4064d29050 Merge branch 'master' into aws-go-rds-instance
* master:
  providers/aws: Convert Launch Configurations to awslabs/aws-sdk-go
  update CHANGELOG
  terraform: test post state update is called
  command: StateHook for continous state updates
  terraform: more state tests, fix a bug
  state: deep copies are required
  terraform: make DeepCopy public
  state/remote: increment serial properly
  state: only change serial if changed
  terraform: call the EvalUpdateStateHook strategically
  terraform: PostStateUpdate hook and EvalUpdateStateHook
2015-02-24 21:43:03 -06:00
Clint Shryock 92bf85925b providers/aws: Convert Launch Configurations to awslabs/aws-sdk-go 2015-02-24 21:02:01 -06: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
Paul Hinze 39e8f15752 Merge pull request #1024 from sparkprime/fix_network_interface
Fix network interface
2015-02-24 13:17:51 -06:00
Mitchell Hashimoto 0281d73686 Revert "Heroku returns config_vars for addon as string array." 2015-02-23 14:04:58 -08:00
Mitchell Hashimoto 9599861350 Merge pull request #1006 from smp-labs/proper_heroku_config_vars_type
providers/heroku: heroku returns config_vars for addon as string array.
2015-02-23 13:59:10 -08:00
Mitchell Hashimoto 84b1db4505 Merge pull request #1021 from hashicorp/b-aws-instance-source-dest-check-on-create
providers/aws: fix source_dest_check on instance creation
2015-02-23 13:45:17 -08:00
Dave Cunningham 04cbbe6a01 Remove unnecessary ; 2015-02-23 13:35:07 -05:00
Dave Cunningham 3e0e7753c9 Fix argument order 2015-02-23 13:30:41 -05:00
Clint f6249ff6db Merge pull request #1018 from hashicorp/aws-go-autoscaling
Convert AWS AutoScalingGroup to awslabs/aws-sdk-go
2015-02-23 10:22:22 -06:00
Paul Hinze 473b03ccae providers/aws: fix source_dest_check on instance creation
The `SourceDestCheck` attribute can only be changed via
`ModifyInstance`, so the AWS instance resource's `Create` function calls
out to `Update` before it returns to take care of applying
`source_dest_check` properly.

The `Update` function originally guarded against unnecessary API calls
with `GetOk`, which worked fine until #993 when we changed the `GetOk`
semantics to no longer distinguish between "configured and zero-value"
and "not configured".

I attempted in #1003 to fix this by switching to `HasChange` for the
guard, but this does not work in the `Create` case.

I played around with a few different ideas, none of which worked:

(a) Setting `Default: true` on `source_dest_check' has no effect

(b) Setting `Computed: true` on `source_dest_check' and adding a `d.Set`
    call in the `Read` function (which will initially set the value to `true`
    after instance creation). I really thought I could get this to work,
    but it results in the following:

```go
d.Get('source_dest_check')       // true
d.HasChange('source_dest_check') // false
d.GetChange('source_dest_check') // old: false, new: false
```

I couldn't figure out a way of coherently dealing with that result, so I
ended up throwing up my hands and giving up on the guard altogether.
We'll call `ModifyInstance` more than we have to, but this at least
yields expected behavior for both Creates and Updates.

Fixes #1020
2015-02-21 14:26:46 -06:00
Clint Shryock 5b35b85527 remove the rand, it's not helping like I thought 2015-02-20 15:49:51 -06:00
Clint Shryock 4326b6b8b5 cleanups after feedback 2015-02-20 14:28:14 -06:00
Mitchell Hashimoto 523639b5cd fmt 2015-02-20 10:22:26 -08:00
Mitchell Hashimoto cf5697ff32 providers/aws: if a VPC doesn't exist, then remove from state 2015-02-20 10:20:20 -08:00
Clint Shryock d79ac17757 randomize ASG name in test, to get around slow AWS delete time 2015-02-20 11:40:47 -06:00
Clint Shryock b38a3767eb provider/aws: Convert AWS AutoScalingGroup to awslabs/aws-sdk-go 2015-02-20 11:28:20 -06:00
Clint Shryock 08949866c5 Merge config 2015-02-20 09:08:41 -06:00
Clint Shryock 57300d32c6 merge master 2015-02-20 08:55:54 -06:00
Clint Shryock 116e6cac33 provider/aws: Convert AWS S3 Bucket to awslabs/aws-sdk-go 2015-02-19 15:38:56 -06:00
Clint Shryock 94e7723370 provider/aws: Convert Route 53 Zone resource to use new awslabs/aws-sdk-go
library.

This commit updates the Route 53 Zone resource to use AWS Labs aws-sdk-go
library instead of mitchellh/goamz.

- hard code us-east-1 for Route53 region, since it's a global endpoint
- add some units test for CleanZoneID
2015-02-19 15:05:46 -06:00
Mitchell Hashimoto e3b64f5bb5 providers/aws: style 2015-02-19 10:52:09 -08:00
Mitchell Hashimoto cd1e70faab providers/aws: acceptance test was too strict 2015-02-19 09:54:16 -08:00
Mitchell Hashimoto 448ebd1372 Merge pull request #1005 from hashicorp/f-fix-elb-subnet-test
Revert "Merge pull request #804 from PeoplePerHour/f-aws-elb-subnet"
2015-02-19 09:46:05 -08:00
Mitchell Hashimoto 39d28a9612 Merge pull request #1003 from hashicorp/b-aws-instance-source-dest-check
providers/aws: fix aws_instance source_dest_check
2015-02-19 09:37:13 -08:00
Mitchell Hashimoto b814ac3449 Merge pull request #1002 from hashicorp/f-better-root-block-device-test
providers/aws: enhance root_block_device acceptance test
2015-02-19 09:37:05 -08:00
Jakub Janczak b99179a5a0 The type returned from heroku API is a string array, while our schema says []map[string]interface{}. 2015-02-19 10:31:04 +01:00
Paul Hinze 86a2449569 Revert "Merge pull request #804 from PeoplePerHour/f-aws-elb-subnet"
Unfortunately, the acceptance tests here were improperly passing, and
allowing Subnet updates on ELBs is not as straightfoward as simply
removing `ForceNew`.

Subnets on ELBs need to be managed by two explicit API calls:

 * `AttachLoadBalancerToSubnets` - http://bit.ly/elbattachsubnet
 * `DetachLoadBalanceFromSubnets` - http://bit.ly/elbdetachsubnet

We'll need to circle back and use these APIs to explicitly add support.

This fixes the failure of `TestAccAWSELB_AddSubnet` by removing the
test.

This reverts commit 61e91017be, reversing
changes made to 49b3afe452.
2015-02-18 18:15:04 -06:00
Paul Hinze 3c4d1791e5 providers/aws: fix aws_instance source_dest_check
Was relying on old behavior of GetOk and therefore never properly seeing
a change from true -> false.

This fixes the acceptance test failure of
`TestAccAWSInstance_sourceDestCheck`.
2015-02-18 17:46:50 -06:00
Paul Hinze 434a9759a0 providers/aws: enhance root_block_device acceptance test
So that we have a test that will fail in case the flubbery of #1000
returns.
2015-02-18 17:28:28 -06:00
Paul Hinze 706243c587 Merge pull request #1001 from hashicorp/b-mailgun-records
providers/mailgun: fix sending/receiving records
2015-02-18 17:22:44 -06:00
Mitchell Hashimoto eca5fe3ff3 providers/aws: fix ELB acceptance test 2015-02-18 15:18:51 -08:00
Paul Hinze 86af71ad6d providers/mailgun: fix sending/receiving records
The Mailgun provider was relying on an old behavior of
`ResourceData.Set` that would allow nested access to
maps. We now just build up our own maps like sane people.
2015-02-18 17:18:19 -06:00
Mitchell Hashimoto 3a0d88ed73 Merge pull request #1000 from hashicorp/b-root-not-being-set
providers/aws: root block device not being set properly
2015-02-18 15:15:09 -08:00
Mitchell Hashimoto 9a8cb2c526 providers/digitalocean: style 2015-02-18 15:14:50 -08:00
Mitchell Hashimoto 05a34d7d77 providers/aws: root block device not being set properly
The value to set must not contain invalid fields.
2015-02-18 14:45:13 -08:00
Mitchell Hashimoto c7e536680d Merge pull request #999 from TimeInc/clean-code
Clean code (get rid of go vet errors)
2015-02-18 12:28:12 -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
Radek Simko e149a97658 Make composite literals to use keyed fields
This will prevent following error:
 - * composite literal uses unkeyed fields
2015-02-18 18:26:59 +00:00
Mitchell Hashimoto fc7c859c8a providers/aws: egress should be computed 2015-02-18 09:27:55 -08:00
Mitchell Hashimoto 5e8c3113b4 providers/aws: style change 2015-02-18 09:07:46 -08: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 c40238041c providers/aws: fix bad arg giving wrong type [GH-992] 2015-02-17 16:39:51 -08:00
Mitchell Hashimoto e04def93e6 Merge pull request #991 from hashicorp/b-autoscale-lc-update
providers/aws: allow in-place update of launch configuration
2015-02-17 16:29:56 -08:00
Mitchell Hashimoto 5a64d0900b providers/aws: test for allowing in-place lC update 2015-02-17 16:12:02 -08:00
Mitchell Hashimoto b5df47efc9 providers/aws: support updating ASG launch config [GH-904] 2015-02-17 15:48:15 -08:00
Mitchell Hashimoto 66f7731995 helper/schema: GetChange shouldn't return true when no change 2015-02-17 15:43:19 -08: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
Mitchell Hashimoto 1752c93e0c update CHANGELOG 2015-02-17 09:44:44 -08:00
Mitchell Hashimoto 9a19eb3110 Merge pull request #721 from robzienert/change-elb-listener-force-new
providers/aws: Changing AWS ELB to not ForceNew when listeners change
2015-02-17 09:43:46 -08:00
Mitchell Hashimoto aad83447d2 Merge pull request #889 from bitglue/deleted_subnet
provider/aws: Fix error when refreshing on a deleted AWS subnet
2015-02-17 09:30:48 -08: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 fd01b01a9e Merge pull request #923 from hashicorp/aws-read-termination-policies
providers/aws: read ASG termination policies
2015-02-17 09:25:16 -08:00
Paul Hinze 3339593292 Merge pull request #973 from sparkprime/forcenew_disk
Make Google Instance disk attribute all ForceNew. Fix #608.
2015-02-13 13:32:38 -06:00
Dave Cunningham b7f5f491e2 Make Google Instance disk attribute all ForceNew. Fix #608. 2015-02-13 14:23:49 -05:00
Paul Hinze fad6f69071 Revert "Add Azure provider"
This reverts commit f561e2a6a8.
2015-02-13 12:53:01 -06:00
Paul Hinze 0b67ac3c49 Revert "fix build: upstream azure client change"
This reverts commit 6da9f04c10.
2015-02-13 12:52:56 -06:00
Paul Hinze 625f440d95 Merge pull request #900 from sparkprime/oauth2
Port to oauth2, fix #606
2015-02-12 11:00:58 -06:00
jba 101f801846 add aws_vpc_peering_connection 2015-02-12 10:45:29 +01:00
Dave Cunningham 4d280f0931 Use new oauth2 golang library 2015-02-11 21:21:24 -05:00
Clint Shryock 1ee3d232a1 simplify HasSuffix check 2015-02-11 16:49:03 -08:00
Clint Shryock 90c8317899 Auto add full domain suffix if not present 2015-02-11 16:39:25 -08:00
Dave Cunningham 106a1c62f5 Revert to upstream oauth2 2015-02-11 01:46:40 -05: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
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 418bf2a692 Remove leftover todo comment. 2015-02-10 14:31:43 +00:00
Paul Hinze 24a9559365 Merge pull request #960 from BashtonLtd/gce_self_links
Add SelfLink fields to all GCE resources
2015-02-10 08:10:20 -06:00
David Watson a3ca34ac88 Add SelfLink field to GCE route resource. 2015-02-10 11:15:07 +00:00
David Watson 91b000fd31 Add SelfLink field to GCE network resource. 2015-02-10 11:14:37 +00:00
David Watson 4e1a421652 Add SelfLink field to GCE firewall resource. 2015-02-10 11:14:15 +00:00
David Watson 2b26177903 Add SelfLink field to GCE disk resource. 2015-02-10 11:13:55 +00:00
David Watson 006b98cdae Add optional to disk_name field. 2015-02-10 10:49:20 +00:00
David Watson ec1f874bdc Add tests for Instance Template support to google provider. 2015-02-10 10:29:49 +00:00
David Watson dfa97dfc17 Add Instance Template support to google provider. 2015-02-10 10:29:27 +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 e81c995301 Merge pull request #951 from sparkprime/fix_health_check
Fix a number of healthcheck bugs
2015-02-09 18:50:14 -06: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
Dave Cunningham fbe99605e6 Fix whitespace 2015-02-07 19:05:19 -05:00
Dave Cunningham 4e4dcac276 Fix a number of healthcheck bugs 2015-02-07 19:03:18 -05:00
Paul Hinze 6f5234c52f Merge pull request #916 from gosuri/aws-elb-update-issue
fix for #915 - aws_elb.health_check attributes does not update during update
2015-02-06 17:14:44 -06:00
Greg Osuri 481b3c7e3b provider/aws: fix for #915, disabling ForceNew while updating elb healthchecks 2015-02-06 15:03:52 -08: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
Paul Hinze c21907850d Merge pull request #921 from hashicorp/fix-diffreader-map-handling
helper/schema: fix DiffFieldReader map handling
2015-02-04 10:06:13 -06:00
Paul Hinze 926effb800 providers/aws: read ASG termination policies
Right now we yield a perpetual diff on ASGs because we're not reading
termination policies back out in the provider.

This depends on https://github.com/mitchellh/goamz/pull/218 and fixes
it.
2015-02-04 10:00:03 -06:00
Paul Hinze 219aa3e788 helper/schema: fix DiffFieldReader map handling
An `InstanceDiff` will include `ResourceAttrDiff` entries for the
"length" / `#` field of maps. This makes sense, since for something like
`terraform plan` it's useful to see when counts are changing.

The `DiffFieldReader` was not taking these entries into account when
reading maps out, and was therefore incorrectly returning maps that
included an extra `'#'` field, which was causing all sorts of havoc
for providers (extra tags on AWS instances, broken google compute
instance launch, possibly others).

 * fixes #914 - extra tags on AWS instances
 * fixes #883 - general core issue sprouted from #757
 * removes the hack+TODO from #757
2015-02-03 20:17:57 -06:00
Paul Hinze 80c5971fd6 Merge pull request #918 from hashicorp/f-aws-main-route-table-association
provider/aws: aws_main_route_table_association
2015-02-03 16:42:13 -06:00
Paul Hinze c6ab3b1711 Merge pull request #906 from BashtonLtd/gce_instance_selflink
Expose SelfLink field for GCE instances.
2015-02-03 15:46:46 -06:00
Dave Cunningham a07ff4bacb Remove service_accounts (legacy dupe of service_account) 2015-02-03 16:16:41 -05:00
Paul Hinze 92335b742a provider/aws: aws_main_route_table_association
This resource allows an existing Route Table to be assigned as the
"main" Route Table of a VPC. This means that the Route Table will be
used for any subnets within the VPC without an explicit Route Table
assigned [1].

This is particularly useful in getting an Internet Gateway in place as
the default for a VPC, since the automatically created Main Route Table
does not have one [2].

Note that this resource is an abstraction over an association and does not
map directly to a CRUD-able object in AWS. In order to retain a coherent
"Delete" operation for this resource, we remember the ID of the AWS-created
Route Table and reset the VPC's main Route Table to it when this
resource is deleted.

refs #843, #748

[1] http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html#RouteTableDetails
[2] http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Internet_Gateway.html#Add_IGW_Routing
2015-02-03 13:47:43 -06:00
Greg Osuri 04ac1ffd02 provider/aws: fix for #915 - aws_elb.health_check attributes does not update during update 2015-02-02 19:25:54 -08:00
David Watson 4ec0c34794 Expose SelfLink for GCE instances to allow other resources to reference instances. 2015-02-02 09:46:35 +00:00
Paul Hinze 6da9f04c10 fix build: upstream azure client change
looks like https://github.com/MSOpenTech/azure-sdk-for-go/pull/30
changed the API for hosted services, which broke our build.
2015-02-01 10:35:33 -06:00
Paul Hinze 255d39b01b Merge pull request #898 from bitglue/subnet_update
Avoid unnecessary updating of aws_subnet
2015-02-01 10:01:17 -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 aa009516b7 Port to oauth2, fix #606 2015-01-30 14:53:09 -05:00
Phil Frost 863fd0c7d2 Avoid unnecessary updating of aws_subnet
If map_public_ip_on_launch was not specified, AWS picks a default of
"0", which is different than the "" in the state file, triggerinng an
update each time. Mark that parameter as Computed, avoiding the update.
2015-01-30 13:17:16 -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
Phil Frost 04e86697fb Fix error when refreshing on a deleted AWS subnet
If a subnet exists in the state file and a refresh is performed, the
read function for subnets would return an error. Now it updates the
state to indicate that the subnet no longer exists, so Terraform can
plan to recreate it.
2015-01-29 11:06:40 -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
Paul Hinze 9fff0b1729 providers/google: fix instance creation
with this commit, the google compute instance acceptance tests are
passing

 - remove GOOGLE_CLIENT_FILE requirement from provider tests to finish
   out #452
 - skip extra "#" key that shows up in metadata maps, fixes #757 and
   sprouts #883 to figure out core issue
 - more verbose variablenames in metadata parsing, since it took me
   awhile to grok and i thought there might have been a shadowing bug in
   there for a minute. maybe someday when i'm a golang master i'll be
   smart enough to be comfortable with one-char varnames. :)
2015-01-28 15:50:56 -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
Paul Hinze 3cb5ba01a7 whitespace: fix mixed case indent 2015-01-28 05:16:04 -06:00
Paul Hinze c88c4a33e1 providers/aws: ignore ec2 root devices
fixes #859

EC2 root block devices are attached automatically at launch [1] and show
up in DescribeInstances responses from then on. By skipping these when
recording state, Terraform can avoid thinking there should be block
device changes when there are none.

Note this requires that https://github.com/mitchellh/goamz/pull/214 land
first so the proper field is exposed.

[1] http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/RootDeviceStorage.html
2015-01-28 05:14:21 -06:00
Seth Vargo 918ba4c3be Merge pull request #851 from hashicorp/sethvargo/aws_envvars
Use standard AWS environment variables
2015-01-25 13:29:32 -05:00
Sander van Harmelen a3ef8bed68 Merge pull request #849 from gfloyd/spot-price
Add spot_price parameter to aws_launch_configuration resource
2015-01-23 23:48:09 +01:00
Graham Floyd 91378ce0af Add test for launch configuration with spot price 2015-01-23 15:51:25 -06:00
nevins-b 47b244d296 adding support for egress rules in AWS Security Groups 2015-01-23 09:46:20 -05:00
Sonia Hamilton c30da785e8 Clone dnsmadeeasy from upstream.
Cloned from https://github.com/soniah/terraform-provider-dme, and
the following files removed:

* .gitignore
* .travis.yml
* AUTHORS.md
* LICENSE
* README.md
2015-01-23 17:33:08 +11:00
Seth Vargo 072a1cf353 Read the "standard" AWS environment variables
This is 100% backwards-compatible
2015-01-22 16:09:25 -05:00
Evan Krall 090a30e988 Fix comment in consul provider to not mention digitalocean 2015-01-22 12:45:55 -08:00
Graham Floyd c9a0627f13 Add spot_price parameter to aws_launch_configuration resource 2015-01-21 22:48:04 -06:00
Otto Jongerius 7759a28e9c No longer needed after merging of PR 804. 2015-01-21 18:48:28 +11:00
Armon Dadgar df71834ff7 Merge pull request #831 from gulyasm/log-typo
Fixed wrong cross zone balancing error log.
2015-01-20 13:20:25 -08:00
gulyasm 0486dd0624 Fixed wrong cross zone balancing error log.
If updating the cross zone balancing in the aws elb resource fails, the
error log claimed that the health check configuration failed. Fixed.
2015-01-17 16:20:35 +01:00
Jeff Mitchell f2bd1f45ab Move duplicated envDefaultFunc out of each provider and into Schema. 2015-01-16 17:25:39 +00:00
Sander van Harmelen 8e7ffc24a5 Merge pull request #823 from svanharmelen/f-provider/cloudstack-managed-fw
provider/cloudstack: managed fw and adding/updating docs
2015-01-16 17:53:42 +01:00
Mitchell Hashimoto 61e91017be Merge pull request #804 from PeoplePerHour/f-aws-elb-subnet
providers/aws: elb subnet change should not force a new resource
2015-01-16 08:33:32 -08:00
Panagiotis Moustafellos a49f1b5dd8 epic typo 2015-01-16 16:07:55 +02:00
Sander van Harmelen 8f223c020b Extending the managed firewall option
It’s now also possible to don’t give any rules, when the firewall is
configured with `managed = true`. This will in effect mean; make sure
no rules exist at all for the firewall.
2015-01-16 13:26:43 +01:00
Sander van Harmelen ab8977eed6 Last tweaks needed to get through all acc tests
Needed to tweak a few things in order get all tests running OK and to
be able to handle the latest changes in master. All is good again now…
2015-01-15 21:46:06 +01:00
Panagiotis Moustafellos cedf3a9415 providers/aws: elb subnet change acceptance test
add listeners

add orig subnet
2015-01-15 16:02:47 +02:00
Sander van Harmelen 19776ba402 Updating some logic and tests
These fixes are needed to make the provider work with master again.
These are still some issues, but they seem not to be related to the
provider, but the changes in `helper/schema`.
2015-01-15 11:29:04 +01:00
Sander van Harmelen 3898098c78 Adding the ability to manage the whole firewall
This goes for the normal firewall, the egress firewall and the network
ACL.

USE WITH CAUTION! When setting `managed = true` in your config, it
means it will delete all firewall rules that are not in your config, so
unknown to TF.

Also adding the new `cloudstack_egress_firewall` resource with this
commit and updating go-cloudstack to the latest API version (v4.4)
2015-01-15 10:04:09 +01:00
Panagiotis Moustafellos c963793f3d providers/aws: elb subnet change should not force a new resource 2015-01-15 10:43:26 +02:00
Emil Hessman 335d8fa1e6 builtin/providers/cloudstack: fix err checks in tests
Wrong return value is used to determine if an error occured.
Make sure to check the actual Error value that the functions return.
2015-01-14 19:54:29 +01:00
Sander van Harmelen fa1b3c88d8 Fix conversion error
This causes a crash of the provider
2015-01-13 08:55:47 +01:00
Sander van Harmelen 7b16c44cc2 provider/cloudstack: make timeout configurable
Seems some platforms need more time, so make it configurable with a
sane default…
2015-01-12 15:57:24 +01:00
Sander van Harmelen 9cf0c44247 provider/cloudstack: fixing the cloudstack_disk provider
This value is read back from the environment to the state, without
setting this to `Computed: true` it will see the read back value as a
diff.
2015-01-12 15:04:58 +01:00
Mitchell Hashimoto 08813e6571 Merge branch 'add-ig-tags' of https://github.com/robzienert/terraform into robzienert-add-ig-tags
Conflicts:
	builtin/providers/aws/resource_aws_internet_gateway_test.go
2015-01-10 15:28:14 -08:00
Paul Hinze f800441fe1 provider/aws: fix aws_db_instance acceptance tests
- 5.6.17 is no longer a valid mysql engine version, bumping to 5.6.21
- updating security_group_names assertion to match new set structure
  introduce in #663
2015-01-10 15:55:08 -06:00
Ryan Uber 94c3acbca6 Switch to github.com/hashicorp/consul/api 2015-01-06 17:11:29 -08:00
Mitchell Hashimoto cc0ee4a6bb Merge pull request #731 from atlassian/tags
providers/aws: make tags not computed
2015-01-06 15:38:35 -08: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
Armon Dadgar 11dc775c25 Merge pull request #701 from ceh/issue-687
builtin/providers/aws: acceptance tests for assigning private IPs on AWS instance
2015-01-05 11:41:15 -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
Armon Dadgar 150da4720f Merge pull request #724 from frodenas/google_ubuntu_images
provider/google: Add Ubuntu images
2015-01-05 11:27:07 -08:00
Sander van Harmelen 54ab857a54 Merge pull request #728 from atlassian/route_diff_fix
Route diff fix
2015-01-05 10:43:02 +01:00
Sander van Harmelen 7106917e98 Merge pull request #726 from atlassian/vgw_routes
Vgw routes
2015-01-05 10:39:42 +01:00
Emil Hessman c738bf0477 builtin/providers/aws: remove unreachable code and skip unnecessary remote call
When DeleteInternetGateway is successful it returns a nil error value.
However, for a nil error value, the RetryFunc returns an error yielding a
unnecessary second call to DeleteInternetGateway in the retry logic.

The logic works because DeleteInternetGateway eventually returns an ec2.Error
with error code InvalidInternetGatewayID.NotFound since the internet gateway
has been deleted in the previous call. The return value of nil breaks the
retry logic and the deletion is deemed successful.

Fix the unnecessary second call to DeleteInternetGateway by short circuiting
with a nil error value when deletion of the internet gateway is successful on
the first try.

Add an acceptance test for internet gateway deletion and remove unreachable
code while here.
2015-01-03 21:56:44 +01:00
Otto Jongerius eb1776c7e3 "Computed" should be false 2015-01-03 18:33:18 +11:00
Otto Jongerius 66159fd008 ignore routes originating from vgws 2015-01-02 19:17:52 +11:00
Otto Jongerius f6385215f6 Merge branch 'master' into route_diff_fix 2015-01-02 19:08:53 +11:00
Otto Jongerius 9bdb2fb2d1 This change belongs in a branch 2015-01-02 19:08:33 +11:00
Otto Jongerius 19c6d04928 Do store potentially empty values. Failing to do so will generate different hashes for identical route(s). 2015-01-02 19:03:13 +11: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
Ferran Rodenas fc0902d230 provider/google: Add Ubuntu images
Ubuntu images are now GA, so add them to the list of available public images
2014-12-31 03:16:52 -08:00
Otto Jongerius 639e0c72b4 ignore routes originating from vgws 2014-12-31 10:23:34 +11:00
Rob Zienert 186af0bbb3 Changing AWS ELB to not ForceNew when listeners change 2014-12-27 22:33:33 -06:00
Rob Zienert 9fd59f09e2 Adding tags support to Internet Gateway resource 2014-12-27 22:05:15 -06:00
Sander van Harmelen 852e2f74ca Fixing aws_elb schema
If not suppling the `availability_zones`, they will be computed
(meaning an update/refresh will retrieve the info and update the values
to the state file).

So without the `Computed = true` the diff will always flag this as a
change, even when it’s not.
2014-12-25 23:12:54 +01:00
Sander van Harmelen 72fa547557 Making things consistent throughout the provider 2014-12-25 22:58:17 +01:00
Sander van Harmelen 57ae6a5da6 Fixing aws_instance schema
Some instance types have a block device by default. So when selecting
such an instance type, you will not set a config for the block device,
but the update/refresh func will notice one and update the state
nonetheless.

So in those cases the `block_device` becomes a `computed` field.
2014-12-25 21:58:26 +01:00
Sander van Harmelen b96f373ee9 Fixing some logic issues with the aws-instance resource
1. The schema contained a few fields that where not marked as
`computed`, while they were updated inside the resource.

2. While updating the `volume_size` it was doing so with a `string`,
but in the schema this field is set as `int`.

3. The set func for calculating the hashes for the `block` set items,
also used computed values to calculate the hash. As these values will
not be in the config, but only in the state, this will always show as a
diff. The solution is to only use the fields that aren’t computed in
order to get consistent hashes.

These where all issues before, but weren’t visible as such. All should
be good again now.
2014-12-25 18:21:05 +01:00
Yahya Poonawala 7860dc1ef6 Adding default security group id attribute reference on creation of VPC. Fixes issue #466. 2014-12-23 11:43:33 +05:30
Yahya Poonawala 634984532d Adding default network acl id attribute reference on creation of VPC. Fixes issue #466. 2014-12-22 23:08:15 +05:30
Emil Hessman 13f1f1f9ad builtin/providers/aws: acceptance tests for assigning private IPs on AWS instance 2014-12-20 20:48:07 +01:00
Sander van Harmelen fd6382fbaf Merge pull request #699 from svanharmelen/f-provider/cloudstack-small-fix
provider/cloudstack: changing this fixes an Excoscale issue where 'all' is not allowed
2014-12-19 19:21:47 +01:00
Sander van Harmelen bb3bbcc0fc Changing this fixes an Excoscale issue where 'all' is not allowed 2014-12-19 19:14:46 +01:00
Pete Hodgson 5b66b9306e add aws_key_pair resource
For now this only supports importing a key pair (by specifying a
public_key) property. In the future it'd be fairly trivial to support
key pair creation, with the private key returned as a computed property.

In real world usage you'd probably want to provide that public_key
property via a variable rather than hard-coding it into a terraform
config that'd end up in source control.
2014-12-18 01:27:06 -08:00
Sander van Harmelen b58e468033 Updated the security_group attribute to use a set
This way the order returned by the API has no impact on the saved
state, preventing false positives when diffing.
2014-12-17 23:53:01 +01:00
Emil Hessman 68a41035a9 builtin/providers/mailgun: vet fix
Fixes the following vet report:

builtin/providers/mailgun/resource_mailgun_domain_test.go:73: arg DomainResp.Domain.Wildcard for printf verb %s of wrong type: bool
2014-12-17 12:59:07 +01:00
Emil Hessman 7b704fb77d builtin/providers/heroku: vet fix
Fixes the following vet reports:

builtin/providers/heroku/resource_heroku_app.go:192: arg vs for printf verb %s of wrong type: bool
builtin/providers/heroku/resource_heroku_app.go:198: arg vs for printf verb %s of wrong type: bool
2014-12-17 12:58:12 +01:00
Emil Hessman 4f3f85b165 builtin/providers/aws: vet fix
Fixes the following vet reports:

builtin/providers/aws/resource_aws_network_acl.go:191: wrong number of args for format in Errorf call: 2 needed but 3 args
builtin/providers/aws/resource_aws_network_acl.go:264: wrong number of args for format in Errorf call: 1 needed but 2 args
builtin/providers/aws/resource_aws_network_acl.go:268: wrong number of args for format in Errorf call: 1 needed but 2 args
builtin/providers/aws/resource_aws_network_acl.go:286: arg m[to_port].(int) for printf verb %s of wrong type: int
builtin/providers/aws/resource_aws_network_acl_test.go:277: arg r.NetworkAcls for printf verb %s of wrong type: []github.com/mitchellh/goamz/ec2.NetworkAcl
builtin/providers/aws/resource_aws_subnet_test.go:21: arg v.MapPublicIpOnLaunch for printf verb %s of wrong type: bool
2014-12-17 12:37:46 +01:00
Emil Hessman 95fa353ee9 builtin/providers/atlas: vet fix
Fixes the following vet report:

builtin/providers/atlas/resource_artifact.go:139: arg user for printf verb %d of wrong type: string
2014-12-17 12:28:28 +01:00
Sander van Harmelen 9797881ed8 Updating the tests and refactoring the code a little
There was an error in the goamz package the prevented updating the
availability zones correctly. So PR #181 should be merged before this
one can be merged…
2014-12-16 15:21:25 +01:00
Sander van Harmelen 3aeba87e38 Updating the resource to use a set instead of a list
By using a set for the availability zones, you can use things like
`availability_zones = ["${aws_instance.web.*.availability_zone}"]`
where is very likely multiple of the same zones will be added to the
set. If you use a list here, the list will say it’s changed (even if
you add the same zone) which will force a new resource.
2014-12-16 13:13:59 +01:00
Sander van Harmelen 7e091dd7bd Merge pull request #677 from svanharmelen/f-provider-aws-fix-route53-toggling
provider/aws: fixing the flipflop problem for the aws_route53 resource
2014-12-16 11:22:54 +01:00
Sander van Harmelen a7667986f9 Updated the code so it makes use of the available functionality
The `helper/schema` package already knows how to create a set from a
slice with set items. So let’s use that functionality…
2014-12-16 11:14:33 +01:00
Mitchell Hashimoto 4f70630c52 Merge pull request #525 from pmoust/patch-2
provider/aws: update to support more regions
2014-12-15 16:40:35 -08:00
Sander van Harmelen 43a30e7d13 Finishing up the needed changes
Also executed the acceptance tests successfully now.
2014-12-16 00:59:47 +01:00
Sander van Harmelen ee7b33acf4 Fixing the flipflop problem
Actually meant as a PoC, but it works perfectly so let’s just merge
this…
2014-12-16 00:40:43 +01:00
Mitchell Hashimoto 6a663796d5 Merge pull request #663 from svanharmelen/f-fix/change-set-logic
core: refactoring the way sets work internally v2
2014-12-15 13:38:00 -08:00
Armon Dadgar f923368fc5 Merge pull request #672 from plan3-labs/heroku_cert_support
Heroku SSL certificate support
2014-12-15 12:12:57 -08:00
Sander van Harmelen 9f0c8874b9 Merge pull request #674 from svanharmelen/f-make-func-names-consistent
Making all function names consistent
2014-12-15 15:57:02 +01:00
Sander van Harmelen 4ace4865d7 Making all function names consistent
Before all providers were using the helper.Schema approach the helper
function had these names. Now they all use names consistent with the Go
naming conventions except for these last few…
2014-12-15 15:26:17 +01:00
Jakub Janczak 765cd1f494 Heroku SSL support: fixes after code review of @svanharmelen 2014-12-15 15:10:59 +01:00
Jakub Janczak 3c0e9970e5 Heroku SSL certificate support added 2014-12-15 12:21:47 +01:00
Armon Dadgar 6098809ec5 Merge pull request #665 from gosuri/master
Fix for #664, crashed due to ig.Attachements being 0
2014-12-14 18:15:27 -08:00
Greg Osuri 9b9d147585 Setting the VPC id to blank for unattached igws 2014-12-14 14:05:38 -08:00
Sander van Harmelen 27a97c4498 Small gofmt update... 2014-12-14 12:32:17 +01:00
Sander van Harmelen d9af954c60 provider/aws: fixing the aws_internet_gateway resource
The resource is build so it can attach and detach the Internet Gateway
from a VPC, but as the schema has `Required` and `ForceNew` both set
to `true` for the vpc_id field it will never use these capabilities.
2014-12-14 12:20:59 +01:00
Greg Osuri 3883e47902 Fix for #664, crashed due to ig.Attachements being 0 2014-12-13 22:14:23 -08:00
Sander van Harmelen 83c760fcb3 core: refactoring the way sets work internally v2
This is a refactored solution for PR #616. Functionally this is still
the same change, but it’s implemented a lot cleaner with less code and
less changes to existing parts of TF.
2014-12-12 23:21:20 +01:00
Sander van Harmelen cc4710c952 Fixing up the tests so they actually pass
Running the tests without these changes results in this error first:

```
--- FAIL: TestAccAWSNetworkAclsOnlyIngressRulesChange (24.92 seconds)
  testing.go:121: Step 0 error: Check failed: Invalid number of ingress
entries found; count = %!s(int=3)
FAIL
exit status 1
FAIL  github.com/hashicorp/terraform/builtin/providers/aws  24.974s
```

And after fixing that one you also get a few unexpected values due to
an expected order mismatch between the items in the set versus the
items in the config.

Those are also fixed, so the test is passing now.
2014-12-12 13:25:44 +01:00
Armon Dadgar 7a3b4fa7ce Merge pull request #648 from yahyapo/master
Adding tag support to AWS EC2 route table resource.
2014-12-10 19:24:38 -08:00
Sander van Harmelen 17bc60fb68 Merge pull request #645 from svanharmelen/f-cloudstack-provider
First release of a provider for CloudStack
2014-12-10 22:33:09 +01:00
Mitchell Hashimoto f0de69b3c5 provider/atlas: bin 2014-12-10 13:27:12 -08:00
Mitchell Hashimoto edc4a277d6 provider/atlas: fix required token 2014-12-10 13:27:11 -08:00
Armon Dadgar 0ff62016ee provider/aws: Fixing ASG handling of not found 2014-12-10 13:27:11 -08:00
Mitchell Hashimoto 124d9fc0bd providers/atlas: make errors more readable 2014-12-10 13:27:11 -08:00
Mitchell Hashimoto 04eb1885f1 providers/atlas: force new 2014-12-10 13:27:06 -08:00
Mitchell Hashimoto a8c05acd1d providers/atlas 2014-12-10 13:27:06 -08:00
Sander van Harmelen 4910423d83 First release of a provider for CloudStack
Of course not all resources are covered by this first release, but
there should be enough resources available to handle most common
operations.

Tests and docs are included.
2014-12-10 22:20:52 +01:00
Armon Dadgar 633a08230e Merge pull request #638 from snehaso/tag_for_acl
[AWS] added tags for aws_network_acl
2014-12-10 12:59:22 -08:00
Armon Dadgar 9668c8292f Merge pull request #637 from snehaso/vpc_tenanct
[AWS] added vpc instance_tenancy
2014-12-10 12:58:50 -08:00
Armon Dadgar 8e32076d55 Merge pull request #635 from snehaso/cross_zone_lb
[AWS]  enabled cross zone load balancing
2014-12-10 10:55:54 -08:00
Yahya Poonawala b595c73d42 Adding tag support to AWS EC2 route table resource. 2014-12-11 00:03:13 +05:30
Sneha Somwanshi 5e3e8562fc added tags for aws_network_acl 2014-12-10 16:29:00 +05:30
Sneha Somwanshi 89f1a38f5b added vpc tenancy argument 2014-12-10 16:10:00 +05:30
Sneha Somwanshi 1d3e30b353 enabled cross zone load balancing 2014-12-10 12:49:43 +05:30
Armon Dadgar 82e60bb3cd Merge pull request #631 from snehaso/network_acl
aws_network_acl: return error if rule protocol is invalid
2014-12-09 09:07:44 -08:00
Sneha Somwanshi aad594aed3 aws_network_acl: return error if protocol is invalid 2014-12-08 16:53:05 +05:30
Armon Dadgar 38697d6b4c aws: Making security group ingress rules optional 2014-12-07 23:52:04 -08:00
Armon Dadgar fae29f4685 Merge pull request #506 from muralimadhu/master
Support termination policies in aws auto scaling group
2014-12-07 23:35:33 -08:00
Armon Dadgar 03d4a425b6 Merge pull request #623 from snehaso/network_acl
[AWS] added new resource aws_network_acl
2014-12-07 23:09:51 -08:00
Sneha Somwanshi 4b154b8fe7 Fixed update of ingress/egress rules 2014-12-08 11:00:55 +05:30
Armon Dadgar 7182e5618e Merge pull request #612 from MerlinDMC/feature/aws_block_device_virtual_name
allow setting the block device virtual_name
2014-12-03 12:08:07 -08:00
Armon Dadgar a2c8859f04 Merge pull request #615 from Banno/fix-aws-instance-block-devices-index-range
fixing array length for aws instance volumes
2014-12-03 12:00:31 -08:00
Armon Dadgar f7a0b7ac1d Merge pull request #617 from josephholsten/simplify-do-droplet-image-loading
simplify digitalocean_droplet.image loading
2014-12-03 11:59:52 -08:00
Sneha Somwanshi c79e6ba08b handled subnet and network acl association 2014-12-03 16:37:50 +05:30
Sneha Somwanshi 86aafdb839 test for tenancy schema 2014-12-03 15:58:51 +05:30
Joseph Anthony Pasquale Holsten 5b0894b5cd simplify digitalocean_droplet.image loading
If a droplet's image slug is empty and its image id is empty, then the
image attribute should be empty, so we may assign from either. So it is
unnecessary to check if the image id is empty.

* remove unnecessary check for emptiness of image id
* reverse order of the conditions for assigning the image attribute,
  with the default case (using the slug) first, and the fallback case
  (using the id) second
2014-12-01 11:36:05 -08:00
Sneha Somwanshi cd0f9761da rearranged the tests 2014-12-01 14:19:39 +05:30
Luke Amdor f3ff4bece8 fixing array length for aws instance volumes 2014-11-30 08:24:23 -06:00
Sneha Somwanshi 5eec8a531c Added CRUD operations for network acl 2014-11-30 17:10:54 +05:30
Sneha Somwanshi d4a887278e flatten/expand operations for network_acl 2014-11-30 17:09:37 +05:30
Sneha Somwanshi bd9e9ec0c4 Add support for network acls 2014-11-26 19:14:02 +05:30
Sneha Somwanshi dca2d9aa4c acceptance test for creating network acl 2014-11-26 19:12:59 +05:30
Sneha Somwanshi cebea04cce added provider for aws_network_acl 2014-11-26 19:12:39 +05:30
Sneha Somwanshi f63e032c23 Merge remote-tracking branch 'upstream/master' 2014-11-26 17:06:42 +05:30
Armon Dadgar ccf7f40711 Merge pull request #596 from svanharmelen/f-refactor-aws-provider
provider/aws: refactor to use the schema.Provider approach
2014-11-24 16:30:41 -08:00
Sander van Harmelen d3e1a6678d Making some last tweaks and fixing some acc tests 2014-11-24 21:22:18 +01:00
Seth Vargo eb729d17c7 Merge pull request #546 from tmtk75/dev/enable-associate-public-ip
support associate_public_ip_address for aws_launch_configuration
2014-11-24 09:58:26 -05:00
Sander van Harmelen 0725486e89 Refactored the last two resources 2014-11-24 14:04:48 +01:00
Tomotaka Sakuma db8256a4a7 add associate_public_ip_address attr to the acceptance test of aws_launch_configuration 2014-11-24 13:27:41 +09:00
Daniel Malon 1e3065ae11 allow setting the block device virtual_name 2014-11-22 09:50:22 +00:00
Sander van Harmelen eccd5ad308 Refactored about 90%
Still need to update 2 resources and check the acceptance tests, but
overall we’re nearly there 😃
2014-11-21 17:58:34 +01:00
Madhu 23c3280c1d { 2014-11-20 14:18:14 -08:00
Madhu a987ce3db0 so my fix works 2014-11-20 14:16:24 -08:00
Seth Vargo d7a9b663b4 Merge pull request #585 from fdr/routes-optional
Make Routes in RouteTable optional
2014-11-20 11:19:15 -05:00
Seth Vargo b7de15f8b9 Merge pull request #586 from svanharmelen/f-update-google-provider
Fix acc tests and updated the provider schema to use a DefaultFunc
2014-11-20 11:17:01 -05:00
Sander van Harmelen 6be4b2e807 A really small update fixing a cosmetic inconsistentie
For the OCD types among us, this inconsistentie (only location where
droplet is spelled with a capital) drives me mad
😝
2014-11-20 15:09:22 +01:00
Sander van Harmelen 36ed95c86d Fixing the acc tests
I do wonder when these tests where last run successfully… Must be quite
some time ago considering what I needed to fix in here 😉
2014-11-20 14:30:02 +01:00
Sander van Harmelen bed36cc86a Refactoring the resourceInstanceTags func just a little
My eye caught this somewhat un-logic mixed use of ‘vs’ and
‘v.(*schema.Set)’, so thought to make it a little cleaner…
2014-11-20 11:32:15 +01:00
Sander van Harmelen 144ceb8003 providers/google: update schema to use a DefaultFunc
This makes testing easier and gives you a way to configure the provider
using env variables. It also makes the provider more inline following
the TF 0.2 approach.
2014-11-20 11:25:23 +01:00
Daniel Farina 67b03247ec Make Routes in RouteTable optional
Otherwise it is impossible to get simple configurations with the
"default" routing table, which is only the "local" route.

The following contents of main.tf expose the bug, and boots an instance
fine after this patch is applied:

    variable aws_access_key {}
    variable aws_secret_key {}
    variable aws_ubuntu_ami {}

    provider "aws" {
        access_key = "${var.aws_access_key}"
        secret_key = "${var.aws_secret_key}"
        region = "us-east-1"
    }

    resource "aws_vpc" "default" {
        cidr_block = "10.0.0.0/20"
    }

    resource "aws_route_table" "private" {
        vpc_id = "${aws_vpc.default.id}"
        # Note the lack of "route" sub-key here.
    }

    resource "aws_subnet" "private" {
        vpc_id = "${aws_vpc.default.id}"
        cidr_block = "10.0.1.0/24"
    }

    resource "aws_route_table_association" "private" {
        subnet_id = "${aws_subnet.private.id}"
        route_table_id = "${aws_route_table.private.id}"
    }

    # Demonstrate an instance can be booted fine in this fashion.
    resource "aws_instance" "sample" {
        ami = "${var.aws_ubuntu_ami}"
        instance_type = "t2.micro"
        subnet_id = "${aws_subnet.private.id}"
    }

terraform.tfvars for completeness:

    aws_access_key = "..."
    aws_secret_key = "..."

    # A public Trusty AMI
    aws_ubuntu_ami = "ami-9aaa1cf2"
2014-11-19 22:04:44 -08:00
Armon Dadgar e53bf23c0c provider/aws: Fixing merge conflict 2014-11-19 17:17:18 -08:00
Armon Dadgar 735e83a146 Merge branch 'master' of https://github.com/serenitus/terraform into serenitus-master 2014-11-19 17:15:15 -08:00
Armon Dadgar 41f2e7f98e Merge pull request #545 from rcostanzo/f-parameter-group
Added new parameter_group_name parameter for creating an RDS DB instance
2014-11-19 16:01:11 -08:00
Armon Dadgar 4303232533 Merge pull request #440 from buth/awsblockdevices
AWS Instance `block_device` Attribute
2014-11-19 15:52:00 -08:00
Armon Dadgar 8446b036d7 Merge pull request #535 from ceh/vet-fixes
argument and verb formatting fixes reported by go vet
2014-11-19 15:46:01 -08:00
Armon Dadgar fc5a13a1c1 Merge pull request #570 from svanharmelen/f-refactor-digitalocean-provider
Refactor to use the schema.Provider approach
2014-11-19 14:15:48 -08:00
Armon Dadgar 12cde243a8 Merge pull request #568 from svanharmelen/f-refactor-cloudflare-provider
Refactor to use the schema.Provider approach
2014-11-19 14:07:40 -08:00
Armon Dadgar 6afae237e5 Merge pull request #569 from svanharmelen/f-refactor-dnsimple-provider
Refactor to use the schema.Provider approach
2014-11-19 14:04:17 -08:00
Armon Dadgar 5b8efd1ba8 Merge pull request #576 from svanharmelen/f-update-mailgun-provider
providers/mailgun: updated the provider schema to use a DefaultFunc
2014-11-19 13:58:53 -08:00
Sander van Harmelen 1b6f37b6eb Fixed tests and updated the provider schema to use a DefaultFunc
The default stack changed from ‘cedar’ to ‘cedar-14’, so updated the
acceptance tests to reflect this.

Updating the schema makes testing easier and gives you a way to
configure the provider using env variables. It also makes the provider
more inline following the TF 0.2 approach.
2014-11-19 14:25:18 +01:00
Sander van Harmelen 2cb1fd8987 Updated the provider to make testing a little easier
Also makes the provider more inline with the others following the TF
0.2 approach.
2014-11-18 15:21:32 +01:00
Sander van Harmelen 12f6ccb731 Refactor the DigitalOcean provider
With this refactor the DigitalOcean provider is updated to use the
schema.Provider approach released with TF 0.2.
2014-11-18 11:26:59 +01:00
Sander van Harmelen 4e94af3644 Removing obsolete struct tags 2014-11-17 18:58:41 +01:00
Sander van Harmelen 11f024a8e7 Removing obsolete struct tags 2014-11-17 18:57:41 +01:00
Sander van Harmelen a270bc9771 Refactoring the CloudFlare provider
With this refactor the CloudFlare provider is updated to use the
schema.Provider approach released with TF 0.2.
2014-11-17 14:03:57 +01:00
Sander van Harmelen cdee8c70ec Refactoring the DNSimple provider
With this refactor the DNSimple provider is updated to use the
schema.Provider approach released with TF 0.2.
2014-11-17 14:01:00 +01:00
Panagiotis Moustafellos 56defa346f providers/aws: Route53 decrease MinTimeout interval
It get's a bit annoying when handling dozens of records to have the MinInterval for retries so high.
2014-11-13 17:52:10 +02:00
Madhu 5ed2ee8f37 Merge branch 'master' of https://github.com/hashicorp/terraform 2014-11-10 18:44:23 -08:00
Tomotaka Sakuma 1170111c7e support associate_public_ip_address for aws_launch_configuration 2014-11-06 21:00:48 +09:00
Rob Costanzo 16b4dd44c1 Upped the RDS instance creation/destroy timeout to 20 minutes as it regularly takes 12+ minutes to create 2014-11-05 11:03:06 -08:00
Rob Costanzo a14da63a39 Fixed bug with final_snapshot_identifier and skip_final_snapshot and removed apply_method as an option for now and am only supporting immediate mode 2014-11-05 11:03:06 -08:00
Rob Costanzo 0e3afa6d3d Fixed incorrect ForcesNew settings for parameters and added better acceptance tests to ensure updates are working as expected 2014-11-05 11:03:06 -08:00
Rob Costanzo 3b54001a1b Added missing update support for new aws_db_parameter_group resource 2014-11-05 11:03:06 -08:00
Rob Costanzo de16b10555 Added new aws_db_parameter_group resource for creating RDS DB Parameter Groups.
Added plumbing to allow an optional DBParameterGroupName to be passed when creating an RDS DB instance.
2014-11-05 11:03:06 -08:00
sneha somwanshi 750a36c51e AWS instance resource now supports tenancy 2014-11-04 16:38:30 +05:30
Jack Pearkes ecf66ad7b5 providers/digitalocean: compat for changes to API for droplet size
Upstream in the digitalocean API, the size slug became a size
string, breaking pearkes/digitalocean.

https://github.com/pearkes/digitalocean/pull/1

This fixes compatibility for changes to that library.

closes #510
2014-11-02 14:50:59 -08:00
Jack Pearkes def922551e providers/digitalocean: fix acceptance test suite for running 2014-11-02 14:44:32 -08:00
Simon Turvey 31132f1ded Add tag support to AWS subnets 2014-11-02 12:30:33 -08:00
Emil Hessman 4bfe18b40d argument and verb formatting fixes reported by go vet
builtin/providers/aws/tags_test.go:56: unrecognized printf verb 'i'
builtin/providers/aws/tags_test.go:59: unrecognized printf verb 'i'

config/config_test.go:101: possible formatting directive in Fatal call
config/config_test.go:157: possible formatting directive in Fatal call

config/module/get_file_test.go:91: missing argument for Fatalf(%s): format reads arg 1, have only 0 args

helper/schema/schema.go:341: arg v.Type for printf verb %s of wrong type: schema.ValueType
helper/schema/schema.go:656: missing argument for Errorf(%s): format reads arg 2, have only 1 args
helper/schema/schema.go:912: arg schema.Type for printf verb %s of wrong type: schema.ValueType

terraform/context.go:178: arg v.Type() for printf verb %s of wrong type: github.com/hashicorp/terraform/config.VariableType
terraform/context.go:486: arg c.Operation for printf verb %s of wrong type: terraform.walkOperation

terraform/diff_test.go💯 arg actual for printf verb %s of wrong type: terraform.DiffChangeType
terraform/diff_test.go:235: arg actual for printf verb %s of wrong type: terraform.DiffChangeType
2014-11-02 13:56:44 +01:00