opentofu/internal/command/jsonformat/computed/renderers/unknown.go
namgyalangmo cb2e9119aa
Update copyright notice (#1232)
Signed-off-by: namgyalangmo <75657887+namgyalangmo@users.noreply.github.com>
2024-02-08 09:48:59 +00:00

38 lines
1,013 B
Go

// Copyright (c) The OpenTofu Authors
// SPDX-License-Identifier: MPL-2.0
// Copyright (c) 2023 HashiCorp, Inc.
// SPDX-License-Identifier: MPL-2.0
package renderers
import (
"fmt"
"github.com/opentofu/opentofu/internal/command/jsonformat/computed"
"github.com/opentofu/opentofu/internal/plans"
)
var _ computed.DiffRenderer = (*unknownRenderer)(nil)
func Unknown(before computed.Diff) computed.DiffRenderer {
return &unknownRenderer{
before: before,
}
}
type unknownRenderer struct {
NoWarningsRenderer
before computed.Diff
}
func (renderer unknownRenderer) RenderHuman(diff computed.Diff, indent int, opts computed.RenderHumanOpts) string {
if diff.Action == plans.Create {
return fmt.Sprintf("(known after apply)%s", forcesReplacement(diff.Replace, opts))
}
// Never render null suffix for children of unknown changes.
opts.OverrideNullSuffix = true
return fmt.Sprintf("%s -> (known after apply)%s", renderer.before.RenderHuman(indent, opts), forcesReplacement(diff.Replace, opts))
}