Commit Graph

691 Commits

Author SHA1 Message Date
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 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
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
Ferran Rodenas f561e2a6a8 Add Azure provider 2015-01-30 16:32:35 -06: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
Dave Cunningham 6046647f38 Multiple gcp improvements and new resources 2015-01-30 10:32:35 -06: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
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