Mitchell Hashimoto
3908b6319a
terraform: pulling out everything into Interpolater
2015-02-19 12:07:56 -08:00
Mitchell Hashimoto
76ce6e45f7
terraform: extract interpolation to its own struct
...
This is not really improving the way we do interpolation so much as its
just shuffling bits around. I don't want to refactor interpolation in
this branch so I needed to make the current way reusable so that I can
reuse it in the new Context.
2015-02-19 12:07:56 -08:00
Mitchell Hashimoto
57ad9e2502
terraform: provider configuration validation
2015-02-19 12:07:55 -08:00
Mitchell Hashimoto
f9f18122ed
terraform: basic provider validation!
2015-02-19 12:07:55 -08:00
Mitchell Hashimoto
c308405b53
terraform: validation in progress
2015-02-19 12:07:55 -08:00
Mitchell Hashimoto
e86698c50d
dag: fix walk order issue, scc issues
2015-02-19 12:07:55 -08:00
Mitchell Hashimoto
d9a964f44c
terraform: validate almost done
2015-02-19 12:07:55 -08:00
Mitchell Hashimoto
012d68923c
terraform: Eval
2015-02-19 12:07:55 -08:00
Mitchell Hashimoto
d59ced3c57
dag: Validate for DAGs
2015-02-19 12:07:55 -08:00
Mitchell Hashimoto
e94c43e0dc
dag: Walk
2015-02-19 12:07:55 -08:00
Mitchell Hashimoto
cfa3d89265
dag: find root of AcyclicGraph
2015-02-19 12:07:55 -08:00
Mitchell Hashimoto
9f70c6fad5
terraform: rename context
2015-02-19 12:07:54 -08:00
Mitchell Hashimoto
a8364dd0fc
terraform: more eval stuff
2015-02-19 12:07:54 -08:00
Mitchell Hashimoto
3f0eb528de
terraform: all eval nodes tested
2015-02-19 12:07:54 -08:00
Mitchell Hashimoto
c2df70e499
terraform: complete more nodes
2015-02-19 12:07:54 -08:00
Mitchell Hashimoto
ac92c67cba
terraform: some tests for the eval nodes
2015-02-19 12:07:54 -08:00
Mitchell Hashimoto
128c07e504
terraform: start eval stuff, untested
2015-02-19 12:07:54 -08:00
Mitchell Hashimoto
a73f939ee9
terraform: initial GraphBuilder impl
2015-02-19 12:07:54 -08:00
Mitchell Hashimoto
02bedd6850
terraform: transformers operate on root structures
2015-02-19 12:07:54 -08:00
Mitchell Hashimoto
96a2d3e116
terraform: PruneProviderTransfomer
2015-02-19 12:07:54 -08:00
Mitchell Hashimoto
9dfce9c93a
dag: Remove, RemoveEdge, DownEdges, UpEdges
2015-02-19 12:07:54 -08:00
Mitchell Hashimoto
ae4d20f8ce
dag: make vertices a set
2015-02-19 12:07:53 -08:00
Mitchell Hashimoto
254689389a
terraform: missing provider transform
2015-02-19 12:07:53 -08:00
Mitchell Hashimoto
c0695b0657
terraform: tests that some other graph nodes implement the interfaces
2015-02-19 12:07:53 -08:00
Mitchell Hashimoto
01ec680019
terraform: ProviderTransform to map resources to providers by dep
2015-02-19 12:07:53 -08:00
Mitchell Hashimoto
e1d3f308a6
terraform: untainted resource depends on tainted resource if it exists
2015-02-19 12:07:53 -08:00
Mitchell Hashimoto
d2f3dc8d1f
terraform: add a tODO in there, I can't think of a use case yet
2015-02-19 12:07:53 -08:00
Mitchell Hashimoto
8bf725e746
terraform: GraphNodeDependent
2015-02-19 12:07:53 -08:00
Mitchell Hashimoto
8dc4c56b2e
terraform: tainted transformer
2015-02-19 12:07:53 -08:00
Mitchell Hashimoto
6d46b02fa5
terraform: test orphan-to-orphan dependencies
2015-02-19 12:07:53 -08:00
Mitchell Hashimoto
98683b44b8
terraform: move resource orphan deps out of loop
2015-02-19 12:07:53 -08:00
Mitchell Hashimoto
7025c48165
terraform: module orphan dependencies
2015-02-19 12:07:52 -08:00
Mitchell Hashimoto
922bdc92db
terraform: module orphans
2015-02-19 12:07:52 -08:00
Mitchell Hashimoto
e08dc05f54
terraform: State.ModuleOrphans
2015-02-19 12:07:52 -08:00
Mitchell Hashimoto
cb4e364aca
terraform: more tests
2015-02-19 12:07:52 -08:00
Mitchell Hashimoto
4f8152c28a
terraform: the orphan transform uses the graph path
2015-02-19 12:07:52 -08:00
Mitchell Hashimoto
3820aea513
terraform: make adding config nodes a transformer
2015-02-19 12:07:52 -08:00
Mitchell Hashimoto
c18825800b
terraform: rename graph to graph_old*.go
2015-02-19 12:07:52 -08:00
Mitchell Hashimoto
659f0db8cf
terraform: Graph => GraphOld
2015-02-19 12:07:52 -08:00
Mitchell Hashimoto
6eb379fa75
terraform: start the transforms, adding orphans
2015-02-19 12:07:52 -08:00
Mitchell Hashimoto
21e4501edb
terraform: start implementing interfaces for semantic checks
2015-02-19 12:07:52 -08:00
Mitchell Hashimoto
b48a0cc3b9
dag: add tarjan to dag
2015-02-19 12:07:52 -08:00
Mitchell Hashimoto
9f70cddadf
terraform: error if config graph is missing dependencies
2015-02-19 12:07:51 -08:00
Mitchell Hashimoto
9d593cdece
terraform: use new dag API
2015-02-19 12:07:51 -08:00
Mitchell Hashimoto
2a910585a2
dag: new Graph API
2015-02-19 12:07:51 -08:00
Mitchell Hashimoto
87f4c3aae1
dag: rename to this
2015-02-19 12:07:51 -08:00
Mitchell Hashimoto
012dcca7d5
terraform: config graph respects depends_on
2015-02-19 12:07:51 -08:00
Mitchell Hashimoto
eb1a1fa7c9
terraform: put modules into the config graph
2015-02-19 12:07:51 -08:00
Mitchell Hashimoto
0f8c0eb981
terraform: config graph has providers
2015-02-19 12:07:51 -08:00
Mitchell Hashimoto
6b00633ed1
terraform: start Graph2 to make logical config graph
2015-02-19 12:07:51 -08:00