Documentation ¶
Overview ¶
Package runtime holds code for actually running commands vs. preparing and constructing.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetPlanFilename ¶ added in v0.4.1
GetPlanFilename returns the filename (not the path) of the generated tf plan given a workspace and maybe a project's config.
func MustConstraint ¶
func MustConstraint(constraint string) version.Constraints
MustConstraint returns a constraint. It panics on error.
Types ¶
type ApplyStepRunner ¶
type ApplyStepRunner struct { TerraformExecutor TerraformExec CommitStatusUpdater StatusUpdater AsyncTFExec AsyncTFExec }
ApplyStepRunner runs `terraform apply`.
func (*ApplyStepRunner) Run ¶
func (a *ApplyStepRunner) Run(ctx models.ProjectCommandContext, extraArgs []string, path string) (string, error)
type AsyncTFExec ¶ added in v0.5.0
type AsyncTFExec interface { // RunCommandAsync runs terraform with args. It immediately returns an // input and output channel. Callers can use the output channel to // get the realtime output from the command. // Callers can use the input channel to pass stdin input to the command. // If any error is passed on the out channel, there will be no // further output (so callers are free to exit). RunCommandAsync(log *logging.SimpleLogger, path string, args []string, v *version.Version, workspace string) (chan<- string, <-chan terraform.Line) }
AsyncTFExec brings the interface from TerraformClient into this package without causing circular imports. It's split from TerraformExec because due to a bug in pegomock with channels, we can't generate a mock for it so we hand-write it for this specific method.
type InitStepRunner ¶
type InitStepRunner struct { TerraformExecutor TerraformExec DefaultTFVersion *version.Version }
InitStep runs `terraform init`.
func (*InitStepRunner) Run ¶
func (i *InitStepRunner) Run(ctx models.ProjectCommandContext, extraArgs []string, path string) (string, error)
type PlanStepRunner ¶
type PlanStepRunner struct { TerraformExecutor TerraformExec DefaultTFVersion *version.Version CommitStatusUpdater StatusUpdater AsyncTFExec AsyncTFExec }
func (*PlanStepRunner) Run ¶
func (p *PlanStepRunner) Run(ctx models.ProjectCommandContext, extraArgs []string, path string) (string, error)
type PullApprovedChecker ¶
type RunStepRunner ¶
type RunStepRunner struct {
DefaultTFVersion *version.Version
}
RunStepRunner runs custom commands.
func (*RunStepRunner) Run ¶
func (r *RunStepRunner) Run(ctx models.ProjectCommandContext, command []string, path string) (string, error)
type StatusUpdater ¶ added in v0.5.0
type StatusUpdater interface {
UpdateProject(ctx models.ProjectCommandContext, cmdName models.CommandName, status models.CommitStatus, url string) error
}
StatusUpdater brings the interface from CommitStatusUpdater into this package without causing circular imports.
type TerraformExec ¶
type TerraformExec interface {
RunCommandWithVersion(log *logging.SimpleLogger, path string, args []string, v *version.Version, workspace string) (string, error)
}
TerraformExec brings the interface from TerraformClient into this package without causing circular imports.