run

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: Jun 20, 2024 License: MPL-2.0 Imports: 18 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ByStatus

func ByStatus(i, j *Run) int

ByStatus sorts runs according to the following order:

* Planning, Applying (most recent first) * Planned (most recent first) * PlanQueued,ApplyQueued (oldest first) * Scheduled (oldest first) * Pending (oldest first) * Applied,Errored,Canceled,Finished,NoChanges,Discarded (most recent first)

func ByUpdatedDesc

func ByUpdatedDesc(i, j *Run) int

Types

type Change

type Change struct {
	Actions []ChangeAction
}

Change represents the type of change being made

type ChangeAction

type ChangeAction string
const (
	CreateAction ChangeAction = "create"
	UpdateAction ChangeAction = "update"
	DeleteAction ChangeAction = "delete"
)

type CreateOptions

type CreateOptions struct {
	// TargetAddrs creates a plan targeting specific resources.
	TargetAddrs []state.ResourceAddress
	// Destroy creates a plan to destroy all resources.
	Destroy bool
	// contains filtered or unexported fields
}

type ListOptions

type ListOptions struct {
	// Filter runs by those that belong to the given ancestor, e.g. a module or workspace
	AncestorID resource.ID
	// Filter runs by status: match run if it has one of these statuses.
	Status []Status
	// Order runs by oldest first (true), or newest first (false)
	Oldest bool
}

type Report

type Report struct {
	Additions    int `json:"additions"`
	Changes      int `json:"changes"`
	Destructions int `json:"destructions"`
}

Report reports a summary of additions, changes, and deletions of resources in a plan or an apply.

func (Report) HasChanges

func (r Report) HasChanges() bool

func (Report) String

func (r Report) String() string

type ResourceChange

type ResourceChange struct {
	Change Change
}

ResourceChange represents a proposed change to a resource in a plan file

type Run

type Run struct {
	resource.Common

	Created time.Time
	Updated time.Time

	Status Status

	PlanReport    *Report
	ApplyReport   *Report
	Changes       bool
	ArtefactsPath string
	// contains filtered or unexported fields
}

func (*Run) IsFinished

func (r *Run) IsFinished() bool

func (*Run) LogValue

func (r *Run) LogValue() slog.Value

func (*Run) ModulePath added in v0.2.0

func (r *Run) ModulePath() string

func (*Run) WorkspaceID

func (r *Run) WorkspaceID() resource.ID

func (*Run) WorkspaceName added in v0.2.0

func (r *Run) WorkspaceName() string

type Service

type Service struct {
	*pubsub.Broker[*Run]
	// contains filtered or unexported fields
}

func NewService

func NewService(opts ServiceOptions) *Service

func (*Service) ApplyOnly added in v0.2.0

func (s *Service) ApplyOnly(workspaceID resource.ID, opts CreateOptions) (*task.Task, error)

Apply creates an apply task without an existing plan.

func (*Service) ApplyPlan added in v0.2.0

func (s *Service) ApplyPlan(runID resource.ID) (*task.Task, error)

ApplyPlan applies an existing plan.

func (*Service) Delete

func (s *Service) Delete(id resource.ID) error

func (*Service) Get

func (s *Service) Get(runID resource.ID) (*Run, error)

func (*Service) List

func (s *Service) List(opts ListOptions) []*Run

func (*Service) Plan added in v0.2.0

func (s *Service) Plan(workspaceID resource.ID, opts CreateOptions) (*task.Task, error)

Plan creates a plan task.

type ServiceOptions

type ServiceOptions struct {
	TaskService             *task.Service
	ModuleService           *module.Service
	WorkspaceService        *workspace.Service
	StateService            *state.Service
	DisableReloadAfterApply bool
	DataDir                 string
	Logger                  logging.Interface
}

type Status

type Status string
const (
	Pending     Status = "pending"
	PlanQueued  Status = "plan queued"
	Planning    Status = "planning"
	Planned     Status = "planned"
	NoChanges   Status = "no changes"
	ApplyQueued Status = "apply queued"
	Applying    Status = "applying"
	Applied     Status = "applied"
	Errored     Status = "errored"
	Canceled    Status = "canceled"
	Discarded   Status = "discarded"

	MaxStatusLen = len(ApplyQueued)
)

Jump to

Keyboard shortcuts

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