All Downloads are FREE. Search and download functionalities are using the official Maven repository.

software.amazon.awscdk.services.kinesisfirehose.destinations.alpha.S3Bucket Maven / Gradle / Ivy

There is a newer version: 2.159.0-alpha.0
Show newest version
package software.amazon.awscdk.services.kinesisfirehose.destinations.alpha;

/**
 * (experimental) An S3 bucket destination for data from a Kinesis Data Firehose 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();
 * 
*/ @javax.annotation.Generated(value = "jsii-pacmak/1.60.1 (build 2799dc8)", date = "2022-07-14T20:04:14.677Z") @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) @software.amazon.jsii.Jsii(module = software.amazon.awscdk.services.kinesisfirehose.destinations.alpha.$Module.class, fqn = "@aws-cdk/aws-kinesisfirehose-destinations-alpha.S3Bucket") public class S3Bucket extends software.amazon.jsii.JsiiObject implements software.amazon.awscdk.services.kinesisfirehose.alpha.IDestination { protected S3Bucket(final software.amazon.jsii.JsiiObjectRef objRef) { super(objRef); } protected S3Bucket(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { super(initializationMode); } /** * @param bucket This parameter is required. * @param props */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public S3Bucket(final @org.jetbrains.annotations.NotNull software.amazon.awscdk.services.s3.IBucket bucket, final @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.kinesisfirehose.destinations.alpha.S3BucketProps props) { super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(bucket, "bucket is required"), props }); } /** * @param bucket This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public S3Bucket(final @org.jetbrains.annotations.NotNull software.amazon.awscdk.services.s3.IBucket bucket) { super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(bucket, "bucket is required") }); } /** * (experimental) Binds this destination to the Kinesis Data Firehose delivery stream. *

* Implementers should use this method to bind resources to the stack and initialize values using the provided stream. *

* @param scope This parameter is required. * @param _options This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) @Override public @org.jetbrains.annotations.NotNull software.amazon.awscdk.services.kinesisfirehose.alpha.DestinationConfig bind(final @org.jetbrains.annotations.NotNull software.constructs.Construct scope, final @org.jetbrains.annotations.NotNull software.amazon.awscdk.services.kinesisfirehose.alpha.DestinationBindOptions _options) { return software.amazon.jsii.Kernel.call(this, "bind", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.kinesisfirehose.alpha.DestinationConfig.class), new Object[] { java.util.Objects.requireNonNull(scope, "scope is required"), java.util.Objects.requireNonNull(_options, "_options is required") }); } /** * (experimental) A fluent builder for {@link software.amazon.awscdk.services.kinesisfirehose.destinations.alpha.S3Bucket}. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public static final class Builder implements software.amazon.jsii.Builder { /** * @return a new instance of {@link Builder}. * @param bucket This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public static Builder create(final software.amazon.awscdk.services.s3.IBucket bucket) { return new Builder(bucket); } private final software.amazon.awscdk.services.s3.IBucket bucket; private software.amazon.awscdk.services.kinesisfirehose.destinations.alpha.S3BucketProps.Builder props; private Builder(final software.amazon.awscdk.services.s3.IBucket bucket) { this.bucket = bucket; } /** * (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) *

* @return {@code this} * @param bufferingInterval The length of time that Firehose buffers incoming data before delivering it to the S3 bucket. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder bufferingInterval(final software.amazon.awscdk.Duration bufferingInterval) { this.props().bufferingInterval(bufferingInterval); return this; } /** * (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) *

* @return {@code this} * @param 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. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder bufferingSize(final software.amazon.awscdk.Size bufferingSize) { this.props().bufferingSize(bufferingSize); return this; } /** * (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 *

* @return {@code this} * @param 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. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder compression(final software.amazon.awscdk.services.kinesisfirehose.destinations.alpha.Compression compression) { this.props().compression(compression); return this; } /** * (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" *

* @return {@code this} * @see https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html * @param dataOutputPrefix A prefix that Kinesis Data Firehose evaluates and adds to records before writing them to S3. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder dataOutputPrefix(final java.lang.String dataOutputPrefix) { this.props().dataOutputPrefix(dataOutputPrefix); return this; } /** * (experimental) The AWS KMS key used to encrypt the data that it delivers to your Amazon S3 bucket. *

* Default: - Data is not encrypted. *

* @return {@code this} * @param encryptionKey The AWS KMS key used to encrypt the data that it delivers to your Amazon S3 bucket. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder encryptionKey(final software.amazon.awscdk.services.kms.IKey encryptionKey) { this.props().encryptionKey(encryptionKey); return this; } /** * (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" *

* @return {@code this} * @see https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html * @param errorOutputPrefix A prefix that Kinesis Data Firehose evaluates and adds to failed records before writing them to S3. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder errorOutputPrefix(final java.lang.String errorOutputPrefix) { this.props().errorOutputPrefix(errorOutputPrefix); return this; } /** * (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. *

* @return {@code this} * @param logging If true, log errors when data transformation or data delivery fails. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder logging(final java.lang.Boolean logging) { this.props().logging(logging); return this; } /** * (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. *

* @return {@code this} * @param logGroup The CloudWatch log group where log streams will be created to hold error logs. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder logGroup(final software.amazon.awscdk.services.logs.ILogGroup logGroup) { this.props().logGroup(logGroup); return this; } /** * (experimental) The data transformation that should be performed on the data before writing to the destination. *

* Default: - no data transformation will occur. *

* @return {@code this} * @param processor The data transformation that should be performed on the data before writing to the destination. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder processor(final software.amazon.awscdk.services.kinesisfirehose.alpha.IDataProcessor processor) { this.props().processor(processor); return this; } /** * (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. *

* @return {@code this} * @param role The IAM role associated with this destination. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder role(final software.amazon.awscdk.services.iam.IRole role) { this.props().role(role); return this; } /** * (experimental) The configuration for backing up source records to S3. *

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

* @return {@code this} * @param s3Backup The configuration for backing up source records to S3. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder s3Backup(final software.amazon.awscdk.services.kinesisfirehose.destinations.alpha.DestinationS3BackupProps s3Backup) { this.props().s3Backup(s3Backup); return this; } /** * @returns a newly built instance of {@link software.amazon.awscdk.services.kinesisfirehose.destinations.alpha.S3Bucket}. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) @Override public software.amazon.awscdk.services.kinesisfirehose.destinations.alpha.S3Bucket build() { return new software.amazon.awscdk.services.kinesisfirehose.destinations.alpha.S3Bucket( this.bucket, this.props != null ? this.props.build() : null ); } private software.amazon.awscdk.services.kinesisfirehose.destinations.alpha.S3BucketProps.Builder props() { if (this.props == null) { this.props = new software.amazon.awscdk.services.kinesisfirehose.destinations.alpha.S3BucketProps.Builder(); } return this.props; } } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy