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.167.1-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: *

*

 * import software.amazon.awscdk.services.kinesisfirehose.alpha.*;
 * import software.amazon.awscdk.services.kinesisfirehose.destinations.alpha.*;
 * Bucket bucket = new Bucket(this, "MyBucket");
 * DeliveryStream stream = DeliveryStream.Builder.create(this, "MyStream")
 *         .destinations(List.of(new S3Bucket(bucket)))
 *         .build();
 * TopicRule topicRule = TopicRule.Builder.create(this, "TopicRule")
 *         .sql(IotSql.fromStringAsVer20160323("SELECT * FROM 'device/+/data'"))
 *         .actions(List.of(
 *             FirehosePutRecordAction.Builder.create(stream)
 *                     .batchMode(true)
 *                     .recordSeparator(FirehoseRecordSeparator.NEWLINE)
 *                     .build()))
 *         .build();
 * 
*/ @javax.annotation.Generated(value = "jsii-pacmak/1.103.1 (build bef2dea)", date = "2024-09-19T18:12:10.247Z") @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(0) * 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; } /** * @return 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