command

package
v0.6.1 Latest Latest
Warning

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

Go to latest
Published: Jul 20, 2015 License: MPL-2.0 Imports: 29 Imported by: 0

Documentation

Index

Constants

View Source
const DefaultBackupExtention = ".backup"

DefaultBackupExtention is added to the state file to form the path

View Source
const DefaultDataDir = ".terraform"

DefaultDataDir is the default directory for storing local data.

View Source
const DefaultDataDirectory = ".terraform"

DefaultDataDirectory is the directory where local state is stored by default.

View Source
const DefaultStateFilename = "terraform.tfstate"

DefaultStateFilename is the default filename used for the state file.

View Source
const DefaultVarsFilename = "terraform.tfvars"

DefaultVarsFilename is the default filename used for vars

View Source
const (
	// InputModeEnvVar is the environment variable that, if set to "false" or
	// "0", causes terraform commands to behave as if the `-input=false` flag was
	// specified.
	InputModeEnvVar = "TF_INPUT"
)
View Source
const (
	// The name of the environment variable that can be used to set module depth.
	ModuleDepthEnvVar = "TF_MODULE_DEPTH"
)

Variables

This section is empty.

Functions

func FormatPlan

func FormatPlan(opts *FormatPlanOpts) string

FormatPlan takes a plan and returns a

func FormatState

func FormatState(opts *FormatStateOpts) string

FormatState takes a state and returns a string

func StateFromPlan added in v0.4.0

func StateFromPlan(
	localPath string, plan *terraform.Plan) (state.State, string, error)

StateFromPlan gets our state from the plan.

Types

type ApplyCommand

type ApplyCommand struct {
	Meta

	// If true, then this apply command will become the "destroy"
	// command. It is just like apply but only processes a destroy.
	Destroy bool

	// When this channel is closed, the apply will be cancelled.
	ShutdownCh <-chan struct{}
}

ApplyCommand is a Command implementation that applies a Terraform configuration and actually builds or changes infrastructure.

func (*ApplyCommand) Help

func (c *ApplyCommand) Help() string

func (*ApplyCommand) Run

func (c *ApplyCommand) Run(args []string) int

func (*ApplyCommand) Synopsis

func (c *ApplyCommand) Synopsis() string

type ColorizeUi

type ColorizeUi struct {
	Colorize    *colorstring.Colorize
	OutputColor string
	InfoColor   string
	ErrorColor  string
	WarnColor   string
	Ui          cli.Ui
}

ColoredUi is a Ui implementation that colors its output according to the given color schemes for the given type of output.

func (*ColorizeUi) Ask

func (u *ColorizeUi) Ask(query string) (string, error)

func (*ColorizeUi) AskSecret added in v0.5.0

func (u *ColorizeUi) AskSecret(query string) (string, error)

func (*ColorizeUi) Error

func (u *ColorizeUi) Error(message string)

func (*ColorizeUi) Info

func (u *ColorizeUi) Info(message string)

func (*ColorizeUi) Output

func (u *ColorizeUi) Output(message string)

func (*ColorizeUi) Warn added in v0.4.0

func (u *ColorizeUi) Warn(message string)

type Config

type Config struct {
	Hooks     []terraform.Hook
	Providers map[string]terraform.ResourceProviderFactory
	Ui        cli.Ui
}

Config is a structure used to configure many commands with Terraform configurations.

func (*Config) ContextOpts

func (c *Config) ContextOpts() *terraform.ContextOpts

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 added in v0.6.0

func (*CountHook) Reset

func (h *CountHook) Reset()

type FlagKV added in v0.4.0

type FlagKV map[string]string

FlagKV is a flag.Value implementation for parsing user variables from the command-line in the format of '-var key=value'.

func (*FlagKV) Set added in v0.4.0

func (v *FlagKV) Set(raw string) error

func (*FlagKV) String added in v0.4.0

func (v *FlagKV) String() string

type FlagKVFile added in v0.4.0

type FlagKVFile map[string]string

FlagKVFile is a flag.Value implementation for parsing user variables from the command line in the form of files. i.e. '-var-file=foo'

func (*FlagKVFile) Set added in v0.4.0

func (v *FlagKVFile) Set(raw string) error

func (*FlagKVFile) String added in v0.4.0

func (v *FlagKVFile) String() string

type FlagStringSlice added in v0.4.0

type FlagStringSlice []string

func (*FlagStringSlice) Set added in v0.4.0

func (v *FlagStringSlice) Set(raw string) error

func (*FlagStringSlice) String added in v0.4.0

func (v *FlagStringSlice) String() string

type FormatPlanOpts added in v0.3.0

type FormatPlanOpts struct {
	// Plan is the plan to format. This is required.
	Plan *terraform.Plan

	// Color is the colorizer. This is optional.
	Color *colorstring.Colorize

	// ModuleDepth is the depth of the modules to expand. By default this
	// is zero which will not expand modules at all.
	ModuleDepth int
}

FormatPlanOpts are the options for formatting a plan.

type FormatStateOpts added in v0.3.0

type FormatStateOpts struct {
	// State is the state to format. This is required.
	State *terraform.State

	// Color is the colorizer. This is optional.
	Color *colorstring.Colorize

	// ModuleDepth is the depth of the modules to expand. By default this
	// is zero which will not expand modules at all.
	ModuleDepth int
}

FormatStateOpts are the options for formatting a state.

type GetCommand added in v0.3.0

type GetCommand struct {
	Meta
}

GetCommand is a Command implementation that takes a Terraform configuration and downloads all the modules.

func (*GetCommand) Help added in v0.3.0

func (c *GetCommand) Help() string

func (*GetCommand) Run added in v0.3.0

func (c *GetCommand) Run(args []string) int

func (*GetCommand) Synopsis added in v0.3.0

func (c *GetCommand) Synopsis() string

type GraphCommand

type GraphCommand struct {
	Meta
}

GraphCommand is a Command implementation that takes a Terraform configuration and outputs the dependency tree in graphical form.

func (*GraphCommand) Help

func (c *GraphCommand) Help() string

func (*GraphCommand) Run

func (c *GraphCommand) Run(args []string) int

func (*GraphCommand) Synopsis

func (c *GraphCommand) Synopsis() string

type InitCommand added in v0.3.0

type InitCommand struct {
	Meta
}

InitCommand is a Command implementation that takes a Terraform module and clones it to the working directory.

func (*InitCommand) Help added in v0.3.0

func (c *InitCommand) Help() string

func (*InitCommand) Run added in v0.3.0

func (c *InitCommand) Run(args []string) int

func (*InitCommand) Synopsis added in v0.3.0

func (c *InitCommand) Synopsis() string

type Meta

type Meta struct {
	Color       bool
	ContextOpts *terraform.ContextOpts
	Ui          cli.Ui
	// contains filtered or unexported fields
}

Meta are the meta-options that are available on all or most commands.

func (*Meta) Colorize

func (m *Meta) Colorize() *colorstring.Colorize

Colorize returns the colorization structure for a command.

func (*Meta) Context

func (m *Meta) Context(copts contextOpts) (*terraform.Context, bool, error)

Context returns a Terraform Context taking into account the context options used to initialize this meta configuration.

func (*Meta) DataDir added in v0.4.0

func (m *Meta) DataDir() string

DataDir returns the directory where local data will be stored.

func (*Meta) Input added in v0.3.5

func (m *Meta) Input() bool

Input returns true if we should ask for input for context.

func (*Meta) InputMode added in v0.3.0

func (m *Meta) InputMode() terraform.InputMode

InputMode returns the type of input we should ask for in the form of terraform.InputMode which is passed directly to Context.Input.

func (*Meta) PersistState added in v0.3.5

func (m *Meta) PersistState(s *terraform.State) error

PersistState is used to write out the state, handling backup of the existing state file and respecting path configurations.

func (*Meta) State added in v0.4.0

func (m *Meta) State() (state.State, error)

State returns the state for this meta.

func (*Meta) StateOpts added in v0.4.0

func (m *Meta) StateOpts() *StateOpts

StateOpts returns the default state options

func (*Meta) StateOutPath added in v0.3.5

func (m *Meta) StateOutPath() string

StateOutPath returns the true output path for the state file

func (*Meta) StateRaw added in v0.4.0

func (m *Meta) StateRaw(opts *StateOpts) (*StateResult, error)

StateRaw is used to setup the state manually.

func (*Meta) UIInput added in v0.3.0

func (m *Meta) UIInput() terraform.UIInput

UIInput returns a UIInput object to be used for asking for input.

type OutputCommand

type OutputCommand struct {
	Meta
}

OutputCommand is a Command implementation that reads an output from a Terraform state and prints it.

func (*OutputCommand) Help

func (c *OutputCommand) Help() string

func (*OutputCommand) Run

func (c *OutputCommand) Run(args []string) int

func (*OutputCommand) Synopsis

func (c *OutputCommand) Synopsis() string

type PlanCommand

type PlanCommand struct {
	Meta
}

PlanCommand is a Command implementation that compares a Terraform configuration to an actual infrastructure and shows the differences.

func (*PlanCommand) Help

func (c *PlanCommand) Help() string

func (*PlanCommand) Run

func (c *PlanCommand) Run(args []string) int

func (*PlanCommand) Synopsis

func (c *PlanCommand) Synopsis() string

type PushCommand added in v0.3.5

type PushCommand struct {
	Meta
	// contains filtered or unexported fields
}

func (*PushCommand) Help added in v0.3.5

func (c *PushCommand) Help() string

func (*PushCommand) Run added in v0.3.5

func (c *PushCommand) Run(args []string) int

func (*PushCommand) Synopsis added in v0.3.5

func (c *PushCommand) Synopsis() string

type RefreshCommand

type RefreshCommand struct {
	Meta
}

RefreshCommand is a cli.Command implementation that refreshes the state file.

func (*RefreshCommand) Help

func (c *RefreshCommand) Help() string

func (*RefreshCommand) Run

func (c *RefreshCommand) Run(args []string) int

func (*RefreshCommand) Synopsis

func (c *RefreshCommand) Synopsis() string

type RemoteCommand added in v0.3.5

type RemoteCommand struct {
	Meta
}

func (*RemoteCommand) Help added in v0.3.5

func (c *RemoteCommand) Help() string

func (*RemoteCommand) Run added in v0.3.5

func (c *RemoteCommand) Run(argsRaw []string) int

func (*RemoteCommand) Synopsis added in v0.3.5

func (c *RemoteCommand) Synopsis() string

type RemoteConfigCommand added in v0.4.0

type RemoteConfigCommand struct {
	Meta
	// contains filtered or unexported fields
}

RemoteConfigCommand is a Command implementation that is used to enable and disable remote state management

func (*RemoteConfigCommand) Help added in v0.4.0

func (c *RemoteConfigCommand) Help() string

func (*RemoteConfigCommand) Run added in v0.4.0

func (c *RemoteConfigCommand) Run(args []string) int

func (*RemoteConfigCommand) Synopsis added in v0.4.0

func (c *RemoteConfigCommand) Synopsis() string

type RemotePullCommand added in v0.4.0

type RemotePullCommand struct {
	Meta
}

func (*RemotePullCommand) Help added in v0.4.0

func (c *RemotePullCommand) Help() string

func (*RemotePullCommand) Run added in v0.4.0

func (c *RemotePullCommand) Run(args []string) int

func (*RemotePullCommand) Synopsis added in v0.4.0

func (c *RemotePullCommand) Synopsis() string

type RemotePushCommand added in v0.4.0

type RemotePushCommand struct {
	Meta
}

func (*RemotePushCommand) Help added in v0.4.0

func (c *RemotePushCommand) Help() string

func (*RemotePushCommand) Run added in v0.4.0

func (c *RemotePushCommand) Run(args []string) int

func (*RemotePushCommand) Synopsis added in v0.4.0

func (c *RemotePushCommand) Synopsis() string

type ShowCommand

type ShowCommand struct {
	Meta
}

ShowCommand is a Command implementation that reads and outputs the contents of a Terraform plan or state file.

func (*ShowCommand) Help

func (c *ShowCommand) Help() string

func (*ShowCommand) Run

func (c *ShowCommand) Run(args []string) int

func (*ShowCommand) Synopsis

func (c *ShowCommand) Synopsis() string

type StateHook added in v0.4.0

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 added in v0.4.0

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

type StateOpts added in v0.4.0

type StateOpts struct {
	// LocalPath is the path where the state is stored locally.
	//
	// LocalPathOut is the path where the local state will be saved. If this
	// isn't set, it will be saved back to LocalPath.
	LocalPath    string
	LocalPathOut string

	// RemotePath is the path where the remote state cache would be.
	//
	// RemoteCache, if true, will set the result to only be the cache
	// and not backed by any real durable storage.
	RemotePath      string
	RemoteCacheOnly bool
	RemoteRefresh   bool

	// BackupPath is the path where the backup will be placed. If not set,
	// it is assumed to be the path where the state is stored locally
	// plus the DefaultBackupExtension.
	BackupPath string
}

StateOpts are options to get the state for a command.

type StateResult added in v0.4.0

type StateResult struct {
	// State is the final outer state that should be used for all
	// _real_ reads/writes.
	//
	// StatePath is the local path where the state will be stored or
	// cached, no matter whether State is local or remote.
	State     state.State
	StatePath string

	// Local and Remote are the local/remote state implementations, raw
	// and unwrapped by any backups. The paths here are the paths where
	// these state files would be saved.
	Local      *state.LocalState
	LocalPath  string
	Remote     *state.CacheState
	RemotePath string
}

StateResult is the result of calling State and holds various different State implementations so they can be accessed directly.

func State added in v0.4.0

func State(opts *StateOpts) (*StateResult, error)

State returns the proper state.State implementation to represent the current environment.

localPath is the path to where state would be if stored locally. dataDir is the path to the local data directory where the remote state cache would be stored.

type TaintCommand added in v0.4.0

type TaintCommand struct {
	Meta
}

TaintCommand is a cli.Command implementation that manually taints a resource, marking it for recreation.

func (*TaintCommand) Help added in v0.4.0

func (c *TaintCommand) Help() string

func (*TaintCommand) Run added in v0.4.0

func (c *TaintCommand) Run(args []string) int

func (*TaintCommand) Synopsis added in v0.4.0

func (c *TaintCommand) Synopsis() string

type UIInput added in v0.3.0

type UIInput struct {
	// Colorize will color the output.
	Colorize *colorstring.Colorize

	// Reader and Writer for IO. If these aren't set, they will default to
	// Stdout and Stderr respectively.
	Reader io.Reader
	Writer io.Writer
	// contains filtered or unexported fields
}

UIInput is an implementation of terraform.UIInput that asks the CLI for input stdin.

func (*UIInput) Input added in v0.3.0

func (i *UIInput) Input(opts *terraform.InputOpts) (string, error)

type UiHook

type UiHook struct {
	terraform.NilHook

	Colorize *colorstring.Colorize
	Ui       cli.Ui
	// contains filtered or unexported fields
}

func (*UiHook) PostApply

func (h *UiHook) PostApply(
	n *terraform.InstanceInfo,
	s *terraform.InstanceState,
	applyerr error) (terraform.HookAction, error)

func (*UiHook) PreDiff

func (*UiHook) PreProvision

func (h *UiHook) PreProvision(
	n *terraform.InstanceInfo,
	provId string) (terraform.HookAction, error)

func (*UiHook) PreRefresh

func (*UiHook) ProvisionOutput added in v0.3.0

func (h *UiHook) ProvisionOutput(
	n *terraform.InstanceInfo,
	provId string,
	msg string)

type VersionCheckFunc added in v0.3.0

type VersionCheckFunc func() (VersionCheckInfo, error)

VersionCheckFunc is the callback called by the Version command to check if there is a new version of Terraform.

type VersionCheckInfo added in v0.3.0

type VersionCheckInfo struct {
	Outdated bool
	Latest   string
	Alerts   []string
}

VersionCheckInfo is the return value for the VersionCheckFunc callback and tells the Version command information about the latest version of Terraform.

type VersionCommand

type VersionCommand struct {
	Meta

	Revision          string
	Version           string
	VersionPrerelease string
	CheckFunc         VersionCheckFunc
}

VersionCommand is a Command implementation prints the version.

func (*VersionCommand) Help

func (c *VersionCommand) Help() string

func (*VersionCommand) Run

func (c *VersionCommand) Run(args []string) int

func (*VersionCommand) Synopsis

func (c *VersionCommand) Synopsis() string

Jump to

Keyboard shortcuts

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