Commit Graph

13193 Commits

Author SHA1 Message Date
Mitchell Hashimoto 0b00bbde4e
terraform: switch to a component factory
This is necessary so that the shadow version can actually keep track of
what provider is used for what. Before, providers for different alises
were just initialized but the factory had no idea. Arguably this is fine
but when trying to build a shadow graph this presents challenges.

With these changes, we now pass an opaque "uid" through that is used to
keep track of the providers and what real maps to what shadow.
2016-10-11 22:17:29 +08:00
Mitchell Hashimoto 5053872e82
terraform: Diff.DeepCopy test to catch a bug that in copystructure
This was fixed upstream but keeping the test around to prevent
regressions.
2016-10-11 22:17:29 +08:00
Mitchell Hashimoto 742af8752b
terraform: run the shadow graph for Apply operations (everything fails) 2016-10-11 22:17:28 +08:00
Mitchell Hashimoto 02e93f5920
terraform: shadowResourceProviderFactory
This helper helps create the factory maps for the context.
2016-10-11 22:17:28 +08:00
Mitchell Hashimoto f7134d95e4
terraform: Diff.DeepCopy 2016-10-11 22:17:28 +08:00
Mitchell Hashimoto 9ae9f208d1
terraform: Context knows how to walk a shadow graph and report errors 2016-10-11 22:17:28 +08:00
Mitchell Hashimoto 3504054b1e
terraform: EvalContext.CloseProvider (shadow) works if never init 2016-10-11 22:17:28 +08:00
Mitchell Hashimoto d6168edc50
helper/shadow: KeyedValue.ValueOk 2016-10-11 22:17:28 +08:00
Mitchell Hashimoto 17b909a59b
terraform: EvalContext.CloseProvider (shadow) 2016-10-11 22:17:28 +08:00
Mitchell Hashimoto ea8e7659e2
terraform: EvalContext.Provider (shadow) 2016-10-11 22:17:28 +08:00
Mitchell Hashimoto ce56712473
terraform: EvalContext.InitProvider(shadow) test double init 2016-10-11 22:17:28 +08:00
Mitchell Hashimoto 792a9f1de4
terraform: EvalContext.InitProvider (shadow) tests 2016-10-11 22:17:28 +08:00
Mitchell Hashimoto fb96b0c422
terraform: EvalContext.initProvider shadow 2016-10-11 22:17:28 +08:00
Mitchell Hashimoto 51ac3c5969
terraform: ResourceProvider.Refresh (shadow) 2016-10-11 22:17:28 +08:00
Mitchell Hashimoto 82a1158f55
terraform: ResourceProvider.Diff shadow 2016-10-11 22:17:28 +08:00
Mitchell Hashimoto cbbd492bce
terraform: shadow resource provider Apply 2016-10-11 22:17:27 +08:00
Mitchell Hashimoto bd69e41c14
helper/shadow: KeyedValue 2016-10-11 22:17:27 +08:00
Mitchell Hashimoto 8426cea6b0
helper/shadow: OrderedValue 2016-10-11 22:17:27 +08:00
Mitchell Hashimoto 3522b07b75
terraform: Shadow resource provider Configure 2016-10-11 22:17:27 +08:00
Mitchell Hashimoto 23204d2414
terraform: ResourceProvider.Validate for shadow 2016-10-11 22:17:27 +08:00
Mitchell Hashimoto bb5f116cec
terraform: shadow resource provider tests begin 2016-10-11 22:17:27 +08:00
Mitchell Hashimoto d37bb87bf2
terraform: ResourceConfig.DeepCopy should handle the nil case 2016-10-11 22:17:27 +08:00
Mitchell Hashimoto 37f5c6ae26
terraform: ResourceConfig.Equal handles nil case 2016-10-11 22:17:27 +08:00
Mitchell Hashimoto f73dc844c7
wip 2016-10-11 22:17:27 +08:00
Mitchell Hashimoto 1df3bbdc37
terraform: working on the resource provider shadow, not working yet 2016-10-11 22:17:27 +08:00
Mitchell Hashimoto 35f13f9c52
terraform: wip on shadow graph, compiles 2016-10-11 22:17:27 +08:00
Mitchell Hashimoto 983f5f1e40 Update CHANGELOG.md 2016-10-11 22:17:10 +08:00
Mitchell Hashimoto 22c8a83031 Merge pull request #9318 from hashicorp/b-provider-orphan-grandchild
terraform: orphaned grandchild module inherits provider config
2016-10-11 22:16:11 +08:00
Krzysztof Wilczynski 6393ad743f Add missing unit test and re-factor for clarity.
This commit adds a missing unit test for the API Gateway integration type
attribute validation helper, plus changes the way how value is inspected
to a simple lookup table. Additionally, changes the wording of the error
message, and adds invalid test cases to the HTTP method validation helper.

Signed-off-by: Krzysztof Wilczynski <krzysztof.wilczynski@linux.com>
2016-10-11 08:17:05 -05:00
Mitchell Hashimoto 8c9097f454
terraform: orphaned grandchild module inherits provider config
This fixes an issue where orphaned grandchild modules don't properly
inherit their provider configurations from grandparents. I found this
while working on shadow graphs (the shadow graph actually caught an
inconsistency between runs and exposed this bug!), so I'm unsure if this
affects any issue.

To better explain the issue, I'll diagram things.

Here is a hierarchy that _works_ (w/o this PR):

```
root
|-- child1 (orphan)
|-- child2
    |-- grandchild
```

All modules in this case will successfully inherit provider
configurations from "root".

Here is a hierarchy that _doesn't work without this PR_:

```
root
|-- child1 (orphan)
    |-- grandchild (orphan)
```

In this case, `child1` does successfully inherit the provider from root,
but `grandchild` _will not_ unless `child1` had resources. If `child1`
has no resources, it wouldn't inherit anything. This PR fixes that.
2016-10-11 15:51:27 +08:00
James Nugent 258005408b Merge pull request #9301 from jamtur01/patch-11
Updated provisioning getting started
2016-10-10 22:45:39 -04:00
James Nugent 4b992dc770 Merge pull request #9313 from iamthemuffinman/master
Cleanup main help message to look cleaner
2016-10-10 22:44:51 -04:00
James Nugent d3e13096aa Update CHANGELOG.md 2016-10-10 21:44:38 -05:00
James Nugent 276ff83b84 Merge pull request #9312 from nicolai86/chore/upgrade-scaleway-api
provider/scaleway: SDK upgrade
2016-10-10 22:44:15 -04:00
James Nugent f1503d3b39 Merge pull request #9305 from BedeGaming/azurerm-lb-rule-validation
provider/azurerm: fix loadbanacer_rule tests failing validation
2016-10-10 22:42:56 -04:00
James Nugent 0766c7d1b3 Update CHANGELOG.md 2016-10-10 20:53:29 -04:00
James Nugent 51c4f8665f Merge pull request #9306 from BedeGaming/azurerm-cdn-profile-id-fix
provider/azurerm: fix cdn_profile ID parsing, add import capability
2016-10-10 20:33:50 -04:00
James Nugent e23fc50661 Merge pull request #9300 from jamtur01/patch-10
Updates to the Connection docs
2016-10-10 20:25:02 -04:00
James Nugent 2f431d9a16 Merge pull request #9299 from jamtur01/patch-9
Some edits to the Chef provisioner page
2016-10-10 20:23:17 -04:00
James Nugent 4e5a5c7b55 Merge pull request #9296 from chaseadamsio/update-digitalOceanExample
updates digitalocean example main.tf to correct syntax for private_key & file function
2016-10-10 20:22:10 -04:00
James Nugent 7642c94896 Merge pull request #9315 from Zhebr/master
provider/scaleway: fix docs - are => is
2016-10-10 19:30:08 -04:00
James Nugent fbc11e269a Merge pull request #9314 from hashicorp/f-aws-auth-logging
provider/aws: Add extra logging on AuthFailure
2016-10-10 19:25:52 -04:00
Kot Chaosu 78fd57273b are -> is 2016-10-11 00:00:07 +02:00
James Nugent 52f4e23ac3 provider/aws: Add extra logging on AuthFailure
This pull request is intended to add a temporary control to Terraform to
output more verbose logging in the case of an AuthFailure error being
returned by the AWS API.
2016-10-10 17:26:30 -04:00
Robert Deusser 72f117b6c5 Cleanup main help message to look cleaner 2016-10-10 14:47:35 -04:00
Raphael Randschau 5e107cd009
provider/scaleway: Update provider docs with new attribute 2016-10-10 20:05:26 +02:00
Raphael Randschau d98e5200cc
provider/scaleway: expose Region as user facing configuration 2016-10-10 20:02:32 +02:00
Raphael Randschau a5d105da36
provider/scaleway: use building DetachIP func 2016-10-10 20:02:10 +02:00
Raphael Randschau 85b982f26d
provider/scaleway: update go sdk
scaleway is about to introduce multiple regions, so we anticipate this change by
upgrading the API sdk to a version supporting regions
2016-10-10 19:57:25 +02:00
Peter McAtominey d60b9ab018 provider/azurerm: fix cdn_profile ID parsing, add import capability
cdn_profile resource was using `Profiles` instead of `profiles` to gather the
name in the read and delete methods, added importing capability with test to
confirm read now works as expected.

```
TF_ACC=1 go test ./builtin/providers/azurerm -v -run TestAccAzureRMCdnProfile -timeout 120m
=== RUN   TestAccAzureRMCdnProfile_importWithTags
--- PASS: TestAccAzureRMCdnProfile_importWithTags (170.00s)
=== RUN   TestAccAzureRMCdnProfile_basic
--- PASS: TestAccAzureRMCdnProfile_basic (166.33s)
=== RUN   TestAccAzureRMCdnProfile_withTags
--- PASS: TestAccAzureRMCdnProfile_withTags (185.94s)
PASS
ok  	github.com/hashicorp/terraform/builtin/providers/azurerm	522.333s
```
2016-10-10 14:03:48 +01:00