package
1.12.0-alpha20250213
Repository: https://github.com/hashicorp/terraform.git
Documentation: pkg.go.dev
# Packages
Package deferring deals with the problem of keeping track of "deferred actions", which means the situation where the planning of some objects is currently impossible due to incomplete information and so Terraform explicitly defers dealing with them until the next plan/apply round, while still allowing the operator to apply the partial plan so that there will be more information available next time.
Package objchange deals with the business logic of taking a prior state value and a config value and producing a proposed new merged value, along with other related rules in this domain.
Package planfile deals with the file format used to serialize plans to disk and then deserialize them back into memory later.
Package planproto is home to the Go stubs generated from the tfplan protobuf schema.
# Functions
No description provided by the author
NewChanges returns a valid Changes object that describes no changes.
No description provided by the author
NewDynamicValue creates a DynamicValue by serializing the given value against the given type constraint.
# Constants
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
DestroyMode is a special planning mode for situations where the goal is to destroy all remote objects that are bound to instances in the prior state, even if the configuration for those instances is still present.
Errored plans did not successfully complete, and cannot be applied.
No description provided by the author
NoChanges plans won't result in any actions on infrastructure, or any semantically meaningful updates to state.
No description provided by the author
NormalMode is the default planning mode, which aims to synchronize the prior state with remote objects and plan a set of actions intended to make those remote objects better match the current configuration.
No description provided by the author
No description provided by the author
RefreshOnlyMode is a special planning mode which only performs the synchronization of prior state with remote objects, and skips any effort to generate any change actions for resource instances even if the configuration has changed relative to the state.
No description provided by the author
In most cases there's no special reason for choosing a particular action, which is represented by ResourceInstanceChangeNoReason.
ResourceInstanceDeleteBecauseCountIndex indicates that the resource instance is planned to be deleted because its integer instance key is out of range for the current configured resource "count" value.
ResourceInstanceDeleteBecauseEachKey indicates that the resource instance is planned to be deleted because its string instance key isn't one of the keys included in the current configured resource "for_each" value.
ResourceInstanceDeleteBecauseNoModule indicates that the resource instance is planned to be deleted because it belongs to a module instance that's no longer declared in the configuration.
ResourceInstanceDeleteBecauseNoMoveTarget indicates that the resource address appears as the target ("to") in a moved block, but no configuration exists for that resource.
ResourceInstanceDeleteBecauseNoResourceConfig indicates that the resource instance is planned to be deleted because there's no corresponding resource configuration block in the configuration.
ResourceInstanceDeleteBecauseWrongRepetition indicates that the resource instance is planned to be deleted because the instance key type isn't consistent with the repetition mode selected in the resource configuration.
ResourceInstanceReadBecauseCheckNested indicates that the resource must be read during apply (as well as during planning) because it is inside a check block and when the check assertions execute we want them to use the most up-to-date data.
ResourceInstanceReadBecauseConfigUnknown indicates that the resource must be read during apply (rather than during planning) because its configuration contains unknown values.
ResourceInstanceReadBecauseDependencyPending indicates that the resource must be read during apply (rather than during planning) because it depends on a managed resource instance which has its own changes pending.
ResourceInstanceReplaceBecauseCannotUpdate indicates that the resource instance is planned to be replaced because the provider has indicated that a requested change cannot be applied as an update.
ResourceInstanceReplaceBecauseTainted indicates that the resource instance must be replaced because its existing current object is marked as "tainted".
ResourceInstanceReplaceByRequest indicates that the resource instance is planned to be replaced because a caller specifically asked for it to be using ReplaceAddrs.
ResourceInstanceReplaceByTriggers indicates that the resource instance is planned to be replaced because of a corresponding change in a replace_triggered_by reference.
No description provided by the author
# Structs
Backend represents the backend-related configuration and other data as it existed when a plan was created.
Change describes a single change with a given action.
Changes describes various actions that Terraform will attempt to take if the corresponding plan is applied.
ChangeSrc is a not-yet-decoded Change.
ChangesSrc describes various actions that Terraform will attempt to take if the corresponding plan is applied.
ChangesSync is a wrapper around a Changes that provides a concurrency-safe interface to insert new changes and retrieve copies of existing changes.
DeferredResourceInstanceChange tracks information about a resource that has been deferred for some reason.
DeferredResourceInstanceChangeSrc tracks information about a resource that has been deferred for some reason.
Importing is the part of a ChangeSrc that describes the embedded import action.
ImportingSrc is the part of a ChangeSrc that describes the embedded import action.
OutputChange describes a change to an output value.
OutputChangeSrc describes a change to an output value.
Plan is the top-level type representing a planned set of changes.
ResourceInstanceChange describes a change to a particular resource instance object.
ResourceInstanceChangeSrc is a not-yet-decoded ResourceInstanceChange.
# Type aliases
No description provided by the author
DynamicValue is the representation in the plan of a value whose type cannot be determined at compile time, such as because it comes from a schema defined in a plugin.
Mode represents the various mutually-exclusive modes for creating a plan.
Quality represents facts about the nature of a plan that might be relevant when rendering it, like whether it errored or contains no changes.
ResourceInstanceChangeActionReason allows for some extra user-facing reasoning for why a particular change action was chosen for a particular resource instance.