Documentation
¶
Index ¶
Constants ¶
View Source
const SchemaVersion = "v1"
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Adapter ¶
type Adapter interface {
ID() string
Plan(context.Context, *domain.WorkBreakdown, []byte, config.Target) ([]Operation, []string, error)
Lookup(context.Context, config.Target, string) (*RemoteRef, error)
Execute(context.Context, config.Target, Operation, map[domain.ItemID]RemoteRef) (RemoteRef, error)
}
type Operation ¶
type Operation struct {
ID string `yaml:"id" json:"id"`
Action string `yaml:"action" json:"action"`
ItemID domain.ItemID `yaml:"item_id" json:"item_id"`
DependsOn []string `yaml:"depends_on,omitempty" json:"depends_on,omitempty"`
IdempotencyKey string `yaml:"idempotency_key" json:"idempotency_key"`
Summary string `yaml:"summary" json:"summary"`
Fields map[string]any `yaml:"fields" json:"fields"`
}
type OperationResult ¶
type Plan ¶
type Plan struct {
SchemaVersion string `yaml:"schema_version" json:"schema_version"`
ID string `yaml:"id" json:"id"`
Provider string `yaml:"provider" json:"provider"`
TargetName string `yaml:"target" json:"target"`
Target config.Target `yaml:"target_config" json:"target_config"`
BundlePath string `yaml:"bundle_path" json:"bundle_path"`
SourceDigest string `yaml:"source_digest" json:"source_digest"`
PlanDigest string `yaml:"plan_digest" json:"plan_digest"`
GeneratedAt time.Time `yaml:"generated_at" json:"generated_at"`
Warnings []string `yaml:"warnings,omitempty" json:"warnings,omitempty"`
Operations []Operation `yaml:"operations" json:"operations"`
}
type Receipt ¶
type Receipt struct {
SchemaVersion string `yaml:"schema_version" json:"schema_version"`
PlanID string `yaml:"plan_id" json:"plan_id"`
Provider string `yaml:"provider" json:"provider"`
TargetName string `yaml:"target" json:"target"`
PlanDigest string `yaml:"plan_digest" json:"plan_digest"`
Status string `yaml:"status" json:"status"`
UpdatedAt time.Time `yaml:"updated_at" json:"updated_at"`
Operations map[string]OperationResult `yaml:"operations" json:"operations"`
}
Click to show internal directories.
Click to hide internal directories.