Documentation
¶
Index ¶
- Constants
- Variables
- func FindLockingMR(tags []string, thisMR string) string
- type ErroredWorkspace
- type ProjectConfig
- type TFCTrigger
- type TFCTriggerConfig
- func (tC *TFCTriggerConfig) GetAction() TriggerAction
- func (tC *TFCTriggerConfig) GetBranch() string
- func (tC *TFCTriggerConfig) GetCommitSHA() string
- func (tC *TFCTriggerConfig) GetMergeRequestDiscussionID() string
- func (tC *TFCTriggerConfig) GetMergeRequestIID() int
- func (tC *TFCTriggerConfig) GetMergeRequestRootNoteID() int64
- func (tC *TFCTriggerConfig) GetProjectNameWithNamespace() string
- func (tC *TFCTriggerConfig) GetTriggerSource() TriggerSource
- func (tC *TFCTriggerConfig) GetVcsProvider() string
- func (tC *TFCTriggerConfig) GetWorkspace() string
- func (tC *TFCTriggerConfig) SetAction(action TriggerAction)
- func (tC *TFCTriggerConfig) SetMergeRequestDiscussionID(mrDiscID string)
- func (tC *TFCTriggerConfig) SetMergeRequestRootNoteID(id int64)
- func (tC *TFCTriggerConfig) SetWorkspace(workspace string)
- type TFCWorkspace
- type Trigger
- type TriggerAction
- type TriggerConfig
- type TriggerSource
- type TriggeredTFCWorkspaces
Constants ¶
View Source
const DefaultTfcOrganizationEnvName = "TFBUDDY_DEFAULT_TFC_ORGANIZATION"
View Source
const ProjectConfigFilename = `.tfbuddy.yaml`
Variables ¶
View Source
var ( ErrWorkspaceNotDefined = errors.New("the workspace is not defined in " + ProjectConfigFilename) ErrNoChangesDetected = errors.New("no changes detected for configured Terraform directories") ErrWorkspaceLocked = errors.New("workspace is already locked") ErrWorkspaceUnlocked = errors.New("workspace is already unlocked") )
predefined errors
Functions ¶
func FindLockingMR ¶
Types ¶
type ErroredWorkspace ¶
type ProjectConfig ¶
type ProjectConfig struct {
Workspaces []*TFCWorkspace `yaml:"workspaces"`
}
type TFCTrigger ¶
type TFCTrigger struct {
// contains filtered or unexported fields
}
func (*TFCTrigger) GetConfig ¶
func (t *TFCTrigger) GetConfig() TriggerConfig
func (*TFCTrigger) LockUnlockWorkspace ¶
func (t *TFCTrigger) LockUnlockWorkspace(ws *tfe.Workspace, mr vcs.DetailedMR, lock bool) error
func (*TFCTrigger) TriggerCleanupEvent ¶
func (t *TFCTrigger) TriggerCleanupEvent() error
func (*TFCTrigger) TriggerTFCEvents ¶
func (t *TFCTrigger) TriggerTFCEvents() (*TriggeredTFCWorkspaces, error)
type TFCTriggerConfig ¶
type TFCTriggerConfig struct {
Action TriggerAction
Branch string
CommitSHA string
ProjectNameWithNamespace string
MergeRequestIID int
MergeRequestDiscussionID string
MergeRequestRootNoteID int64
TriggerSource TriggerSource
VcsProvider string
Workspace string
}
func (*TFCTriggerConfig) GetAction ¶
func (tC *TFCTriggerConfig) GetAction() TriggerAction
func (*TFCTriggerConfig) GetBranch ¶
func (tC *TFCTriggerConfig) GetBranch() string
func (*TFCTriggerConfig) GetCommitSHA ¶
func (tC *TFCTriggerConfig) GetCommitSHA() string
func (*TFCTriggerConfig) GetMergeRequestDiscussionID ¶
func (tC *TFCTriggerConfig) GetMergeRequestDiscussionID() string
func (*TFCTriggerConfig) GetMergeRequestIID ¶
func (tC *TFCTriggerConfig) GetMergeRequestIID() int
func (*TFCTriggerConfig) GetMergeRequestRootNoteID ¶
func (tC *TFCTriggerConfig) GetMergeRequestRootNoteID() int64
func (*TFCTriggerConfig) GetProjectNameWithNamespace ¶
func (tC *TFCTriggerConfig) GetProjectNameWithNamespace() string
func (*TFCTriggerConfig) GetTriggerSource ¶
func (tC *TFCTriggerConfig) GetTriggerSource() TriggerSource
func (*TFCTriggerConfig) GetVcsProvider ¶
func (tC *TFCTriggerConfig) GetVcsProvider() string
func (*TFCTriggerConfig) GetWorkspace ¶
func (tC *TFCTriggerConfig) GetWorkspace() string
func (*TFCTriggerConfig) SetAction ¶
func (tC *TFCTriggerConfig) SetAction(action TriggerAction)
func (*TFCTriggerConfig) SetMergeRequestDiscussionID ¶
func (tC *TFCTriggerConfig) SetMergeRequestDiscussionID(mrDiscID string)
func (*TFCTriggerConfig) SetMergeRequestRootNoteID ¶
func (tC *TFCTriggerConfig) SetMergeRequestRootNoteID(id int64)
func (*TFCTriggerConfig) SetWorkspace ¶
func (tC *TFCTriggerConfig) SetWorkspace(workspace string)
type TFCWorkspace ¶
type TFCWorkspace struct {
Name string `yaml:"name" validate:"empty=false"`
Organization string `yaml:"organization" validate:"empty=false"`
Dir string `yaml:"dir"`
Mode string `yaml:"mode" default:"apply-before-merge" validate:"one_of=apply-before-merge,merge-before-apply,tfc-vcs-repo"`
TriggerDirs []string `yaml:"triggerDirs"`
}
func (*TFCWorkspace) UnmarshalYAML ¶
func (s *TFCWorkspace) UnmarshalYAML(unmarshal func(interface{}) error) error
type Trigger ¶
type Trigger interface {
TriggerTFCEvents() (*TriggeredTFCWorkspaces, error)
GetConfig() TriggerConfig
TriggerCleanupEvent() error
}
func NewTFCTrigger ¶
func NewTFCTrigger( gl vcs.GitClient, tfc tfc_api.ApiClient, runstream runstream.StreamClient, cfg TriggerConfig, ) Trigger
type TriggerAction ¶
type TriggerAction int
const ( ApplyAction TriggerAction = iota DestroyAction LockAction PlanAction RefreshAction UnlockAction )
func (TriggerAction) String ¶
func (a TriggerAction) String() string
type TriggerConfig ¶
type TriggerConfig interface {
GetAction() TriggerAction
SetAction(action TriggerAction)
GetBranch() string
GetCommitSHA() string
GetProjectNameWithNamespace() string
GetMergeRequestIID() int
GetMergeRequestDiscussionID() string
SetMergeRequestDiscussionID(mrdisID string)
GetMergeRequestRootNoteID() int64
SetMergeRequestRootNoteID(id int64)
GetTriggerSource() TriggerSource
GetWorkspace() string
SetWorkspace(workspace string)
GetVcsProvider() string
}
type TriggerSource ¶
type TriggerSource int
const ( CommentTrigger TriggerSource = iota MergeRequestEventTrigger )
type TriggeredTFCWorkspaces ¶
type TriggeredTFCWorkspaces struct {
Errored []*ErroredWorkspace
Executed []string
}
Click to show internal directories.
Click to hide internal directories.