Class SelfManagedKafkaEventSource.Builder

java.lang.Object
software.amazon.awscdk.services.lambda.eventsources.SelfManagedKafkaEventSource.Builder
All Implemented Interfaces:
software.amazon.jsii.Builder<SelfManagedKafkaEventSource>
Enclosing class:
SelfManagedKafkaEventSource

@Stability(Stable) public static final class SelfManagedKafkaEventSource.Builder extends Object implements software.amazon.jsii.Builder<SelfManagedKafkaEventSource>
A fluent builder for SelfManagedKafkaEventSource.
  • Method Details

    • create

      @Stability(Stable) public static SelfManagedKafkaEventSource.Builder create()
      Returns:
      a new instance of SelfManagedKafkaEventSource.Builder.
    • startingPosition

      @Stability(Stable) public SelfManagedKafkaEventSource.Builder startingPosition(StartingPosition startingPosition)
      Where to begin consuming the stream.

      Parameters:
      startingPosition - Where to begin consuming the stream. This parameter is required.
      Returns:
      this
    • batchSize

      @Stability(Stable) public SelfManagedKafkaEventSource.Builder batchSize(Number batchSize)
      The largest number of records that AWS Lambda will retrieve from your event source at the time of invoking your function.

      Your function receives an event with all the retrieved records.

      Valid Range:

      • Minimum value of 1
      • Maximum value of:

        • 1000 for DynamoEventSource
        • 10000 for KinesisEventSource, ManagedKafkaEventSource and SelfManagedKafkaEventSource

      Default: 100

      Parameters:
      batchSize - The largest number of records that AWS Lambda will retrieve from your event source at the time of invoking your function. This parameter is required.
      Returns:
      this
    • enabled

      @Stability(Stable) public SelfManagedKafkaEventSource.Builder enabled(Boolean enabled)
      If the stream event source mapping should be enabled.

      Default: true

      Parameters:
      enabled - If the stream event source mapping should be enabled. This parameter is required.
      Returns:
      this
    • maxBatchingWindow

      @Stability(Stable) public SelfManagedKafkaEventSource.Builder maxBatchingWindow(Duration maxBatchingWindow)
      The maximum amount of time to gather records before invoking the function.

      Maximum of Duration.minutes(5).

      Default: - Duration.seconds(0) for Kinesis, DynamoDB, and SQS event sources, Duration.millis(500) for MSK, self-managed Kafka, and Amazon MQ.

      Parameters:
      maxBatchingWindow - The maximum amount of time to gather records before invoking the function. This parameter is required.
      Returns:
      this
      See Also:
    • provisionedPollerConfig

      @Stability(Stable) public SelfManagedKafkaEventSource.Builder provisionedPollerConfig(ProvisionedPollerConfig provisionedPollerConfig)
      Configuration for provisioned pollers that read from the event source.

      When specified, allows control over the minimum and maximum number of pollers that can be provisioned to process events from the source.

      Default: - no provisioned pollers

      Parameters:
      provisionedPollerConfig - Configuration for provisioned pollers that read from the event source. This parameter is required.
      Returns:
      this
    • topic

      @Stability(Stable) public SelfManagedKafkaEventSource.Builder topic(String topic)
      The Kafka topic to subscribe to.

      Parameters:
      topic - The Kafka topic to subscribe to. This parameter is required.
      Returns:
      this
    • consumerGroupId

      @Stability(Stable) public SelfManagedKafkaEventSource.Builder consumerGroupId(String consumerGroupId)
      The identifier for the Kafka consumer group to join.

      The consumer group ID must be unique among all your Kafka event sources. After creating a Kafka event source mapping with the consumer group ID specified, you cannot update this value. The value must have a length between 1 and 200 and full the pattern '[a-zA-Z0-9-/:_+=.@-]'.

      Default: - none

      Parameters:
      consumerGroupId - The identifier for the Kafka consumer group to join. This parameter is required.
      Returns:
      this
      See Also:
    • filterEncryption

      @Stability(Stable) public SelfManagedKafkaEventSource.Builder filterEncryption(IKey filterEncryption)
      Add Customer managed KMS key to encrypt Filter Criteria.

      Default: - none

      Parameters:
      filterEncryption - Add Customer managed KMS key to encrypt Filter Criteria. This parameter is required.
      Returns:
      this
      See Also:
    • filters

      @Stability(Stable) public SelfManagedKafkaEventSource.Builder filters(List<? extends Map<String,? extends Object>> filters)
      Add filter criteria to Event Source.

      Default: - none

      Parameters:
      filters - Add filter criteria to Event Source. This parameter is required.
      Returns:
      this
      See Also:
    • onFailure

      @Stability(Stable) public SelfManagedKafkaEventSource.Builder onFailure(IEventSourceDlq onFailure)
      Add an on Failure Destination for this Kafka event.

      SNS/SQS/S3 are supported

      Default: - discarded records are ignored

      Parameters:
      onFailure - Add an on Failure Destination for this Kafka event. This parameter is required.
      Returns:
      this
    • secret

      @Stability(Stable) public SelfManagedKafkaEventSource.Builder secret(ISecret secret)
      The secret with the Kafka credentials, see https://docs.aws.amazon.com/msk/latest/developerguide/msk-password.html for details This field is required if your Kafka brokers are accessed over the Internet.

      Default: none

      Parameters:
      secret - The secret with the Kafka credentials, see https://docs.aws.amazon.com/msk/latest/developerguide/msk-password.html for details This field is required if your Kafka brokers are accessed over the Internet. This parameter is required.
      Returns:
      this
    • bootstrapServers

      @Stability(Stable) public SelfManagedKafkaEventSource.Builder bootstrapServers(List<String> bootstrapServers)
      The list of host and port pairs that are the addresses of the Kafka brokers in a "bootstrap" Kafka cluster that a Kafka client connects to initially to bootstrap itself.

      They are in the format abc.xyz.com:xxxx.

      Parameters:
      bootstrapServers - The list of host and port pairs that are the addresses of the Kafka brokers in a "bootstrap" Kafka cluster that a Kafka client connects to initially to bootstrap itself. This parameter is required.
      Returns:
      this
    • authenticationMethod

      @Stability(Stable) public SelfManagedKafkaEventSource.Builder authenticationMethod(AuthenticationMethod authenticationMethod)
      The authentication method for your Kafka cluster.

      Default: AuthenticationMethod.SASL_SCRAM_512_AUTH

      Parameters:
      authenticationMethod - The authentication method for your Kafka cluster. This parameter is required.
      Returns:
      this
    • rootCaCertificate

      @Stability(Stable) public SelfManagedKafkaEventSource.Builder rootCaCertificate(ISecret rootCaCertificate)
      The secret with the root CA certificate used by your Kafka brokers for TLS encryption This field is required if your Kafka brokers use certificates signed by a private CA.

      Default: - none

      Parameters:
      rootCaCertificate - The secret with the root CA certificate used by your Kafka brokers for TLS encryption This field is required if your Kafka brokers use certificates signed by a private CA. This parameter is required.
      Returns:
      this
    • securityGroup

      @Stability(Stable) public SelfManagedKafkaEventSource.Builder securityGroup(ISecurityGroup securityGroup)
      If your Kafka brokers are only reachable via VPC, provide the security group here.

      Default: - none, required if setting vpc

      Parameters:
      securityGroup - If your Kafka brokers are only reachable via VPC, provide the security group here. This parameter is required.
      Returns:
      this
    • vpc

      @Stability(Stable) public SelfManagedKafkaEventSource.Builder vpc(IVpc vpc)
      If your Kafka brokers are only reachable via VPC provide the VPC here.

      Default: none

      Parameters:
      vpc - If your Kafka brokers are only reachable via VPC provide the VPC here. This parameter is required.
      Returns:
      this
    • vpcSubnets

      @Stability(Stable) public SelfManagedKafkaEventSource.Builder vpcSubnets(SubnetSelection vpcSubnets)
      If your Kafka brokers are only reachable via VPC, provide the subnets selection here.

      Default: - none, required if setting vpc

      Parameters:
      vpcSubnets - If your Kafka brokers are only reachable via VPC, provide the subnets selection here. This parameter is required.
      Returns:
      this
    • build

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