Commit Graph

3337 Commits

Author SHA1 Message Date
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
Mitchell Hashimoto 751822b53f Revert "remote: just limiting the public API"
This reverts commit 3e3b30f147.
2015-02-20 18:15:07 -08:00
Mitchell Hashimoto 3e3b30f147 remote: just limiting the public API 2015-02-20 18:08:32 -08:00
Mitchell Hashimoto 39d2bf4629 terraform: cache provider configuration with the provider name
/cc @sethvargo

This was causing a race with whichever provider was configured first
would "win" the configuration slot. We need to make sure to append the
unique provider name to the end of the key.

Note: this doesn't have tests. We don't test this yet. :(
2015-02-20 15:48:06 -08:00
Mitchell Hashimoto 40ee70d5c9 terraform: Input should only be called on providers once
/cc @sethvargo

Prior to this commit, we'd only persist the result of calling Input if
any input was given (len(result) > 0). The result was that every module
would also repeat asking for input even if there was no input to be
asked for.

This commit makes it so that if no input was received, we still set a
sentinel so that modules don't re-ask.
2015-02-20 15:35:57 -08:00
Clint Shryock 5b35b85527 remove the rand, it's not helping like I thought 2015-02-20 15:49:51 -06:00
Mitchell Hashimoto 09ea85a7c6 update CHANGELOG 2015-02-20 13:46:35 -08:00
Mitchell Hashimoto 45a267111b Merge pull request #885 from brycekahle/split-func
config: add split function
2015-02-20 13:45:01 -08:00
Mitchell Hashimoto b041f48e56 terraform: State.Equal 2015-02-20 13:39:49 -08:00
Clint Shryock 4326b6b8b5 cleanups after feedback 2015-02-20 14:28:14 -06:00
Mitchell Hashimoto 85e2bef179 terraform: provisioners should be cached with the provisioner name 2015-02-20 10:50:36 -08:00
Mitchell Hashimoto 523639b5cd fmt 2015-02-20 10:22:26 -08:00
Mitchell Hashimoto 4a11b1ce1f update CHANGELOG 2015-02-20 10:20:57 -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
Mitchell Hashimoto 3093268106 website: clarify lookup [GH-531] 2015-02-20 10:04:53 -08:00
Mitchell Hashimoto ab414de0ab terraform: test case for destroying with a count [GH-527] 2015-02-20 10:02:52 -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
Mitchell Hashimoto 79648add00 update CHANGELOG 2015-02-20 09:27:18 -08:00
Mitchell Hashimoto c14e84a657 config: validate provisioner splats can only reference others 2015-02-20 09:21:29 -08:00
Mitchell Hashimoto f156d0d1bd config: test we can ref splat of other resources 2015-02-20 09:19:13 -08:00
Mitchell Hashimoto 90a6a627ed config: validate configuration doens't contain splats to ourselves 2015-02-20 09:18:08 -08:00
Mitchell Hashimoto 0e7b150c5b config: depends on cannot contain interpolations [GH-985] 2015-02-20 09:07:41 -08:00
Mitchell Hashimoto ed115f495b Merge pull request #1010 from hashicorp/f-ast-graph
core: formalize internals to do graph transformation steps and walking over an AST tree for execution
2015-02-20 08:59:11 -08: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 d79f39a7b7 Merge pull request #1012 from hashicorp/aws-go-s3-bucket
provider/aws: Convert S3 Bucket to awslabs/aws-sdk-go
2015-02-20 08:53:44 -06:00
Mitchell Hashimoto c2593f6ada terraform: re-enable dot-graphs 2015-02-19 23:00:29 -08:00
Clint 7d86697c18 Update CHANGELOG.md 2015-02-19 15:43:19 -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 d99df916bc Merge pull request #971 from hashicorp/aws-go-route53
provider/aws: Convert Route 53 Zone resource to use awslabs/aws-sdk-go
2015-02-19 15:20:41 -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 4b6f258f1f terraform: only depose state if we're doing the destroy side 2015-02-19 12:08:34 -08:00
Mitchell Hashimoto fa222a44c3 terraform: limit parallelism 2015-02-19 12:08:34 -08:00
Mitchell Hashimoto 0175d1babc terraform: updated comment 2015-02-19 12:08:33 -08:00
Mitchell Hashimoto 10e96ad72d terraform: provisioner config is properly interpolated 2015-02-19 12:08:33 -08:00
Mitchell Hashimoto ae68cf1705 terraform: slightly better validation error messages 2015-02-19 12:08:33 -08:00
Mitchell Hashimoto 459ad04d71 terraform: provider cache should append the provider name to it 2015-02-19 12:08:33 -08:00
Mitchell Hashimoto ad595cf254 terraform: test case for cycle of CBD depending on non-CBD 2015-02-19 12:08:33 -08:00
Mitchell Hashimoto e68ea0d38f terraform: only keep the destroy if we decreased counts 2015-02-19 12:08:33 -08:00
Mitchell Hashimoto 1ed37f0b7f terraform: change DiffId to DiffInclude to allow smarter logic
This lets us check for orphans properly.
2015-02-19 12:08:33 -08:00
Mitchell Hashimoto 4789f16796 terraform: tainted destroy nodes 2015-02-19 12:08:33 -08:00
Mitchell Hashimoto 991611857a terraform: remove requirement that DestroyNode return the SAME node 2015-02-19 12:08:33 -08:00
Mitchell Hashimoto 9c14315336 terraform: don't prune if there are known tainted resources 2015-02-19 12:08:33 -08:00
Mitchell Hashimoto 8d2ed22e97 terraform: prune destroy nodes for resources not in diff 2015-02-19 12:08:32 -08:00
Mitchell Hashimoto e60a614a37 Add cover tasks to test code coverage 2015-02-19 12:08:32 -08:00
Mitchell Hashimoto 8db6f722d2 terraform: CBD edge transpositions must happen atomically 2015-02-19 12:08:32 -08:00
Mitchell Hashimoto c47440ddd6 terraform: remove evaltype, unused 2015-02-19 12:08:32 -08:00
Mitchell Hashimoto b52881d232 terraform: clean up EvalNodes 2015-02-19 12:08:32 -08:00
Mitchell Hashimoto af1778cd5e terraform: goodbye graph.go 2015-02-19 12:08:32 -08:00