github.com/terramate-io/tf@v0.0.0-20230830114523-fce866b4dfcd/command/jsonformat/computed/renderers/unknown.go (about) 1 // Copyright (c) HashiCorp, Inc. 2 // SPDX-License-Identifier: MPL-2.0 3 4 package renderers 5 6 import ( 7 "fmt" 8 9 "github.com/terramate-io/tf/command/jsonformat/computed" 10 11 "github.com/terramate-io/tf/plans" 12 ) 13 14 var _ computed.DiffRenderer = (*unknownRenderer)(nil) 15 16 func Unknown(before computed.Diff) computed.DiffRenderer { 17 return &unknownRenderer{ 18 before: before, 19 } 20 } 21 22 type unknownRenderer struct { 23 NoWarningsRenderer 24 25 before computed.Diff 26 } 27 28 func (renderer unknownRenderer) RenderHuman(diff computed.Diff, indent int, opts computed.RenderHumanOpts) string { 29 if diff.Action == plans.Create { 30 return fmt.Sprintf("(known after apply)%s", forcesReplacement(diff.Replace, opts)) 31 } 32 33 // Never render null suffix for children of unknown changes. 34 opts.OverrideNullSuffix = true 35 return fmt.Sprintf("%s -> (known after apply)%s", renderer.before.RenderHuman(indent, opts), forcesReplacement(diff.Replace, opts)) 36 }