Help us shape the future of Go! Take the 2026 Go Developer Survey

local

package
v0.9.7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 7, 2017 License: MPL-2.0 Imports: 24 Imported by: 0

Documentation

Index

Constants

View Source
const (
	DefaultEnvDir          = "terraform.tfstate.d"
	DefaultEnvFile         = "environment"
	DefaultStateFilename   = "terraform.tfstate"
	DefaultDataDir         = ".terraform"
	DefaultBackupExtension = ".backup"
)

Variables

This section is empty.

Functions

func TestLocalProvider

func TestLocalProvider(t *testing.T, b *Local, name string) *terraform.MockResourceProvider

TestLocalProvider modifies the ContextOpts of the *Local parameter to have a provider with the given name.

func TestNewLocalSingle

func TestNewLocalSingle() backend.Backend

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 (*CountHook) PostDiff

func (*CountHook) Reset

func (h *CountHook) Reset()

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

func TestLocal(t *testing.T) *Local

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) CLIInit

func (b *Local) CLIInit(opts *backend.CLIOpts) error

backend.CLI impl.

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) Configure

func (b *Local) Configure(c *terraform.ResourceConfig) error

func (*Local) Context

func (b *Local) Context(op *backend.Operation) (*terraform.Context, state.State, error)

backend.Local implementation.

func (*Local) DeleteState

func (b *Local) DeleteState(name string) error

DeleteState removes a named state. The "default" state cannot be removed.

func (*Local) Input

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) State

func (b *Local) State(name string) (state.State, error)

func (*Local) StatePaths

func (b *Local) StatePaths(name string) (string, string, string)

StatePaths returns the StatePath, StateOutPath, and StateBackupPath as configured from the CLI.

func (*Local) States

func (b *Local) States() ([]string, error)

func (*Local) Validate

func (b *Local) Validate(c *terraform.ResourceConfig) ([]string, []error)

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

func (h *StateHook) PostStateUpdate(
	s *terraform.State) (terraform.HookAction, error)

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)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL