Documentation ¶
Index ¶
- type BackendStatedeprecated
- type DataSourcedeprecated
- type EphemeralStatedeprecated
- type InstanceDiffdeprecated
- func NewInstanceDiff() *InstanceDiffdeprecated
- func (d *InstanceDiff) Apply(attrs map[string]string, schema *configschema.Block) (map[string]string, error)deprecated
- func (d *InstanceDiff) ApplyToValue(base cty.Value, schema *configschema.Block) (cty.Value, error)deprecated
- func (d *InstanceDiff) ChangeType() diffChangeTypedeprecated
- func (d *InstanceDiff) CopyAttributes() map[string]*ResourceAttrDiffdeprecated
- func (d *InstanceDiff) Empty() booldeprecated
- func (d *InstanceDiff) Equal(d2 *InstanceDiff) bool
- func (d *InstanceDiff) GetAttribute(key string) (*ResourceAttrDiff, bool)deprecated
- func (d *InstanceDiff) GetDestroy() booldeprecated
- func (d *InstanceDiff) GetDestroyDeposed() booldeprecated
- func (d *InstanceDiff) GetDestroyTainted() booldeprecated
- func (d *InstanceDiff) GoString() string
- func (d *InstanceDiff) Lock()deprecated
- func (d *InstanceDiff) RequiresNew() booldeprecated
- func (d *InstanceDiff) Same(d2 *InstanceDiff) (bool, string)deprecated
- func (d *InstanceDiff) Unlock()deprecated
- type InstanceInfodeprecated
- type InstanceState
- func (s *InstanceState) AttrsAsObjectValue(ty cty.Type) (cty.Value, error)deprecated
- func (s *InstanceState) DeepCopy() *InstanceStatedeprecated
- func (s *InstanceState) Empty() booldeprecated
- func (s *InstanceState) Equal(other *InstanceState) bool
- func (s *InstanceState) Lock()deprecated
- func (s *InstanceState) MergeDiff(d *InstanceDiff) *InstanceStatedeprecated
- func (s *InstanceState) Set(from *InstanceState)deprecated
- func (s *InstanceState) String() string
- func (s *InstanceState) Unlock()deprecated
- type ModuleState
- type OutputState
- type ProviderSchemadeprecated
- type ProviderSchemaRequestdeprecated
- type RemoteStatedeprecated
- func (r *RemoteState) Empty() booldeprecated
- func (s *RemoteState) Lock()deprecated
- func (s *RemoteState) Unlock()deprecated
- type ResourceAttrDiffdeprecated
- type ResourceConfigdeprecated
- func (c *ResourceConfig) DeepCopy() *ResourceConfigdeprecated
- func (c *ResourceConfig) Equal(c2 *ResourceConfig) bool
- func (c *ResourceConfig) Get(k string) (interface{}, bool)deprecated
- func (c *ResourceConfig) GetRaw(k string) (interface{}, bool)deprecated
- func (c *ResourceConfig) IsComputed(k string) booldeprecated
- type ResourceMode
- type ResourceState
- type ResourceStateKey
- type ResourceTypedeprecated
- type State
- func NewState() *Statedeprecated
- func (s *State) AddModule(path addrs.ModuleInstance) *ModuleStatedeprecated
- func (s *State) AddModuleState(mod *ModuleState)deprecated
- func (s *State) Children(path []string) []*ModuleStatedeprecated
- func (s *State) CompareAges(other *State) (StateAgeComparison, error)deprecated
- func (s *State) DeepCopy() *Statedeprecated
- func (s *State) Empty() booldeprecated
- func (s *State) EnsureHasLineage()deprecated
- func (s *State) Equal(other *State) booldeprecated
- func (s *State) HasResources() booldeprecated
- func (s *State) Init()deprecated
- func (s *State) IsRemote() booldeprecated
- func (s *State) Lock()deprecated
- func (s *State) ModuleByPath(path addrs.ModuleInstance) *ModuleStatedeprecated
- func (s *State) Remove(addr ...string) errordeprecated
- func (s *State) RootModule() *ModuleState
- func (s *State) SameLineage(other *State) booldeprecated
- func (s *State) String() string
- func (s *State) Unlock()deprecated
- func (s *State) Validate() errordeprecated
- type StateAgeComparisondeprecated
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BackendState
deprecated
type BackendState struct { Type string `json:"type"` // Backend type ConfigRaw json.RawMessage `json:"config"` // Backend raw config Hash uint64 `json:"hash"` // Hash of portion of configuration from config files }
BackendState stores the configuration to connect to a remote backend.
Deprecated: This type is unintentionally exported by this Go module and not supported for external consumption. It will be removed in the next major version.
type DataSource
deprecated
type DataSource struct { Name string // SchemaAvailable is set if the provider supports the ProviderSchema, // ResourceTypeSchema and DataSourceSchema methods. Although it is // included on each resource type, it's actually a provider-wide setting // that's smuggled here only because that avoids a breaking change to // the plugin protocol. SchemaAvailable bool }
DataSource is a data source that a resource provider implements.
Deprecated: This type is unintentionally exported by this Go module and not supported for external consumption. It will be removed in the next major version.
type EphemeralState
deprecated
type EphemeralState struct { // ConnInfo is used for the providers to export information which is // used to connect to the resource for provisioning. For example, // this could contain SSH or WinRM credentials. ConnInfo map[string]string `json:"-"` // Type is used to specify the resource type for this instance. This is only // required for import operations (as documented). If the documentation // doesn't state that you need to set this, then don't worry about // setting it. Type string `json:"-"` }
EphemeralState is used for transient state that is only kept in-memory
Deprecated: This type is unintentionally exported by this Go module and not supported for external consumption. It will be removed in the next major version.
type InstanceDiff
deprecated
type InstanceDiff struct { Attributes map[string]*ResourceAttrDiff Destroy bool DestroyDeposed bool DestroyTainted bool RawConfig cty.Value RawState cty.Value RawPlan cty.Value // Meta is a simple K/V map that is stored in a diff and persisted to // plans but otherwise is completely ignored by Terraform core. It is // meant to be used for additional data a resource may want to pass through. // The value here must only contain Go primitives and collections. Meta map[string]interface{} // contains filtered or unexported fields }
InstanceDiff is the diff of a resource from some state to another.
Deprecated: This type is unintentionally exported by this Go module and not supported for external consumption. It will be removed in the next major version.
func NewInstanceDiff
deprecated
func NewInstanceDiff() *InstanceDiff
Deprecated: This function is unintentionally exported by this Go module and not supported for external consumption. It will be removed in the next major version.
func (*InstanceDiff) Apply
deprecated
func (d *InstanceDiff) Apply(attrs map[string]string, schema *configschema.Block) (map[string]string, error)
Apply applies the diff to the provided flatmapped attributes, returning the new instance attributes.
This method is intended for shimming old subsystems that still use this legacy diff type to work with the new-style types.
Deprecated: This method is unintentionally exported by this Go module and not supported for external consumption. It will be removed in the next major version.
func (*InstanceDiff) ApplyToValue
deprecated
func (d *InstanceDiff) ApplyToValue(base cty.Value, schema *configschema.Block) (cty.Value, error)
ApplyToValue merges the receiver into the given base value, returning a new value that incorporates the planned changes. The given value must conform to the given schema, or this method will panic.
This method is intended for shimming old subsystems that still use this legacy diff type to work with the new-style types.
Deprecated: This method is unintentionally exported by this Go module and not supported for external consumption. It will be removed in the next major version.
func (*InstanceDiff) ChangeType
deprecated
func (d *InstanceDiff) ChangeType() diffChangeType
ChangeType returns the diffChangeType represented by the diff for this single instance.
Deprecated: This method is unintentionally exported by this Go module and not supported for external consumption. It will be removed in the next major version.
func (*InstanceDiff) CopyAttributes
deprecated
func (d *InstanceDiff) CopyAttributes() map[string]*ResourceAttrDiff
Safely copies the Attributes map
Deprecated: This method is unintentionally exported by this Go module and not supported for external consumption. It will be removed in the next major version.
func (*InstanceDiff) Empty
deprecated
func (d *InstanceDiff) Empty() bool
Empty returns true if this diff encapsulates no changes.
Deprecated: This method is unintentionally exported by this Go module and not supported for external consumption. It will be removed in the next major version.
func (*InstanceDiff) Equal ¶
func (d *InstanceDiff) Equal(d2 *InstanceDiff) bool
Equal compares two diffs for exact equality.
This is different from the Same comparison that is supported which checks for operation equality taking into account computed values. Equal instead checks for exact equality. TODO: investigate why removing this unused method causes panic in tests
func (*InstanceDiff) GetAttribute
deprecated
func (d *InstanceDiff) GetAttribute(key string) (*ResourceAttrDiff, bool)
Deprecated: This method is unintentionally exported by this Go module and not supported for external consumption. It will be removed in the next major version.
func (*InstanceDiff) GetDestroy
deprecated
func (d *InstanceDiff) GetDestroy() bool
Deprecated: This method is unintentionally exported by this Go module and not supported for external consumption. It will be removed in the next major version.
func (*InstanceDiff) GetDestroyDeposed
deprecated
func (d *InstanceDiff) GetDestroyDeposed() bool
Deprecated: This method is unintentionally exported by this Go module and not supported for external consumption. It will be removed in the next major version.
func (*InstanceDiff) GetDestroyTainted
deprecated
func (d *InstanceDiff) GetDestroyTainted() bool
Deprecated: This method is unintentionally exported by this Go module and not supported for external consumption. It will be removed in the next major version.
func (*InstanceDiff) GoString ¶
func (d *InstanceDiff) GoString() string
func (*InstanceDiff) Lock
deprecated
func (d *InstanceDiff) Lock()
Deprecated: This method is unintentionally exported by this Go module and not supported for external consumption. It will be removed in the next major version.
func (*InstanceDiff) RequiresNew
deprecated
func (d *InstanceDiff) RequiresNew() bool
RequiresNew returns true if the diff requires the creation of a new resource (implying the destruction of the old).
Deprecated: This method is unintentionally exported by this Go module and not supported for external consumption. It will be removed in the next major version.
func (*InstanceDiff) Same
deprecated
func (d *InstanceDiff) Same(d2 *InstanceDiff) (bool, string)
Same checks whether or not two InstanceDiff's are the "same". When we say "same", it is not necessarily exactly equal. Instead, it is just checking that the same attributes are changing, a destroy isn't suddenly happening, etc.
Deprecated: This method is unintentionally exported by this Go module and not supported for external consumption. It will be removed in the next major version.
func (*InstanceDiff) Unlock
deprecated
func (d *InstanceDiff) Unlock()
Deprecated: This method is unintentionally exported by this Go module and not supported for external consumption. It will be removed in the next major version.
type InstanceInfo
deprecated
type InstanceInfo struct { // Id is a unique name to represent this instance. This is not related // to InstanceState.ID in any way. Id string // ModulePath is the complete path of the module containing this // instance. ModulePath []string // Type is the resource type of this instance Type string }
InstanceInfo is used to hold information about the instance and/or resource being modified.
Deprecated: This type is unintentionally exported by this Go module and not supported for external consumption. It will be removed in the next major version.
type InstanceState ¶
type InstanceState struct { // A unique ID for this resource. This is opaque to Terraform // and is only meant as a lookup mechanism for the providers. ID string `json:"id"` // Attributes are basic information about the resource. Any keys here // are accessible in variable format within Terraform configurations: // ${resourcetype.name.attribute}. Attributes map[string]string `json:"attributes"` // Ephemeral is used to store any state associated with this instance // that is necessary for the Terraform run to complete, but is not // persisted to a state file. Ephemeral EphemeralState `json:"-"` // Meta is a simple K/V map that is persisted to the State but otherwise // ignored by Terraform core. It's meant to be used for accounting by // external client code. The value here must only contain Go primitives // and collections. Meta map[string]interface{} `json:"meta"` ProviderMeta cty.Value RawConfig cty.Value RawState cty.Value RawPlan cty.Value // Tainted is used to mark a resource for recreation. Tainted bool `json:"tainted"` // contains filtered or unexported fields }
InstanceState is used to track the unique state information belonging to a given instance.
func NewInstanceStateShimmedFromValue
deprecated
func NewInstanceStateShimmedFromValue(state cty.Value, schemaVersion int) *InstanceState
NewInstanceStateShimmedFromValue is a shim method to lower a new-style object value representing the attributes of an instance object into the legacy InstanceState representation.
This is for shimming to old components only and should not be used in new code.
Deprecated: This function is unintentionally exported by this Go module and not supported for external consumption. It will be removed in the next major version.
func (*InstanceState) AttrsAsObjectValue
deprecated
AttrsAsObjectValue shims from the legacy InstanceState representation to a new-style cty object value representation of the state attributes, using the given type for guidance.
The given type must be the implied type of the schema of the resource type of the object whose state is being converted, or the result is undefined.
This is for shimming from old components only and should not be used in new code.
Deprecated: This method is unintentionally exported by this Go module and not supported for external consumption. It will be removed in the next major version.
func (*InstanceState) DeepCopy
deprecated
func (s *InstanceState) DeepCopy() *InstanceState
Deprecated: This method is unintentionally exported by this Go module and not supported for external consumption. It will be removed in the next major version.
func (*InstanceState) Empty
deprecated
func (s *InstanceState) Empty() bool
Deprecated: This method is unintentionally exported by this Go module and not supported for external consumption. It will be removed in the next major version.
func (*InstanceState) Equal ¶
func (s *InstanceState) Equal(other *InstanceState) bool
func (*InstanceState) Lock
deprecated
func (s *InstanceState) Lock()
Deprecated: This method is unintentionally exported by this Go module and not supported for external consumption. It will be removed in the next major version.
func (*InstanceState) MergeDiff
deprecated
func (s *InstanceState) MergeDiff(d *InstanceDiff) *InstanceState
MergeDiff takes a ResourceDiff and merges the attributes into this resource state in order to generate a new state. This new state can be used to provide updated attribute lookups for variable interpolation.
If the diff attribute requires computing the value, and hence won't be available until apply, the value is replaced with the computeID.
Deprecated: This method is unintentionally exported by this Go module and not supported for external consumption. It will be removed in the next major version.
func (*InstanceState) Set
deprecated
func (s *InstanceState) Set(from *InstanceState)
Copy all the Fields from another InstanceState
Deprecated: This method is unintentionally exported by this Go module and not supported for external consumption. It will be removed in the next major version.
func (*InstanceState) String ¶
func (s *InstanceState) String() string
func (*InstanceState) Unlock
deprecated
func (s *InstanceState) Unlock()
Deprecated: This method is unintentionally exported by this Go module and not supported for external consumption. It will be removed in the next major version.
type ModuleState ¶
type ModuleState struct { // Path is the import path from the root module. Modules imports are // always disjoint, so the path represents amodule tree Path []string `json:"path"` // Locals are kept only transiently in-memory, because we can always // re-compute them. Locals map[string]interface{} `json:"-"` // Outputs declared by the module and maintained for each module // even though only the root module technically needs to be kept. // This allows operators to inspect values at the boundaries. Outputs map[string]*OutputState `json:"outputs"` // Resources is a mapping of the logically named resource to // the state of the resource. Each resource may actually have // N instances underneath, although a user only needs to think // about the 1:1 case. Resources map[string]*ResourceState `json:"resources"` // Dependencies are a list of things that this module relies on // existing to remain intact. For example: an module may depend // on a VPC ID given by an aws_vpc resource. // // Terraform uses this information to build valid destruction // orders and to warn the user if they're destroying a module that // another resource depends on. // // Things can be put into this list that may not be managed by // Terraform. If Terraform doesn't find a matching ID in the // overall state, then it assumes it isn't managed and doesn't // worry about it. Dependencies []string `json:"depends_on"` // contains filtered or unexported fields }
ModuleState is used to track all the state relevant to a single module. Previous to Terraform 0.3, all state belonged to the "root" module.
func (*ModuleState) Equal ¶
func (m *ModuleState) Equal(other *ModuleState) bool
Equal tests whether one module state is equal to another.
func (*ModuleState) Lock
deprecated
func (s *ModuleState) Lock()
Deprecated: This method is unintentionally exported by this Go module and not supported for external consumption. It will be removed in the next major version.
func (*ModuleState) String ¶
func (m *ModuleState) String() string
func (*ModuleState) Unlock
deprecated
func (s *ModuleState) Unlock()
Deprecated: This method is unintentionally exported by this Go module and not supported for external consumption. It will be removed in the next major version.
type OutputState ¶
type OutputState struct { // Sensitive describes whether the output is considered sensitive, // which may lead to masking the value on screen in some cases. Sensitive bool `json:"sensitive"` // Type describes the structure of Value. Valid values are "string", // "map" and "list" Type string `json:"type"` // Value contains the value of the output, in the structure described // by the Type field. Value interface{} `json:"value"` // contains filtered or unexported fields }
OutputState is used to track the state relevant to a single output.
func (*OutputState) Equal
deprecated
func (s *OutputState) Equal(other *OutputState) bool
Equal compares two OutputState structures for equality. nil values are considered equal.
Deprecated: This method is unintentionally exported by this Go module and not supported for external consumption. It will be removed in the next major version.
func (*OutputState) Lock
deprecated
func (s *OutputState) Lock()
Deprecated: This method is unintentionally exported by this Go module and not supported for external consumption. It will be removed in the next major version.
func (*OutputState) String ¶
func (s *OutputState) String() string
func (*OutputState) Unlock
deprecated
func (s *OutputState) Unlock()
Deprecated: This method is unintentionally exported by this Go module and not supported for external consumption. It will be removed in the next major version.
type ProviderSchema
deprecated
type ProviderSchema struct { Provider *configschema.Block ResourceTypes map[string]*configschema.Block DataSources map[string]*configschema.Block ResourceTypeSchemaVersions map[string]uint64 }
ProviderSchema represents the schema for a provider's own configuration and the configuration for some or all of its resources and data sources.
The completeness of this structure depends on how it was constructed. When constructed for a configuration, it will generally include only resource types and data sources used by that configuration.
Deprecated: This type is unintentionally exported by this Go module and not supported for external consumption. It will be removed in the next major version.
type ProviderSchemaRequest
deprecated
ProviderSchemaRequest is used to describe to a ResourceProvider which aspects of schema are required, when calling the GetSchema method.
Deprecated: This type is unintentionally exported by this Go module and not supported for external consumption. It will be removed in the next major version.
type RemoteState
deprecated
type RemoteState struct { // Type controls the client we use for the remote state Type string `json:"type"` // Config is used to store arbitrary configuration that // is type specific Config map[string]string `json:"config"` // contains filtered or unexported fields }
RemoteState is used to track the information about a remote state store that we push/pull state to.
Deprecated: This type is unintentionally exported by this Go module and not supported for external consumption. It will be removed in the next major version.
func (*RemoteState) Empty
deprecated
func (r *RemoteState) Empty() bool
Deprecated: This method is unintentionally exported by this Go module and not supported for external consumption. It will be removed in the next major version.
func (*RemoteState) Lock
deprecated
func (s *RemoteState) Lock()
Deprecated: This method is unintentionally exported by this Go module and not supported for external consumption. It will be removed in the next major version.
func (*RemoteState) Unlock
deprecated
func (s *RemoteState) Unlock()
Deprecated: This method is unintentionally exported by this Go module and not supported for external consumption. It will be removed in the next major version.
type ResourceAttrDiff
deprecated
type ResourceAttrDiff struct { Old string // Old Value New string // New Value NewComputed bool // True if new value is computed (unknown currently) NewRemoved bool // True if this attribute is being removed NewExtra interface{} // Extra information for the provider RequiresNew bool // True if change requires new resource Sensitive bool // True if the data should not be displayed in UI output Type diffAttrType }
ResourceAttrDiff is the diff of a single attribute of a resource.
Deprecated: This type is unintentionally exported by this Go module and not supported for external consumption. It will be removed in the next major version.
func (*ResourceAttrDiff) GoString ¶
func (d *ResourceAttrDiff) GoString() string
type ResourceConfig
deprecated
type ResourceConfig struct { ComputedKeys []string Raw map[string]interface{} Config map[string]interface{} }
ResourceConfig is a legacy type that was formerly used to represent interpolatable configuration blocks. It is now only used to shim to old APIs that still use this type, via NewResourceConfigShimmed.
Deprecated: This type is unintentionally exported by this Go module and not supported for external consumption. It will be removed in the next major version.
func NewResourceConfigRaw
deprecated
func NewResourceConfigRaw(raw map[string]interface{}) *ResourceConfig
NewResourceConfigRaw constructs a ResourceConfig whose content is exactly the given value.
The given value may contain hcl2shim.UnknownVariableValue to signal that something is computed, but it must not contain unprocessed interpolation sequences as we might've seen in Terraform v0.11 and prior.
Deprecated: This function is unintentionally exported by this Go module and not supported for external consumption. It will be removed in the next major version. Use real Terraform configuration instead.
func NewResourceConfigShimmed
deprecated
func NewResourceConfigShimmed(val cty.Value, schema *configschema.Block) *ResourceConfig
NewResourceConfigShimmed wraps a cty.Value of object type in a legacy ResourceConfig object, so that it can be passed to older APIs that expect this wrapping.
The returned ResourceConfig is already interpolated and cannot be re-interpolated. It is, therefore, useful only to functions that expect an already-populated ResourceConfig which they then treat as read-only.
If the given value is not of an object type that conforms to the given schema then this function will panic.
Deprecated: This function is unintentionally exported by this Go module and not supported for external consumption. It will be removed in the next major version.
func (*ResourceConfig) DeepCopy
deprecated
func (c *ResourceConfig) DeepCopy() *ResourceConfig
DeepCopy performs a deep copy of the configuration. This makes it safe to modify any of the structures that are part of the resource config without affecting the original configuration.
Deprecated: This method is unintentionally exported by this Go module and not supported for external consumption. It will be removed in the next major version.
func (*ResourceConfig) Equal ¶
func (c *ResourceConfig) Equal(c2 *ResourceConfig) bool
Equal checks the equality of two resource configs.
func (*ResourceConfig) Get
deprecated
func (c *ResourceConfig) Get(k string) (interface{}, bool)
Get looks up a configuration value by key and returns the value.
The second return value is true if the get was successful. Get will return the raw value if the key is computed, so you should pair this with IsComputed.
Deprecated: This method is unintentionally exported by this Go module and not supported for external consumption. It will be removed in the next major version.
func (*ResourceConfig) GetRaw
deprecated
func (c *ResourceConfig) GetRaw(k string) (interface{}, bool)
GetRaw looks up a configuration value by key and returns the value, from the raw, uninterpolated config.
The second return value is true if the get was successful. Get will not succeed if the value is being computed.
Deprecated: This method is unintentionally exported by this Go module and not supported for external consumption. It will be removed in the next major version.
func (*ResourceConfig) IsComputed
deprecated
func (c *ResourceConfig) IsComputed(k string) bool
IsComputed returns whether the given key is computed or not.
Deprecated: This method is unintentionally exported by this Go module and not supported for external consumption. It will be removed in the next major version.
type ResourceMode ¶
type ResourceMode int
ResourceMode is deprecated, use addrs.ResourceMode instead. It has been preserved for backwards compatibility.
const ( ManagedResourceMode ResourceMode = iota DataResourceMode )
func (ResourceMode) String ¶
func (i ResourceMode) String() string
type ResourceState ¶
type ResourceState struct { // This is filled in and managed by Terraform, and is the resource // type itself such as "mycloud_instance". If a resource provider sets // this value, it won't be persisted. Type string `json:"type"` // Dependencies are a list of things that this resource relies on // existing to remain intact. For example: an AWS instance might // depend on a subnet (which itself might depend on a VPC, and so // on). // // Terraform uses this information to build valid destruction // orders and to warn the user if they're destroying a resource that // another resource depends on. // // Things can be put into this list that may not be managed by // Terraform. If Terraform doesn't find a matching ID in the // overall state, then it assumes it isn't managed and doesn't // worry about it. Dependencies []string `json:"depends_on"` // Primary is the current active instance for this resource. // It can be replaced but only after a successful creation. // This is the instances on which providers will act. Primary *InstanceState `json:"primary"` // Deposed is used in the mechanics of CreateBeforeDestroy: the existing // Primary is Deposed to get it out of the way for the replacement Primary to // be created by Apply. If the replacement Primary creates successfully, the // Deposed instance is cleaned up. // // If there were problems creating the replacement Primary, the Deposed // instance and the (now tainted) replacement Primary will be swapped so the // tainted replacement will be cleaned up instead. // // An instance will remain in the Deposed list until it is successfully // destroyed and purged. Deposed []*InstanceState `json:"deposed"` // Provider is used when a resource is connected to a provider with an alias. // If this string is empty, the resource is connected to the default provider, // e.g. "aws_instance" goes with the "aws" provider. // If the resource block contained a "provider" key, that value will be set here. Provider string `json:"provider"` // contains filtered or unexported fields }
ResourceState holds the state of a resource that is used so that a provider can find and manage an existing resource as well as for storing attributes that are used to populate variables of child resources.
Attributes has attributes about the created resource that are queryable in interpolation: "${type.id.attr}"
Extra is just extra data that a provider can return that we store for later, but is not exposed in any way to the user.
func (*ResourceState) Equal ¶
func (s *ResourceState) Equal(other *ResourceState) bool
Equal tests whether two ResourceStates are equal.
func (*ResourceState) Lock
deprecated
func (s *ResourceState) Lock()
Deprecated: This method is unintentionally exported by this Go module and not supported for external consumption. It will be removed in the next major version.
func (*ResourceState) String ¶
func (s *ResourceState) String() string
func (*ResourceState) Unlock
deprecated
func (s *ResourceState) Unlock()
Deprecated: This method is unintentionally exported by this Go module and not supported for external consumption. It will be removed in the next major version.
type ResourceStateKey ¶
type ResourceStateKey struct { Name string Type string Mode ResourceMode Index int }
ResourceStateKey is a structured representation of the key used for the ModuleState.Resources mapping
func (*ResourceStateKey) Equal ¶
func (rsk *ResourceStateKey) Equal(other *ResourceStateKey) bool
Equal determines whether two ResourceStateKeys are the same
func (*ResourceStateKey) String ¶
func (rsk *ResourceStateKey) String() string
type ResourceType
deprecated
type ResourceType struct { Name string // Name of the resource, example "instance" (no provider prefix) Importable bool // Whether this resource supports importing // SchemaAvailable is set if the provider supports the ProviderSchema, // ResourceTypeSchema and DataSourceSchema methods. Although it is // included on each resource type, it's actually a provider-wide setting // that's smuggled here only because that avoids a breaking change to // the plugin protocol. SchemaAvailable bool }
ResourceType is a type of resource that a resource provider can manage.
Deprecated: This type is unintentionally exported by this Go module and not supported for external consumption. It will be removed in the next major version.
type State ¶
type State struct { // Version is the state file protocol version. Version int `json:"version"` // TFVersion is the version of Terraform that wrote this state. TFVersion string `json:"terraform_version,omitempty"` // Serial is incremented on any operation that modifies // the State file. It is used to detect potentially conflicting // updates. Serial int64 `json:"serial"` // Lineage is set when a new, blank state is created and then // never updated. This allows us to determine whether the serials // of two states can be meaningfully compared. // Apart from the guarantee that collisions between two lineages // are very unlikely, this value is opaque and external callers // should only compare lineage strings byte-for-byte for equality. Lineage string `json:"lineage"` // Remote is used to track the metadata required to // pull and push state files from a remote storage endpoint. // // Deprecated: This field is unintentionally exported by this Go module and // external consumption is not supported. It will be removed in the next // major version. Remote *RemoteState `json:"remote,omitempty"` // Backend tracks the configuration for the backend in use with // this state. This is used to track any changes in the backend // configuration. // // Deprecated: This field is unintentionally exported by this Go module and // external consumption is not supported. It will be removed in the next // major version. Backend *BackendState `json:"backend,omitempty"` // Modules contains all the modules in a breadth-first order Modules []*ModuleState `json:"modules"` // IsBinaryDrivenTest is a special flag that assists with a binary driver // heuristic, it should not be set externally // // Deprecated: This field is unintentionally exported by this Go module and // external consumption is not supported. It will be removed in the next // major version. IsBinaryDrivenTest bool // contains filtered or unexported fields }
State keeps track of a snapshot state-of-the-world that Terraform can use to keep track of what real world resources it is actually managing.
func (*State) AddModule
deprecated
func (s *State) AddModule(path addrs.ModuleInstance) *ModuleState
AddModule adds the module with the given path to the state.
This should be the preferred method to add module states since it allows us to optimize lookups later as well as control sorting.
Deprecated: This method is unintentionally exported by this Go module and not supported for external consumption. It will be removed in the next major version.
func (*State) AddModuleState
deprecated
func (s *State) AddModuleState(mod *ModuleState)
AddModuleState insert this module state and override any existing ModuleState
Deprecated: This method is unintentionally exported by this Go module and not supported for external consumption. It will be removed in the next major version.
func (*State) Children
deprecated
func (s *State) Children(path []string) []*ModuleState
Children returns the ModuleStates that are direct children of the given path. If the path is "root", for example, then children returned might be "root.child", but not "root.child.grandchild".
Deprecated: This method is unintentionally exported by this Go module and not supported for external consumption. It will be removed in the next major version.
func (*State) CompareAges
deprecated
func (s *State) CompareAges(other *State) (StateAgeComparison, error)
CompareAges compares one state with another for which is "older".
This is a simple check using the state's serial, and is thus only as reliable as the serial itself. In the normal case, only one state exists for a given combination of lineage/serial, but Terraform does not guarantee this and so the result of this method should be used with care.
Returns an integer that is negative if the receiver is older than the argument, positive if the converse, and zero if they are equal. An error is returned if the two states are not of the same lineage, in which case the integer returned has no meaning.
Deprecated: This method is unintentionally exported by this Go module and not supported for external consumption. It will be removed in the next major version.
func (*State) DeepCopy
deprecated
func (*State) EnsureHasLineage
deprecated
func (s *State) EnsureHasLineage()
Deprecated: This method is unintentionally exported by this Go module and not supported for external consumption. It will be removed in the next major version.
func (*State) HasResources
deprecated
HasResources returns true if the state contains any resources.
This is similar to !s.Empty, but returns true also in the case where the state has modules but all of them are devoid of resources.
Deprecated: This method is unintentionally exported by this Go module and not supported for external consumption. It will be removed in the next major version.
func (*State) IsRemote
deprecated
func (*State) ModuleByPath
deprecated
func (s *State) ModuleByPath(path addrs.ModuleInstance) *ModuleState
ModuleByPath is used to lookup the module state for the given path. This should be the preferred lookup mechanism as it allows for future lookup optimizations.
Deprecated: This method is unintentionally exported by this Go module and not supported for external consumption. It will be removed in the next major version.
func (*State) Remove
deprecated
Remove removes the item in the state at the given address, returning any errors that may have occurred.
If the address references a module state or resource, it will delete all children as well. To check what will be deleted, use a StateFilter first.
Deprecated: This method is unintentionally exported by this Go module and not supported for external consumption. It will be removed in the next major version.
func (*State) RootModule ¶
func (s *State) RootModule() *ModuleState
RootModule returns the ModuleState for the root module
func (*State) SameLineage
deprecated
SameLineage returns true only if the state given in argument belongs to the same "lineage" of states as the receiver.
Deprecated: This method is unintentionally exported by this Go module and not supported for external consumption. It will be removed in the next major version.
func (*State) Validate
deprecated
Validate validates the integrity of this state file.
Certain properties of the statefile are expected by Terraform in order to behave properly. The core of Terraform will assume that once it receives a State structure that it has been validated. This validation check should be called to ensure that.
If this returns an error, then the user should be notified. The error response will include detailed information on the nature of the error.
Deprecated: This method is unintentionally exported by this Go module and not supported for external consumption. It will be removed in the next major version.
type StateAgeComparison
deprecated
type StateAgeComparison int
Deprecated: This type is unintentionally exported by this Go module and not supported for external consumption. It will be removed in the next major version.
const ( StateAgeEqual StateAgeComparison = 0 StateAgeReceiverNewer StateAgeComparison = 1 StateAgeReceiverOlder StateAgeComparison = -1 )