local

package
v0.11.4 Latest Latest
Warning

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

Go to latest
Published: Mar 15, 2018 License: MPL-2.0 Imports: 25 Imported by: 0

Documentation

Index

Constants

View Source
const (
	DefaultWorkspaceDir    = "terraform.tfstate.d"
	DefaultWorkspaceFile   = "environment"
	DefaultStateFilename   = "terraform.tfstate"
	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 backend config, 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.
	//
	// StateWorkspaceDir is the path to the folder containing data for
	// non-default workspaces. This defaults to DefaultWorkspaceDir if not set.
	StatePath         string
	StateOutPath      string
	StateBackupPath   string
	StateWorkspaceDir 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

	// RunningInAutomation indicates that commands are being run by an
	// automated system rather than directly at a command prompt.
	//
	// This is a hint not to produce messages that expect that a user can
	// run a follow-up command, perhaps because Terraform is running in
	// some sort of workflow automation tool that abstracts away the
	// exact commands that are being run.
	RunningInAutomation bool
	// 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
}

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