convert /terraform to use new provider config
Change all ModuleInstances in provider types to plain Modules
This commit is contained in:
parent
8497adcb6e
commit
98cfb51f27
|
@ -1333,7 +1333,7 @@ func TestContext2Apply_destroyDependsOnStateOnly(t *testing.T) {
|
||||||
},
|
},
|
||||||
addrs.AbsProviderConfig{
|
addrs.AbsProviderConfig{
|
||||||
Provider: addrs.NewLegacyProvider("aws"),
|
Provider: addrs.NewLegacyProvider("aws"),
|
||||||
Module: addrs.RootModuleInstance,
|
Module: addrs.RootModule,
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
root.SetResourceInstanceCurrent(
|
root.SetResourceInstanceCurrent(
|
||||||
|
@ -1358,7 +1358,7 @@ func TestContext2Apply_destroyDependsOnStateOnly(t *testing.T) {
|
||||||
},
|
},
|
||||||
addrs.AbsProviderConfig{
|
addrs.AbsProviderConfig{
|
||||||
Provider: addrs.NewLegacyProvider("aws"),
|
Provider: addrs.NewLegacyProvider("aws"),
|
||||||
Module: addrs.RootModuleInstance,
|
Module: addrs.RootModule,
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -1431,7 +1431,7 @@ func TestContext2Apply_destroyDependsOnStateOnlyModule(t *testing.T) {
|
||||||
},
|
},
|
||||||
addrs.AbsProviderConfig{
|
addrs.AbsProviderConfig{
|
||||||
Provider: addrs.NewLegacyProvider("aws"),
|
Provider: addrs.NewLegacyProvider("aws"),
|
||||||
Module: addrs.RootModuleInstance,
|
Module: addrs.RootModule,
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
child.SetResourceInstanceCurrent(
|
child.SetResourceInstanceCurrent(
|
||||||
|
@ -1456,7 +1456,7 @@ func TestContext2Apply_destroyDependsOnStateOnlyModule(t *testing.T) {
|
||||||
},
|
},
|
||||||
addrs.AbsProviderConfig{
|
addrs.AbsProviderConfig{
|
||||||
Provider: addrs.NewLegacyProvider("aws"),
|
Provider: addrs.NewLegacyProvider("aws"),
|
||||||
Module: addrs.RootModuleInstance,
|
Module: addrs.RootModule,
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -2828,7 +2828,7 @@ func TestContext2Apply_orphanResource(t *testing.T) {
|
||||||
want := states.BuildState(func(s *states.SyncState) {
|
want := states.BuildState(func(s *states.SyncState) {
|
||||||
providerAddr := addrs.AbsProviderConfig{
|
providerAddr := addrs.AbsProviderConfig{
|
||||||
Provider: addrs.NewLegacyProvider("test"),
|
Provider: addrs.NewLegacyProvider("test"),
|
||||||
Module: addrs.RootModuleInstance,
|
Module: addrs.RootModule,
|
||||||
}
|
}
|
||||||
zeroAddr := addrs.Resource{
|
zeroAddr := addrs.Resource{
|
||||||
Mode: addrs.ManagedResourceMode,
|
Mode: addrs.ManagedResourceMode,
|
||||||
|
@ -7051,7 +7051,7 @@ func TestContext2Apply_errorDestroy(t *testing.T) {
|
||||||
},
|
},
|
||||||
addrs.AbsProviderConfig{
|
addrs.AbsProviderConfig{
|
||||||
Provider: addrs.NewLegacyProvider("test"),
|
Provider: addrs.NewLegacyProvider("test"),
|
||||||
Module: addrs.RootModuleInstance,
|
Module: addrs.RootModule,
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
}),
|
}),
|
||||||
|
@ -7191,7 +7191,7 @@ func TestContext2Apply_errorUpdateNullNew(t *testing.T) {
|
||||||
},
|
},
|
||||||
addrs.AbsProviderConfig{
|
addrs.AbsProviderConfig{
|
||||||
Provider: addrs.NewLegacyProvider("aws"),
|
Provider: addrs.NewLegacyProvider("aws"),
|
||||||
Module: addrs.RootModuleInstance,
|
Module: addrs.RootModule,
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
}),
|
}),
|
||||||
|
@ -8618,7 +8618,7 @@ func TestContext2Apply_createBefore_depends(t *testing.T) {
|
||||||
},
|
},
|
||||||
addrs.AbsProviderConfig{
|
addrs.AbsProviderConfig{
|
||||||
Provider: addrs.NewLegacyProvider("aws"),
|
Provider: addrs.NewLegacyProvider("aws"),
|
||||||
Module: addrs.RootModuleInstance,
|
Module: addrs.RootModule,
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -8644,7 +8644,7 @@ func TestContext2Apply_createBefore_depends(t *testing.T) {
|
||||||
},
|
},
|
||||||
addrs.AbsProviderConfig{
|
addrs.AbsProviderConfig{
|
||||||
Provider: addrs.NewLegacyProvider("aws"),
|
Provider: addrs.NewLegacyProvider("aws"),
|
||||||
Module: addrs.RootModuleInstance,
|
Module: addrs.RootModule,
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -8751,7 +8751,7 @@ func TestContext2Apply_singleDestroy(t *testing.T) {
|
||||||
},
|
},
|
||||||
addrs.AbsProviderConfig{
|
addrs.AbsProviderConfig{
|
||||||
Provider: addrs.NewLegacyProvider("aws"),
|
Provider: addrs.NewLegacyProvider("aws"),
|
||||||
Module: addrs.RootModuleInstance,
|
Module: addrs.RootModule,
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -8777,7 +8777,7 @@ func TestContext2Apply_singleDestroy(t *testing.T) {
|
||||||
},
|
},
|
||||||
addrs.AbsProviderConfig{
|
addrs.AbsProviderConfig{
|
||||||
Provider: addrs.NewLegacyProvider("aws"),
|
Provider: addrs.NewLegacyProvider("aws"),
|
||||||
Module: addrs.RootModuleInstance,
|
Module: addrs.RootModule,
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -9684,7 +9684,7 @@ func TestContext2Apply_destroyWithProviders(t *testing.T) {
|
||||||
state.Modules["module.mod.module.removed"].Resources["aws_instance.child"].ProviderConfig = addrs.AbsProviderConfig{
|
state.Modules["module.mod.module.removed"].Resources["aws_instance.child"].ProviderConfig = addrs.AbsProviderConfig{
|
||||||
Provider: addrs.NewLegacyProvider("aws"),
|
Provider: addrs.NewLegacyProvider("aws"),
|
||||||
Alias: "bar",
|
Alias: "bar",
|
||||||
Module: addrs.RootModuleInstance,
|
Module: addrs.RootModule,
|
||||||
}
|
}
|
||||||
|
|
||||||
if _, diags := ctx.Plan(); diags.HasErrors() {
|
if _, diags := ctx.Plan(); diags.HasErrors() {
|
||||||
|
@ -10108,7 +10108,7 @@ func TestContext2Apply_issue19908(t *testing.T) {
|
||||||
},
|
},
|
||||||
addrs.AbsProviderConfig{
|
addrs.AbsProviderConfig{
|
||||||
Provider: addrs.NewLegacyProvider("test"),
|
Provider: addrs.NewLegacyProvider("test"),
|
||||||
Module: addrs.RootModuleInstance,
|
Module: addrs.RootModule,
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
}),
|
}),
|
||||||
|
@ -10236,7 +10236,7 @@ func TestContext2Apply_moduleReplaceCycle(t *testing.T) {
|
||||||
},
|
},
|
||||||
addrs.AbsProviderConfig{
|
addrs.AbsProviderConfig{
|
||||||
Provider: addrs.NewLegacyProvider("aws"),
|
Provider: addrs.NewLegacyProvider("aws"),
|
||||||
Module: addrs.RootModuleInstance,
|
Module: addrs.RootModule,
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -10253,7 +10253,7 @@ func TestContext2Apply_moduleReplaceCycle(t *testing.T) {
|
||||||
},
|
},
|
||||||
addrs.AbsProviderConfig{
|
addrs.AbsProviderConfig{
|
||||||
Provider: addrs.NewLegacyProvider("aws"),
|
Provider: addrs.NewLegacyProvider("aws"),
|
||||||
Module: addrs.RootModuleInstance,
|
Module: addrs.RootModule,
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -10296,7 +10296,7 @@ func TestContext2Apply_moduleReplaceCycle(t *testing.T) {
|
||||||
}.Instance(addrs.NoKey).Absolute(addrs.RootModuleInstance.Child("a", addrs.NoKey)),
|
}.Instance(addrs.NoKey).Absolute(addrs.RootModuleInstance.Child("a", addrs.NoKey)),
|
||||||
ProviderAddr: addrs.AbsProviderConfig{
|
ProviderAddr: addrs.AbsProviderConfig{
|
||||||
Provider: addrs.NewLegacyProvider("aws"),
|
Provider: addrs.NewLegacyProvider("aws"),
|
||||||
Module: addrs.RootModuleInstance,
|
Module: addrs.RootModule,
|
||||||
},
|
},
|
||||||
ChangeSrc: plans.ChangeSrc{
|
ChangeSrc: plans.ChangeSrc{
|
||||||
Action: aAction,
|
Action: aAction,
|
||||||
|
@ -10312,7 +10312,7 @@ func TestContext2Apply_moduleReplaceCycle(t *testing.T) {
|
||||||
}.Instance(addrs.IntKey(0)).Absolute(addrs.RootModuleInstance.Child("b", addrs.NoKey)),
|
}.Instance(addrs.IntKey(0)).Absolute(addrs.RootModuleInstance.Child("b", addrs.NoKey)),
|
||||||
ProviderAddr: addrs.AbsProviderConfig{
|
ProviderAddr: addrs.AbsProviderConfig{
|
||||||
Provider: addrs.NewLegacyProvider("aws"),
|
Provider: addrs.NewLegacyProvider("aws"),
|
||||||
Module: addrs.RootModuleInstance,
|
Module: addrs.RootModule,
|
||||||
},
|
},
|
||||||
ChangeSrc: plans.ChangeSrc{
|
ChangeSrc: plans.ChangeSrc{
|
||||||
Action: plans.DeleteThenCreate,
|
Action: plans.DeleteThenCreate,
|
||||||
|
@ -10363,7 +10363,7 @@ func TestContext2Apply_destroyDataCycle(t *testing.T) {
|
||||||
},
|
},
|
||||||
addrs.AbsProviderConfig{
|
addrs.AbsProviderConfig{
|
||||||
Provider: addrs.NewLegacyProvider("null"),
|
Provider: addrs.NewLegacyProvider("null"),
|
||||||
Module: addrs.RootModuleInstance,
|
Module: addrs.RootModule,
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
root.SetResourceInstanceCurrent(
|
root.SetResourceInstanceCurrent(
|
||||||
|
@ -10378,7 +10378,7 @@ func TestContext2Apply_destroyDataCycle(t *testing.T) {
|
||||||
},
|
},
|
||||||
addrs.AbsProviderConfig{
|
addrs.AbsProviderConfig{
|
||||||
Provider: addrs.NewLegacyProvider("null"),
|
Provider: addrs.NewLegacyProvider("null"),
|
||||||
Module: addrs.RootModuleInstance,
|
Module: addrs.RootModule,
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -10453,7 +10453,7 @@ func TestContext2Apply_taintedDestroyFailure(t *testing.T) {
|
||||||
},
|
},
|
||||||
addrs.AbsProviderConfig{
|
addrs.AbsProviderConfig{
|
||||||
Provider: addrs.NewLegacyProvider("test"),
|
Provider: addrs.NewLegacyProvider("test"),
|
||||||
Module: addrs.RootModuleInstance,
|
Module: addrs.RootModule,
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
root.SetResourceInstanceCurrent(
|
root.SetResourceInstanceCurrent(
|
||||||
|
@ -10468,7 +10468,7 @@ func TestContext2Apply_taintedDestroyFailure(t *testing.T) {
|
||||||
},
|
},
|
||||||
addrs.AbsProviderConfig{
|
addrs.AbsProviderConfig{
|
||||||
Provider: addrs.NewLegacyProvider("test"),
|
Provider: addrs.NewLegacyProvider("test"),
|
||||||
Module: addrs.RootModuleInstance,
|
Module: addrs.RootModule,
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
root.SetResourceInstanceCurrent(
|
root.SetResourceInstanceCurrent(
|
||||||
|
@ -10483,7 +10483,7 @@ func TestContext2Apply_taintedDestroyFailure(t *testing.T) {
|
||||||
},
|
},
|
||||||
addrs.AbsProviderConfig{
|
addrs.AbsProviderConfig{
|
||||||
Provider: addrs.NewLegacyProvider("test"),
|
Provider: addrs.NewLegacyProvider("test"),
|
||||||
Module: addrs.RootModuleInstance,
|
Module: addrs.RootModule,
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -10660,7 +10660,7 @@ func TestContext2Apply_cbdCycle(t *testing.T) {
|
||||||
},
|
},
|
||||||
addrs.AbsProviderConfig{
|
addrs.AbsProviderConfig{
|
||||||
Provider: addrs.NewLegacyProvider("test"),
|
Provider: addrs.NewLegacyProvider("test"),
|
||||||
Module: addrs.RootModuleInstance,
|
Module: addrs.RootModule,
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
root.SetResourceInstanceCurrent(
|
root.SetResourceInstanceCurrent(
|
||||||
|
@ -10685,7 +10685,7 @@ func TestContext2Apply_cbdCycle(t *testing.T) {
|
||||||
},
|
},
|
||||||
addrs.AbsProviderConfig{
|
addrs.AbsProviderConfig{
|
||||||
Provider: addrs.NewLegacyProvider("test"),
|
Provider: addrs.NewLegacyProvider("test"),
|
||||||
Module: addrs.RootModuleInstance,
|
Module: addrs.RootModule,
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
root.SetResourceInstanceCurrent(
|
root.SetResourceInstanceCurrent(
|
||||||
|
@ -10700,7 +10700,7 @@ func TestContext2Apply_cbdCycle(t *testing.T) {
|
||||||
},
|
},
|
||||||
addrs.AbsProviderConfig{
|
addrs.AbsProviderConfig{
|
||||||
Provider: addrs.NewLegacyProvider("test"),
|
Provider: addrs.NewLegacyProvider("test"),
|
||||||
Module: addrs.RootModuleInstance,
|
Module: addrs.RootModule,
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -117,7 +117,7 @@ func TestContextImport_collision(t *testing.T) {
|
||||||
},
|
},
|
||||||
addrs.AbsProviderConfig{
|
addrs.AbsProviderConfig{
|
||||||
Provider: addrs.NewLegacyProvider("aws"),
|
Provider: addrs.NewLegacyProvider("aws"),
|
||||||
Module: addrs.RootModuleInstance,
|
Module: addrs.RootModule,
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
}),
|
}),
|
||||||
|
@ -606,7 +606,7 @@ func TestContextImport_moduleDiff(t *testing.T) {
|
||||||
},
|
},
|
||||||
addrs.AbsProviderConfig{
|
addrs.AbsProviderConfig{
|
||||||
Provider: addrs.NewLegacyProvider("aws"),
|
Provider: addrs.NewLegacyProvider("aws"),
|
||||||
Module: addrs.RootModuleInstance,
|
Module: addrs.RootModule,
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
}),
|
}),
|
||||||
|
@ -667,7 +667,7 @@ func TestContextImport_moduleExisting(t *testing.T) {
|
||||||
},
|
},
|
||||||
addrs.AbsProviderConfig{
|
addrs.AbsProviderConfig{
|
||||||
Provider: addrs.NewLegacyProvider("aws"),
|
Provider: addrs.NewLegacyProvider("aws"),
|
||||||
Module: addrs.RootModuleInstance,
|
Module: addrs.RootModule,
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
}),
|
}),
|
||||||
|
|
|
@ -160,7 +160,7 @@ func (c *Context) Input(mode InputMode) tfdiags.Diagnostics {
|
||||||
absConfigAddr := addrs.AbsProviderConfig{
|
absConfigAddr := addrs.AbsProviderConfig{
|
||||||
Provider: providerFqn,
|
Provider: providerFqn,
|
||||||
Alias: pa.Alias,
|
Alias: pa.Alias,
|
||||||
Module: c.Config().Path.UnkeyedInstanceShim(),
|
Module: c.Config().Path,
|
||||||
}
|
}
|
||||||
c.providerInputConfig[absConfigAddr.String()] = vals
|
c.providerInputConfig[absConfigAddr.String()] = vals
|
||||||
|
|
||||||
|
|
|
@ -480,7 +480,7 @@ func TestContext2Input_dataSourceRequiresRefresh(t *testing.T) {
|
||||||
},
|
},
|
||||||
addrs.AbsProviderConfig{
|
addrs.AbsProviderConfig{
|
||||||
Provider: addrs.NewLegacyProvider("null"),
|
Provider: addrs.NewLegacyProvider("null"),
|
||||||
Module: addrs.RootModuleInstance,
|
Module: addrs.RootModule,
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
|
|
|
@ -5052,7 +5052,7 @@ func TestContext2Plan_ignoreChangesInMap(t *testing.T) {
|
||||||
},
|
},
|
||||||
addrs.AbsProviderConfig{
|
addrs.AbsProviderConfig{
|
||||||
Provider: addrs.NewLegacyProvider("test"),
|
Provider: addrs.NewLegacyProvider("test"),
|
||||||
Module: addrs.RootModuleInstance,
|
Module: addrs.RootModule,
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
|
|
|
@ -105,7 +105,7 @@ func TestContext2Refresh_dynamicAttr(t *testing.T) {
|
||||||
},
|
},
|
||||||
addrs.AbsProviderConfig{
|
addrs.AbsProviderConfig{
|
||||||
Provider: addrs.NewLegacyProvider("test"),
|
Provider: addrs.NewLegacyProvider("test"),
|
||||||
Module: addrs.RootModuleInstance,
|
Module: addrs.RootModule,
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
|
@ -1742,7 +1742,7 @@ func TestContext2Refresh_schemaUpgradeFlatmap(t *testing.T) {
|
||||||
},
|
},
|
||||||
addrs.AbsProviderConfig{
|
addrs.AbsProviderConfig{
|
||||||
Provider: addrs.NewLegacyProvider("test"),
|
Provider: addrs.NewLegacyProvider("test"),
|
||||||
Module: addrs.RootModuleInstance,
|
Module: addrs.RootModule,
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
|
@ -1828,7 +1828,7 @@ func TestContext2Refresh_schemaUpgradeJSON(t *testing.T) {
|
||||||
},
|
},
|
||||||
addrs.AbsProviderConfig{
|
addrs.AbsProviderConfig{
|
||||||
Provider: addrs.NewLegacyProvider("test"),
|
Provider: addrs.NewLegacyProvider("test"),
|
||||||
Module: addrs.RootModuleInstance,
|
Module: addrs.RootModule,
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
|
@ -1999,7 +1999,7 @@ func TestRefresh_updateDependencies(t *testing.T) {
|
||||||
},
|
},
|
||||||
addrs.AbsProviderConfig{
|
addrs.AbsProviderConfig{
|
||||||
Provider: addrs.NewLegacyProvider("aws"),
|
Provider: addrs.NewLegacyProvider("aws"),
|
||||||
Module: addrs.RootModuleInstance,
|
Module: addrs.RootModule,
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
root.SetResourceInstanceCurrent(
|
root.SetResourceInstanceCurrent(
|
||||||
|
@ -2014,7 +2014,7 @@ func TestRefresh_updateDependencies(t *testing.T) {
|
||||||
},
|
},
|
||||||
addrs.AbsProviderConfig{
|
addrs.AbsProviderConfig{
|
||||||
Provider: addrs.NewLegacyProvider("aws"),
|
Provider: addrs.NewLegacyProvider("aws"),
|
||||||
Module: addrs.RootModuleInstance,
|
Module: addrs.RootModule,
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -108,7 +108,7 @@ func (ctx *BuiltinEvalContext) Input() UIInput {
|
||||||
func (ctx *BuiltinEvalContext) InitProvider(addr addrs.AbsProviderConfig) (providers.Interface, error) {
|
func (ctx *BuiltinEvalContext) InitProvider(addr addrs.AbsProviderConfig) (providers.Interface, error) {
|
||||||
ctx.once.Do(ctx.init)
|
ctx.once.Do(ctx.init)
|
||||||
absAddr := addr
|
absAddr := addr
|
||||||
if !absAddr.Module.Equal(ctx.Path()) {
|
if !absAddr.Module.Equal(ctx.Path().Module()) {
|
||||||
// This indicates incorrect use of InitProvider: it should be used
|
// This indicates incorrect use of InitProvider: it should be used
|
||||||
// only from the module that the provider configuration belongs to.
|
// only from the module that the provider configuration belongs to.
|
||||||
panic(fmt.Sprintf("%s initialized by wrong module %s", absAddr, ctx.Path()))
|
panic(fmt.Sprintf("%s initialized by wrong module %s", absAddr, ctx.Path()))
|
||||||
|
@ -153,7 +153,7 @@ func (ctx *BuiltinEvalContext) ProviderSchema(addr addrs.AbsProviderConfig) *Pro
|
||||||
|
|
||||||
func (ctx *BuiltinEvalContext) CloseProvider(addr addrs.AbsProviderConfig) error {
|
func (ctx *BuiltinEvalContext) CloseProvider(addr addrs.AbsProviderConfig) error {
|
||||||
ctx.once.Do(ctx.init)
|
ctx.once.Do(ctx.init)
|
||||||
if !addr.Module.Equal(ctx.Path()) {
|
if !addr.Module.Equal(ctx.Path().Module()) {
|
||||||
// This indicates incorrect use of CloseProvider: it should be used
|
// This indicates incorrect use of CloseProvider: it should be used
|
||||||
// only from the module that the provider configuration belongs to.
|
// only from the module that the provider configuration belongs to.
|
||||||
panic(fmt.Sprintf("%s closed by wrong module %s", addr, ctx.Path()))
|
panic(fmt.Sprintf("%s closed by wrong module %s", addr, ctx.Path()))
|
||||||
|
@ -175,7 +175,7 @@ func (ctx *BuiltinEvalContext) CloseProvider(addr addrs.AbsProviderConfig) error
|
||||||
func (ctx *BuiltinEvalContext) ConfigureProvider(addr addrs.AbsProviderConfig, cfg cty.Value) tfdiags.Diagnostics {
|
func (ctx *BuiltinEvalContext) ConfigureProvider(addr addrs.AbsProviderConfig, cfg cty.Value) tfdiags.Diagnostics {
|
||||||
var diags tfdiags.Diagnostics
|
var diags tfdiags.Diagnostics
|
||||||
absAddr := addr
|
absAddr := addr
|
||||||
if !absAddr.Module.Equal(ctx.Path()) {
|
if !absAddr.Module.Equal(ctx.Path().Module()) {
|
||||||
// This indicates incorrect use of ConfigureProvider: it should be used
|
// This indicates incorrect use of ConfigureProvider: it should be used
|
||||||
// only from the module that the provider configuration belongs to.
|
// only from the module that the provider configuration belongs to.
|
||||||
panic(fmt.Sprintf("%s configured by wrong module %s", absAddr, ctx.Path()))
|
panic(fmt.Sprintf("%s configured by wrong module %s", absAddr, ctx.Path()))
|
||||||
|
@ -206,7 +206,7 @@ func (ctx *BuiltinEvalContext) ProviderInput(pc addrs.AbsProviderConfig) map[str
|
||||||
ctx.ProviderLock.Lock()
|
ctx.ProviderLock.Lock()
|
||||||
defer ctx.ProviderLock.Unlock()
|
defer ctx.ProviderLock.Unlock()
|
||||||
|
|
||||||
if !pc.Module.Equal(ctx.Path()) {
|
if !pc.Module.Equal(ctx.Path().Module()) {
|
||||||
// This indicates incorrect use of InitProvider: it should be used
|
// This indicates incorrect use of InitProvider: it should be used
|
||||||
// only from the module that the provider configuration belongs to.
|
// only from the module that the provider configuration belongs to.
|
||||||
panic(fmt.Sprintf("%s initialized by wrong module %s", pc, ctx.Path()))
|
panic(fmt.Sprintf("%s initialized by wrong module %s", pc, ctx.Path()))
|
||||||
|
@ -222,7 +222,7 @@ func (ctx *BuiltinEvalContext) ProviderInput(pc addrs.AbsProviderConfig) map[str
|
||||||
|
|
||||||
func (ctx *BuiltinEvalContext) SetProviderInput(pc addrs.AbsProviderConfig, c map[string]cty.Value) {
|
func (ctx *BuiltinEvalContext) SetProviderInput(pc addrs.AbsProviderConfig, c map[string]cty.Value) {
|
||||||
absProvider := pc
|
absProvider := pc
|
||||||
if !absProvider.Module.Equal(ctx.Path()) {
|
if !absProvider.Module.Equal(ctx.Path().Module()) {
|
||||||
// This indicates incorrect use of InitProvider: it should be used
|
// This indicates incorrect use of InitProvider: it should be used
|
||||||
// only from the module that the provider configuration belongs to.
|
// only from the module that the provider configuration belongs to.
|
||||||
panic(fmt.Sprintf("%s initialized by wrong module %s", absProvider, ctx.Path()))
|
panic(fmt.Sprintf("%s initialized by wrong module %s", absProvider, ctx.Path()))
|
||||||
|
|
|
@ -25,11 +25,11 @@ func TestBuiltinEvalContextProviderInput(t *testing.T) {
|
||||||
ctx2.ProviderLock = &lock
|
ctx2.ProviderLock = &lock
|
||||||
|
|
||||||
providerAddr1 := addrs.AbsProviderConfig{
|
providerAddr1 := addrs.AbsProviderConfig{
|
||||||
Module: addrs.RootModuleInstance,
|
Module: addrs.RootModule,
|
||||||
Provider: addrs.NewLegacyProvider("foo"),
|
Provider: addrs.NewLegacyProvider("foo"),
|
||||||
}
|
}
|
||||||
providerAddr2 := addrs.AbsProviderConfig{
|
providerAddr2 := addrs.AbsProviderConfig{
|
||||||
Module: addrs.RootModuleInstance.Child("child", addrs.NoKey),
|
Module: addrs.RootModule.Child("child"),
|
||||||
Provider: addrs.NewLegacyProvider("foo"),
|
Provider: addrs.NewLegacyProvider("foo"),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -65,11 +65,11 @@ func TestBuildingEvalContextInitProvider(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
providerAddrDefault := addrs.AbsProviderConfig{
|
providerAddrDefault := addrs.AbsProviderConfig{
|
||||||
Module: addrs.RootModuleInstance,
|
Module: addrs.RootModule,
|
||||||
Provider: addrs.NewLegacyProvider("test"),
|
Provider: addrs.NewLegacyProvider("test"),
|
||||||
}
|
}
|
||||||
providerAddrAlias := addrs.AbsProviderConfig{
|
providerAddrAlias := addrs.AbsProviderConfig{
|
||||||
Module: addrs.RootModuleInstance,
|
Module: addrs.RootModule,
|
||||||
Provider: addrs.NewLegacyProvider("test"),
|
Provider: addrs.NewLegacyProvider("test"),
|
||||||
Alias: "foo",
|
Alias: "foo",
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,7 +17,7 @@ func TestBuildProviderConfig(t *testing.T) {
|
||||||
"set_in_config": cty.StringVal("config"),
|
"set_in_config": cty.StringVal("config"),
|
||||||
})
|
})
|
||||||
providerAddr := addrs.AbsProviderConfig{
|
providerAddr := addrs.AbsProviderConfig{
|
||||||
Module: addrs.RootModuleInstance,
|
Module: addrs.RootModule,
|
||||||
Provider: addrs.NewLegacyProvider("foo"),
|
Provider: addrs.NewLegacyProvider("foo"),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -69,7 +69,7 @@ func TestEvalConfigProvider(t *testing.T) {
|
||||||
provider := mockProviderWithConfigSchema(simpleTestSchema())
|
provider := mockProviderWithConfigSchema(simpleTestSchema())
|
||||||
rp := providers.Interface(provider)
|
rp := providers.Interface(provider)
|
||||||
providerAddr := addrs.AbsProviderConfig{
|
providerAddr := addrs.AbsProviderConfig{
|
||||||
Module: addrs.RootModuleInstance,
|
Module: addrs.RootModule,
|
||||||
Provider: addrs.NewLegacyProvider("foo"),
|
Provider: addrs.NewLegacyProvider("foo"),
|
||||||
}
|
}
|
||||||
n := &EvalConfigProvider{
|
n := &EvalConfigProvider{
|
||||||
|
@ -103,7 +103,7 @@ func TestEvalInitProvider_impl(t *testing.T) {
|
||||||
|
|
||||||
func TestEvalInitProvider(t *testing.T) {
|
func TestEvalInitProvider(t *testing.T) {
|
||||||
providerAddr := addrs.AbsProviderConfig{
|
providerAddr := addrs.AbsProviderConfig{
|
||||||
Module: addrs.RootModuleInstance,
|
Module: addrs.RootModule,
|
||||||
Provider: addrs.NewLegacyProvider("foo"),
|
Provider: addrs.NewLegacyProvider("foo"),
|
||||||
}
|
}
|
||||||
n := &EvalInitProvider{
|
n := &EvalInitProvider{
|
||||||
|
@ -125,7 +125,7 @@ func TestEvalInitProvider(t *testing.T) {
|
||||||
|
|
||||||
func TestEvalCloseProvider(t *testing.T) {
|
func TestEvalCloseProvider(t *testing.T) {
|
||||||
providerAddr := addrs.AbsProviderConfig{
|
providerAddr := addrs.AbsProviderConfig{
|
||||||
Module: addrs.RootModuleInstance,
|
Module: addrs.RootModule,
|
||||||
Provider: addrs.NewLegacyProvider("foo"),
|
Provider: addrs.NewLegacyProvider("foo"),
|
||||||
}
|
}
|
||||||
n := &EvalCloseProvider{
|
n := &EvalCloseProvider{
|
||||||
|
|
|
@ -554,7 +554,7 @@ func TestApplyGraphBuilder_updateFromOrphan(t *testing.T) {
|
||||||
},
|
},
|
||||||
addrs.AbsProviderConfig{
|
addrs.AbsProviderConfig{
|
||||||
Provider: addrs.NewLegacyProvider("test"),
|
Provider: addrs.NewLegacyProvider("test"),
|
||||||
Module: addrs.RootModuleInstance,
|
Module: addrs.RootModule,
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
root.SetResourceInstanceCurrent(
|
root.SetResourceInstanceCurrent(
|
||||||
|
@ -579,7 +579,7 @@ func TestApplyGraphBuilder_updateFromOrphan(t *testing.T) {
|
||||||
},
|
},
|
||||||
addrs.AbsProviderConfig{
|
addrs.AbsProviderConfig{
|
||||||
Provider: addrs.NewLegacyProvider("test"),
|
Provider: addrs.NewLegacyProvider("test"),
|
||||||
Module: addrs.RootModuleInstance,
|
Module: addrs.RootModule,
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -134,7 +134,7 @@ func TestNodeRefreshableDataResourceDynamicExpand_scaleIn(t *testing.T) {
|
||||||
Config: m.Module.DataResources["data.aws_instance.foo"],
|
Config: m.Module.DataResources["data.aws_instance.foo"],
|
||||||
ResolvedProvider: addrs.AbsProviderConfig{
|
ResolvedProvider: addrs.AbsProviderConfig{
|
||||||
Provider: addrs.NewLegacyProvider("aws"),
|
Provider: addrs.NewLegacyProvider("aws"),
|
||||||
Module: addrs.RootModuleInstance,
|
Module: addrs.RootModule,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,7 +26,7 @@ type NodeAbstractProvider struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
_ GraphNodeModuleInstance = (*NodeAbstractProvider)(nil)
|
_ GraphNodeModulePath = (*NodeAbstractProvider)(nil)
|
||||||
_ RemovableIfNotTargeted = (*NodeAbstractProvider)(nil)
|
_ RemovableIfNotTargeted = (*NodeAbstractProvider)(nil)
|
||||||
_ GraphNodeReferencer = (*NodeAbstractProvider)(nil)
|
_ GraphNodeReferencer = (*NodeAbstractProvider)(nil)
|
||||||
_ GraphNodeProvider = (*NodeAbstractProvider)(nil)
|
_ GraphNodeProvider = (*NodeAbstractProvider)(nil)
|
||||||
|
@ -41,12 +41,12 @@ func (n *NodeAbstractProvider) Name() string {
|
||||||
|
|
||||||
// GraphNodeModuleInstance
|
// GraphNodeModuleInstance
|
||||||
func (n *NodeAbstractProvider) Path() addrs.ModuleInstance {
|
func (n *NodeAbstractProvider) Path() addrs.ModuleInstance {
|
||||||
return n.Addr.Module
|
return n.Addr.Module.UnkeyedInstanceShim()
|
||||||
}
|
}
|
||||||
|
|
||||||
// GraphNodeModulePath
|
// GraphNodeModulePath
|
||||||
func (n *NodeAbstractProvider) ModulePath() addrs.Module {
|
func (n *NodeAbstractProvider) ModulePath() addrs.Module {
|
||||||
return n.Addr.Module.Module()
|
return n.Addr.Module
|
||||||
}
|
}
|
||||||
|
|
||||||
// RemovableIfNotTargeted
|
// RemovableIfNotTargeted
|
||||||
|
|
|
@ -69,7 +69,7 @@ func (t *AttachSchemaTransformer) Transform(g *Graph) error {
|
||||||
if t.Config == nil {
|
if t.Config == nil {
|
||||||
providerFqn = addrs.NewLegacyProvider(p.LocalName)
|
providerFqn = addrs.NewLegacyProvider(p.LocalName)
|
||||||
} else {
|
} else {
|
||||||
modConfig := t.Config.DescendentForInstance(tv.Path())
|
modConfig := t.Config.Descendent(tv.ModulePath())
|
||||||
if modConfig == nil {
|
if modConfig == nil {
|
||||||
providerFqn = addrs.NewLegacyProvider(p.LocalName)
|
providerFqn = addrs.NewLegacyProvider(p.LocalName)
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -45,7 +45,7 @@ func TestDiffTransformer(t *testing.T) {
|
||||||
}.Instance(addrs.NoKey).Absolute(addrs.RootModuleInstance),
|
}.Instance(addrs.NoKey).Absolute(addrs.RootModuleInstance),
|
||||||
ProviderAddr: addrs.AbsProviderConfig{
|
ProviderAddr: addrs.AbsProviderConfig{
|
||||||
Provider: addrs.NewLegacyProvider("aws"),
|
Provider: addrs.NewLegacyProvider("aws"),
|
||||||
Module: addrs.RootModuleInstance,
|
Module: addrs.RootModule,
|
||||||
},
|
},
|
||||||
ChangeSrc: plans.ChangeSrc{
|
ChangeSrc: plans.ChangeSrc{
|
||||||
Action: plans.Update,
|
Action: plans.Update,
|
||||||
|
|
|
@ -24,7 +24,7 @@ func (t *ImportStateTransformer) Transform(g *Graph) error {
|
||||||
defaultFQN := target.Addr.Resource.Resource.DefaultProvider()
|
defaultFQN := target.Addr.Resource.Resource.DefaultProvider()
|
||||||
providerAddr = addrs.AbsProviderConfig{
|
providerAddr = addrs.AbsProviderConfig{
|
||||||
Provider: defaultFQN,
|
Provider: defaultFQN,
|
||||||
Module: target.Addr.Module,
|
Module: target.Addr.Module.Module(),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -48,7 +48,7 @@ type graphNodeImportState struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
_ GraphNodeModuleInstance = (*graphNodeImportState)(nil)
|
_ GraphNodeModulePath = (*graphNodeImportState)(nil)
|
||||||
_ GraphNodeEvalable = (*graphNodeImportState)(nil)
|
_ GraphNodeEvalable = (*graphNodeImportState)(nil)
|
||||||
_ GraphNodeProviderConsumer = (*graphNodeImportState)(nil)
|
_ GraphNodeProviderConsumer = (*graphNodeImportState)(nil)
|
||||||
_ GraphNodeDynamicExpandable = (*graphNodeImportState)(nil)
|
_ GraphNodeDynamicExpandable = (*graphNodeImportState)(nil)
|
||||||
|
@ -88,6 +88,11 @@ func (n *graphNodeImportState) Path() addrs.ModuleInstance {
|
||||||
return n.Addr.Module
|
return n.Addr.Module
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GraphNodeModulePath
|
||||||
|
func (n *graphNodeImportState) ModulePath() addrs.Module {
|
||||||
|
return n.Addr.Module.Module()
|
||||||
|
}
|
||||||
|
|
||||||
// GraphNodeEvalable impl.
|
// GraphNodeEvalable impl.
|
||||||
func (n *graphNodeImportState) EvalTree() EvalNode {
|
func (n *graphNodeImportState) EvalTree() EvalNode {
|
||||||
var provider providers.Interface
|
var provider providers.Interface
|
||||||
|
|
|
@ -28,7 +28,7 @@ func TestOrphanResourceInstanceTransformer(t *testing.T) {
|
||||||
},
|
},
|
||||||
addrs.AbsProviderConfig{
|
addrs.AbsProviderConfig{
|
||||||
Provider: addrs.NewLegacyProvider("aws"),
|
Provider: addrs.NewLegacyProvider("aws"),
|
||||||
Module: addrs.RootModuleInstance,
|
Module: addrs.RootModule,
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -47,7 +47,7 @@ func TestOrphanResourceInstanceTransformer(t *testing.T) {
|
||||||
},
|
},
|
||||||
addrs.AbsProviderConfig{
|
addrs.AbsProviderConfig{
|
||||||
Provider: addrs.NewLegacyProvider("aws"),
|
Provider: addrs.NewLegacyProvider("aws"),
|
||||||
Module: addrs.RootModuleInstance,
|
Module: addrs.RootModule,
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
|
@ -96,7 +96,7 @@ func TestOrphanResourceInstanceTransformer_countGood(t *testing.T) {
|
||||||
},
|
},
|
||||||
addrs.AbsProviderConfig{
|
addrs.AbsProviderConfig{
|
||||||
Provider: addrs.NewLegacyProvider("aws"),
|
Provider: addrs.NewLegacyProvider("aws"),
|
||||||
Module: addrs.RootModuleInstance,
|
Module: addrs.RootModule,
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
s.SetResourceInstanceCurrent(
|
s.SetResourceInstanceCurrent(
|
||||||
|
@ -113,7 +113,7 @@ func TestOrphanResourceInstanceTransformer_countGood(t *testing.T) {
|
||||||
},
|
},
|
||||||
addrs.AbsProviderConfig{
|
addrs.AbsProviderConfig{
|
||||||
Provider: addrs.NewLegacyProvider("aws"),
|
Provider: addrs.NewLegacyProvider("aws"),
|
||||||
Module: addrs.RootModuleInstance,
|
Module: addrs.RootModule,
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
|
@ -161,7 +161,7 @@ func TestOrphanResourceInstanceTransformer_countBad(t *testing.T) {
|
||||||
},
|
},
|
||||||
addrs.AbsProviderConfig{
|
addrs.AbsProviderConfig{
|
||||||
Provider: addrs.NewLegacyProvider("aws"),
|
Provider: addrs.NewLegacyProvider("aws"),
|
||||||
Module: addrs.RootModuleInstance,
|
Module: addrs.RootModule,
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
s.SetResourceInstanceCurrent(
|
s.SetResourceInstanceCurrent(
|
||||||
|
@ -178,7 +178,7 @@ func TestOrphanResourceInstanceTransformer_countBad(t *testing.T) {
|
||||||
},
|
},
|
||||||
addrs.AbsProviderConfig{
|
addrs.AbsProviderConfig{
|
||||||
Provider: addrs.NewLegacyProvider("aws"),
|
Provider: addrs.NewLegacyProvider("aws"),
|
||||||
Module: addrs.RootModuleInstance,
|
Module: addrs.RootModule,
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
|
@ -226,7 +226,7 @@ func TestOrphanResourceInstanceTransformer_modules(t *testing.T) {
|
||||||
},
|
},
|
||||||
addrs.AbsProviderConfig{
|
addrs.AbsProviderConfig{
|
||||||
Provider: addrs.NewLegacyProvider("aws"),
|
Provider: addrs.NewLegacyProvider("aws"),
|
||||||
Module: addrs.RootModuleInstance,
|
Module: addrs.RootModule,
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
s.SetResourceInstanceCurrent(
|
s.SetResourceInstanceCurrent(
|
||||||
|
@ -243,7 +243,7 @@ func TestOrphanResourceInstanceTransformer_modules(t *testing.T) {
|
||||||
},
|
},
|
||||||
addrs.AbsProviderConfig{
|
addrs.AbsProviderConfig{
|
||||||
Provider: addrs.NewLegacyProvider("aws"),
|
Provider: addrs.NewLegacyProvider("aws"),
|
||||||
Module: addrs.RootModuleInstance,
|
Module: addrs.RootModule,
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
|
|
|
@ -44,7 +44,7 @@ func TransformProviders(providers []string, concrete ConcreteProviderNodeFunc, c
|
||||||
//
|
//
|
||||||
// Name returns the full name of the provider in the config.
|
// Name returns the full name of the provider in the config.
|
||||||
type GraphNodeProvider interface {
|
type GraphNodeProvider interface {
|
||||||
GraphNodeModuleInstance
|
GraphNodeModulePath
|
||||||
ProviderAddr() addrs.AbsProviderConfig
|
ProviderAddr() addrs.AbsProviderConfig
|
||||||
Name() string
|
Name() string
|
||||||
}
|
}
|
||||||
|
@ -53,7 +53,7 @@ type GraphNodeProvider interface {
|
||||||
// provider must implement. The CloseProviderName returned is the name of
|
// provider must implement. The CloseProviderName returned is the name of
|
||||||
// the provider they satisfy.
|
// the provider they satisfy.
|
||||||
type GraphNodeCloseProvider interface {
|
type GraphNodeCloseProvider interface {
|
||||||
GraphNodeModuleInstance
|
GraphNodeModulePath
|
||||||
CloseProviderAddr() addrs.AbsProviderConfig
|
CloseProviderAddr() addrs.AbsProviderConfig
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -63,7 +63,7 @@ type GraphNodeCloseProvider interface {
|
||||||
// or in an ancestor module, with the resulting absolute address passed to
|
// or in an ancestor module, with the resulting absolute address passed to
|
||||||
// SetProvider.
|
// SetProvider.
|
||||||
type GraphNodeProviderConsumer interface {
|
type GraphNodeProviderConsumer interface {
|
||||||
GraphNodeModuleInstance
|
GraphNodeModulePath
|
||||||
// ProvidedBy returns the address of the provider configuration the node
|
// ProvidedBy returns the address of the provider configuration the node
|
||||||
// refers to, if available. The following value types may be returned:
|
// refers to, if available. The following value types may be returned:
|
||||||
//
|
//
|
||||||
|
@ -139,7 +139,7 @@ func (t *ProviderTransformer) Transform(g *Graph) error {
|
||||||
case addrs.LocalProviderConfig:
|
case addrs.LocalProviderConfig:
|
||||||
// ProvidedBy() return a LocalProviderConfig when the resource
|
// ProvidedBy() return a LocalProviderConfig when the resource
|
||||||
// contains a `provider` attribute
|
// contains a `provider` attribute
|
||||||
modPath := pv.Path()
|
modPath := pv.ModulePath()
|
||||||
if t.Config == nil {
|
if t.Config == nil {
|
||||||
absPc.Provider = addrs.NewLegacyProvider(p.LocalName)
|
absPc.Provider = addrs.NewLegacyProvider(p.LocalName)
|
||||||
absPc.Module = modPath
|
absPc.Module = modPath
|
||||||
|
@ -147,7 +147,7 @@ func (t *ProviderTransformer) Transform(g *Graph) error {
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
|
|
||||||
modConfig := t.Config.DescendentForInstance(modPath)
|
modConfig := t.Config.Descendent(modPath)
|
||||||
if modConfig == nil {
|
if modConfig == nil {
|
||||||
absPc.Provider = addrs.NewLegacyProvider(p.LocalName)
|
absPc.Provider = addrs.NewLegacyProvider(p.LocalName)
|
||||||
} else {
|
} else {
|
||||||
|
@ -159,7 +159,7 @@ func (t *ProviderTransformer) Transform(g *Graph) error {
|
||||||
case nil:
|
case nil:
|
||||||
// No provider found in config or state; fall back to implied default provider.
|
// No provider found in config or state; fall back to implied default provider.
|
||||||
absPc.Provider = pv.ImpliedProvider()
|
absPc.Provider = pv.ImpliedProvider()
|
||||||
absPc.Module = pv.Path()
|
absPc.Module = pv.ModulePath()
|
||||||
log.Printf("[TRACE] ProviderTransformer: %s is provided by %s or inherited equivalent", dag.VertexName(v), absPc)
|
log.Printf("[TRACE] ProviderTransformer: %s is provided by %s or inherited equivalent", dag.VertexName(v), absPc)
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
@ -216,7 +216,7 @@ func (t *ProviderTransformer) Transform(g *Graph) error {
|
||||||
// start up the provider and fetch its schema.
|
// start up the provider and fetch its schema.
|
||||||
if _, exists := needConfigured[key]; target == nil && !exists {
|
if _, exists := needConfigured[key]; target == nil && !exists {
|
||||||
stubAddr := addrs.AbsProviderConfig{
|
stubAddr := addrs.AbsProviderConfig{
|
||||||
Module: addrs.RootModuleInstance,
|
Module: addrs.RootModule,
|
||||||
Provider: p.Provider,
|
Provider: p.Provider,
|
||||||
}
|
}
|
||||||
stub := &NodeEvalableProvider{
|
stub := &NodeEvalableProvider{
|
||||||
|
@ -364,7 +364,7 @@ func (t *MissingProviderTransformer) Transform(g *Graph) error {
|
||||||
log.Println("[TRACE] MissingProviderTransformer: skipping implication of aliased config", p)
|
log.Println("[TRACE] MissingProviderTransformer: skipping implication of aliased config", p)
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
modConfig := t.Config.DescendentForInstance(pv.Path())
|
modConfig := t.Config.Descendent(pv.ModulePath())
|
||||||
if modConfig == nil {
|
if modConfig == nil {
|
||||||
providerFqn = addrs.NewLegacyProvider(p.LocalName)
|
providerFqn = addrs.NewLegacyProvider(p.LocalName)
|
||||||
} else {
|
} else {
|
||||||
|
@ -427,7 +427,7 @@ func (t *ParentProviderTransformer) Transform(g *Graph) error {
|
||||||
|
|
||||||
// Also require non-empty path, since otherwise we're in the root
|
// Also require non-empty path, since otherwise we're in the root
|
||||||
// module and so cannot have a parent.
|
// module and so cannot have a parent.
|
||||||
if len(pn.Path()) <= 1 {
|
if len(pn.ModulePath()) <= 1 {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -513,6 +513,11 @@ func (n *graphNodeCloseProvider) Name() string {
|
||||||
|
|
||||||
// GraphNodeModuleInstance impl.
|
// GraphNodeModuleInstance impl.
|
||||||
func (n *graphNodeCloseProvider) Path() addrs.ModuleInstance {
|
func (n *graphNodeCloseProvider) Path() addrs.ModuleInstance {
|
||||||
|
return n.Addr.Module.UnkeyedInstanceShim()
|
||||||
|
}
|
||||||
|
|
||||||
|
// GraphNodeModulePath
|
||||||
|
func (n *graphNodeCloseProvider) ModulePath() addrs.Module {
|
||||||
return n.Addr.Module
|
return n.Addr.Module
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -562,6 +567,7 @@ type graphNodeProxyProvider struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
_ GraphNodeModulePath = (*graphNodeProxyProvider)(nil)
|
||||||
_ GraphNodeProvider = (*graphNodeProxyProvider)(nil)
|
_ GraphNodeProvider = (*graphNodeProxyProvider)(nil)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -570,6 +576,10 @@ func (n *graphNodeProxyProvider) ProviderAddr() addrs.AbsProviderConfig {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (n *graphNodeProxyProvider) Path() addrs.ModuleInstance {
|
func (n *graphNodeProxyProvider) Path() addrs.ModuleInstance {
|
||||||
|
return n.addr.Module.UnkeyedInstanceShim()
|
||||||
|
}
|
||||||
|
|
||||||
|
func (n *graphNodeProxyProvider) ModulePath() addrs.Module {
|
||||||
return n.addr.Module
|
return n.addr.Module
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -644,19 +654,7 @@ func (t *ProviderConfigTransformer) transform(g *Graph, c *configs.Config) error
|
||||||
func (t *ProviderConfigTransformer) transformSingle(g *Graph, c *configs.Config) error {
|
func (t *ProviderConfigTransformer) transformSingle(g *Graph, c *configs.Config) error {
|
||||||
// Get the module associated with this configuration tree node
|
// Get the module associated with this configuration tree node
|
||||||
mod := c.Module
|
mod := c.Module
|
||||||
staticPath := c.Path
|
path := c.Path
|
||||||
|
|
||||||
// We actually need a dynamic module path here, but we've not yet updated
|
|
||||||
// our graph builders enough to support expansion of module calls with
|
|
||||||
// "count" and "for_each" set, so for now we'll shim this by converting to
|
|
||||||
// a dynamic path with no keys. At the time of writing this is the only
|
|
||||||
// possible kind of dynamic path anyway.
|
|
||||||
path := make(addrs.ModuleInstance, len(staticPath))
|
|
||||||
for i, name := range staticPath {
|
|
||||||
path[i] = addrs.ModuleInstanceStep{
|
|
||||||
Name: name,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// add all providers from the configuration
|
// add all providers from the configuration
|
||||||
for _, p := range mod.ProviderConfigs {
|
for _, p := range mod.ProviderConfigs {
|
||||||
|
@ -720,19 +718,6 @@ func (t *ProviderConfigTransformer) addProxyProviders(g *Graph, c *configs.Confi
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// We currently don't support count/for_each for modules and so we must
|
|
||||||
// shim our path and parentPath into module instances here so that the
|
|
||||||
// rest of Terraform can behave as if we do. This shimming should be
|
|
||||||
// removed later as part of implementing count/for_each for modules.
|
|
||||||
instPath := make(addrs.ModuleInstance, len(path))
|
|
||||||
for i, name := range path {
|
|
||||||
instPath[i] = addrs.ModuleInstanceStep{Name: name}
|
|
||||||
}
|
|
||||||
parentInstPath := make(addrs.ModuleInstance, len(parentPath))
|
|
||||||
for i, name := range parentPath {
|
|
||||||
parentInstPath[i] = addrs.ModuleInstanceStep{Name: name}
|
|
||||||
}
|
|
||||||
|
|
||||||
if parentCfg == nil {
|
if parentCfg == nil {
|
||||||
// this can't really happen during normal execution.
|
// this can't really happen during normal execution.
|
||||||
return fmt.Errorf("parent module config not found for %s", c.Path.String())
|
return fmt.Errorf("parent module config not found for %s", c.Path.String())
|
||||||
|
@ -744,13 +729,13 @@ func (t *ProviderConfigTransformer) addProxyProviders(g *Graph, c *configs.Confi
|
||||||
fqn := c.Module.ProviderForLocalConfig(pair.InChild.Addr())
|
fqn := c.Module.ProviderForLocalConfig(pair.InChild.Addr())
|
||||||
fullAddr := addrs.AbsProviderConfig{
|
fullAddr := addrs.AbsProviderConfig{
|
||||||
Provider: fqn,
|
Provider: fqn,
|
||||||
Module: instPath,
|
Module: path,
|
||||||
Alias: pair.InChild.Addr().Alias,
|
Alias: pair.InChild.Addr().Alias,
|
||||||
}
|
}
|
||||||
|
|
||||||
fullParentAddr := addrs.AbsProviderConfig{
|
fullParentAddr := addrs.AbsProviderConfig{
|
||||||
Provider: fqn,
|
Provider: fqn,
|
||||||
Module: parentInstPath,
|
Module: parentPath,
|
||||||
Alias: pair.InParent.Addr().Alias,
|
Alias: pair.InParent.Addr().Alias,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -802,7 +787,7 @@ func (t *ProviderConfigTransformer) attachProviderConfigs(g *Graph) error {
|
||||||
addr := apn.ProviderAddr()
|
addr := apn.ProviderAddr()
|
||||||
|
|
||||||
// Get the configuration.
|
// Get the configuration.
|
||||||
mc := t.Config.DescendentForInstance(addr.Module)
|
mc := t.Config.Descendent(addr.Module)
|
||||||
if mc == nil {
|
if mc == nil {
|
||||||
log.Printf("[TRACE] ProviderConfigTransformer: no configuration available for %s", addr.String())
|
log.Printf("[TRACE] ProviderConfigTransformer: no configuration available for %s", addr.String())
|
||||||
continue
|
continue
|
||||||
|
|
|
@ -72,7 +72,7 @@ func TestMissingProvisionerTransformer_module(t *testing.T) {
|
||||||
},
|
},
|
||||||
addrs.AbsProviderConfig{
|
addrs.AbsProviderConfig{
|
||||||
Provider: addrs.NewLegacyProvider("aws"),
|
Provider: addrs.NewLegacyProvider("aws"),
|
||||||
Module: addrs.RootModuleInstance,
|
Module: addrs.RootModule,
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
s.SetResourceInstanceCurrent(
|
s.SetResourceInstanceCurrent(
|
||||||
|
@ -89,7 +89,7 @@ func TestMissingProvisionerTransformer_module(t *testing.T) {
|
||||||
},
|
},
|
||||||
addrs.AbsProviderConfig{
|
addrs.AbsProviderConfig{
|
||||||
Provider: addrs.NewLegacyProvider("aws"),
|
Provider: addrs.NewLegacyProvider("aws"),
|
||||||
Module: addrs.RootModuleInstance,
|
Module: addrs.RootModule,
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
|
|
Loading…
Reference in New Issue