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 {
|
for _, key := range attributeKeys {
|
||||||
attribute := renderer.attributes[key]
|
attribute := renderer.attributes[key]
|
||||||
if importantAttribute(key) {
|
if importantAttribute(key) {
|
||||||
|
|
||||||
// Always display the important attributes.
|
// Always display the important attributes.
|
||||||
for _, warning := range attribute.WarningsHuman(indent+1, importantAttributeOpts) {
|
for _, warning := range attribute.WarningsHuman(indent+1, importantAttributeOpts) {
|
||||||
buf.WriteString(fmt.Sprintf("%s%s\n", formatIndent(indent+1), warning))
|
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()
|
blockKeys := renderer.blocks.GetAllKeys()
|
||||||
for _, key := range blockKeys {
|
for _, key := range blockKeys {
|
||||||
|
|
||||||
foundChangedBlock := false
|
foundChangedBlock := false
|
||||||
renderBlock := func(diff computed.Diff, mapKey string, opts computed.RenderHumanOpts) {
|
renderBlock := func(diff computed.Diff, mapKey string, opts computed.RenderHumanOpts) {
|
||||||
|
|
||||||
creatingSensitiveValue := diff.Action == plans.Create && renderer.blocks.AfterSensitiveBlocks[key]
|
creatingSensitiveValue := diff.Action == plans.Create && renderer.blocks.AfterSensitiveBlocks[key]
|
||||||
deletingSensitiveValue := diff.Action == plans.Delete && renderer.blocks.BeforeSensitiveBlocks[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])
|
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\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)))
|
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 {
|
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)
|
renderBlock(renderer.blocks.MapBlocks[key][innerKey], fmt.Sprintf(" %q", innerKey), opts)
|
||||||
}
|
}
|
||||||
case renderer.blocks.IsSetBlock(key):
|
case renderer.blocks.IsSetBlock(key):
|
||||||
|
|
||||||
setOpts := opts.Clone()
|
setOpts := opts.Clone()
|
||||||
setOpts.OverrideForcesReplacement = diff.Replace
|
setOpts.OverrideForcesReplacement = diff.Replace
|
||||||
|
|
||||||
for _, block := range renderer.blocks.SetBlocks[key] {
|
for _, block := range renderer.blocks.SetBlocks[key] {
|
||||||
renderBlock(block, "", opts)
|
renderBlock(block, "", setOpts)
|
||||||
}
|
}
|
||||||
case renderer.blocks.IsListBlock(key):
|
case renderer.blocks.IsListBlock(key):
|
||||||
for _, block := range renderer.blocks.ListBlocks[key] {
|
for _, block := range renderer.blocks.ListBlocks[key] {
|
||||||
|
@ -1987,6 +1987,56 @@ jsonencode(
|
|||||||
- number = 1 -> null
|
- number = 1 -> null
|
||||||
~ string = "old" -> "new"
|
~ 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": {
|
"map_block_update": {
|
||||||
|
Loading…
Reference in New Issue
Block a user