Mitchell Hashimoto
fee0351c66
config: RawConfig merge should only set unknown keys non-nil if
...
non-empty
2016-10-19 15:21:09 -07:00
Mitchell Hashimoto
a89dcfd1b1
terraform: re-enable shadow tests
2016-10-19 15:09:01 -07:00
Mitchell Hashimoto
51e90cd641
terraform: move references for disable provider transform to old
2016-10-19 15:07:00 -07:00
Mitchell Hashimoto
fa25a3051b
terraform: orphan resources in old graph need unique ID
2016-10-19 15:05:38 -07:00
Mitchell Hashimoto
d27c8fbbbc
terraform: compared states from shadow graph must be pruned
2016-10-19 15:01:54 -07:00
Mitchell Hashimoto
e4ef1fe553
terraform: disable providers in new apply graph
...
This adds the proper logic for "disabling" providers to the new apply
graph: interolating and storing the config for inheritance but not
actually initializing and configuring the provider.
This is important since parent modules will often contain incomplete
provider configurations for the purpose of inheritance that would error
if they were actually attempted to be configured (since they're
incomplete). If the provider is not used, it should be "disabled".
2016-10-19 14:54:00 -07:00
Mitchell Hashimoto
13b9007474
terraform: logic for shadowing the original graph
...
This introduces failing tests. How many is unknown since shadow graph
errors cause a panic.
2016-10-19 14:17:12 -07:00
Mitchell Hashimoto
7d36e991da
terraform: resource address internal can parse data resource addrs
2016-10-19 14:12:30 -07:00
Mitchell Hashimoto
5d598ad217
terraform: if components is closed, initialize closed components
...
This was happening if the shadow initializes a provider that is never
used by the real side. We need to make sure it starts closed.
2016-10-19 14:10:46 -07:00
Mitchell Hashimoto
d87bdc2d2b
terraform: update destroy resource with proper unique-ifier for shadow
...
This adds a proper unique extra field so that the shadow graph can
properly compare values.
2016-10-19 13:51:11 -07:00
Mitchell Hashimoto
c9c1912b34
terraform: missing fields from ApplyGraphBuilder after master rebase
2016-10-19 13:46:32 -07:00
Mitchell Hashimoto
e59efa024b
terraform: fix merge issues with master
2016-10-19 13:41:30 -07:00
Mitchell Hashimoto
5cd6898109
config: fix a conflicting test name
...
A public API TestNewRawConfig was added to easily create a raw config
for testing, but this conflicted with the test. Just rename it.
2016-10-19 13:39:28 -07:00
Mitchell Hashimoto
e8516f259d
command/apply: Xnew-apply
2016-10-19 13:39:28 -07:00
Mitchell Hashimoto
ec15783f24
-Xnew-apply to enable the new apply graph
2016-10-19 13:39:28 -07:00
Mitchell Hashimoto
eb9ecea863
terraform: don't set Provider on destroy nodes
...
This doesn't explicitly set `rs.Provider` on destroy nodes.
To be honest, I'm not sure why this was done in the first place (git
blame points to 6fda7bb5483a155b8ae1e1e4e4b7b7c4073bc1d9). Tests always
passed without it, and by adding it it causes other tests to fail. I
should've never changed those other tests.
Removing it now to get tests passing, this also reverts the test changes
made in 8213824962f085279810f04b60b95d1176a3a3f2.
2016-10-19 13:39:13 -07:00
Mitchell Hashimoto
7c2c9b82a3
terraform: interpolation for multi-var checks both ".0" and "" suffix
2016-10-19 13:39:13 -07:00
Mitchell Hashimoto
9ac4ee4b52
terraform: transform module variables does parent first
2016-10-19 13:38:53 -07:00
Mitchell Hashimoto
924f7a49e0
terraform: module variable transform must do children later (tested)
2016-10-19 13:38:53 -07:00
Mitchell Hashimoto
c1664d2eaa
terraform: cbd works!
2016-10-19 13:38:53 -07:00
Mitchell Hashimoto
23665790f3
terraform: destroy resource should have no references
2016-10-19 13:38:53 -07:00
Mitchell Hashimoto
aaee4df363
terraform: working on enabling CBD, some cycles
2016-10-19 13:38:53 -07:00
Mitchell Hashimoto
4aa84a2071
terraform: CBD makes the proper edge connections for dependent resources
2016-10-19 13:38:53 -07:00
Mitchell Hashimoto
3d4937b784
terraform: FlatConfigTransformer
2016-10-19 13:38:53 -07:00
Mitchell Hashimoto
6622ca001d
terraform: abstract resource nodes
2016-10-19 13:38:53 -07:00
Mitchell Hashimoto
046faf247a
terraform: cleanup and failing test for CBD
2016-10-19 13:38:53 -07:00
Mitchell Hashimoto
6e632ec2ba
dag: test for EdgesFrom, EdgesTo
2016-10-19 13:38:53 -07:00
Mitchell Hashimoto
4e8e6cd661
dag: add EdgesFrom, EdgesTo, needs tests
2016-10-19 13:38:53 -07:00
Mitchell Hashimoto
b9b23e8483
terraform: improved logging
2016-10-19 13:38:53 -07:00
Mitchell Hashimoto
7baf64f806
terraform: starting CBD, destroy edge for the destroy relationship
2016-10-19 13:38:52 -07:00
Mitchell Hashimoto
4988378ccb
terraform: remove diff transformer test that no longer happens
2016-10-19 13:38:52 -07:00
Mitchell Hashimoto
311d27108e
terraform: Enable DestroyEdgeTransformer
2016-10-19 13:38:52 -07:00
Mitchell Hashimoto
08dade5475
terraform: more destroy edge tests
2016-10-19 13:38:52 -07:00
Mitchell Hashimoto
7b2bd93094
terraform: test the destroy edge transform
2016-10-19 13:38:52 -07:00
Mitchell Hashimoto
bd5d97f9f5
terraform: transform to attach resource configs
2016-10-19 13:38:52 -07:00
Mitchell Hashimoto
ceb5c53d56
terraform: destroy nodes should call post state update hook
2016-10-19 13:38:52 -07:00
Mitchell Hashimoto
56b4521d8f
terraform: provider depends on config references
2016-10-19 13:38:52 -07:00
Mitchell Hashimoto
ebc7d209a7
terraform: new graph fixes ".0" and "" boundaries on counts
2016-10-19 13:38:52 -07:00
Mitchell Hashimoto
2e8cb94a5e
terraform: orphan outputs are deleted from the state
2016-10-19 13:38:52 -07:00
Mitchell Hashimoto
38b9f7794d
terraform: reference transformer shouldn't make loop to self
2016-10-19 13:38:52 -07:00
Mitchell Hashimoto
5018617049
terraform: change node name so that it shows up properly
2016-10-19 13:38:52 -07:00
Mitchell Hashimoto
cd04ccfa62
terraform: update a test to be easier to target
2016-10-19 13:38:51 -07:00
Mitchell Hashimoto
80ef7f1acf
terraform: properly compare bad diffs
2016-10-19 13:38:51 -07:00
Mitchell Hashimoto
9e8cd48cda
terraform: add destroy nodes, destroys kind of work
2016-10-19 13:38:51 -07:00
Mitchell Hashimoto
2e8a419fd8
terraform: starting work on destroy
2016-10-19 13:38:51 -07:00
Mitchell Hashimoto
dfa02e4412
terraform: rename attach config to only attach provider config
2016-10-19 13:38:51 -07:00
Mitchell Hashimoto
0e666aa575
terraform: get tests to not panic on failures
2016-10-19 13:38:51 -07:00
Mitchell Hashimoto
0463ad74a8
terraform: RootVariableTransform
2016-10-19 13:38:51 -07:00
Mitchell Hashimoto
993c29f34a
terraform: move ModuleVariableTransformer to its own file
2016-10-19 13:38:51 -07:00
Mitchell Hashimoto
0d815872e1
terraform: tests for module variable node
2016-10-19 13:38:51 -07:00