diff options
Diffstat (limited to 'vendor/github.com/hashicorp/terraform/terraform/transform_import_state.go')
-rw-r--r-- | vendor/github.com/hashicorp/terraform/terraform/transform_import_state.go | 45 |
1 files changed, 26 insertions, 19 deletions
diff --git a/vendor/github.com/hashicorp/terraform/terraform/transform_import_state.go b/vendor/github.com/hashicorp/terraform/terraform/transform_import_state.go index 081df2f..fcbff65 100644 --- a/vendor/github.com/hashicorp/terraform/terraform/transform_import_state.go +++ b/vendor/github.com/hashicorp/terraform/terraform/transform_import_state.go | |||
@@ -21,9 +21,9 @@ func (t *ImportStateTransformer) Transform(g *Graph) error { | |||
21 | } | 21 | } |
22 | 22 | ||
23 | nodes = append(nodes, &graphNodeImportState{ | 23 | nodes = append(nodes, &graphNodeImportState{ |
24 | Addr: addr, | 24 | Addr: addr, |
25 | ID: target.ID, | 25 | ID: target.ID, |
26 | Provider: target.Provider, | 26 | ProviderName: target.Provider, |
27 | }) | 27 | }) |
28 | } | 28 | } |
29 | 29 | ||
@@ -36,9 +36,10 @@ func (t *ImportStateTransformer) Transform(g *Graph) error { | |||
36 | } | 36 | } |
37 | 37 | ||
38 | type graphNodeImportState struct { | 38 | type graphNodeImportState struct { |
39 | Addr *ResourceAddress // Addr is the resource address to import to | 39 | Addr *ResourceAddress // Addr is the resource address to import to |
40 | ID string // ID is the ID to import as | 40 | ID string // ID is the ID to import as |
41 | Provider string // Provider string | 41 | ProviderName string // Provider string |
42 | ResolvedProvider string // provider node address | ||
42 | 43 | ||
43 | states []*InstanceState | 44 | states []*InstanceState |
44 | } | 45 | } |
@@ -47,8 +48,12 @@ func (n *graphNodeImportState) Name() string { | |||
47 | return fmt.Sprintf("%s (import id: %s)", n.Addr, n.ID) | 48 | return fmt.Sprintf("%s (import id: %s)", n.Addr, n.ID) |
48 | } | 49 | } |
49 | 50 | ||
50 | func (n *graphNodeImportState) ProvidedBy() []string { | 51 | func (n *graphNodeImportState) ProvidedBy() string { |
51 | return []string{resourceProvider(n.Addr.Type, n.Provider)} | 52 | return resourceProvider(n.Addr.Type, n.ProviderName) |
53 | } | ||
54 | |||
55 | func (n *graphNodeImportState) SetProvider(p string) { | ||
56 | n.ResolvedProvider = p | ||
52 | } | 57 | } |
53 | 58 | ||
54 | // GraphNodeSubPath | 59 | // GraphNodeSubPath |
@@ -72,7 +77,7 @@ func (n *graphNodeImportState) EvalTree() EvalNode { | |||
72 | return &EvalSequence{ | 77 | return &EvalSequence{ |
73 | Nodes: []EvalNode{ | 78 | Nodes: []EvalNode{ |
74 | &EvalGetProvider{ | 79 | &EvalGetProvider{ |
75 | Name: n.ProvidedBy()[0], | 80 | Name: n.ResolvedProvider, |
76 | Output: &provider, | 81 | Output: &provider, |
77 | }, | 82 | }, |
78 | &EvalImportState{ | 83 | &EvalImportState{ |
@@ -149,10 +154,11 @@ func (n *graphNodeImportState) DynamicExpand(ctx EvalContext) (*Graph, error) { | |||
149 | // is safe. | 154 | // is safe. |
150 | for i, state := range n.states { | 155 | for i, state := range n.states { |
151 | g.Add(&graphNodeImportStateSub{ | 156 | g.Add(&graphNodeImportStateSub{ |
152 | Target: addrs[i], | 157 | Target: addrs[i], |
153 | Path_: n.Path(), | 158 | Path_: n.Path(), |
154 | State: state, | 159 | State: state, |
155 | Provider: n.Provider, | 160 | ProviderName: n.ProviderName, |
161 | ResolvedProvider: n.ResolvedProvider, | ||
156 | }) | 162 | }) |
157 | } | 163 | } |
158 | 164 | ||
@@ -170,10 +176,11 @@ func (n *graphNodeImportState) DynamicExpand(ctx EvalContext) (*Graph, error) { | |||
170 | // and is part of the subgraph. This node is responsible for refreshing | 176 | // and is part of the subgraph. This node is responsible for refreshing |
171 | // and adding a resource to the state once it is imported. | 177 | // and adding a resource to the state once it is imported. |
172 | type graphNodeImportStateSub struct { | 178 | type graphNodeImportStateSub struct { |
173 | Target *ResourceAddress | 179 | Target *ResourceAddress |
174 | State *InstanceState | 180 | State *InstanceState |
175 | Path_ []string | 181 | Path_ []string |
176 | Provider string | 182 | ProviderName string |
183 | ResolvedProvider string | ||
177 | } | 184 | } |
178 | 185 | ||
179 | func (n *graphNodeImportStateSub) Name() string { | 186 | func (n *graphNodeImportStateSub) Name() string { |
@@ -216,7 +223,7 @@ func (n *graphNodeImportStateSub) EvalTree() EvalNode { | |||
216 | return &EvalSequence{ | 223 | return &EvalSequence{ |
217 | Nodes: []EvalNode{ | 224 | Nodes: []EvalNode{ |
218 | &EvalGetProvider{ | 225 | &EvalGetProvider{ |
219 | Name: resourceProvider(info.Type, n.Provider), | 226 | Name: n.ResolvedProvider, |
220 | Output: &provider, | 227 | Output: &provider, |
221 | }, | 228 | }, |
222 | &EvalRefresh{ | 229 | &EvalRefresh{ |
@@ -233,7 +240,7 @@ func (n *graphNodeImportStateSub) EvalTree() EvalNode { | |||
233 | &EvalWriteState{ | 240 | &EvalWriteState{ |
234 | Name: key.String(), | 241 | Name: key.String(), |
235 | ResourceType: info.Type, | 242 | ResourceType: info.Type, |
236 | Provider: resourceProvider(info.Type, n.Provider), | 243 | Provider: n.ResolvedProvider, |
237 | State: &state, | 244 | State: &state, |
238 | }, | 245 | }, |
239 | }, | 246 | }, |