package
3.0.0+incompatible
Repository: https://github.com/eitol/terraform-internals.git
Documentation: pkg.go.dev

# Packages

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.

# Functions

No description provided by the author
NewChanges returns a valid Changes object that describes no changes.
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
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.
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
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.
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.
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.
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.
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.
ChangesSync is a wrapper around a Changes that provides a concurrency-safe interface to insert new changes and retrieve copies of existing changes.
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.
ResourceInstanceChangeActionReason allows for some extra user-facing reasoning for why a particular change action was chosen for a particular resource instance.