Documentation

Overview

Functions for serializing and deserializing scheduled events in AWS.

AWS-specific implementation of a schedule.WorkflowExecutor.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewCloudWatchScheduler

func NewCloudWatchScheduler(
	scheduleRoleArn, targetSqsArn string, session *session.Session, config *aws.Config,
	scope promutils.Scope) scheduleInterfaces.EventScheduler

func NewWorkflowExecutor

func NewWorkflowExecutor(
	config aws.SQSConfig, schedulerConfig runtimeInterfaces.SchedulerConfig, executionManager interfaces.ExecutionInterface,
	launchPlanManager interfaces.LaunchPlanInterface, scope promutils.Scope) scheduleInterfaces.WorkflowExecutor

func SerializeScheduleWorkflowPayload

func SerializeScheduleWorkflowPayload(
	kickoffTimeArg string, launchPlanIdentifier admin.NamedEntityIdentifier) (*string, error)

This produces a function that is used to serialize messages enqueued on the cloudwatch scheduler.

Types

type ScheduleWorkflowPayload

type ScheduleWorkflowPayload struct {
	// The timestamp plalceholder arg which will be populated by AWS CloudWatch.
	Time string `json:"time"`
	// The name of the kickoff time input argument in the workflow definition. This will be filled with kickoff time.
	KickoffTimeArg string `json:"kickoff_time_arg"`
	// Serialized launch plan admin.Identifier.
	Payload []byte `json:"payload"`
}

The structured message that will be serialized and added to event schedules.

type ScheduledWorkflowExecutionRequest

type ScheduledWorkflowExecutionRequest struct {
	// The time at which the schedule event was triggered.
	KickoffTime time.Time
	// The name of the kickoff time input argument in the workflow definition. This will be filled with kickoff time.
	KickoffTimeArg string
	// The desired launch plan identifier to trigger on schedule event firings.
	LaunchPlanIdentifier admin.NamedEntityIdentifier
}

Encapsulates the data necessary to trigger a scheduled workflow execution.

func DeserializeScheduleWorkflowPayload

func DeserializeScheduleWorkflowPayload(payload []byte) (ScheduledWorkflowExecutionRequest, error)

Directories

Path Synopsis
interfaces
mocks