mirror of
https://github.com/opentffoundation/opentf.git
synced 2025-12-22 03:07:51 -05:00
42 lines
1.8 KiB
Go
42 lines
1.8 KiB
Go
// Copyright (c) The OpenTofu Authors
|
|
// SPDX-License-Identifier: MPL-2.0
|
|
// Copyright (c) 2023 HashiCorp, Inc.
|
|
// SPDX-License-Identifier: MPL-2.0
|
|
|
|
package cloudplan
|
|
|
|
import (
|
|
"github.com/opentofu/opentofu/internal/plans"
|
|
)
|
|
|
|
// RemotePlanJSON is a wrapper struct that associates a pre-baked JSON plan with
|
|
// several pieces of metadata that can't be derived directly from the JSON
|
|
// contents and must instead be discovered from a tfe.Run or tfe.Plan. The
|
|
// wrapper is useful for moving data between the Cloud backend (which is the
|
|
// only thing able to fetch the JSON and determine values for the metadata) and
|
|
// the command.ShowCommand and views.Show interface (which need to have all of
|
|
// this information together).
|
|
type RemotePlanJSON struct {
|
|
// The raw bytes of json we got from the API.
|
|
JSONBytes []byte
|
|
// Indicates whether the json bytes are the "redacted json plan" format, or
|
|
// the unredacted stable "external json plan" format. These formats are
|
|
// actually very different under the hood; the redacted one can be decoded
|
|
// directly into a jsonformat.Plan struct and is intended for formatting a
|
|
// plan for human consumption, while the unredacted one matches what is
|
|
// returned by the jsonplan.Marshal() function, cannot be directly decoded
|
|
// into a public type (it's actually a jsonplan.plan struct), and will
|
|
// generally be spat back out verbatim.
|
|
Redacted bool
|
|
// Normal/destroy/refresh. Required by (jsonformat.Renderer).RenderHumanPlan.
|
|
Mode plans.Mode
|
|
// Unchanged/errored. Required by (jsonformat.Renderer).RenderHumanPlan.
|
|
Qualities []plans.Quality
|
|
// A human-readable header with a link to view the associated run in the
|
|
// Terraform Cloud UI.
|
|
RunHeader string
|
|
// A human-readable footer with information relevant to the likely next
|
|
// actions for this plan.
|
|
RunFooter string
|
|
}
|