step

package
Version: v1.15.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 3, 2020 License: MIT Imports: 14 Imported by: 0

Documentation

Overview

Package step provides functionality to work with AWS Step Functions

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type And

type And struct {
	ChoiceBranch
	Comparison []Comparison
	Next       MachineState
}

And operator

func (*And) MarshalJSON

func (andOperation *And) MarshalJSON() ([]byte, error)

MarshalJSON for custom marshalling

type BaseTask added in v1.8.0

type BaseTask struct {
	ResultPath string
	//lint:ignore ST1011 we want to give a cue to the client of the units
	TimeoutSeconds time.Duration
	//lint:ignore ST1011 we want to give a cue to the client of the units
	HeartbeatSeconds time.Duration
	LambdaDecorator  sparta.TemplateDecorator
	Retriers         []*TaskRetry
	Catchers         []*TaskCatch
	// contains filtered or unexported fields
}

BaseTask represents the core BaseTask control flow options.

func (*BaseTask) AdjacentStates added in v1.8.0

func (bt *BaseTask) AdjacentStates() []MachineState

AdjacentStates returns nodes reachable from this node

func (*BaseTask) MarshalJSON added in v1.8.0

func (bt *BaseTask) MarshalJSON() ([]byte, error)

MarshalJSON to prevent inadvertent composition

func (*BaseTask) Name added in v1.8.0

func (bt *BaseTask) Name() string

Name returns the name of this Task state

func (*BaseTask) Next added in v1.8.0

func (bt *BaseTask) Next(nextState MachineState) MachineState

Next returns the next state

func (*BaseTask) WithCatchers added in v1.8.0

func (bt *BaseTask) WithCatchers(catch ...*TaskCatch) *BaseTask

WithCatchers is the fluent builder for BaseTask

func (*BaseTask) WithComment added in v1.8.0

func (bt *BaseTask) WithComment(comment string) TransitionState

WithComment returns the BaseTask comment

func (*BaseTask) WithHeartbeat added in v1.8.0

func (bt *BaseTask) WithHeartbeat(pulse time.Duration) *BaseTask

WithHeartbeat is the fluent builder for BaseTask

func (*BaseTask) WithInputPath added in v1.8.0

func (bt *BaseTask) WithInputPath(inputPath string) TransitionState

WithInputPath returns the BaseTask input data selector

func (*BaseTask) WithOutputPath added in v1.8.0

func (bt *BaseTask) WithOutputPath(outputPath string) TransitionState

WithOutputPath returns the BaseTask output data selector

func (*BaseTask) WithResultPath added in v1.8.0

func (bt *BaseTask) WithResultPath(resultPath string) *BaseTask

WithResultPath is the fluent builder for the result path

func (*BaseTask) WithRetriers added in v1.8.0

func (bt *BaseTask) WithRetriers(retries ...*TaskRetry) *BaseTask

WithRetriers is the fluent builder for BaseTask

func (*BaseTask) WithTimeout added in v1.8.0

func (bt *BaseTask) WithTimeout(timeout time.Duration) *BaseTask

WithTimeout is the fluent builder for BaseTask

type BatchTaskParameters added in v1.8.0

type BatchTaskParameters struct {
	JobDefinition      gocf.Stringable          `json:",omitempty"`
	JobName            string                   `json:",omitempty"`
	JobQueue           gocf.Stringable          `json:",omitempty"`
	ArrayProperties    map[string]interface{}   `json:",omitempty"`
	ContainerOverrides map[string]interface{}   `json:",omitempty"`
	DependsOn          []map[string]interface{} `json:",omitempty"`
	Parameters         map[string]string        `json:",omitempty"`
	RetryStrategy      map[string]interface{}   `json:",omitempty"`
	Timeout            map[string]interface{}   `json:",omitempty"`
}

BatchTaskParameters represents params for the Batch notification Ref: https://docs.aws.amazon.com/step-functions/latest/dg/connectors-batch.html

type BatchTaskState added in v1.8.0

type BatchTaskState struct {
	BaseTask
	// contains filtered or unexported fields
}

BatchTaskState represents bindings for https://docs.aws.amazon.com/step-functions/latest/dg/connectors-batch.html

func NewBatchTaskState added in v1.8.0

func NewBatchTaskState(stateName string,
	parameters BatchTaskParameters) *BatchTaskState

NewBatchTaskState returns an initialized BatchTaskState

func (*BatchTaskState) MarshalJSON added in v1.8.0

func (bts *BatchTaskState) MarshalJSON() ([]byte, error)

MarshalJSON for custom marshalling, since this will be stringified and we need it to turn into a stringified Ref: https://docs.aws.amazon.com/step-functions/latest/dg/connectors-batch.html

type BooleanEquals

type BooleanEquals struct {
	Comparison
	Variable string
	Value    interface{}
}

BooleanEquals comparison

func (*BooleanEquals) MarshalJSON

func (cmp *BooleanEquals) MarshalJSON() ([]byte, error)

MarshalJSON for custom marshalling

type ChoiceBranch

type ChoiceBranch interface {
	// contains filtered or unexported methods
}

ChoiceBranch represents a type for a ChoiceState "Choices" entry

type ChoiceState

type ChoiceState struct {
	Choices []ChoiceBranch
	Default TransitionState
	// contains filtered or unexported fields
}

ChoiceState is a synthetic state that executes a lot of independent branches in parallel

func NewChoiceState

func NewChoiceState(choiceStateName string, choices ...ChoiceBranch) *ChoiceState

NewChoiceState returns a "ChoiceState" with the supplied information

func (*ChoiceState) MarshalJSON

func (cs *ChoiceState) MarshalJSON() ([]byte, error)

MarshalJSON for custom marshalling

func (*ChoiceState) Name

func (cs *ChoiceState) Name() string

Name returns the name of this Task state

func (*ChoiceState) WithComment

func (cs *ChoiceState) WithComment(comment string) *ChoiceState

WithComment returns the TaskState comment

func (*ChoiceState) WithDefault

func (cs *ChoiceState) WithDefault(defaultState TransitionState) *ChoiceState

WithDefault is the fluent builder for the default state

func (*ChoiceState) WithResultPath

func (cs *ChoiceState) WithResultPath(resultPath string) *ChoiceState

WithResultPath is the fluent builder for the result path

type Comparison

type Comparison interface {
	json.Marshaler
}

Comparison is the generic comparison operator interface

type DynamoDBGetItemParameters added in v1.8.0

type DynamoDBGetItemParameters struct {
	Key                      map[string]*dynamodb.AttributeValue `json:",omitempty"`
	TableName                gocf.Stringable                     `json:",omitempty"`
	AttributesToGet          []string                            `json:",omitempty"`
	ConsistentRead           bool                                `json:",omitempty"`
	ExpressionAttributeNames map[string]string                   `json:",omitempty"`
	ProjectionExpression     string                              `json:",omitempty"`
	ReturnConsumedCapacity   string                              `json:",omitempty"`
}

DynamoDBGetItemParameters represents params for the DynamoDBGetItem parameters. Ref: https://docs.aws.amazon.com/step-functions/latest/dg/connectors-ddb.html

type DynamoDBGetItemState added in v1.8.0

type DynamoDBGetItemState struct {
	BaseTask
	// contains filtered or unexported fields
}

DynamoDBGetItemState represents bindings for https://docs.aws.amazon.com/step-functions/latest/dg/connectors-ddb.html

func NewDynamoDBGetItemState added in v1.8.0

func NewDynamoDBGetItemState(stateName string,
	parameters DynamoDBGetItemParameters) *DynamoDBGetItemState

NewDynamoDBGetItemState returns an initialized DynamoDB GetItem state

func (*DynamoDBGetItemState) MarshalJSON added in v1.8.0

func (dgis *DynamoDBGetItemState) MarshalJSON() ([]byte, error)

MarshalJSON for custom marshalling, since this will be stringified and we need it to turn into a stringified Ref: https://docs.aws.amazon.com/step-functions/latest/dg/connectors-sns.html

type DynamoDBPutItemParameters added in v1.8.0

type DynamoDBPutItemParameters struct {
	Item                        map[string]*dynamodb.AttributeValue
	TableName                   gocf.Stringable
	ConditionExpression         string
	ConsistentRead              bool
	ExpressionAttributeNames    map[string]string
	ExpressionAttributeValues   map[string]*dynamodb.AttributeValue
	ReturnConsumedCapacity      string // INDEXES | TOTAL | NONE
	ReturnItemCollectionMetrics string // SIZE | NONE
	ReturnValues                string // NONE | ALL_OLD | UPDATED_OLD | ALL_NEW | UPDATED_NEW
}

DynamoDBPutItemParameters represents params for the SNS notification Ref: https://docs.aws.amazon.com/sns/latest/api/API_Publish.html#API_Publish_RequestParameters

type DynamoDBPutItemState added in v1.8.0

type DynamoDBPutItemState struct {
	BaseTask
	// contains filtered or unexported fields
}

DynamoDBPutItemState represents bindings for https://docs.aws.amazon.com/step-functions/latest/dg/connectors-ddb.html

func NewDynamoDBPutItemState added in v1.8.0

func NewDynamoDBPutItemState(stateName string,
	parameters DynamoDBPutItemParameters) *DynamoDBPutItemState

NewDynamoDBPutItemState returns an initialized DynamoDB PutItem state

func (*DynamoDBPutItemState) MarshalJSON added in v1.8.0

func (dgis *DynamoDBPutItemState) MarshalJSON() ([]byte, error)

MarshalJSON for custom marshalling, since this will be stringified and we need it to turn into a stringified Ref: https://docs.aws.amazon.com/step-functions/latest/dg/connectors-sns.html

type FailState

type FailState struct {
	ErrorName string
	Cause     error
	// contains filtered or unexported fields
}

FailState represents the end of state machine

func NewFailState

func NewFailState(failStateName string, errorName string, cause error) *FailState

NewFailState returns a "FailState" with the supplied information

func (*FailState) AdjacentStates added in v1.8.0

func (fs *FailState) AdjacentStates() []MachineState

AdjacentStates returns nodes reachable from this node

func (*FailState) MarshalJSON

func (fs *FailState) MarshalJSON() ([]byte, error)

MarshalJSON for custom marshaling

func (*FailState) Name

func (fs *FailState) Name() string

Name returns the WaitDelay name

func (*FailState) Next

func (fs *FailState) Next(nextState MachineState) MachineState

Next sets the step after the wait delay

func (*FailState) WithComment

func (fs *FailState) WithComment(comment string) TransitionState

WithComment returns the WaitDelay comment

func (*FailState) WithInputPath

func (fs *FailState) WithInputPath(inputPath string) TransitionState

WithInputPath returns the TaskState input data selector

func (*FailState) WithOutputPath

func (fs *FailState) WithOutputPath(outputPath string) TransitionState

WithOutputPath returns the TaskState output data selector

type FargateNetworkConfiguration added in v1.8.0

type FargateNetworkConfiguration struct {
	AWSVPCConfiguration *gocf.ECSServiceAwsVPCConfiguration `json:"AwsvpcConfiguration,omitempty"`
}

FargateNetworkConfiguration contains the AWSVPCConfiguration information

type FargateTaskParameters added in v1.8.0

type FargateTaskParameters struct {
	Cluster              gocf.Stringable              `json:",omitempty"`
	Group                string                       `json:",omitempty"`
	LaunchType           string                       `json:",omitempty"`
	NetworkConfiguration *FargateNetworkConfiguration `json:",omitempty"`
	Overrides            map[string]interface{}       `json:",omitempty"`
	PlacementConstraints []map[string]string          `json:",omitempty"`
	PlacementStrategy    []map[string]string          `json:",omitempty"`
	PlatformVersion      string                       `json:",omitempty"`
	TaskDefinition       gocf.Stringable              `json:",omitempty"`
}

FargateTaskParameters contains the information for a Fargate task

type FargateTaskState added in v1.8.0

type FargateTaskState struct {
	BaseTask
	// contains filtered or unexported fields
}

FargateTaskState represents a FargateTask

func NewFargateTaskState added in v1.8.0

func NewFargateTaskState(stateName string, parameters FargateTaskParameters) *FargateTaskState

NewFargateTaskState returns an initialized FargateTaskState

func (*FargateTaskState) MarshalJSON added in v1.8.0

func (fts *FargateTaskState) MarshalJSON() ([]byte, error)

MarshalJSON for custom marshalling, since this will be stringified and we need it to turn into a stringified Ref: https://docs.aws.amazon.com/step-functions/latest/dg/connectors-ecs.html

type GlueParameters added in v1.8.0

type GlueParameters struct {
	JobName               gocf.Stringable        `json:",omitempty"`
	JobRunID              string                 `json:"JobRunId,omitempty"`
	Arguments             map[string]interface{} `json:",omitempty"`
	AllocatedCapacity     *gocf.IntegerExpr      `json:",omitempty"`
	Timeout               *gocf.IntegerExpr      `json:",omitempty"`
	SecurityConfiguration gocf.Stringable        `json:",omitempty"`
	NotificationProperty  interface{}            `json:",omitempty"`
}

GlueParameters represents params for Glue step Ref: https://docs.aws.amazon.com/step-functions/latest/dg/connectors-glue.html

type GlueState added in v1.8.0

type GlueState struct {
	BaseTask
	// contains filtered or unexported fields
}

GlueState represents bindings for https://docs.aws.amazon.com/step-functions/latest/dg/connectors-sns.html

func NewGlueState added in v1.8.0

func NewGlueState(stateName string,
	parameters GlueParameters) *GlueState

NewGlueState returns an initialized GlueState

func (*GlueState) MarshalJSON added in v1.8.0

func (gs *GlueState) MarshalJSON() ([]byte, error)

MarshalJSON for custom marshalling, since this will be stringified and we need it to turn into a stringified Ref: https://docs.aws.amazon.com/step-functions/latest/dg/connectors-sns.html

type LambdaTaskState added in v1.8.0

type LambdaTaskState struct {
	BaseTask
	// contains filtered or unexported fields
}

LambdaTaskState is the core state, responsible for delegating to a Lambda function

func NewLambdaTaskState added in v1.8.0

func NewLambdaTaskState(stateName string, lambdaFn *sparta.LambdaAWSInfo) *LambdaTaskState

NewLambdaTaskState returns a LambdaTaskState instance properly initialized

func (*LambdaTaskState) MarshalJSON added in v1.8.0

func (ts *LambdaTaskState) MarshalJSON() ([]byte, error)

MarshalJSON for custom marshalling, since this will be stringified and we need it to turn into a stringified Ref:

type MachineState

type MachineState interface {
	Name() string
	// contains filtered or unexported methods
}

MachineState is the base state for all AWS Step function

type MapState added in v1.12.0

type MapState struct {
	States         *StateMachine
	Parameters     map[string]interface{}
	ResultPath     string
	ItemsPath      string // optional
	MaxConcurrency int    //optional
	Retriers       []*TaskRetry
	Catchers       []*TaskCatch
	// contains filtered or unexported fields
}

MapState is a synthetic state that executes a dynamically determined set of nodes in parallel

func NewMapState added in v1.12.0

func NewMapState(parallelStateName string, states *StateMachine) *MapState

NewMapState returns a "MapState" with the supplied information

func (*MapState) AdjacentStates added in v1.12.0

func (ms *MapState) AdjacentStates() []MachineState

AdjacentStates returns nodes reachable from this node

func (*MapState) MarshalJSON added in v1.12.0

func (ms *MapState) MarshalJSON() ([]byte, error)

MarshalJSON for custom marshalling

func (*MapState) Name added in v1.12.0

func (ms *MapState) Name() string

Name returns the name of this Task state

func (*MapState) Next added in v1.12.0

func (ms *MapState) Next(nextState MachineState) MachineState

Next returns the next state

func (*MapState) WithCatchers added in v1.12.0

func (ms *MapState) WithCatchers(catch ...*TaskCatch) *MapState

WithCatchers is the fluent builder for TaskState

func (*MapState) WithComment added in v1.12.0

func (ms *MapState) WithComment(comment string) TransitionState

WithComment returns the TaskState comment

func (*MapState) WithInputPath added in v1.12.0

func (ms *MapState) WithInputPath(inputPath string) TransitionState

WithInputPath returns the TaskState input data selector

func (*MapState) WithOutputPath added in v1.12.0

func (ms *MapState) WithOutputPath(outputPath string) TransitionState

WithOutputPath returns the TaskState output data selector

func (*MapState) WithResultPath added in v1.12.0

func (ms *MapState) WithResultPath(resultPath string) *MapState

WithResultPath is the fluent builder for the result path

func (*MapState) WithRetriers added in v1.12.0

func (ms *MapState) WithRetriers(retries ...*TaskRetry) *MapState

WithRetriers is the fluent builder for TaskState

type Not

type Not struct {
	ChoiceBranch
	Comparison Comparison
	Next       MachineState
}

Not operator

func (*Not) MarshalJSON

func (notOperation *Not) MarshalJSON() ([]byte, error)

MarshalJSON for custom marshalling

type NumericEquals

type NumericEquals struct {
	Comparison
	Variable string
	Value    int64
}

NumericEquals comparison

func (*NumericEquals) MarshalJSON

func (cmp *NumericEquals) MarshalJSON() ([]byte, error)

MarshalJSON for custom marshalling

type NumericGreaterThan

type NumericGreaterThan struct {
	Comparison
	Variable string
	Value    int64
}

NumericGreaterThan comparison

func (*NumericGreaterThan) MarshalJSON

func (cmp *NumericGreaterThan) MarshalJSON() ([]byte, error)

MarshalJSON for custom marshalling

type NumericGreaterThanEquals

type NumericGreaterThanEquals struct {
	Comparison
	Variable string
	Value    int64
}

NumericGreaterThanEquals comparison

func (*NumericGreaterThanEquals) MarshalJSON

func (cmp *NumericGreaterThanEquals) MarshalJSON() ([]byte, error)

MarshalJSON for custom marshalling

type NumericLessThan

type NumericLessThan struct {
	Comparison
	Variable string
	Value    int64
}

NumericLessThan comparison

func (*NumericLessThan) MarshalJSON

func (cmp *NumericLessThan) MarshalJSON() ([]byte, error)

MarshalJSON for custom marshalling

type NumericLessThanEquals

type NumericLessThanEquals struct {
	Comparison
	Variable string
	Value    int64
}

NumericLessThanEquals comparison

func (*NumericLessThanEquals) MarshalJSON

func (cmp *NumericLessThanEquals) MarshalJSON() ([]byte, error)

MarshalJSON for custom marshalling

type Or

type Or struct {
	ChoiceBranch
	Comparison []Comparison
	Next       MachineState
}

Or operator

func (*Or) MarshalJSON

func (orOperation *Or) MarshalJSON() ([]byte, error)

MarshalJSON for custom marshalling

type ParallelState

type ParallelState struct {
	Branches   []*StateMachine
	Parameters map[string]interface{}
	ResultPath string
	Retriers   []*TaskRetry
	Catchers   []*TaskCatch
	// contains filtered or unexported fields
}

ParallelState is a synthetic state that executes a lot of independent branches in parallel

func NewParallelState

func NewParallelState(parallelStateName string, branches ...*StateMachine) *ParallelState

NewParallelState returns a "ParallelState" with the supplied information

func (*ParallelState) AdjacentStates added in v1.8.0

func (ps *ParallelState) AdjacentStates() []MachineState

AdjacentStates returns nodes reachable from this node

func (*ParallelState) MarshalJSON

func (ps *ParallelState) MarshalJSON() ([]byte, error)

MarshalJSON for custom marshalling

func (*ParallelState) Name

func (ps *ParallelState) Name() string

Name returns the name of this Task state

func (*ParallelState) Next

func (ps *ParallelState) Next(nextState MachineState) MachineState

Next returns the next state

func (*ParallelState) WithCatchers added in v1.8.0

func (ps *ParallelState) WithCatchers(catch ...*TaskCatch) *ParallelState

WithCatchers is the fluent builder for TaskState

func (*ParallelState) WithComment

func (ps *ParallelState) WithComment(comment string) TransitionState

WithComment returns the TaskState comment

func (*ParallelState) WithInputPath

func (ps *ParallelState) WithInputPath(inputPath string) TransitionState

WithInputPath returns the TaskState input data selector

func (*ParallelState) WithOutputPath

func (ps *ParallelState) WithOutputPath(outputPath string) TransitionState

WithOutputPath returns the TaskState output data selector

func (*ParallelState) WithResultPath

func (ps *ParallelState) WithResultPath(resultPath string) *ParallelState

WithResultPath is the fluent builder for the result path

func (*ParallelState) WithRetriers added in v1.8.0

func (ps *ParallelState) WithRetriers(retries ...*TaskRetry) *ParallelState

WithRetriers is the fluent builder for TaskState

type PassState

type PassState struct {
	ResultPath string
	Result     interface{}
	// contains filtered or unexported fields
}

PassState represents a NOP state

func NewPassState

func NewPassState(name string, resultData interface{}) *PassState

NewPassState returns a new PassState instance

func (*PassState) AdjacentStates added in v1.8.0

func (ps *PassState) AdjacentStates() []MachineState

AdjacentStates returns nodes reachable from this node

func (*PassState) MarshalJSON

func (ps *PassState) MarshalJSON() ([]byte, error)

MarshalJSON for custom marshalling

func (*PassState) Name

func (ps *PassState) Name() string

Name returns the name of this Task state

func (*PassState) Next

func (ps *PassState) Next(nextState MachineState) MachineState

Next returns the next state

func (*PassState) WithComment

func (ps *PassState) WithComment(comment string) TransitionState

WithComment returns the TaskState comment

func (*PassState) WithInputPath

func (ps *PassState) WithInputPath(inputPath string) TransitionState

WithInputPath returns the TaskState input data selector

func (*PassState) WithOutputPath

func (ps *PassState) WithOutputPath(outputPath string) TransitionState

WithOutputPath returns the TaskState output data selector

func (*PassState) WithResult

func (ps *PassState) WithResult(result interface{}) *PassState

WithResult is the fluent builder for the result data

func (*PassState) WithResultPath

func (ps *PassState) WithResultPath(resultPath string) *PassState

WithResultPath is the fluent builder for the result path

type SNSTaskParameters added in v1.8.0

type SNSTaskParameters struct {
	Message           string                 `json:",omitempty"`
	Subject           string                 `json:",omitempty"`
	MessageAttributes map[string]interface{} `json:",omitempty"`
	MessageStructure  string                 `json:",omitempty"`
	PhoneNumber       string                 `json:",omitempty"`
	TargetArn         gocf.Stringable        `json:",omitempty"`
	TopicArn          gocf.Stringable        `json:",omitempty"`
}

SNSTaskParameters represents params for the SNS notification Ref: https://docs.aws.amazon.com/sns/latest/api/API_Publish.html#API_Publish_RequestParameters

type SNSTaskState added in v1.8.0

type SNSTaskState struct {
	BaseTask
	// contains filtered or unexported fields
}

SNSTaskState represents bindings for https://docs.aws.amazon.com/step-functions/latest/dg/connectors-sns.html

func NewSNSTaskState added in v1.8.0

func NewSNSTaskState(stateName string,
	parameters SNSTaskParameters) *SNSTaskState

NewSNSTaskState returns an initialized SNSTaskState

func (*SNSTaskState) MarshalJSON added in v1.8.0

func (sts *SNSTaskState) MarshalJSON() ([]byte, error)

MarshalJSON for custom marshalling, since this will be stringified and we need it to turn into a stringified Ref: https://docs.aws.amazon.com/step-functions/latest/dg/connectors-sns.html

type SQSTaskParameters added in v1.8.0

type SQSTaskParameters struct {
	MessageBody            string                 `json:",omitempty"`
	QueueURL               gocf.Stringable        `json:",omitempty"`
	DelaySeconds           int                    `json:",omitempty"`
	MessageAttributes      map[string]interface{} `json:",omitempty"`
	MessageDeduplicationID string                 `json:"MessageDeduplicationId,omitempty"`
	MessageGroupID         string                 `json:"MessageGroupId,omitempty"`
}

SQSTaskParameters represents params for the SQS notification Ref: https://docs.aws.amazon.com/sns/latest/api/API_Publish.html#API_Publish_RequestParameters

type SQSTaskState added in v1.8.0

type SQSTaskState struct {
	BaseTask
	// contains filtered or unexported fields
}

SQSTaskState represents bindings for https://docs.aws.amazon.com/step-functions/latest/dg/connectors-sqs.html

func NewSQSTaskState added in v1.8.0

func NewSQSTaskState(stateName string,
	parameters SQSTaskParameters) *SQSTaskState

NewSQSTaskState returns an initialized SQSTaskState

func (*SQSTaskState) MarshalJSON added in v1.8.0

func (sqs *SQSTaskState) MarshalJSON() ([]byte, error)

MarshalJSON for custom marshalling, since this will be stringified and we need it to turn into a stringified Ref: https://docs.aws.amazon.com/step-functions/latest/dg/connectors-sqs.html

type SageMakerTag added in v1.8.0

type SageMakerTag struct {
	Key   string          `json:",omitempty"`
	Value gocf.Stringable `json:",omitempty"`
}

SageMakerTag represents a tag for a SageMaker task

type SageMakerTrainingJob added in v1.8.0

type SageMakerTrainingJob struct {
	BaseTask
	// contains filtered or unexported fields
}

SageMakerTrainingJob represents bindings for https://docs.aws.amazon.com/step-functions/latest/dg/connectors-sqs.html

func NewSageMakerTrainingJob added in v1.8.0

func NewSageMakerTrainingJob(stateName string,
	parameters SageMakerTrainingJobParameters) *SageMakerTrainingJob

NewSageMakerTrainingJob returns an initialized SQSTaskState

func (*SageMakerTrainingJob) MarshalJSON added in v1.8.0

func (smtj *SageMakerTrainingJob) MarshalJSON() ([]byte, error)

MarshalJSON for custom marshalling, since this will be stringified and we need it to turn into a stringified Ref: https://docs.aws.amazon.com/step-functions/latest/dg/connectors-sqs.html

type SageMakerTrainingJobParameters added in v1.8.0

type SageMakerTrainingJobParameters struct {
	AlgorithmSpecification map[string]interface{} `json:",omitempty"`
	HyperParameters        map[string]interface{} `json:",omitempty"`
	InputDataConfig        []interface{}          `json:",omitempty"`
	OutputDataConfig       map[string]interface{} `json:",omitempty"`
	ResourceConfig         map[string]interface{} `json:",omitempty"`
	RoleArn                gocf.Stringable        `json:",omitempty"`
	StoppingCondition      interface{}            `json:",omitempty"`
	Tags                   []SageMakerTag         `json:",omitempty"`
	TrainingJobName        string                 `json:",omitempty"`
	VpcConfig              map[string]interface{} `json:",omitempty"`
}

SageMakerTrainingJobParameters are the parameters for a SageMaker Training Job as defined by https://docs.aws.amazon.com/sagemaker/latest/dg/API_CreateTrainingJob.html

type SageMakerTransformJob added in v1.8.0

type SageMakerTransformJob struct {
	BaseTask
	// contains filtered or unexported fields
}

SageMakerTransformJob represents bindings for https://docs.aws.amazon.com/step-functions/latest/dg/connectors-sqs.html

func NewSageMakerTransformJob added in v1.8.0

func NewSageMakerTransformJob(stateName string,
	parameters SageMakerTransformJobParameters) *SageMakerTransformJob

NewSageMakerTransformJob returns an initialized SQSTaskState

func (*SageMakerTransformJob) MarshalJSON added in v1.8.0

func (smtj *SageMakerTransformJob) MarshalJSON() ([]byte, error)

MarshalJSON for custom marshalling, since this will be stringified and we need it to turn into a stringified Ref: https://docs.aws.amazon.com/step-functions/latest/dg/connectors-sqs.html

type SageMakerTransformJobParameters added in v1.8.0

type SageMakerTransformJobParameters struct {
	BatchStrategy           string                 `json:",omitempty"`
	Environment             map[string]string      `json:",omitempty"`
	MaxConcurrentTransforms int                    `json:",omitempty"`
	MaxPayloadInMB          int                    `json:",omitempty"`
	ModelName               string                 `json:",omitempty"`
	Tags                    []SageMakerTag         `json:",omitempty"`
	TransformInput          map[string]interface{} `json:",omitempty"`
	TransformJobName        string                 `json:",omitempty"`
	TransformOutput         map[string]interface{} `json:",omitempty"`
	TransformResources      map[string]interface{} `json:",omitempty"`
}

SageMakerTransformJobParameters are the parameters for a SageMaker Training Job as defined by https://docs.aws.amazon.com/sagemaker/latest/dg/API_CreateTransformJob.html

type StateError

type StateError string

StateError is the reserved type used for AWS Step function error names Ref: https://states-language.net/spec.html#appendix-a

const (
	// StatesAll is a wild-card which matches any Error Name.
	StatesAll StateError = "States.ALL"
	// StatesTimeout is a Task State either ran longer than the
	// “TimeoutSeconds” value, or failed to heartbeat for a time
	// longer than the “HeartbeatSeconds” value.
	StatesTimeout StateError = "States.Timeout"
	// StatesTaskFailed is a Task State failed during the execution
	StatesTaskFailed StateError = "States.TaskFailed"
	// StatesPermissions is a Task State failed because it had
	// insufficient privileges to execute the specified code.
	StatesPermissions StateError = "States.Permissions"
	// StatesResultPathMatchFailure is a Task State’s “ResultPath” field
	// cannot be applied to the input the state received
	StatesResultPathMatchFailure StateError = "States.ResultPathMatchFailure"
	// StatesBranchFailed is a branch of a Parallel state failed
	StatesBranchFailed StateError = "States.BranchFailed"
	// StatesNoChoiceMatched is a Choice state failed to find a match for the
	// condition field extracted from its input
	StatesNoChoiceMatched StateError = "States.NoChoiceMatched"
)

type StateMachine

type StateMachine struct {
	// contains filtered or unexported fields
}

StateMachine is the top level item

func NewExpressStateMachine added in v1.15.0

func NewExpressStateMachine(stateMachineName string,
	loggingConfiguration *gocf.StepFunctionsStateMachineLoggingConfiguration,
	startState TransitionState) *StateMachine

NewExpressStateMachine returns a new Express StateMachine instance. See https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html for more information.

func NewStateMachine

func NewStateMachine(stateMachineName string, startState MachineState) *StateMachine

NewStateMachine returns a new StateMachine instance

func (*StateMachine) Comment

func (sm *StateMachine) Comment(comment string) *StateMachine

Comment sets the StateMachine comment

func (*StateMachine) MarshalJSON

func (sm *StateMachine) MarshalJSON() ([]byte, error)

MarshalJSON for custom marshalling

func (*StateMachine) StateMachineDecorator

func (sm *StateMachine) StateMachineDecorator() sparta.ServiceDecoratorHookFunc

StateMachineDecorator is a decorator that returns a default CloudFormationResource named decorator

func (*StateMachine) StateMachineNamedDecorator added in v1.8.0

func (sm *StateMachine) StateMachineNamedDecorator(stepFunctionResourceName string) sparta.ServiceDecoratorHookFunc

StateMachineNamedDecorator is the hook exposed by the StateMachine to insert the AWS Step function into the CloudFormation template

func (*StateMachine) WithRoleArn added in v1.8.0

func (sm *StateMachine) WithRoleArn(roleArn gocf.Stringable) *StateMachine

WithRoleArn sets the state machine roleArn

type StringEquals

type StringEquals struct {
	Comparison
	Variable string
	Value    string
}

StringEquals comparison

func (*StringEquals) MarshalJSON

func (cmp *StringEquals) MarshalJSON() ([]byte, error)

MarshalJSON for custom marshalling

type StringGreaterThan

type StringGreaterThan struct {
	Comparison
	Variable string
	Value    string
}

StringGreaterThan comparison

func (*StringGreaterThan) MarshalJSON

func (cmp *StringGreaterThan) MarshalJSON() ([]byte, error)

MarshalJSON for custom marshalling

type StringGreaterThanEquals

type StringGreaterThanEquals struct {
	Comparison
	Variable string
	Value    string
}

StringGreaterThanEquals comparison

func (*StringGreaterThanEquals) MarshalJSON

func (cmp *StringGreaterThanEquals) MarshalJSON() ([]byte, error)

MarshalJSON for custom marshalling

type StringLessThan

type StringLessThan struct {
	Comparison
	Variable string
	Value    string
}

StringLessThan comparison

func (*StringLessThan) MarshalJSON

func (cmp *StringLessThan) MarshalJSON() ([]byte, error)

MarshalJSON for custom marshalling

type StringLessThanEquals

type StringLessThanEquals struct {
	Variable string
	Value    string
}

StringLessThanEquals comparison

func (*StringLessThanEquals) MarshalJSON

func (cmp *StringLessThanEquals) MarshalJSON() ([]byte, error)

MarshalJSON for custom marshalling

type SuccessState

type SuccessState struct {
	// contains filtered or unexported fields
}

SuccessState represents the end of the state machine

func NewSuccessState

func NewSuccessState(name string) *SuccessState

NewSuccessState returns a "SuccessState" with the supplied name

func (*SuccessState) AdjacentStates added in v1.8.0

func (ss *SuccessState) AdjacentStates() []MachineState

AdjacentStates returns nodes reachable from this node

func (*SuccessState) MarshalJSON

func (ss *SuccessState) MarshalJSON() ([]byte, error)

MarshalJSON for custom marshalling

func (*SuccessState) Name

func (ss *SuccessState) Name() string

Name returns the WaitDelay name

func (*SuccessState) Next

func (ss *SuccessState) Next(nextState MachineState) MachineState

Next sets the step after the wait delay

func (*SuccessState) WithComment

func (ss *SuccessState) WithComment(comment string) TransitionState

WithComment returns the WaitDelay comment

func (*SuccessState) WithInputPath

func (ss *SuccessState) WithInputPath(inputPath string) TransitionState

WithInputPath returns the TaskState input data selector

func (*SuccessState) WithOutputPath

func (ss *SuccessState) WithOutputPath(outputPath string) TransitionState

WithOutputPath returns the TaskState output data selector

type TaskCatch

type TaskCatch struct {
	// contains filtered or unexported fields
}

TaskCatch is an action to handle a failing operation

func NewTaskCatch

func NewTaskCatch(nextState TransitionState, errors ...StateError) *TaskCatch

NewTaskCatch returns a new TaskCatch instance

func (*TaskCatch) MarshalJSON added in v1.8.0

func (tc *TaskCatch) MarshalJSON() ([]byte, error)

MarshalJSON to prevent inadvertent composition

type TaskRetry

type TaskRetry struct {
	ErrorEquals []StateError `json:",omitempty"`
	//lint:ignore ST1011 we want to give a cue to the client of the units
	IntervalSeconds time.Duration `json:",omitempty"`
	MaxAttempts     int           `json:",omitempty"`
	BackoffRate     float32       `json:",omitempty"`
}

TaskRetry is an action to perform in response to a Task failure

func NewTaskRetry

func NewTaskRetry() *TaskRetry

NewTaskRetry returns a new TaskRetry instance

func (*TaskRetry) WithBackoffRate

func (tr *TaskRetry) WithBackoffRate(backoffRate float32) *TaskRetry

WithBackoffRate is the fluent builder

func (*TaskRetry) WithErrors

func (tr *TaskRetry) WithErrors(errors ...StateError) *TaskRetry

WithErrors is the fluent builder

func (*TaskRetry) WithInterval

func (tr *TaskRetry) WithInterval(interval time.Duration) *TaskRetry

WithInterval is the fluent builder

func (*TaskRetry) WithMaxAttempts

func (tr *TaskRetry) WithMaxAttempts(maxAttempts int) *TaskRetry

WithMaxAttempts is the fluent builder

type TimestampEquals

type TimestampEquals struct {
	Comparison
	Variable string
	Value    time.Time
}

TimestampEquals comparison

func (*TimestampEquals) MarshalJSON

func (cmp *TimestampEquals) MarshalJSON() ([]byte, error)

MarshalJSON for custom marshalling

type TimestampGreaterThan

type TimestampGreaterThan struct {
	Variable string
	Value    time.Time
}

TimestampGreaterThan comparison

func (*TimestampGreaterThan) MarshalJSON

func (cmp *TimestampGreaterThan) MarshalJSON() ([]byte, error)

MarshalJSON for custom marshalling

type TimestampGreaterThanEquals

type TimestampGreaterThanEquals struct {
	Comparison
	Variable string
	Value    time.Time
}

TimestampGreaterThanEquals comparison

func (*TimestampGreaterThanEquals) MarshalJSON

func (cmp *TimestampGreaterThanEquals) MarshalJSON() ([]byte, error)

MarshalJSON for custom marshalling

type TimestampLessThan

type TimestampLessThan struct {
	Comparison
	Variable string
	Value    time.Time
}

TimestampLessThan comparison

func (*TimestampLessThan) MarshalJSON

func (cmp *TimestampLessThan) MarshalJSON() ([]byte, error)

MarshalJSON for custom marshalling

type TimestampLessThanEquals

type TimestampLessThanEquals struct {
	Comparison
	Variable string
	Value    time.Time
}

TimestampLessThanEquals comparison

func (*TimestampLessThanEquals) MarshalJSON

func (cmp *TimestampLessThanEquals) MarshalJSON() ([]byte, error)

MarshalJSON for custom marshalling

type TransitionState

type TransitionState interface {
	MachineState
	Next(state MachineState) MachineState
	// AdjacentStates returns all the MachineStates that are reachable from
	// the current state
	AdjacentStates() []MachineState
	WithComment(string) TransitionState
	WithInputPath(string) TransitionState
	WithOutputPath(string) TransitionState
}

TransitionState is the generic state according to https://states-language.net/spec.html#state-type-table

type WaitDelay

type WaitDelay struct {
	// contains filtered or unexported fields
}

WaitDelay is a delay with an interval

func NewWaitDelayState

func NewWaitDelayState(stateName string, delay time.Duration) *WaitDelay

NewWaitDelayState returns a new WaitDelay pointer instance

func (*WaitDelay) AdjacentStates added in v1.8.0

func (wd *WaitDelay) AdjacentStates() []MachineState

AdjacentStates returns nodes reachable from this node

func (*WaitDelay) MarshalJSON

func (wd *WaitDelay) MarshalJSON() ([]byte, error)

MarshalJSON for custom marshalling

func (*WaitDelay) Name

func (wd *WaitDelay) Name() string

Name returns the WaitDelay name

func (*WaitDelay) Next

func (wd *WaitDelay) Next(nextState MachineState) MachineState

Next sets the step after the wait delay

func (*WaitDelay) WithComment

func (wd *WaitDelay) WithComment(comment string) TransitionState

WithComment returns the WaitDelay comment

func (*WaitDelay) WithInputPath

func (wd *WaitDelay) WithInputPath(inputPath string) TransitionState

WithInputPath returns the TaskState input data selector

func (*WaitDelay) WithOutputPath

func (wd *WaitDelay) WithOutputPath(outputPath string) TransitionState

WithOutputPath returns the TaskState output data selector

type WaitDynamicUntil

type WaitDynamicUntil struct {
	TimestampPath string
	SecondsPath   string
	// contains filtered or unexported fields
}

WaitDynamicUntil is a delay based on a previous response

func NewDynamicWaitDurationState added in v1.15.0

func NewDynamicWaitDurationState(stateName string, secondsPath string) *WaitDynamicUntil

NewDynamicWaitDurationState returns a new WaitDynamicUntil pointer instance

func NewWaitDynamicUntilState

func NewWaitDynamicUntilState(stateName string, timestampPath string) *WaitDynamicUntil

NewWaitDynamicUntilState returns a new WaitDynamicUntil pointer instance

func (*WaitDynamicUntil) AdjacentStates added in v1.8.0

func (wdu *WaitDynamicUntil) AdjacentStates() []MachineState

AdjacentStates returns nodes reachable from this node

func (*WaitDynamicUntil) MarshalJSON

func (wdu *WaitDynamicUntil) MarshalJSON() ([]byte, error)

MarshalJSON for custom marshalling

func (*WaitDynamicUntil) Name

func (wdu *WaitDynamicUntil) Name() string

Name returns the WaitDelay name

func (*WaitDynamicUntil) Next

func (wdu *WaitDynamicUntil) Next(nextState MachineState) MachineState

Next sets the step after the wait delay

func (*WaitDynamicUntil) WithComment

func (wdu *WaitDynamicUntil) WithComment(comment string) TransitionState

WithComment returns the WaitDelay comment

func (*WaitDynamicUntil) WithInputPath

func (wdu *WaitDynamicUntil) WithInputPath(inputPath string) TransitionState

WithInputPath returns the TaskState input data selector

func (*WaitDynamicUntil) WithOutputPath

func (wdu *WaitDynamicUntil) WithOutputPath(outputPath string) TransitionState

WithOutputPath returns the TaskState output data selector

type WaitUntil

type WaitUntil struct {
	Timestamp time.Time
	// contains filtered or unexported fields
}

WaitUntil is a delay with an absolute time gate

func NewWaitUntilState

func NewWaitUntilState(stateName string, waitUntil time.Time) *WaitUntil

NewWaitUntilState returns a new WaitDelay pointer instance

func (*WaitUntil) AdjacentStates added in v1.8.0

func (wu *WaitUntil) AdjacentStates() []MachineState

AdjacentStates returns nodes reachable from this node

func (*WaitUntil) MarshalJSON

func (wu *WaitUntil) MarshalJSON() ([]byte, error)

MarshalJSON for custom marshalling

func (*WaitUntil) Name

func (wu *WaitUntil) Name() string

Name returns the WaitDelay name

func (*WaitUntil) Next

func (wu *WaitUntil) Next(nextState MachineState) MachineState

Next sets the step after the wait delay

func (*WaitUntil) WithComment

func (wu *WaitUntil) WithComment(comment string) TransitionState

WithComment returns the WaitDelay comment

func (*WaitUntil) WithInputPath

func (wu *WaitUntil) WithInputPath(inputPath string) TransitionState

WithInputPath returns the TaskState input data selector

func (*WaitUntil) WithOutputPath

func (wu *WaitUntil) WithOutputPath(outputPath string) TransitionState

WithOutputPath returns the TaskState output data selector

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL