4 "github.com/hashicorp/terraform/dag"
7 // InputGraphBuilder creates the graph for the input operation.
9 // Unlike other graph builders, this is a function since it currently modifies
10 // and is based on the PlanGraphBuilder. The PlanGraphBuilder passed in will be
11 // modified and should not be used for any other operations.
12 func InputGraphBuilder(p *PlanGraphBuilder) GraphBuilder {
13 // We're going to customize the concrete functions
14 p.CustomConcrete = true
16 // Set the provider to the normal provider. This will ask for input.
17 p.ConcreteProvider = func(a *NodeAbstractProvider) dag.Vertex {
18 return &NodeApplyableProvider{
19 NodeAbstractProvider: a,
23 // We purposely don't set any more concrete fields since the remainder