Documentation ¶
Index ¶
- Constants
- func FormatPlan(opts *FormatPlanOpts) string
- func FormatState(opts *FormatStateOpts) string
- func StateFromPlan(localPath string, plan *terraform.Plan) (state.State, string, error)
- type ApplyCommand
- type ColorizeUi
- type Config
- 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 FlagKV
- type FlagKVFile
- type FlagStringSlice
- type FormatPlanOpts
- type FormatStateOpts
- type GetCommand
- type GraphCommand
- type InitCommand
- type Meta
- func (m *Meta) Colorize() *colorstring.Colorize
- func (m *Meta) Context(copts contextOpts) (*terraform.Context, bool, error)
- func (m *Meta) DataDir() string
- func (m *Meta) Input() bool
- func (m *Meta) InputMode() terraform.InputMode
- func (m *Meta) PersistState(s *terraform.State) error
- func (m *Meta) State() (state.State, error)
- func (m *Meta) StateOpts() *StateOpts
- func (m *Meta) StateOutPath() string
- func (m *Meta) StateRaw(opts *StateOpts) (*StateResult, error)
- func (m *Meta) UIInput() terraform.UIInput
- type OutputCommand
- type PlanCommand
- type PushCommand
- type RefreshCommand
- type RemoteCommand
- type RemoteConfigCommand
- type RemotePullCommand
- type RemotePushCommand
- type ShowCommand
- type StateHook
- type StateOpts
- type StateResult
- type TaintCommand
- type UIInput
- type UiHook
- func (h *UiHook) PostApply(n *terraform.InstanceInfo, s *terraform.InstanceState, applyerr error) (terraform.HookAction, error)
- func (h *UiHook) PreApply(n *terraform.InstanceInfo, s *terraform.InstanceState, ...) (terraform.HookAction, error)
- func (h *UiHook) PreDiff(n *terraform.InstanceInfo, s *terraform.InstanceState) (terraform.HookAction, error)
- func (h *UiHook) PreProvision(n *terraform.InstanceInfo, provId string) (terraform.HookAction, error)
- func (h *UiHook) PreRefresh(n *terraform.InstanceInfo, s *terraform.InstanceState) (terraform.HookAction, error)
- func (h *UiHook) ProvisionOutput(n *terraform.InstanceInfo, provId string, msg string)
- type VersionCheckFunc
- type VersionCheckInfo
- type VersionCommand
Constants ¶
const DefaultBackupExtention = ".backup"
DefaultBackupExtention is added to the state file to form the path
const DefaultDataDir = ".terraform"
DefaultDataDir is the default directory for storing local data.
const DefaultDataDirectory = ".terraform"
DefaultDataDirectory is the directory where local state is stored by default.
const DefaultStateFilename = "terraform.tfstate"
DefaultStateFilename is the default filename used for the state file.
const DefaultVarsFilename = "terraform.tfvars"
DefaultVarsFilename is the default filename used for vars
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" )
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
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) 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 (h *CountHook) PostApply( n *terraform.InstanceInfo, s *terraform.InstanceState, e error) (terraform.HookAction, error)
func (*CountHook) PostDiff ¶ added in v0.6.0
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 FlagKV ¶ added in v0.4.0
FlagKV is a flag.Value implementation for parsing user variables from the command-line in the format of '-var key=value'.
type FlagKVFile ¶ added in v0.4.0
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 ¶
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
DataDir returns the directory where local data will be stored.
func (*Meta) InputMode ¶ added in v0.3.0
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
PersistState is used to write out the state, handling backup of the existing state file and respecting path configurations.
func (*Meta) StateOutPath ¶ added in v0.3.5
StateOutPath returns the true output path for the state file
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
StateHook is a hook that continuously updates the state by calling WriteState on a state.State.
func (*StateHook) PostStateUpdate ¶ added in v0.4.0
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.
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) PreApply ¶
func (h *UiHook) PreApply( n *terraform.InstanceInfo, s *terraform.InstanceState, d *terraform.InstanceDiff) (terraform.HookAction, error)
func (*UiHook) PreDiff ¶
func (h *UiHook) PreDiff( n *terraform.InstanceInfo, s *terraform.InstanceState) (terraform.HookAction, error)
func (*UiHook) PreProvision ¶
func (h *UiHook) PreProvision( n *terraform.InstanceInfo, provId string) (terraform.HookAction, error)
func (*UiHook) PreRefresh ¶
func (h *UiHook) PreRefresh( n *terraform.InstanceInfo, s *terraform.InstanceState) (terraform.HookAction, error)
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
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
Source Files ¶
- apply.go
- cli_ui.go
- command.go
- config.go
- counthookaction_string.go
- flag_kv.go
- format_plan.go
- format_state.go
- get.go
- graph.go
- hook_count.go
- hook_count_action.go
- hook_state.go
- hook_ui.go
- init.go
- meta.go
- module_storage.go
- output.go
- plan.go
- push.go
- refresh.go
- remote.go
- remote_config.go
- remote_pull.go
- remote_push.go
- show.go
- state.go
- taint.go
- ui_input.go
- version.go