valid

package
v0.14.0 Latest Latest
Warning

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

Go to latest
Published: Jul 7, 2020 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Overview

Package valid contains the structs representing the atlantis.yaml config after it's been parsed and validated.

Package valid contains definitions of valid yaml configuration after its been parsed and validated.

Index

Constants

View Source
const AllowCustomWorkflowsKey = "allow_custom_workflows"
View Source
const AllowedOverridesKey = "allowed_overrides"
View Source
const ApplyRequirementsKey = "apply_requirements"
View Source
const ApprovedApplyReq = "approved"
View Source
const DefaultAutoPlanEnabled = true
View Source
const DefaultWorkflowName = "default"
View Source
const MergeableApplyReq = "mergeable"
View Source
const WorkflowKey = "workflow"

Variables

View Source
var DefaultApplyStage = Stage{
	Steps: []Step{
		{
			StepName: "apply",
		},
	},
}

DefaultApplyStage is the Atlantis default apply stage.

View Source
var DefaultPlanStage = Stage{
	Steps: []Step{
		{
			StepName: "init",
		},
		{
			StepName: "plan",
		},
	},
}

DefaultPlanStage is the Atlantis default plan stage.

Functions

This section is empty.

Types

type Autoplan

type Autoplan struct {
	WhenModified []string
	Enabled      bool
}

type GlobalCfg added in v0.7.0

type GlobalCfg struct {
	Repos     []Repo
	Workflows map[string]Workflow
}

GlobalCfg is the final parsed version of server-side repo config.

func NewGlobalCfg added in v0.7.0

func NewGlobalCfg(allowRepoCfg bool, mergeableReq bool, approvedReq bool) GlobalCfg

NewGlobalCfg returns a global config that respects the parameters. allowRepoCfg is true if users want to allow repos full config functionality. mergeableReq is true if users want to set the mergeable apply requirement for all repos. approvedReq is true if users want to set the approved apply requirement for all repos.

func (GlobalCfg) DefaultProjCfg added in v0.7.0

func (g GlobalCfg) DefaultProjCfg(log logging.SimpleLogging, repoID string, repoRelDir string, workspace string) MergedProjectCfg

DefaultProjCfg returns the default project config for all projects under the repo with id repoID. It is used when there is no repo config.

func (GlobalCfg) MergeProjectCfg added in v0.7.0

func (g GlobalCfg) MergeProjectCfg(log logging.SimpleLogging, repoID string, proj Project, rCfg RepoCfg) MergedProjectCfg

MergeProjectCfg merges proj and rCfg with the global config to return a final config. It assumes that all configs have been validated.

func (GlobalCfg) ValidateRepoCfg added in v0.7.0

func (g GlobalCfg) ValidateRepoCfg(rCfg RepoCfg, repoID string) error

ValidateRepoCfg validates that rCfg for repo with id repoID is valid based on our global config.

type MergedProjectCfg added in v0.7.0

type MergedProjectCfg struct {
	ApplyRequirements []string
	Workflow          Workflow
	RepoRelDir        string
	Workspace         string
	Name              string
	AutoplanEnabled   bool
	TerraformVersion  *version.Version
	RepoCfgVersion    int
}

type Project

type Project struct {
	Dir               string
	Workspace         string
	Name              *string
	WorkflowName      *string
	TerraformVersion  *version.Version
	Autoplan          Autoplan
	ApplyRequirements []string
}

func (Project) GetName added in v0.4.5

func (p Project) GetName() string

GetName returns the name of the project or an empty string if there is no project name.

type Repo added in v0.7.0

type Repo struct {
	// ID is the exact match id of this config.
	// If IDRegex is set then this will be empty.
	ID string
	// IDRegex is the regex match for this config.
	// If ID is set then this will be nil.
	IDRegex              *regexp.Regexp
	ApplyRequirements    []string
	Workflow             *Workflow
	AllowedOverrides     []string
	AllowCustomWorkflows *bool
}

Repo is the final parsed version of server-side repo config.

func (Repo) IDMatches added in v0.7.0

func (r Repo) IDMatches(otherID string) bool

IDMatches returns true if the repo ID otherID matches this config.

func (Repo) IDString added in v0.7.0

func (r Repo) IDString() string

IDString returns a string representation of this config.

type RepoCfg added in v0.7.0

type RepoCfg struct {
	// Version is the version of the atlantis YAML file.
	Version       int
	Projects      []Project
	Workflows     map[string]Workflow
	Automerge     bool
	ParallelApply bool
	ParallelPlan  bool
}

RepoCfg is the atlantis.yaml config after it's been parsed and validated.

func (RepoCfg) FindProjectByName added in v0.7.0

func (r RepoCfg) FindProjectByName(name string) *Project

func (RepoCfg) FindProjectsByDir added in v0.7.0

func (r RepoCfg) FindProjectsByDir(dir string) []Project

FindProjectsByDir returns all projects that are in dir.

func (RepoCfg) FindProjectsByDirWorkspace added in v0.7.0

func (r RepoCfg) FindProjectsByDirWorkspace(repoRelDir string, workspace string) []Project

type Stage

type Stage struct {
	Steps []Step
}

type Step

type Step struct {
	StepName  string
	ExtraArgs []string
	// RunCommand is either a custom run step or the command to run
	// during an env step to populate the environment variable dynamically.
	RunCommand string
	// EnvVarName is the name of the
	// environment variable that should be set by this step.
	EnvVarName string
	// EnvVarValue is the value to set EnvVarName to.
	EnvVarValue string
}

type Workflow

type Workflow struct {
	Name  string
	Apply Stage
	Plan  Stage
}

Jump to

Keyboard shortcuts

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