plan

package
v0.15.3 Latest Latest
Warning

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

Go to latest
Published: Oct 10, 2018 License: MIT Imports: 6 Imported by: 2

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Print

func Print(p *Plan) error

Print prints a plan

Types

type AWSConfiguration added in v0.13.0

type AWSConfiguration struct {
	AccountID          *int64   `yaml:"account_id"`
	AccountName        string   `yaml:"account_name"`
	AWSProfileBackend  string   `yaml:"aws_profile_backend"`
	AWSProfileProvider string   `yaml:"aws_profile_provider"`
	AWSProviderVersion string   `yaml:"aws_provider_version"`
	AWSRegionBackend   string   `yaml:"aws_region_backend"`
	AWSRegionProvider  string   `yaml:"aws_region_provider"`
	AWSRegions         []string `yaml:"aws_regions"`
	InfraBucket        string   `yaml:"infra_bucket"`
}

AWSConfiguration represents aws configuration

type Account added in v0.15.3

type Account struct {
	AWSConfiguration `yaml:",inline"`
	Common           `yaml:",inline"`

	AllAccounts map[string]int64  `yaml:"all_accounts"`
	ExtraVars   map[string]string `yaml:"extra_vars"`
	Owner       string
	Project     string
	TfLint      TfLint
}

Account is an account

type Common added in v0.14.0

type Common struct {
	DockerImageVersion string `yaml:"docker_image_version"`
	PathToRepoRoot     string `yaml:"path_to_repo_root"`
	TerraformVersion   string `yaml:"terraform_version"`
}

Common represents common fields

type Component

type Component struct {
	AWSConfiguration `yaml:",inline"`
	Common           `yaml:",inline"`

	Accounts        map[string]Account // Reference accounts for remote state
	Component       string
	Env             string
	ExtraVars       map[string]string `yaml:"extra_vars"`
	ModuleSource    *string           `yaml:"module_source"`
	OtherComponents []string          `yaml:"other_components"`
	Owner           string
	Project         string
	TfLint          TfLint
}

Component is a component

type Env

type Env struct {
	AWSConfiguration `yaml:",inline"`
	Common           `yaml:",inline"`

	Components map[string]Component
	Env        string
	ExtraVars  map[string]string `yaml:"extra_vars"`
	Owner      string
	Project    string
	TfLint     TfLint
}

Env is an env

type Module

type Module struct {
	Common `yaml:",inline"`
}

Module is a module

type Plan

type Plan struct {
	Accounts map[string]Account
	Envs     map[string]Env
	Global   Component
	Modules  map[string]Module
	Plugins  Plugins
	Version  string
}

Plan represents a set of actions to take

func Eval

func Eval(config *config.Config, verbose bool) (*Plan, error)

Eval evaluats a config

type Plugins added in v0.13.0

type Plugins struct {
	CustomPlugins      map[string]*plugins.CustomPlugin
	TerraformProviders map[string]*plugins.CustomPlugin
}

Plugins contains a plan around plugins

func (*Plugins) SetCustomPluginsPlan added in v0.13.0

func (p *Plugins) SetCustomPluginsPlan(customPlugins map[string]*plugins.CustomPlugin)

SetCustomPluginsPlan determines the plan for customPlugins

func (*Plugins) SetTerraformProvidersPlan added in v0.13.0

func (p *Plugins) SetTerraformProvidersPlan(terraformProviders map[string]*plugins.CustomPlugin)

SetTerraformProvidersPlan determines the plan for customPlugins

type TfLint added in v0.14.0

type TfLint struct {
	Enabled bool
}

TfLint containts a plan for running tflint

Jump to

Keyboard shortcuts

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