stacks: use component config address relative to stack

pull/34762/head
Daniel Schmidt 2 years ago
parent 1fd99fe6e4
commit 8bab2a588d
No known key found for this signature in database
GPG Key ID: 377C3A4D62FBBBE2

@ -147,11 +147,11 @@ func (s *stacksServer) FindStackConfigurationComponents(ctx context.Context, req
}
return &terraform1.FindStackConfigurationComponents_Response{
Config: stackConfigMetaforProto(cfg.Root),
Config: stackConfigMetaforProto(cfg.Root, stackaddrs.RootStack),
}, nil
}
func stackConfigMetaforProto(cfgNode *stackconfig.ConfigNode) *terraform1.FindStackConfigurationComponents_StackConfig {
func stackConfigMetaforProto(cfgNode *stackconfig.ConfigNode, stackAddr stackaddrs.Stack) *terraform1.FindStackConfigurationComponents_StackConfig {
ret := &terraform1.FindStackConfigurationComponents_StackConfig{
Components: make(map[string]*terraform1.FindStackConfigurationComponents_Component),
EmbeddedStacks: make(map[string]*terraform1.FindStackConfigurationComponents_EmbeddedStack),
@ -160,7 +160,7 @@ func stackConfigMetaforProto(cfgNode *stackconfig.ConfigNode) *terraform1.FindSt
for name, cc := range cfgNode.Stack.Components {
cProto := &terraform1.FindStackConfigurationComponents_Component{
SourceAddr: cc.FinalSourceAddr.String(),
ComponentAddr: stackaddrs.Component{Name: cc.Name}.String(),
ComponentAddr: stackaddrs.Config(stackAddr, stackaddrs.Component{Name: cc.Name}).String(),
}
switch {
case cc.ForEach != nil:
@ -175,7 +175,7 @@ func stackConfigMetaforProto(cfgNode *stackconfig.ConfigNode) *terraform1.FindSt
sc := cfgNode.Stack.EmbeddedStacks[name]
sProto := &terraform1.FindStackConfigurationComponents_EmbeddedStack{
SourceAddr: sn.Stack.SourceAddr.String(),
Config: stackConfigMetaforProto(sn),
Config: stackConfigMetaforProto(sn, stackAddr.Child(name)),
}
switch {
case sc.ForEach != nil:

@ -201,7 +201,7 @@ func TestStacksFindStackConfigurationComponents(t *testing.T) {
Components: map[string]*terraform1.FindStackConfigurationComponents_Component{
"foo": {
SourceAddr: "git::https://example.com/foo.git//non-empty-stack/empty-module",
ComponentAddr: "component.foo",
ComponentAddr: "stack.single.component.foo",
},
},
},
@ -213,7 +213,7 @@ func TestStacksFindStackConfigurationComponents(t *testing.T) {
Components: map[string]*terraform1.FindStackConfigurationComponents_Component{
"foo": {
SourceAddr: "git::https://example.com/foo.git//non-empty-stack/empty-module",
ComponentAddr: "component.foo",
ComponentAddr: "stack.for_each.component.foo",
},
},
},

Loading…
Cancel
Save