java.lang.Object
software.amazon.awscdk.services.kinesisfirehose.destinations.S3Bucket.Builder
All Implemented Interfaces:
software.amazon.jsii.Builder<S3Bucket>
Enclosing class:
S3Bucket

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

    • create

      @Stability(Experimental) public static S3Bucket.Builder create(IBucket bucket)
      Parameters:
      bucket - This parameter is required.
      Returns:
      a new instance of S3Bucket.Builder.
    • bufferingInterval

      @Stability(Experimental) public S3Bucket.Builder bufferingInterval(Duration bufferingInterval)
      (experimental) The length of time that Firehose buffers incoming data before delivering it to the S3 bucket.

      Minimum: Duration.seconds(60) Maximum: Duration.seconds(900)

      Default: Duration.seconds(300)

      Parameters:
      bufferingInterval - The length of time that Firehose buffers incoming data before delivering it to the S3 bucket. This parameter is required.
      Returns:
      this
    • bufferingSize

      @Stability(Experimental) public S3Bucket.Builder bufferingSize(Size bufferingSize)
      (experimental) The size of the buffer that Kinesis Data Firehose uses for incoming data before delivering it to the S3 bucket.

      Minimum: Size.mebibytes(1) Maximum: Size.mebibytes(128)

      Default: Size.mebibytes(5)

      Parameters:
      bufferingSize - The size of the buffer that Kinesis Data Firehose uses for incoming data before delivering it to the S3 bucket. This parameter is required.
      Returns:
      this
    • compression

      @Stability(Experimental) public S3Bucket.Builder compression(Compression compression)
      (experimental) The type of compression that Kinesis Data Firehose uses to compress the data that it delivers to the Amazon S3 bucket.

      The compression formats SNAPPY or ZIP cannot be specified for Amazon Redshift destinations because they are not supported by the Amazon Redshift COPY operation that reads from the S3 bucket.

      Default: - UNCOMPRESSED

      Parameters:
      compression - The type of compression that Kinesis Data Firehose uses to compress the data that it delivers to the Amazon S3 bucket. This parameter is required.
      Returns:
      this
    • dataOutputPrefix

      @Stability(Experimental) public S3Bucket.Builder dataOutputPrefix(String dataOutputPrefix)
      (experimental) A prefix that Kinesis Data Firehose evaluates and adds to records before writing them to S3.

      This prefix appears immediately following the bucket name.

      Default: "YYYY/MM/DD/HH"

      Parameters:
      dataOutputPrefix - A prefix that Kinesis Data Firehose evaluates and adds to records before writing them to S3. This parameter is required.
      Returns:
      this
      See Also:
    • encryptionKey

      @Stability(Experimental) public S3Bucket.Builder encryptionKey(IKey encryptionKey)
      (experimental) The AWS KMS key used to encrypt the data that it delivers to your Amazon S3 bucket.

      Default: - Data is not encrypted.

      Parameters:
      encryptionKey - The AWS KMS key used to encrypt the data that it delivers to your Amazon S3 bucket. This parameter is required.
      Returns:
      this
    • errorOutputPrefix

      @Stability(Experimental) public S3Bucket.Builder errorOutputPrefix(String errorOutputPrefix)
      (experimental) A prefix that Kinesis Data Firehose evaluates and adds to failed records before writing them to S3.

      This prefix appears immediately following the bucket name.

      Default: "YYYY/MM/DD/HH"

      Parameters:
      errorOutputPrefix - A prefix that Kinesis Data Firehose evaluates and adds to failed records before writing them to S3. This parameter is required.
      Returns:
      this
      See Also:
    • logging

      @Stability(Experimental) public S3Bucket.Builder logging(Boolean logging)
      (experimental) If true, log errors when data transformation or data delivery fails.

      If logGroup is provided, this will be implicitly set to true.

      Default: true - errors are logged.

      Parameters:
      logging - If true, log errors when data transformation or data delivery fails. This parameter is required.
      Returns:
      this
    • logGroup

      @Stability(Experimental) public S3Bucket.Builder logGroup(ILogGroup logGroup)
      (experimental) The CloudWatch log group where log streams will be created to hold error logs.

      Default: - if `logging` is set to `true`, a log group will be created for you.

      Parameters:
      logGroup - The CloudWatch log group where log streams will be created to hold error logs. This parameter is required.
      Returns:
      this
    • processor

      @Stability(Experimental) public S3Bucket.Builder processor(IDataProcessor processor)
      (experimental) The data transformation that should be performed on the data before writing to the destination.

      Default: - no data transformation will occur.

      Parameters:
      processor - The data transformation that should be performed on the data before writing to the destination. This parameter is required.
      Returns:
      this
    • role

      @Stability(Experimental) public S3Bucket.Builder role(IRole role)
      (experimental) The IAM role associated with this destination.

      Assumed by Kinesis Data Firehose to invoke processors and write to destinations

      Default: - a role will be created with default permissions.

      Parameters:
      role - The IAM role associated with this destination. This parameter is required.
      Returns:
      this
    • s3Backup

      @Stability(Experimental) public S3Bucket.Builder s3Backup(DestinationS3BackupProps s3Backup)
      (experimental) The configuration for backing up source records to S3.

      Default: - source records will not be backed up to S3.

      Parameters:
      s3Backup - The configuration for backing up source records to S3. This parameter is required.
      Returns:
      this
    • build

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