package awseventstargets import ( "github.com/aws/aws-cdk-go/awscdk/v2" "github.com/aws/aws-cdk-go/awscdk/v2/awsevents" "github.com/aws/aws-cdk-go/awscdk/v2/awsiam" "github.com/aws/aws-cdk-go/awscdk/v2/awssqs" ) // Customize the Step Functions State Machine target. // // Example: // import "github.com/aws/aws-cdk-go/awscdk" // import "github.com/aws/aws-cdk-go/awscdk" // // // rule := events.NewRule(this, jsii.String("Rule"), &RuleProps{ // Schedule: events.Schedule_Rate(awscdk.Duration_Minutes(jsii.Number(1))), // }) // // dlq := sqs.NewQueue(this, jsii.String("DeadLetterQueue")) // // role := iam.NewRole(this, jsii.String("Role"), &RoleProps{ // AssumedBy: iam.NewServicePrincipal(jsii.String("events.amazonaws.com")), // }) // stateMachine := sfn.NewStateMachine(this, jsii.String("SM"), &StateMachineProps{ // Definition: sfn.NewWait(this, jsii.String("Hello"), &WaitProps{ // Time: sfn.WaitTime_Duration(awscdk.Duration_Seconds(jsii.Number(10))), // }), // }) // // rule.AddTarget(targets.NewSfnStateMachine(stateMachine, &SfnStateMachineProps{ // Input: events.RuleTargetInput_FromObject(map[string]*string{ // "SomeParam": jsii.String("SomeValue"), // }), // DeadLetterQueue: dlq, // Role: role, // })) // type SfnStateMachineProps struct { // The SQS queue to be used as deadLetterQueue. Check out the [considerations for using a dead-letter queue](https://docs.aws.amazon.com/eventbridge/latest/userguide/rule-dlq.html#dlq-considerations). // // The events not successfully delivered are automatically retried for a specified period of time, // depending on the retry policy of the target. // If an event is not delivered before all retry attempts are exhausted, it will be sent to the dead letter queue. DeadLetterQueue awssqs.IQueue `field:"optional" json:"deadLetterQueue" yaml:"deadLetterQueue"` // The maximum age of a request that Lambda sends to a function for processing. // // Minimum value of 60. // Maximum value of 86400. MaxEventAge awscdk.Duration `field:"optional" json:"maxEventAge" yaml:"maxEventAge"` // The maximum number of times to retry when the function returns an error. // // Minimum value of 0. // Maximum value of 185. RetryAttempts *float64 `field:"optional" json:"retryAttempts" yaml:"retryAttempts"` // The input to the state machine execution. Input awsevents.RuleTargetInput `field:"optional" json:"input" yaml:"input"` // The IAM role to be assumed to execute the State Machine. Role awsiam.IRole `field:"optional" json:"role" yaml:"role"` }