opentofu/internal/command/jsonformat/change/computed.go
Liam Cervante b8b1a8d430
Add support for unknown/computed values in the structured renderer (#32378)
* prep for processing the structured run output

* undo unwanted change to a json key

* Add skeleton functions and API for refactored renderer

* goimports

* Fix documentation of the RenderOpts struct

* Add rendering functionality for primitives to the structured renderer

* add test case for override

* Add support for parsing and rendering sensitive values in the renderer

* Add support for unknown/computed values in the structured renderer

* delete missing unit tests
2023-01-09 11:55:55 +01:00

30 lines
594 B
Go

package change
import (
"fmt"
"github.com/hashicorp/terraform/internal/plans"
)
func Computed(before Change) Renderer {
return &computedRenderer{
before: before,
}
}
type computedRenderer struct {
NoWarningsRenderer
before Change
}
func (renderer computedRenderer) Render(change Change, indent int, opts RenderOpts) string {
if change.action == plans.Create {
return "(known after apply)"
}
// Never render null suffix for children of computed changes.
opts.overrideNullSuffix = true
return fmt.Sprintf("%s -> (known after apply)", renderer.before.Render(indent, opts))
}