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

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

// *** 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.FirehoseDeliveryStreamOpensearchConfigurationCloudwatchLoggingOptionsArgs;
import com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamOpensearchConfigurationDocumentIdOptionsArgs;
import com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamOpensearchConfigurationProcessingConfigurationArgs;
import com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamOpensearchConfigurationS3ConfigurationArgs;
import com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamOpensearchConfigurationVpcConfigArgs;
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 FirehoseDeliveryStreamOpensearchConfigurationArgs extends com.pulumi.resources.ResourceArgs {

    public static final FirehoseDeliveryStreamOpensearchConfigurationArgs Empty = new FirehoseDeliveryStreamOpensearchConfigurationArgs();

    /**
     * Buffer incoming data for the specified period of time, in seconds between 0 to 900, before delivering it to the destination.  The default value is 300s.
     * 
     */
    @Import(name="bufferingInterval")
    private @Nullable Output bufferingInterval;

    /**
     * @return Buffer incoming data for the specified period of time, in seconds between 0 to 900, before delivering it to the destination.  The default value is 300s.
     * 
     */
    public Optional> bufferingInterval() {
        return Optional.ofNullable(this.bufferingInterval);
    }

    /**
     * Buffer incoming data to the specified size, in MBs between 1 to 100, before delivering it to the destination.  The default value is 5MB.
     * 
     */
    @Import(name="bufferingSize")
    private @Nullable Output bufferingSize;

    /**
     * @return Buffer incoming data to the specified size, in MBs between 1 to 100, before delivering it to the destination.  The default value is 5MB.
     * 
     */
    public Optional> bufferingSize() {
        return Optional.ofNullable(this.bufferingSize);
    }

    /**
     * The CloudWatch Logging Options for the delivery stream. See `cloudwatch_logging_options` block below for details.
     * 
     */
    @Import(name="cloudwatchLoggingOptions")
    private @Nullable Output cloudwatchLoggingOptions;

    /**
     * @return The CloudWatch Logging Options for the delivery stream. See `cloudwatch_logging_options` block below for details.
     * 
     */
    public Optional> cloudwatchLoggingOptions() {
        return Optional.ofNullable(this.cloudwatchLoggingOptions);
    }

    /**
     * The endpoint to use when communicating with the cluster. Conflicts with `domain_arn`.
     * 
     */
    @Import(name="clusterEndpoint")
    private @Nullable Output clusterEndpoint;

    /**
     * @return The endpoint to use when communicating with the cluster. Conflicts with `domain_arn`.
     * 
     */
    public Optional> clusterEndpoint() {
        return Optional.ofNullable(this.clusterEndpoint);
    }

    /**
     * The method for setting up document ID. See [`document_id_options` block] below for details.
     * 
     */
    @Import(name="documentIdOptions")
    private @Nullable Output documentIdOptions;

    /**
     * @return The method for setting up document ID. See [`document_id_options` block] below for details.
     * 
     */
    public Optional> documentIdOptions() {
        return Optional.ofNullable(this.documentIdOptions);
    }

    /**
     * The ARN of the Amazon ES domain.  The pattern needs to be `arn:.*`.  Conflicts with `cluster_endpoint`.
     * 
     */
    @Import(name="domainArn")
    private @Nullable Output domainArn;

    /**
     * @return The ARN of the Amazon ES domain.  The pattern needs to be `arn:.*`.  Conflicts with `cluster_endpoint`.
     * 
     */
    public Optional> domainArn() {
        return Optional.ofNullable(this.domainArn);
    }

    /**
     * The OpenSearch index name.
     * 
     */
    @Import(name="indexName", required=true)
    private Output indexName;

    /**
     * @return The OpenSearch index name.
     * 
     */
    public Output indexName() {
        return this.indexName;
    }

    /**
     * The OpenSearch index rotation period.  Index rotation appends a timestamp to the IndexName to facilitate expiration of old data.  Valid values are `NoRotation`, `OneHour`, `OneDay`, `OneWeek`, and `OneMonth`.  The default value is `OneDay`.
     * 
     */
    @Import(name="indexRotationPeriod")
    private @Nullable Output indexRotationPeriod;

    /**
     * @return The OpenSearch index rotation period.  Index rotation appends a timestamp to the IndexName to facilitate expiration of old data.  Valid values are `NoRotation`, `OneHour`, `OneDay`, `OneWeek`, and `OneMonth`.  The default value is `OneDay`.
     * 
     */
    public Optional> indexRotationPeriod() {
        return Optional.ofNullable(this.indexRotationPeriod);
    }

    /**
     * The data processing configuration. See `processing_configuration` block below for details.
     * 
     */
    @Import(name="processingConfiguration")
    private @Nullable Output processingConfiguration;

    /**
     * @return The data processing configuration. See `processing_configuration` block below for details.
     * 
     */
    public Optional> processingConfiguration() {
        return Optional.ofNullable(this.processingConfiguration);
    }

    /**
     * After an initial failure to deliver to Amazon OpenSearch, the total amount of time, in seconds between 0 to 7200, during which Firehose re-attempts delivery (including the first attempt).  After this time has elapsed, the failed documents are written to Amazon S3.  The default value is 300s.  There will be no retry if the value is 0.
     * 
     */
    @Import(name="retryDuration")
    private @Nullable Output retryDuration;

    /**
     * @return After an initial failure to deliver to Amazon OpenSearch, the total amount of time, in seconds between 0 to 7200, during which Firehose re-attempts delivery (including the first attempt).  After this time has elapsed, the failed documents are written to Amazon S3.  The default value is 300s.  There will be no retry if the value is 0.
     * 
     */
    public Optional> retryDuration() {
        return Optional.ofNullable(this.retryDuration);
    }

    /**
     * The ARN of the IAM role to be assumed by Firehose for calling the Amazon ES Configuration API and for indexing documents.  The IAM role must have permission for `DescribeDomain`, `DescribeDomains`, and `DescribeDomainConfig`.  The pattern needs to be `arn:.*`.
     * 
     */
    @Import(name="roleArn", required=true)
    private Output roleArn;

    /**
     * @return The ARN of the IAM role to be assumed by Firehose for calling the Amazon ES Configuration API and for indexing documents.  The IAM role must have permission for `DescribeDomain`, `DescribeDomains`, and `DescribeDomainConfig`.  The pattern needs to be `arn:.*`.
     * 
     */
    public Output roleArn() {
        return this.roleArn;
    }

    /**
     * Defines how documents should be delivered to Amazon S3.  Valid values are `FailedDocumentsOnly` and `AllDocuments`.  Default value is `FailedDocumentsOnly`.
     * 
     */
    @Import(name="s3BackupMode")
    private @Nullable Output s3BackupMode;

    /**
     * @return Defines how documents should be delivered to Amazon S3.  Valid values are `FailedDocumentsOnly` and `AllDocuments`.  Default value is `FailedDocumentsOnly`.
     * 
     */
    public Optional> s3BackupMode() {
        return Optional.ofNullable(this.s3BackupMode);
    }

    /**
     * The S3 Configuration. See `s3_configuration` block below for details.
     * 
     */
    @Import(name="s3Configuration", required=true)
    private Output s3Configuration;

    /**
     * @return The S3 Configuration. See `s3_configuration` block below for details.
     * 
     */
    public Output s3Configuration() {
        return this.s3Configuration;
    }

    /**
     * The Elasticsearch type name with maximum length of 100 characters. Types are deprecated in OpenSearch_1.1. TypeName must be empty.
     * 
     */
    @Import(name="typeName")
    private @Nullable Output typeName;

    /**
     * @return The Elasticsearch type name with maximum length of 100 characters. Types are deprecated in OpenSearch_1.1. TypeName must be empty.
     * 
     */
    public Optional> typeName() {
        return Optional.ofNullable(this.typeName);
    }

    /**
     * The VPC configuration for the delivery stream to connect to OpenSearch associated with the VPC. See `vpc_config` block below for details.
     * 
     */
    @Import(name="vpcConfig")
    private @Nullable Output vpcConfig;

    /**
     * @return The VPC configuration for the delivery stream to connect to OpenSearch associated with the VPC. See `vpc_config` block below for details.
     * 
     */
    public Optional> vpcConfig() {
        return Optional.ofNullable(this.vpcConfig);
    }

    private FirehoseDeliveryStreamOpensearchConfigurationArgs() {}

    private FirehoseDeliveryStreamOpensearchConfigurationArgs(FirehoseDeliveryStreamOpensearchConfigurationArgs $) {
        this.bufferingInterval = $.bufferingInterval;
        this.bufferingSize = $.bufferingSize;
        this.cloudwatchLoggingOptions = $.cloudwatchLoggingOptions;
        this.clusterEndpoint = $.clusterEndpoint;
        this.documentIdOptions = $.documentIdOptions;
        this.domainArn = $.domainArn;
        this.indexName = $.indexName;
        this.indexRotationPeriod = $.indexRotationPeriod;
        this.processingConfiguration = $.processingConfiguration;
        this.retryDuration = $.retryDuration;
        this.roleArn = $.roleArn;
        this.s3BackupMode = $.s3BackupMode;
        this.s3Configuration = $.s3Configuration;
        this.typeName = $.typeName;
        this.vpcConfig = $.vpcConfig;
    }

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

    public static final class Builder {
        private FirehoseDeliveryStreamOpensearchConfigurationArgs $;

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

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

        /**
         * @param bufferingInterval Buffer incoming data for the specified period of time, in seconds between 0 to 900, before delivering it to the destination.  The default value is 300s.
         * 
         * @return builder
         * 
         */
        public Builder bufferingInterval(@Nullable Output bufferingInterval) {
            $.bufferingInterval = bufferingInterval;
            return this;
        }

        /**
         * @param bufferingInterval Buffer incoming data for the specified period of time, in seconds between 0 to 900, before delivering it to the destination.  The default value is 300s.
         * 
         * @return builder
         * 
         */
        public Builder bufferingInterval(Integer bufferingInterval) {
            return bufferingInterval(Output.of(bufferingInterval));
        }

        /**
         * @param bufferingSize Buffer incoming data to the specified size, in MBs between 1 to 100, before delivering it to the destination.  The default value is 5MB.
         * 
         * @return builder
         * 
         */
        public Builder bufferingSize(@Nullable Output bufferingSize) {
            $.bufferingSize = bufferingSize;
            return this;
        }

        /**
         * @param bufferingSize Buffer incoming data to the specified size, in MBs between 1 to 100, before delivering it to the destination.  The default value is 5MB.
         * 
         * @return builder
         * 
         */
        public Builder bufferingSize(Integer bufferingSize) {
            return bufferingSize(Output.of(bufferingSize));
        }

        /**
         * @param cloudwatchLoggingOptions The CloudWatch Logging Options for the delivery stream. See `cloudwatch_logging_options` block below for details.
         * 
         * @return builder
         * 
         */
        public Builder cloudwatchLoggingOptions(@Nullable Output cloudwatchLoggingOptions) {
            $.cloudwatchLoggingOptions = cloudwatchLoggingOptions;
            return this;
        }

        /**
         * @param cloudwatchLoggingOptions The CloudWatch Logging Options for the delivery stream. See `cloudwatch_logging_options` block below for details.
         * 
         * @return builder
         * 
         */
        public Builder cloudwatchLoggingOptions(FirehoseDeliveryStreamOpensearchConfigurationCloudwatchLoggingOptionsArgs cloudwatchLoggingOptions) {
            return cloudwatchLoggingOptions(Output.of(cloudwatchLoggingOptions));
        }

        /**
         * @param clusterEndpoint The endpoint to use when communicating with the cluster. Conflicts with `domain_arn`.
         * 
         * @return builder
         * 
         */
        public Builder clusterEndpoint(@Nullable Output clusterEndpoint) {
            $.clusterEndpoint = clusterEndpoint;
            return this;
        }

        /**
         * @param clusterEndpoint The endpoint to use when communicating with the cluster. Conflicts with `domain_arn`.
         * 
         * @return builder
         * 
         */
        public Builder clusterEndpoint(String clusterEndpoint) {
            return clusterEndpoint(Output.of(clusterEndpoint));
        }

        /**
         * @param documentIdOptions The method for setting up document ID. See [`document_id_options` block] below for details.
         * 
         * @return builder
         * 
         */
        public Builder documentIdOptions(@Nullable Output documentIdOptions) {
            $.documentIdOptions = documentIdOptions;
            return this;
        }

        /**
         * @param documentIdOptions The method for setting up document ID. See [`document_id_options` block] below for details.
         * 
         * @return builder
         * 
         */
        public Builder documentIdOptions(FirehoseDeliveryStreamOpensearchConfigurationDocumentIdOptionsArgs documentIdOptions) {
            return documentIdOptions(Output.of(documentIdOptions));
        }

        /**
         * @param domainArn The ARN of the Amazon ES domain.  The pattern needs to be `arn:.*`.  Conflicts with `cluster_endpoint`.
         * 
         * @return builder
         * 
         */
        public Builder domainArn(@Nullable Output domainArn) {
            $.domainArn = domainArn;
            return this;
        }

        /**
         * @param domainArn The ARN of the Amazon ES domain.  The pattern needs to be `arn:.*`.  Conflicts with `cluster_endpoint`.
         * 
         * @return builder
         * 
         */
        public Builder domainArn(String domainArn) {
            return domainArn(Output.of(domainArn));
        }

        /**
         * @param indexName The OpenSearch index name.
         * 
         * @return builder
         * 
         */
        public Builder indexName(Output indexName) {
            $.indexName = indexName;
            return this;
        }

        /**
         * @param indexName The OpenSearch index name.
         * 
         * @return builder
         * 
         */
        public Builder indexName(String indexName) {
            return indexName(Output.of(indexName));
        }

        /**
         * @param indexRotationPeriod The OpenSearch index rotation period.  Index rotation appends a timestamp to the IndexName to facilitate expiration of old data.  Valid values are `NoRotation`, `OneHour`, `OneDay`, `OneWeek`, and `OneMonth`.  The default value is `OneDay`.
         * 
         * @return builder
         * 
         */
        public Builder indexRotationPeriod(@Nullable Output indexRotationPeriod) {
            $.indexRotationPeriod = indexRotationPeriod;
            return this;
        }

        /**
         * @param indexRotationPeriod The OpenSearch index rotation period.  Index rotation appends a timestamp to the IndexName to facilitate expiration of old data.  Valid values are `NoRotation`, `OneHour`, `OneDay`, `OneWeek`, and `OneMonth`.  The default value is `OneDay`.
         * 
         * @return builder
         * 
         */
        public Builder indexRotationPeriod(String indexRotationPeriod) {
            return indexRotationPeriod(Output.of(indexRotationPeriod));
        }

        /**
         * @param processingConfiguration The data processing configuration. See `processing_configuration` block below for details.
         * 
         * @return builder
         * 
         */
        public Builder processingConfiguration(@Nullable Output processingConfiguration) {
            $.processingConfiguration = processingConfiguration;
            return this;
        }

        /**
         * @param processingConfiguration The data processing configuration. See `processing_configuration` block below for details.
         * 
         * @return builder
         * 
         */
        public Builder processingConfiguration(FirehoseDeliveryStreamOpensearchConfigurationProcessingConfigurationArgs processingConfiguration) {
            return processingConfiguration(Output.of(processingConfiguration));
        }

        /**
         * @param retryDuration After an initial failure to deliver to Amazon OpenSearch, the total amount of time, in seconds between 0 to 7200, during which Firehose re-attempts delivery (including the first attempt).  After this time has elapsed, the failed documents are written to Amazon S3.  The default value is 300s.  There will be no retry if the value is 0.
         * 
         * @return builder
         * 
         */
        public Builder retryDuration(@Nullable Output retryDuration) {
            $.retryDuration = retryDuration;
            return this;
        }

        /**
         * @param retryDuration After an initial failure to deliver to Amazon OpenSearch, the total amount of time, in seconds between 0 to 7200, during which Firehose re-attempts delivery (including the first attempt).  After this time has elapsed, the failed documents are written to Amazon S3.  The default value is 300s.  There will be no retry if the value is 0.
         * 
         * @return builder
         * 
         */
        public Builder retryDuration(Integer retryDuration) {
            return retryDuration(Output.of(retryDuration));
        }

        /**
         * @param roleArn The ARN of the IAM role to be assumed by Firehose for calling the Amazon ES Configuration API and for indexing documents.  The IAM role must have permission for `DescribeDomain`, `DescribeDomains`, and `DescribeDomainConfig`.  The pattern needs to be `arn:.*`.
         * 
         * @return builder
         * 
         */
        public Builder roleArn(Output roleArn) {
            $.roleArn = roleArn;
            return this;
        }

        /**
         * @param roleArn The ARN of the IAM role to be assumed by Firehose for calling the Amazon ES Configuration API and for indexing documents.  The IAM role must have permission for `DescribeDomain`, `DescribeDomains`, and `DescribeDomainConfig`.  The pattern needs to be `arn:.*`.
         * 
         * @return builder
         * 
         */
        public Builder roleArn(String roleArn) {
            return roleArn(Output.of(roleArn));
        }

        /**
         * @param s3BackupMode Defines how documents should be delivered to Amazon S3.  Valid values are `FailedDocumentsOnly` and `AllDocuments`.  Default value is `FailedDocumentsOnly`.
         * 
         * @return builder
         * 
         */
        public Builder s3BackupMode(@Nullable Output s3BackupMode) {
            $.s3BackupMode = s3BackupMode;
            return this;
        }

        /**
         * @param s3BackupMode Defines how documents should be delivered to Amazon S3.  Valid values are `FailedDocumentsOnly` and `AllDocuments`.  Default value is `FailedDocumentsOnly`.
         * 
         * @return builder
         * 
         */
        public Builder s3BackupMode(String s3BackupMode) {
            return s3BackupMode(Output.of(s3BackupMode));
        }

        /**
         * @param s3Configuration The S3 Configuration. See `s3_configuration` block below for details.
         * 
         * @return builder
         * 
         */
        public Builder s3Configuration(Output s3Configuration) {
            $.s3Configuration = s3Configuration;
            return this;
        }

        /**
         * @param s3Configuration The S3 Configuration. See `s3_configuration` block below for details.
         * 
         * @return builder
         * 
         */
        public Builder s3Configuration(FirehoseDeliveryStreamOpensearchConfigurationS3ConfigurationArgs s3Configuration) {
            return s3Configuration(Output.of(s3Configuration));
        }

        /**
         * @param typeName The Elasticsearch type name with maximum length of 100 characters. Types are deprecated in OpenSearch_1.1. TypeName must be empty.
         * 
         * @return builder
         * 
         */
        public Builder typeName(@Nullable Output typeName) {
            $.typeName = typeName;
            return this;
        }

        /**
         * @param typeName The Elasticsearch type name with maximum length of 100 characters. Types are deprecated in OpenSearch_1.1. TypeName must be empty.
         * 
         * @return builder
         * 
         */
        public Builder typeName(String typeName) {
            return typeName(Output.of(typeName));
        }

        /**
         * @param vpcConfig The VPC configuration for the delivery stream to connect to OpenSearch associated with the VPC. See `vpc_config` block below for details.
         * 
         * @return builder
         * 
         */
        public Builder vpcConfig(@Nullable Output vpcConfig) {
            $.vpcConfig = vpcConfig;
            return this;
        }

        /**
         * @param vpcConfig The VPC configuration for the delivery stream to connect to OpenSearch associated with the VPC. See `vpc_config` block below for details.
         * 
         * @return builder
         * 
         */
        public Builder vpcConfig(FirehoseDeliveryStreamOpensearchConfigurationVpcConfigArgs vpcConfig) {
            return vpcConfig(Output.of(vpcConfig));
        }

        public FirehoseDeliveryStreamOpensearchConfigurationArgs build() {
            if ($.indexName == null) {
                throw new MissingRequiredPropertyException("FirehoseDeliveryStreamOpensearchConfigurationArgs", "indexName");
            }
            if ($.roleArn == null) {
                throw new MissingRequiredPropertyException("FirehoseDeliveryStreamOpensearchConfigurationArgs", "roleArn");
            }
            if ($.s3Configuration == null) {
                throw new MissingRequiredPropertyException("FirehoseDeliveryStreamOpensearchConfigurationArgs", "s3Configuration");
            }
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy