format

package
v0.10.5 Latest Latest
Warning

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

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

Documentation

Overview

Package format contains helpers for formatting various Terraform structures for human-readabout output.

This package is used by the official Terraform CLI in formatting any output and is exported to encourage non-official frontends to mimic the output formatting as much as possible so that text formats of Terraform structures have a consistent look and feel.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DiffActionSymbol added in v0.10.4

func DiffActionSymbol(action terraform.DiffChangeType) string

DiffActionSymbol returns a string that, once passed through a colorstring.Colorize, will produce a result that can be written to a terminal to produce a symbol made of three printable characters, possibly interspersed with VT100 color codes.

func State

func State(opts *StateOpts) string

State takes a state and returns a string

Types

type AttributeDiff added in v0.10.4

type AttributeDiff struct {
	// Path is a dot-delimited traversal through possibly many levels of list and map structure,
	// intended for display purposes only.
	Path string

	Action terraform.DiffChangeType

	OldValue string
	NewValue string

	NewComputed bool
	Sensitive   bool
	ForcesNew   bool
}

AttributeDiff is a representation of an attribute diff optimized for display, in conjunction with DisplayInstanceDiff.

type InstanceDiff added in v0.10.4

type InstanceDiff struct {
	Addr   *terraform.ResourceAddress
	Action terraform.DiffChangeType

	// Attributes describes changes to the attributes of the instance.
	//
	// For destroy diffs this is always nil.
	Attributes []*AttributeDiff

	Tainted bool
	Deposed bool
}

InstanceDiff is a representation of an instance diff optimized for display, in conjunction with DisplayPlan.

type Plan

type Plan struct {
	Resources []*InstanceDiff
}

Plan is a representation of a plan optimized for display to an end-user, as opposed to terraform.Plan which is for internal use.

DisplayPlan excludes implementation details that may otherwise appear in the main plan, such as destroy actions on data sources (which are there only to clean up the state).

func NewPlan added in v0.10.4

func NewPlan(plan *terraform.Plan) *Plan

NewPlan produces a display-oriented Plan from a terraform.Plan.

func (*Plan) ActionCounts added in v0.10.4

func (p *Plan) ActionCounts() map[terraform.DiffChangeType]int

ActionCounts returns the number of diffs for each action type

func (*Plan) Empty added in v0.10.4

func (p *Plan) Empty() bool

Empty returns true if there is at least one resource diff in the receiving plan.

func (*Plan) Format added in v0.10.4

func (p *Plan) Format(color *colorstring.Colorize) string

Format produces and returns a text representation of the receiving plan intended for display in a terminal.

If color is not nil, it is used to colorize the output.

func (*Plan) Stats added in v0.10.4

func (p *Plan) Stats() PlanStats

Stats returns statistics about the plan

type PlanStats added in v0.10.4

type PlanStats struct {
	ToAdd, ToChange, ToDestroy int
}

PlanStats gives summary counts for a Plan.

type StateOpts

type StateOpts 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
}

StateOpts are the options for formatting a state.

Jump to

Keyboard shortcuts

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