Class SqsToPipesToStepfunctions.Builder

java.lang.Object
software.amazon.awsconstructs.services.sqspipesstepfunctions.SqsToPipesToStepfunctions.Builder
All Implemented Interfaces:
software.amazon.jsii.Builder<SqsToPipesToStepfunctions>
Enclosing class:
SqsToPipesToStepfunctions

public static final class SqsToPipesToStepfunctions.Builder extends Object implements software.amazon.jsii.Builder<SqsToPipesToStepfunctions>
A fluent builder for SqsToPipesToStepfunctions.
  • Method Details

    • create

      public static SqsToPipesToStepfunctions.Builder create(software.constructs.Construct scope, String id)
      Parameters:
      scope -
      • represents the scope for all the resources.
      This parameter is required.
      id -
      • this is a a scope-unique id.
      This parameter is required.
      Returns:
      a new instance of SqsToPipesToStepfunctions.Builder.
    • createCloudWatchAlarms

      public SqsToPipesToStepfunctions.Builder createCloudWatchAlarms(Boolean createCloudWatchAlarms)
      Whether to create recommended CloudWatch alarms.

      default = true

      Parameters:
      createCloudWatchAlarms - Whether to create recommended CloudWatch alarms. This parameter is required.
      Returns:
      this
    • deadLetterQueueProps

      public SqsToPipesToStepfunctions.Builder deadLetterQueueProps(software.amazon.awscdk.services.sqs.QueueProps deadLetterQueueProps)
      Optional user-provided props to override the default props for the dead letter SQS queue.

      Parameters:
      deadLetterQueueProps - Optional user-provided props to override the default props for the dead letter SQS queue. This parameter is required.
      Returns:
      this
    • deployDeadLetterQueue

      public SqsToPipesToStepfunctions.Builder deployDeadLetterQueue(Boolean deployDeadLetterQueue)
      Whether to create a secondary queue to be used as a dead letter queue.

      default = true.

      Parameters:
      deployDeadLetterQueue - Whether to create a secondary queue to be used as a dead letter queue. This parameter is required.
      Returns:
      this
    • encryptQueueWithCmk

      public SqsToPipesToStepfunctions.Builder encryptQueueWithCmk(Boolean encryptQueueWithCmk)
      Whether to encrypt the Queue with a customer managed KMS key (CMK).

      This is the default behavior, and this property defaults to true - if it is explicitly set to false then the Queue is encrypted with an Amazon managed KMS key. For a completely unencrypted Queue (not recommended), create the Queue separately from the construct and pass it in using the existingQueueObject. Since SNS subscriptions do not currently support SQS queues with AWS managed encryption keys, setting this to false will always result in an error from the underlying CDK - we have still included this property for consistency with topics and to be ready if the services one day support this functionality.

      Parameters:
      encryptQueueWithCmk - Whether to encrypt the Queue with a customer managed KMS key (CMK). This parameter is required.
      Returns:
      this
    • enrichmentFunction

      public SqsToPipesToStepfunctions.Builder enrichmentFunction(software.amazon.awscdk.services.lambda.Function enrichmentFunction)
      Optional - Lambda function that the construct will configure to be called to enrich the message between source and target.

      The construct will configure the pipe IAM role to allow invoking the function (but will not affect the IArole assigned to the function). Specifying both this and enrichmentStateMachine is an error. Default - undefined

      Parameters:
      enrichmentFunction - Optional - Lambda function that the construct will configure to be called to enrich the message between source and target. This parameter is required.
      Returns:
      this
    • enrichmentStateMachine

      public SqsToPipesToStepfunctions.Builder enrichmentStateMachine(software.amazon.awscdk.services.stepfunctions.StateMachine enrichmentStateMachine)
      Optional - Step Functions state machine that the construct will configure to be called to enrich the message between source and target.

      The construct will configure the pipe IAM role to allow executing the state machine (but will not affect the IAM role assigned to the state machine). Specifying both this and enrichmentStateMachine is an error. Enrichment is invoked synchronously, so this must be an EXPRESS state machin. Default - undefined

      Parameters:
      enrichmentStateMachine - Optional - Step Functions state machine that the construct will configure to be called to enrich the message between source and target. This parameter is required.
      Returns:
      this
    • existingQueueEncryptionKey

      public SqsToPipesToStepfunctions.Builder existingQueueEncryptionKey(software.amazon.awscdk.services.kms.Key existingQueueEncryptionKey)
      An optional CMK that will be used by the construct to encrypt the new SQS queue.

      Parameters:
      existingQueueEncryptionKey - An optional CMK that will be used by the construct to encrypt the new SQS queue. This parameter is required.
      Returns:
      this
    • existingQueueObj

      public SqsToPipesToStepfunctions.Builder existingQueueObj(software.amazon.awscdk.services.sqs.Queue existingQueueObj)
      An optional, existing SQS queue to be used instead of the default queue.

      Providing both this and queueProps will cause an error.

      Parameters:
      existingQueueObj - An optional, existing SQS queue to be used instead of the default queue. This parameter is required.
      Returns:
      this
    • existingStateMachineObj

      public SqsToPipesToStepfunctions.Builder existingStateMachineObj(software.amazon.awscdk.services.stepfunctions.StateMachine existingStateMachineObj)
      Optional existing state machine to incorporate into the construct.

      Parameters:
      existingStateMachineObj - Optional existing state machine to incorporate into the construct. This parameter is required.
      Returns:
      this
    • logGroupProps

      public SqsToPipesToStepfunctions.Builder logGroupProps(software.amazon.awscdk.services.logs.LogGroupProps logGroupProps)
      Optional user provided props to override the default props for for the CloudWatchLogs LogGroup.

      Parameters:
      logGroupProps - Optional user provided props to override the default props for for the CloudWatchLogs LogGroup. This parameter is required.
      Returns:
      this
    • logLevel

      public SqsToPipesToStepfunctions.Builder logLevel(software.amazon.awsconstructs.services.core.PipesLogLevel logLevel)
      Threshold for what messages the new pipe sends to the log, PipesLogLevel.OFF, PipesLogLevel.ERROR, PipesLogLevel.INFO, PipesLogLevel.TRACE. The default is INFO. Setting the level to OFF will prevent any log group from being created. Providing pipeProps.logConfiguration will controls all aspects of logging and any construct provided log configuration is disabled. If pipeProps.logConfiguration is provided then specifying this or pipeLogProps is an error.

      Parameters:
      logLevel - Threshold for what messages the new pipe sends to the log, PipesLogLevel.OFF, PipesLogLevel.ERROR, PipesLogLevel.INFO, PipesLogLevel.TRACE. The default is INFO. Setting the level to OFF will prevent any log group from being created. Providing pipeProps.logConfiguration will controls all aspects of logging and any construct provided log configuration is disabled. If pipeProps.logConfiguration is provided then specifying this or pipeLogProps is an error. This parameter is required.
      Returns:
      this
    • maxReceiveCount

      public SqsToPipesToStepfunctions.Builder maxReceiveCount(Number maxReceiveCount)
      The number of times a message can be unsuccessfully dequeued before being moved to the dead letter queue.

      Defaults to 15.

      Parameters:
      maxReceiveCount - The number of times a message can be unsuccessfully dequeued before being moved to the dead letter queue. This parameter is required.
      Returns:
      this
    • pipeLogProps

      public SqsToPipesToStepfunctions.Builder pipeLogProps(software.amazon.awscdk.services.logs.LogGroupProps pipeLogProps)
      Default behavior is for the this construct to create a new CloudWatch Logs log group for the pipe.

      These props are used to override defaults set by AWS or this construct. If there are concerns about the cost of log storage, this is where a client can specify a shorter retention duration (in days)

      Parameters:
      pipeLogProps - Default behavior is for the this construct to create a new CloudWatch Logs log group for the pipe. This parameter is required.
      Returns:
      this
    • pipeProps

      public SqsToPipesToStepfunctions.Builder pipeProps(Object pipeProps)
      Optional customer provided settings for the EventBridge pipe.

      source, target and roleArn are set by the construct and cannot be overriden. The construct will generate default sourceParameters, targetParameters and logConfiguration that can be overriden by populating those values in these props. If the client wants to implement enrichment or a filter, this is where that information can be provided. Any other props can be freely overridden.

      Parameters:
      pipeProps - Optional customer provided settings for the EventBridge pipe. This parameter is required.
      Returns:
      this
    • queueEncryptionKeyProps

      public SqsToPipesToStepfunctions.Builder queueEncryptionKeyProps(software.amazon.awscdk.services.kms.KeyProps queueEncryptionKeyProps)
      An optional subset of key properties to override the default properties used by constructs (enableKeyRotation: true).

      These properties will be used in constructing the CMK used to encrypt the SQS queue.

      Parameters:
      queueEncryptionKeyProps - An optional subset of key properties to override the default properties used by constructs (enableKeyRotation: true). This parameter is required.
      Returns:
      this
    • queueProps

      public SqsToPipesToStepfunctions.Builder queueProps(software.amazon.awscdk.services.sqs.QueueProps queueProps)
      Optional user provided properties to override the default properties for the SQS queue.

      Parameters:
      queueProps - Optional user provided properties to override the default properties for the SQS queue. This parameter is required.
      Returns:
      this
    • stateMachineProps

      public SqsToPipesToStepfunctions.Builder stateMachineProps(software.amazon.awscdk.services.stepfunctions.StateMachineProps stateMachineProps)
      User provided props for the sfn.StateMachine. This or existingStateMachine is required.

      Parameters:
      stateMachineProps - User provided props for the sfn.StateMachine. This or existingStateMachine is required. This parameter is required.
      Returns:
      this
    • build

      public SqsToPipesToStepfunctions build()
      Specified by:
      build in interface software.amazon.jsii.Builder<SqsToPipesToStepfunctions>
      Returns:
      a newly built instance of SqsToPipesToStepfunctions.