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

com.pulumi.aws.kinesis.outputs.FirehoseDeliveryStreamExtendedS3ConfigurationS3BackupConfiguration Maven / Gradle / Ivy

Go to download

A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources.

There is a newer version: 6.66.3
Show newest version
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

package com.pulumi.aws.kinesis.outputs;

import com.pulumi.aws.kinesis.outputs.FirehoseDeliveryStreamExtendedS3ConfigurationS3BackupConfigurationCloudwatchLoggingOptions;
import com.pulumi.core.annotations.CustomType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Integer;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;

@CustomType
public final class FirehoseDeliveryStreamExtendedS3ConfigurationS3BackupConfiguration {
    /**
     * @return The ARN of the S3 bucket
     * 
     */
    private String bucketArn;
    private @Nullable Integer bufferingInterval;
    private @Nullable Integer bufferingSize;
    private @Nullable FirehoseDeliveryStreamExtendedS3ConfigurationS3BackupConfigurationCloudwatchLoggingOptions cloudwatchLoggingOptions;
    /**
     * @return The compression format. If no value is specified, the default is `UNCOMPRESSED`. Other supported values are `GZIP`, `ZIP`, `Snappy`, & `HADOOP_SNAPPY`.
     * 
     */
    private @Nullable String compressionFormat;
    /**
     * @return Prefix added to failed records before writing them to S3. Not currently supported for `redshift` destination. This prefix appears immediately following the bucket name. For information about how to specify this prefix, see [Custom Prefixes for Amazon S3 Objects](https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html).
     * 
     */
    private @Nullable String errorOutputPrefix;
    /**
     * @return Specifies the KMS key ARN the stream will use to encrypt data. If not set, no encryption will
     * be used.
     * 
     */
    private @Nullable String kmsKeyArn;
    /**
     * @return The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered S3 files. You can specify an extra prefix to be added in front of the time format prefix. Note that if the prefix ends with a slash, it appears as a folder in the S3 bucket
     * 
     */
    private @Nullable String prefix;
    private String roleArn;

    private FirehoseDeliveryStreamExtendedS3ConfigurationS3BackupConfiguration() {}
    /**
     * @return The ARN of the S3 bucket
     * 
     */
    public String bucketArn() {
        return this.bucketArn;
    }
    public Optional bufferingInterval() {
        return Optional.ofNullable(this.bufferingInterval);
    }
    public Optional bufferingSize() {
        return Optional.ofNullable(this.bufferingSize);
    }
    public Optional cloudwatchLoggingOptions() {
        return Optional.ofNullable(this.cloudwatchLoggingOptions);
    }
    /**
     * @return The compression format. If no value is specified, the default is `UNCOMPRESSED`. Other supported values are `GZIP`, `ZIP`, `Snappy`, & `HADOOP_SNAPPY`.
     * 
     */
    public Optional compressionFormat() {
        return Optional.ofNullable(this.compressionFormat);
    }
    /**
     * @return Prefix added to failed records before writing them to S3. Not currently supported for `redshift` destination. This prefix appears immediately following the bucket name. For information about how to specify this prefix, see [Custom Prefixes for Amazon S3 Objects](https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html).
     * 
     */
    public Optional errorOutputPrefix() {
        return Optional.ofNullable(this.errorOutputPrefix);
    }
    /**
     * @return Specifies the KMS key ARN the stream will use to encrypt data. If not set, no encryption will
     * be used.
     * 
     */
    public Optional kmsKeyArn() {
        return Optional.ofNullable(this.kmsKeyArn);
    }
    /**
     * @return The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered S3 files. You can specify an extra prefix to be added in front of the time format prefix. Note that if the prefix ends with a slash, it appears as a folder in the S3 bucket
     * 
     */
    public Optional prefix() {
        return Optional.ofNullable(this.prefix);
    }
    public String roleArn() {
        return this.roleArn;
    }

    public static Builder builder() {
        return new Builder();
    }

    public static Builder builder(FirehoseDeliveryStreamExtendedS3ConfigurationS3BackupConfiguration defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private String bucketArn;
        private @Nullable Integer bufferingInterval;
        private @Nullable Integer bufferingSize;
        private @Nullable FirehoseDeliveryStreamExtendedS3ConfigurationS3BackupConfigurationCloudwatchLoggingOptions cloudwatchLoggingOptions;
        private @Nullable String compressionFormat;
        private @Nullable String errorOutputPrefix;
        private @Nullable String kmsKeyArn;
        private @Nullable String prefix;
        private String roleArn;
        public Builder() {}
        public Builder(FirehoseDeliveryStreamExtendedS3ConfigurationS3BackupConfiguration defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.bucketArn = defaults.bucketArn;
    	      this.bufferingInterval = defaults.bufferingInterval;
    	      this.bufferingSize = defaults.bufferingSize;
    	      this.cloudwatchLoggingOptions = defaults.cloudwatchLoggingOptions;
    	      this.compressionFormat = defaults.compressionFormat;
    	      this.errorOutputPrefix = defaults.errorOutputPrefix;
    	      this.kmsKeyArn = defaults.kmsKeyArn;
    	      this.prefix = defaults.prefix;
    	      this.roleArn = defaults.roleArn;
        }

        @CustomType.Setter
        public Builder bucketArn(String bucketArn) {
            if (bucketArn == null) {
              throw new MissingRequiredPropertyException("FirehoseDeliveryStreamExtendedS3ConfigurationS3BackupConfiguration", "bucketArn");
            }
            this.bucketArn = bucketArn;
            return this;
        }
        @CustomType.Setter
        public Builder bufferingInterval(@Nullable Integer bufferingInterval) {

            this.bufferingInterval = bufferingInterval;
            return this;
        }
        @CustomType.Setter
        public Builder bufferingSize(@Nullable Integer bufferingSize) {

            this.bufferingSize = bufferingSize;
            return this;
        }
        @CustomType.Setter
        public Builder cloudwatchLoggingOptions(@Nullable FirehoseDeliveryStreamExtendedS3ConfigurationS3BackupConfigurationCloudwatchLoggingOptions cloudwatchLoggingOptions) {

            this.cloudwatchLoggingOptions = cloudwatchLoggingOptions;
            return this;
        }
        @CustomType.Setter
        public Builder compressionFormat(@Nullable String compressionFormat) {

            this.compressionFormat = compressionFormat;
            return this;
        }
        @CustomType.Setter
        public Builder errorOutputPrefix(@Nullable String errorOutputPrefix) {

            this.errorOutputPrefix = errorOutputPrefix;
            return this;
        }
        @CustomType.Setter
        public Builder kmsKeyArn(@Nullable String kmsKeyArn) {

            this.kmsKeyArn = kmsKeyArn;
            return this;
        }
        @CustomType.Setter
        public Builder prefix(@Nullable String prefix) {

            this.prefix = prefix;
            return this;
        }
        @CustomType.Setter
        public Builder roleArn(String roleArn) {
            if (roleArn == null) {
              throw new MissingRequiredPropertyException("FirehoseDeliveryStreamExtendedS3ConfigurationS3BackupConfiguration", "roleArn");
            }
            this.roleArn = roleArn;
            return this;
        }
        public FirehoseDeliveryStreamExtendedS3ConfigurationS3BackupConfiguration build() {
            final var _resultValue = new FirehoseDeliveryStreamExtendedS3ConfigurationS3BackupConfiguration();
            _resultValue.bucketArn = bucketArn;
            _resultValue.bufferingInterval = bufferingInterval;
            _resultValue.bufferingSize = bufferingSize;
            _resultValue.cloudwatchLoggingOptions = cloudwatchLoggingOptions;
            _resultValue.compressionFormat = compressionFormat;
            _resultValue.errorOutputPrefix = errorOutputPrefix;
            _resultValue.kmsKeyArn = kmsKeyArn;
            _resultValue.prefix = prefix;
            _resultValue.roleArn = roleArn;
            return _resultValue;
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy