mirror of
https://github.com/opentofu/opentofu.git
synced 2025-02-25 18:45:20 -06:00
Fix setops not used in block set renderer (#1950)
Signed-off-by: buraksenn <buraksenb@gmail.com>
This commit is contained in:
parent
bb63574f09
commit
2091c96984
@ -79,7 +79,6 @@ func (renderer blockRenderer) RenderHuman(diff computed.Diff, indent int, opts c
|
||||
for _, key := range attributeKeys {
|
||||
attribute := renderer.attributes[key]
|
||||
if importantAttribute(key) {
|
||||
|
||||
// Always display the important attributes.
|
||||
for _, warning := range attribute.WarningsHuman(indent+1, importantAttributeOpts) {
|
||||
buf.WriteString(fmt.Sprintf("%s%s\n", formatIndent(indent+1), warning))
|
||||
@ -104,10 +103,8 @@ func (renderer blockRenderer) RenderHuman(diff computed.Diff, indent int, opts c
|
||||
|
||||
blockKeys := renderer.blocks.GetAllKeys()
|
||||
for _, key := range blockKeys {
|
||||
|
||||
foundChangedBlock := false
|
||||
renderBlock := func(diff computed.Diff, mapKey string, opts computed.RenderHumanOpts) {
|
||||
|
||||
creatingSensitiveValue := diff.Action == plans.Create && renderer.blocks.AfterSensitiveBlocks[key]
|
||||
deletingSensitiveValue := diff.Action == plans.Delete && renderer.blocks.BeforeSensitiveBlocks[key]
|
||||
modifyingSensitiveValue := (diff.Action == plans.Update || diff.Action == plans.NoOp) && (renderer.blocks.AfterSensitiveBlocks[key] || renderer.blocks.BeforeSensitiveBlocks[key])
|
||||
@ -146,7 +143,6 @@ func (renderer blockRenderer) RenderHuman(diff computed.Diff, indent int, opts c
|
||||
buf.WriteString(fmt.Sprintf("%s%s\n", formatIndent(indent+1), warning))
|
||||
}
|
||||
buf.WriteString(fmt.Sprintf("%s%s%s%s %s\n", formatIndent(indent+1), writeDiffActionSymbol(diff.Action, blockOpts), EnsureValidAttributeName(key), mapKey, diff.RenderHuman(indent+1, blockOpts)))
|
||||
|
||||
}
|
||||
|
||||
switch {
|
||||
@ -163,12 +159,11 @@ func (renderer blockRenderer) RenderHuman(diff computed.Diff, indent int, opts c
|
||||
renderBlock(renderer.blocks.MapBlocks[key][innerKey], fmt.Sprintf(" %q", innerKey), opts)
|
||||
}
|
||||
case renderer.blocks.IsSetBlock(key):
|
||||
|
||||
setOpts := opts.Clone()
|
||||
setOpts.OverrideForcesReplacement = diff.Replace
|
||||
|
||||
for _, block := range renderer.blocks.SetBlocks[key] {
|
||||
renderBlock(block, "", opts)
|
||||
renderBlock(block, "", setOpts)
|
||||
}
|
||||
case renderer.blocks.IsListBlock(key):
|
||||
for _, block := range renderer.blocks.ListBlocks[key] {
|
||||
|
@ -1987,6 +1987,56 @@ jsonencode(
|
||||
- number = 1 -> null
|
||||
~ string = "old" -> "new"
|
||||
}
|
||||
}`,
|
||||
},
|
||||
"set_block_override_replacement": {
|
||||
diff: computed.Diff{
|
||||
Renderer: Block(
|
||||
nil,
|
||||
Blocks{
|
||||
SetBlocks: map[string][]computed.Diff{
|
||||
"set_blocks": {
|
||||
{
|
||||
Renderer: Block(map[string]computed.Diff{
|
||||
"number": {
|
||||
Renderer: Primitive(json.Number("1"), json.Number("2"), cty.Number),
|
||||
Action: plans.Update,
|
||||
},
|
||||
"string": {
|
||||
Renderer: Primitive(nil, "new", cty.String),
|
||||
Action: plans.Create,
|
||||
},
|
||||
}, Blocks{}),
|
||||
Action: plans.Update,
|
||||
},
|
||||
{
|
||||
Renderer: Block(map[string]computed.Diff{
|
||||
"number": {
|
||||
Renderer: Primitive(json.Number("1"), nil, cty.Number),
|
||||
Action: plans.Delete,
|
||||
},
|
||||
"string": {
|
||||
Renderer: Primitive("old", "new", cty.String),
|
||||
Action: plans.Update,
|
||||
},
|
||||
}, Blocks{}),
|
||||
Action: plans.Update,
|
||||
},
|
||||
},
|
||||
},
|
||||
}),
|
||||
Replace: true,
|
||||
},
|
||||
expected: `
|
||||
{ # forces replacement
|
||||
~ set_blocks {
|
||||
~ number = 1 -> 2
|
||||
+ string = "new"
|
||||
}
|
||||
~ set_blocks {
|
||||
- number = 1 -> null
|
||||
~ string = "old" -> "new"
|
||||
}
|
||||
}`,
|
||||
},
|
||||
"map_block_update": {
|
||||
|
Loading…
Reference in New Issue
Block a user