Interface DeliveryStreamProps

All Superinterfaces:
software.amazon.jsii.JsiiSerializable
All Known Implementing Classes:
DeliveryStreamProps.Jsii$Proxy

@Generated(value="jsii-pacmak/1.84.0 (build 5404dcf)", date="2023-06-19T16:30:41.093Z") @Stability(Experimental) public interface DeliveryStreamProps extends software.amazon.jsii.JsiiSerializable
(experimental) Properties for a new delivery stream.

Example:

 Bucket bucket;
 // Provide a Lambda function that will transform records before delivery, with custom
 // buffering and retry configuration
 Function lambdaFunction = Function.Builder.create(this, "Processor")
         .runtime(Runtime.NODEJS_14_X)
         .handler("index.handler")
         .code(Code.fromAsset(join(__dirname, "process-records")))
         .build();
 LambdaFunctionProcessor lambdaProcessor = LambdaFunctionProcessor.Builder.create(lambdaFunction)
         .bufferInterval(Duration.minutes(5))
         .bufferSize(Size.mebibytes(5))
         .retries(5)
         .build();
 S3Bucket s3Destination = S3Bucket.Builder.create(bucket)
         .processor(lambdaProcessor)
         .build();
 DeliveryStream.Builder.create(this, "Delivery Stream")
         .destinations(List.of(s3Destination))
         .build();
 
  • Method Details

    • getDestinations

      @Stability(Experimental) @NotNull List<IDestination> getDestinations()
      (experimental) The destinations that this delivery stream will deliver data to.

      Only a singleton array is supported at this time.

    • getDeliveryStreamName

      @Stability(Experimental) @Nullable default String getDeliveryStreamName()
      (experimental) A name for the delivery stream.

      Default: - a name is generated by CloudFormation.

    • getEncryption

      @Stability(Experimental) @Nullable default StreamEncryption getEncryption()
      (experimental) Indicates the type of customer master key (CMK) to use for server-side encryption, if any.

      Default: StreamEncryption.UNENCRYPTED - unless `encryptionKey` is provided, in which case this will be implicitly set to `StreamEncryption.CUSTOMER_MANAGED`

    • getEncryptionKey

      @Stability(Experimental) @Nullable default IKey getEncryptionKey()
      (experimental) Customer managed key to server-side encrypt data in the stream.

      Default: - no KMS key will be used; if `encryption` is set to `CUSTOMER_MANAGED`, a KMS key will be created for you

    • getRole

      @Stability(Experimental) @Nullable default IRole getRole()
      (experimental) The IAM role associated with this delivery stream.

      Assumed by Kinesis Data Firehose to read from sources and encrypt data server-side.

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

    • getSourceStream

      @Stability(Experimental) @Nullable default IStream getSourceStream()
      (experimental) The Kinesis data stream to use as a source for this delivery stream.

      Default: - data must be written to the delivery stream via a direct put.

    • builder

      @Stability(Experimental) static DeliveryStreamProps.Builder builder()
      Returns:
      a DeliveryStreamProps.Builder of DeliveryStreamProps