Documentation ¶
Index ¶
- func ByStatus(i, j *Run) int
- func ByUpdatedDesc(i, j *Run) int
- func StartScheduler(ctx context.Context, runs *Service, workspaces *workspace.Service)
- type Change
- type ChangeAction
- type CreateOptions
- type ListOptions
- type Report
- type ResourceChange
- type Run
- type Service
- func (s *Service) Apply(runID resource.ID) (*task.Task, error)
- func (s *Service) Create(workspaceID resource.ID, opts CreateOptions) (*Run, error)
- func (s *Service) Delete(id resource.ID) error
- func (s *Service) Get(runID resource.ID) (*Run, error)
- func (s *Service) List(opts ListOptions) []*Run
- func (s *Service) Subscribe(ctx context.Context) <-chan resource.Event[*Run]
- type ServiceOptions
- type Status
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ByStatus ¶
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 StartScheduler ¶
StartScheduler starts the run scheduler, which is responsible for ensuring there is at most one active run on each workspace at a time.
The scheduler attempts to schedule runs upon every run event it receives.
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 []state.ResourceAddress // contains filtered or unexported fields }
type ListOptions ¶
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 ¶
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.Resource Created time.Time Updated time.Time Status Status AutoApply bool TargetAddrs []state.ResourceAddress PlanReport Report ApplyReport Report // Error is non-nil when the run status is Errored Error error // contains filtered or unexported fields }
func (*Run) IsFinished ¶
func (*Run) PlanPath ¶
PlanPath is the path to the run's plan file, relative to the module's directory.
func (*Run) WorkspaceID ¶
type Service ¶
func NewService ¶
func NewService(opts ServiceOptions) *Service
func (*Service) Apply ¶
Apply creates an apply task for a run. The run must be in the planned state, and it must be the current run for its workspace.
func (*Service) List ¶
func (s *Service) List(opts ListOptions) []*Run
type ServiceOptions ¶
type Status ¶
type Status string
const ( Pending Status = "pending" Scheduled Status = "scheduled" 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) )