Documentation ¶
Index ¶
- Constants
- func TestLocalProvider(t *testing.T, b *Local, name string) *terraform.MockResourceProvider
- func TestNewLocalSingle() backend.Backend
- type CountHook
- func (h *CountHook) PostApply(n *terraform.InstanceInfo, s *terraform.InstanceState, e error) (terraform.HookAction, error)
- func (h *CountHook) PostDiff(n *terraform.InstanceInfo, d *terraform.InstanceDiff) (terraform.HookAction, error)
- func (h *CountHook) PreApply(n *terraform.InstanceInfo, s *terraform.InstanceState, ...) (terraform.HookAction, error)
- func (h *CountHook) Reset()
- type Local
- func (b *Local) CLIInit(opts *backend.CLIOpts) error
- func (b *Local) Colorize() *colorstring.Colorize
- func (b *Local) Configure(c *terraform.ResourceConfig) error
- func (b *Local) Context(op *backend.Operation) (*terraform.Context, state.State, error)
- func (b *Local) DeleteState(name string) error
- func (b *Local) Input(ui terraform.UIInput, c *terraform.ResourceConfig) (*terraform.ResourceConfig, error)
- func (b *Local) Operation(ctx context.Context, op *backend.Operation) (*backend.RunningOperation, error)
- func (b *Local) State(name string) (state.State, error)
- func (b *Local) StatePaths(name string) (string, string, string)
- func (b *Local) States() ([]string, error)
- func (b *Local) Validate(c *terraform.ResourceConfig) ([]string, []error)
- type StateHook
- type TestLocalSingleState
Constants ¶
const ( DefaultEnvDir = "terraform.tfstate.d" DefaultEnvFile = "environment" DefaultStateFilename = "terraform.tfstate" DefaultDataDir = ".terraform" DefaultBackupExtension = ".backup" )
Variables ¶
This section is empty.
Functions ¶
func TestLocalProvider ¶
TestLocalProvider modifies the ContextOpts of the *Local parameter to have a provider with the given name.
func TestNewLocalSingle ¶
TestNewLocalSingle is a factory for creating a TestLocalSingleState. This function matches the signature required for backend/init.
Types ¶
type CountHook ¶
type CountHook struct { Added int Changed int Removed int ToAdd int ToChange int ToRemove int ToRemoveAndAdd int sync.Mutex terraform.NilHook // contains filtered or unexported fields }
CountHook is a hook that counts the number of resources added, removed, changed during the course of an apply.
func (*CountHook) PostApply ¶
func (h *CountHook) PostApply( n *terraform.InstanceInfo, s *terraform.InstanceState, e error) (terraform.HookAction, error)
func (*CountHook) PostDiff ¶
func (h *CountHook) PostDiff( n *terraform.InstanceInfo, d *terraform.InstanceDiff) ( terraform.HookAction, error)
func (*CountHook) PreApply ¶
func (h *CountHook) PreApply( n *terraform.InstanceInfo, s *terraform.InstanceState, d *terraform.InstanceDiff) (terraform.HookAction, error)
type Local ¶
type Local struct { // CLI and Colorize control the CLI output. If CLI is nil then no CLI // output will be done. If CLIColor is nil then no coloring will be done. CLI cli.Ui CLIColor *colorstring.Colorize // The State* paths are set from the CLI options, and may be left blank to // use the defaults. If the actual paths for the local backend state are // needed, use the StatePaths method. // // StatePath is the local path where state is read from. // // StateOutPath is the local path where the state will be written. // If this is empty, it will default to StatePath. // // StateBackupPath is the local path where a backup file will be written. // Set this to "-" to disable state backup. // // StateEnvPath is the path to the folder containing environments. This // defaults to DefaultEnvDir if not set. StatePath string StateOutPath string StateBackupPath string StateEnvDir string // Terraform context. Many of these will be overridden or merged by // Operation. See Operation for more details. ContextOpts *terraform.ContextOpts // OpInput will ask for necessary input prior to performing any operations. // // OpValidation will perform validation prior to running an operation. The // variable naming doesn't match the style of others since we have a func // Validate. OpInput bool OpValidation bool // Backend, if non-nil, will use this backend for non-enhanced behavior. // This allows local behavior with remote state storage. It is a way to // "upgrade" a non-enhanced backend to an enhanced backend with typical // behavior. // // If this is nil, local performs normal state loading and storage. Backend backend.Backend // contains filtered or unexported fields }
Local is an implementation of EnhancedBackend that performs all operations locally. This is the "default" backend and implements normal Terraform behavior as it is well known.
func TestLocal ¶
TestLocal returns a configured Local struct with temporary paths and in-memory ContextOpts.
No operations will be called on the returned value, so you can still set public fields without any locks.
func (*Local) Colorize ¶
func (b *Local) Colorize() *colorstring.Colorize
Colorize returns the Colorize structure that can be used for colorizing output. This is gauranteed to always return a non-nil value and so is useful as a helper to wrap any potentially colored strings.
func (*Local) DeleteState ¶
DeleteState removes a named state. The "default" state cannot be removed.
func (*Local) Input ¶
func (b *Local) Input( ui terraform.UIInput, c *terraform.ResourceConfig) (*terraform.ResourceConfig, error)
func (*Local) Operation ¶
func (b *Local) Operation(ctx context.Context, op *backend.Operation) (*backend.RunningOperation, error)
Operation implements backend.Enhanced
This will initialize an in-memory terraform.Context to perform the operation within this process.
The given operation parameter will be merged with the ContextOpts on the structure with the following rules. If a rule isn't specified and the name conflicts, assume that the field is overwritten if set.
func (*Local) StatePaths ¶
StatePaths returns the StatePath, StateOutPath, and StateBackupPath as configured from the CLI.
type StateHook ¶
type StateHook struct { terraform.NilHook sync.Mutex State state.State // contains filtered or unexported fields }
StateHook is a hook that continuously updates the state by calling WriteState on a state.State.
func (*StateHook) PostStateUpdate ¶
type TestLocalSingleState ¶
type TestLocalSingleState struct {
Local
}
TestLocalSingleState is a backend implementation that wraps Local and modifies it to only support single states (returns ErrNamedStatesNotSupported for multi-state operations).
This isn't an actual use case, this is exported just to provide a easy way to test that behavior.
func (*TestLocalSingleState) DeleteState ¶
func (b *TestLocalSingleState) DeleteState(string) error
func (*TestLocalSingleState) State ¶
func (b *TestLocalSingleState) State(name string) (state.State, error)
func (*TestLocalSingleState) States ¶
func (b *TestLocalSingleState) States() ([]string, error)