Documentation
¶
Index ¶
- func ToYAML(ctx context.Context, workflow *Workflow) ([]byte, error)
- type Action
- type RandomScheduleOpt
- type RateLimit
- type RateLimitDuration
- type RateLimitOpts
- type Workflow
- type WorkflowConcurrency
- type WorkflowConcurrencyLimitStrategy
- type WorkflowEvent
- type WorkflowJob
- type WorkflowOnCron
- type WorkflowStep
- type WorkflowTriggers
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Action ¶
type Action struct {
// Required. The service that this belongs to
Service string
// Required. The verb to perform.
Verb string
// Optional. A way to unique identify the step.
Subresource string
}
func ParseActionID ¶
ParseActionID parses an action ID into its constituent parts.
func (Action) IntegrationVerbString ¶
type RandomScheduleOpt ¶
type RandomScheduleOpt string
const ( Random15Min RandomScheduleOpt = "random_15_min" RandomHourly RandomScheduleOpt = "random_hourly" RandomDaily RandomScheduleOpt = "random_daily" )
type RateLimitDuration ¶
type RateLimitDuration string
const ( Second RateLimitDuration = "second" Minute RateLimitDuration = "minute" Hour RateLimitDuration = "hour" )
type RateLimitOpts ¶
type RateLimitOpts struct {
Max int
Duration RateLimitDuration
}
type Workflow ¶
type Workflow struct {
Name string `yaml:"name,omitempty"`
Concurrency *WorkflowConcurrency `yaml:"concurrency,omitempty"`
Version string `yaml:"version,omitempty"`
Description string `yaml:"description,omitempty"`
Triggers WorkflowTriggers `yaml:"triggers"`
Jobs map[string]WorkflowJob `yaml:"jobs"`
OnFailureJob *WorkflowJob `yaml:"onFailureJob,omitempty"`
}
func DefaultLoader ¶
func DefaultLoader() []*Workflow
func ReadAllValidFilesInDir ¶
func ReadHatchetYAMLFileBytes ¶
ReadHatchetYAMLFileBytes reads a given YAML file from a filepath and return the parsed workflow file
type WorkflowConcurrency ¶
type WorkflowConcurrency struct {
ActionID string `yaml:"action,omitempty"`
MaxRuns int32 `yaml:"maxRuns,omitempty"`
LimitStrategy WorkflowConcurrencyLimitStrategy `yaml:"limitStrategy,omitempty"`
}
type WorkflowConcurrencyLimitStrategy ¶
type WorkflowConcurrencyLimitStrategy string
const ( CancelInProgress WorkflowConcurrencyLimitStrategy = "CANCEL_IN_PROGRESS" GroupRoundRobin WorkflowConcurrencyLimitStrategy = "GROUP_ROUND_ROBIN" )
type WorkflowEvent ¶
type WorkflowEvent struct {
Name string `yaml:"name,omitempty"`
}
type WorkflowJob ¶
type WorkflowJob struct {
Description string `yaml:"description,omitempty"`
Steps []WorkflowStep `yaml:"steps"`
}
type WorkflowOnCron ¶
type WorkflowOnCron struct {
Schedule string `yaml:"schedule,omitempty"`
}
type WorkflowStep ¶
type WorkflowStep struct {
Name string `yaml:"name,omitempty"`
ID string `yaml:"id,omitempty"`
ActionID string `yaml:"action"`
Timeout string `yaml:"timeout,omitempty"`
With map[string]interface{} `yaml:"with,omitempty"`
Parents []string `yaml:"parents,omitempty"`
Retries int `yaml:"retries"`
RateLimits []RateLimit `yaml:"rateLimits,omitempty"`
}
Click to show internal directories.
Click to hide internal directories.