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

com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamRedshiftConfigurationS3BackupConfigurationArgs Maven / Gradle / Ivy

Go to download

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

The 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.inputs;

import com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamRedshiftConfigurationS3BackupConfigurationCloudwatchLoggingOptionsArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
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;


public final class FirehoseDeliveryStreamRedshiftConfigurationS3BackupConfigurationArgs extends com.pulumi.resources.ResourceArgs {

    public static final FirehoseDeliveryStreamRedshiftConfigurationS3BackupConfigurationArgs Empty = new FirehoseDeliveryStreamRedshiftConfigurationS3BackupConfigurationArgs();

    /**
     * The ARN of the S3 bucket
     * 
     */
    @Import(name="bucketArn", required=true)
    private Output bucketArn;

    /**
     * @return The ARN of the S3 bucket
     * 
     */
    public Output bucketArn() {
        return this.bucketArn;
    }

    @Import(name="bufferingInterval")
    private @Nullable Output bufferingInterval;

    public Optional> bufferingInterval() {
        return Optional.ofNullable(this.bufferingInterval);
    }

    @Import(name="bufferingSize")
    private @Nullable Output bufferingSize;

    public Optional> bufferingSize() {
        return Optional.ofNullable(this.bufferingSize);
    }

    @Import(name="cloudwatchLoggingOptions")
    private @Nullable Output cloudwatchLoggingOptions;

    public Optional> cloudwatchLoggingOptions() {
        return Optional.ofNullable(this.cloudwatchLoggingOptions);
    }

    /**
     * The compression format. If no value is specified, the default is `UNCOMPRESSED`. Other supported values are `GZIP`, `ZIP`, `Snappy`, & `HADOOP_SNAPPY`.
     * 
     */
    @Import(name="compressionFormat")
    private @Nullable Output compressionFormat;

    /**
     * @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);
    }

    /**
     * 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).
     * 
     */
    @Import(name="errorOutputPrefix")
    private @Nullable Output errorOutputPrefix;

    /**
     * @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);
    }

    /**
     * Specifies the KMS key ARN the stream will use to encrypt data. If not set, no encryption will
     * be used.
     * 
     */
    @Import(name="kmsKeyArn")
    private @Nullable Output kmsKeyArn;

    /**
     * @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);
    }

    /**
     * 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
     * 
     */
    @Import(name="prefix")
    private @Nullable Output prefix;

    /**
     * @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);
    }

    @Import(name="roleArn", required=true)
    private Output roleArn;

    public Output roleArn() {
        return this.roleArn;
    }

    private FirehoseDeliveryStreamRedshiftConfigurationS3BackupConfigurationArgs() {}

    private FirehoseDeliveryStreamRedshiftConfigurationS3BackupConfigurationArgs(FirehoseDeliveryStreamRedshiftConfigurationS3BackupConfigurationArgs $) {
        this.bucketArn = $.bucketArn;
        this.bufferingInterval = $.bufferingInterval;
        this.bufferingSize = $.bufferingSize;
        this.cloudwatchLoggingOptions = $.cloudwatchLoggingOptions;
        this.compressionFormat = $.compressionFormat;
        this.errorOutputPrefix = $.errorOutputPrefix;
        this.kmsKeyArn = $.kmsKeyArn;
        this.prefix = $.prefix;
        this.roleArn = $.roleArn;
    }

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

    public static final class Builder {
        private FirehoseDeliveryStreamRedshiftConfigurationS3BackupConfigurationArgs $;

        public Builder() {
            $ = new FirehoseDeliveryStreamRedshiftConfigurationS3BackupConfigurationArgs();
        }

        public Builder(FirehoseDeliveryStreamRedshiftConfigurationS3BackupConfigurationArgs defaults) {
            $ = new FirehoseDeliveryStreamRedshiftConfigurationS3BackupConfigurationArgs(Objects.requireNonNull(defaults));
        }

        /**
         * @param bucketArn The ARN of the S3 bucket
         * 
         * @return builder
         * 
         */
        public Builder bucketArn(Output bucketArn) {
            $.bucketArn = bucketArn;
            return this;
        }

        /**
         * @param bucketArn The ARN of the S3 bucket
         * 
         * @return builder
         * 
         */
        public Builder bucketArn(String bucketArn) {
            return bucketArn(Output.of(bucketArn));
        }

        public Builder bufferingInterval(@Nullable Output bufferingInterval) {
            $.bufferingInterval = bufferingInterval;
            return this;
        }

        public Builder bufferingInterval(Integer bufferingInterval) {
            return bufferingInterval(Output.of(bufferingInterval));
        }

        public Builder bufferingSize(@Nullable Output bufferingSize) {
            $.bufferingSize = bufferingSize;
            return this;
        }

        public Builder bufferingSize(Integer bufferingSize) {
            return bufferingSize(Output.of(bufferingSize));
        }

        public Builder cloudwatchLoggingOptions(@Nullable Output cloudwatchLoggingOptions) {
            $.cloudwatchLoggingOptions = cloudwatchLoggingOptions;
            return this;
        }

        public Builder cloudwatchLoggingOptions(FirehoseDeliveryStreamRedshiftConfigurationS3BackupConfigurationCloudwatchLoggingOptionsArgs cloudwatchLoggingOptions) {
            return cloudwatchLoggingOptions(Output.of(cloudwatchLoggingOptions));
        }

        /**
         * @param compressionFormat The compression format. If no value is specified, the default is `UNCOMPRESSED`. Other supported values are `GZIP`, `ZIP`, `Snappy`, & `HADOOP_SNAPPY`.
         * 
         * @return builder
         * 
         */
        public Builder compressionFormat(@Nullable Output compressionFormat) {
            $.compressionFormat = compressionFormat;
            return this;
        }

        /**
         * @param compressionFormat The compression format. If no value is specified, the default is `UNCOMPRESSED`. Other supported values are `GZIP`, `ZIP`, `Snappy`, & `HADOOP_SNAPPY`.
         * 
         * @return builder
         * 
         */
        public Builder compressionFormat(String compressionFormat) {
            return compressionFormat(Output.of(compressionFormat));
        }

        /**
         * @param errorOutputPrefix 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).
         * 
         * @return builder
         * 
         */
        public Builder errorOutputPrefix(@Nullable Output errorOutputPrefix) {
            $.errorOutputPrefix = errorOutputPrefix;
            return this;
        }

        /**
         * @param errorOutputPrefix 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).
         * 
         * @return builder
         * 
         */
        public Builder errorOutputPrefix(String errorOutputPrefix) {
            return errorOutputPrefix(Output.of(errorOutputPrefix));
        }

        /**
         * @param kmsKeyArn Specifies the KMS key ARN the stream will use to encrypt data. If not set, no encryption will
         * be used.
         * 
         * @return builder
         * 
         */
        public Builder kmsKeyArn(@Nullable Output kmsKeyArn) {
            $.kmsKeyArn = kmsKeyArn;
            return this;
        }

        /**
         * @param kmsKeyArn Specifies the KMS key ARN the stream will use to encrypt data. If not set, no encryption will
         * be used.
         * 
         * @return builder
         * 
         */
        public Builder kmsKeyArn(String kmsKeyArn) {
            return kmsKeyArn(Output.of(kmsKeyArn));
        }

        /**
         * @param prefix 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
         * 
         * @return builder
         * 
         */
        public Builder prefix(@Nullable Output prefix) {
            $.prefix = prefix;
            return this;
        }

        /**
         * @param prefix 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
         * 
         * @return builder
         * 
         */
        public Builder prefix(String prefix) {
            return prefix(Output.of(prefix));
        }

        public Builder roleArn(Output roleArn) {
            $.roleArn = roleArn;
            return this;
        }

        public Builder roleArn(String roleArn) {
            return roleArn(Output.of(roleArn));
        }

        public FirehoseDeliveryStreamRedshiftConfigurationS3BackupConfigurationArgs build() {
            if ($.bucketArn == null) {
                throw new MissingRequiredPropertyException("FirehoseDeliveryStreamRedshiftConfigurationS3BackupConfigurationArgs", "bucketArn");
            }
            if ($.roleArn == null) {
                throw new MissingRequiredPropertyException("FirehoseDeliveryStreamRedshiftConfigurationS3BackupConfigurationArgs", "roleArn");
            }
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy