Documentation
¶
Index ¶
- Constants
- Variables
- type AliasIn
- type AliasOut
- type Client
- type Def
- type Executor
- func (_c Executor) Alias(ctx context.Context, branch string) (path string, status string, err error)
- func (_c Executor) ForHost(host string) Executor
- func (_c Executor) TaskA(ctx context.Context, path string) (pathOut string, err error)
- func (_c Executor) TaskB(ctx context.Context, path string) (pathOut string, err error)
- func (_c Executor) TaskC(ctx context.Context, path string) (pathOut string, err error)
- func (_c Executor) TaskD(ctx context.Context, path string) (pathOut string, err error)
- func (_c Executor) TaskS(ctx context.Context, branch string) (branchOut string, err error)
- func (_c Executor) WithFlowOptions(flowOptions *workflow.FlowOptions) Executor
- func (_c Executor) WithInputFlow(flow *workflow.Flow) Executor
- func (_c Executor) WithOptions(opts ...pub.Option) Executor
- func (_c Executor) WithOutputFlow(flow *workflow.Flow) Executor
- func (_c Executor) WithWorkflowRunner(runner WorkflowRunner) Executor
- type Hook
- type MulticastClient
- type MulticastTrigger
- type TaskAIn
- type TaskAOut
- type TaskBIn
- type TaskBOut
- type TaskCIn
- type TaskCOut
- type TaskDIn
- type TaskDOut
- type TaskSIn
- type TaskSOut
- type WorkflowRunner
Constants ¶
const Hostname = "aliasflow.verify"
Hostname is the default hostname of the microservice.
Variables ¶
var ( // HINT: Insert endpoint definitions here TaskS = Def{Method: "POST", Route: ":428/task-s"} // MARKER: TaskS TaskA = Def{Method: "POST", Route: ":428/task-a"} // MARKER: TaskA TaskB = Def{Method: "POST", Route: ":428/task-b"} // MARKER: TaskB TaskC = Def{Method: "POST", Route: ":428/task-c"} // MARKER: TaskC TaskD = Def{Method: "POST", Route: ":428/task-d"} // MARKER: TaskD Alias = Def{Method: "GET", Route: ":428/alias"} // MARKER: Alias )
Functions ¶
This section is empty.
Types ¶
type AliasIn ¶
type AliasIn struct {
Branch string `json:"branch,omitzero"`
}
AliasIn are the input arguments of Alias.
type AliasOut ¶
type AliasOut struct {
Path string `json:"path,omitzero"`
}
AliasOut are the output arguments of Alias.
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client is a lightweight proxy for making unicast calls to the microservice.
type Executor ¶
type Executor struct {
// contains filtered or unexported fields
}
Executor runs tasks and workflows synchronously, blocking until termination. It is primarily intended for integration tests.
func NewExecutor ¶
NewExecutor creates a new executor proxy to the microservice.
func (Executor) Alias ¶
func (_c Executor) Alias(ctx context.Context, branch string) (path string, status string, err error)
Alias creates and runs the Alias workflow, blocking until termination.
func (Executor) ForHost ¶
ForHost returns a copy of the executor with a different hostname to be applied to requests.
func (Executor) WithFlowOptions ¶ added in v1.32.0
func (_c Executor) WithFlowOptions(flowOptions *workflow.FlowOptions) Executor
WithFlowOptions returns a copy of the executor that creates workflows with the given flow options (priority, fairness key and weight). It has no effect on task execution.
func (Executor) WithInputFlow ¶
WithInputFlow returns a copy of the executor with an input flow to use for task execution. The input flow's state is available to the task in addition to the typed input arguments.
func (Executor) WithOptions ¶
WithOptions returns a copy of the executor with options to be applied to requests.
func (Executor) WithOutputFlow ¶
WithOutputFlow returns a copy of the executor with an output flow to populate after task execution. The output flow captures the full flow state including control signals (Goto, Retry, Interrupt, Sleep).
func (Executor) WithWorkflowRunner ¶
func (_c Executor) WithWorkflowRunner(runner WorkflowRunner) Executor
WithWorkflowRunner returns a copy of the executor with a workflow runner for executing workflows. foremanapi.NewClient(svc) satisfies the WorkflowRunner interface.
type Hook ¶
type Hook struct {
// contains filtered or unexported fields
}
Hook assists in the subscription to the events of the microservice.
func NewHook ¶
func NewHook(listener service.Subscriber) Hook
NewHook creates a new hook to the events of the microservice.
type MulticastClient ¶
type MulticastClient struct {
// contains filtered or unexported fields
}
MulticastClient is a lightweight proxy for making multicast calls to the microservice.
func NewMulticastClient ¶
func NewMulticastClient(caller service.Publisher) MulticastClient
NewMulticastClient creates a new multicast client proxy to the microservice.
func (MulticastClient) ForHost ¶
func (_c MulticastClient) ForHost(host string) MulticastClient
ForHost returns a copy of the client with a different hostname to be applied to requests.
func (MulticastClient) WithOptions ¶
func (_c MulticastClient) WithOptions(opts ...pub.Option) MulticastClient
WithOptions returns a copy of the client with options to be applied to requests.
type MulticastTrigger ¶
type MulticastTrigger struct {
// contains filtered or unexported fields
}
MulticastTrigger is a lightweight proxy for triggering the events of the microservice.
func NewMulticastTrigger ¶
func NewMulticastTrigger(caller service.Publisher) MulticastTrigger
NewMulticastTrigger creates a new multicast trigger of events of the microservice.
func (MulticastTrigger) ForHost ¶
func (_c MulticastTrigger) ForHost(host string) MulticastTrigger
ForHost returns a copy of the trigger with a different hostname to be applied to requests.
func (MulticastTrigger) WithOptions ¶
func (_c MulticastTrigger) WithOptions(opts ...pub.Option) MulticastTrigger
WithOptions returns a copy of the trigger with options to be applied to requests.
type TaskAIn ¶
type TaskAIn struct {
Path string `json:"path,omitzero"`
}
TaskAIn are the input arguments of TaskA.
type TaskAOut ¶
type TaskAOut struct {
PathOut string `json:"path,omitzero"`
}
TaskAOut are the output arguments of TaskA.
type TaskBIn ¶
type TaskBIn struct {
Path string `json:"path,omitzero"`
}
TaskBIn are the input arguments of TaskB.
type TaskBOut ¶
type TaskBOut struct {
PathOut string `json:"path,omitzero"`
}
TaskBOut are the output arguments of TaskB.
type TaskCIn ¶
type TaskCIn struct {
Path string `json:"path,omitzero"`
}
TaskCIn are the input arguments of TaskC.
type TaskCOut ¶
type TaskCOut struct {
PathOut string `json:"path,omitzero"`
}
TaskCOut are the output arguments of TaskC.
type TaskDIn ¶
type TaskDIn struct {
Path string `json:"path,omitzero"`
}
TaskDIn are the input arguments of TaskD.
type TaskDOut ¶
type TaskDOut struct {
PathOut string `json:"path,omitzero"`
}
TaskDOut are the output arguments of TaskD.
type TaskSIn ¶
type TaskSIn struct {
Branch string `json:"branch,omitzero"`
}
TaskSIn are the input arguments of TaskS.
type TaskSOut ¶
type TaskSOut struct {
BranchOut string `json:"branch,omitzero"`
}
TaskSOut are the output arguments of TaskS.
type WorkflowRunner ¶
type WorkflowRunner interface {
Run(ctx context.Context, workflowName string, initialState any, opts *workflow.FlowOptions) (outcome *workflow.FlowOutcome, err error)
}
WorkflowRunner executes a workflow by name with initial state, blocking until termination. foremanapi.Client satisfies this interface.