]> git.immae.eu Git - github/fretlink/terraform-provider-statuscake.git/blobdiff - vendor/github.com/hashicorp/terraform/terraform/transform_import_state.go
deps: github.com/hashicorp/terraform@sdk-v0.11-with-go-modules
[github/fretlink/terraform-provider-statuscake.git] / vendor / github.com / hashicorp / terraform / terraform / transform_import_state.go
index 081df2f84de3acb90816a4afa2956fccc6e4757b..fcbff653f5edaa9f720509843538fd620c005fe4 100644 (file)
@@ -21,9 +21,9 @@ func (t *ImportStateTransformer) Transform(g *Graph) error {
                }
 
                nodes = append(nodes, &graphNodeImportState{
-                       Addr:     addr,
-                       ID:       target.ID,
-                       Provider: target.Provider,
+                       Addr:         addr,
+                       ID:           target.ID,
+                       ProviderName: target.Provider,
                })
        }
 
@@ -36,9 +36,10 @@ func (t *ImportStateTransformer) Transform(g *Graph) error {
 }
 
 type graphNodeImportState struct {
-       Addr     *ResourceAddress // Addr is the resource address to import to
-       ID       string           // ID is the ID to import as
-       Provider string           // Provider string
+       Addr             *ResourceAddress // Addr is the resource address to import to
+       ID               string           // ID is the ID to import as
+       ProviderName     string           // Provider string
+       ResolvedProvider string           // provider node address
 
        states []*InstanceState
 }
@@ -47,8 +48,12 @@ func (n *graphNodeImportState) Name() string {
        return fmt.Sprintf("%s (import id: %s)", n.Addr, n.ID)
 }
 
-func (n *graphNodeImportState) ProvidedBy() []string {
-       return []string{resourceProvider(n.Addr.Type, n.Provider)}
+func (n *graphNodeImportState) ProvidedBy() string {
+       return resourceProvider(n.Addr.Type, n.ProviderName)
+}
+
+func (n *graphNodeImportState) SetProvider(p string) {
+       n.ResolvedProvider = p
 }
 
 // GraphNodeSubPath
@@ -72,7 +77,7 @@ func (n *graphNodeImportState) EvalTree() EvalNode {
        return &EvalSequence{
                Nodes: []EvalNode{
                        &EvalGetProvider{
-                               Name:   n.ProvidedBy()[0],
+                               Name:   n.ResolvedProvider,
                                Output: &provider,
                        },
                        &EvalImportState{
@@ -149,10 +154,11 @@ func (n *graphNodeImportState) DynamicExpand(ctx EvalContext) (*Graph, error) {
        // is safe.
        for i, state := range n.states {
                g.Add(&graphNodeImportStateSub{
-                       Target:   addrs[i],
-                       Path_:    n.Path(),
-                       State:    state,
-                       Provider: n.Provider,
+                       Target:           addrs[i],
+                       Path_:            n.Path(),
+                       State:            state,
+                       ProviderName:     n.ProviderName,
+                       ResolvedProvider: n.ResolvedProvider,
                })
        }
 
@@ -170,10 +176,11 @@ func (n *graphNodeImportState) DynamicExpand(ctx EvalContext) (*Graph, error) {
 // and is part of the subgraph. This node is responsible for refreshing
 // and adding a resource to the state once it is imported.
 type graphNodeImportStateSub struct {
-       Target   *ResourceAddress
-       State    *InstanceState
-       Path_    []string
-       Provider string
+       Target           *ResourceAddress
+       State            *InstanceState
+       Path_            []string
+       ProviderName     string
+       ResolvedProvider string
 }
 
 func (n *graphNodeImportStateSub) Name() string {
@@ -216,7 +223,7 @@ func (n *graphNodeImportStateSub) EvalTree() EvalNode {
        return &EvalSequence{
                Nodes: []EvalNode{
                        &EvalGetProvider{
-                               Name:   resourceProvider(info.Type, n.Provider),
+                               Name:   n.ResolvedProvider,
                                Output: &provider,
                        },
                        &EvalRefresh{
@@ -233,7 +240,7 @@ func (n *graphNodeImportStateSub) EvalTree() EvalNode {
                        &EvalWriteState{
                                Name:         key.String(),
                                ResourceType: info.Type,
-                               Provider:     resourceProvider(info.Type, n.Provider),
+                               Provider:     n.ResolvedProvider,
                                State:        &state,
                        },
                },