
com.pulumi.awsnative.kinesisfirehose.kotlin.inputs.DeliveryStreamAmazonopensearchserviceDestinationConfigurationArgs.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.awsnative.kinesisfirehose.kotlin.inputs
import com.pulumi.awsnative.kinesisfirehose.inputs.DeliveryStreamAmazonopensearchserviceDestinationConfigurationArgs.builder
import com.pulumi.awsnative.kinesisfirehose.kotlin.enums.DeliveryStreamAmazonopensearchserviceDestinationConfigurationIndexRotationPeriod
import com.pulumi.awsnative.kinesisfirehose.kotlin.enums.DeliveryStreamAmazonopensearchserviceDestinationConfigurationS3BackupMode
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiNullFieldException
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.jvm.JvmName
/**
*
* @property bufferingHints The buffering options. If no value is specified, the default values for AmazonopensearchserviceBufferingHints are used.
* @property cloudWatchLoggingOptions Describes the Amazon CloudWatch logging options for your delivery stream.
* @property clusterEndpoint The endpoint to use when communicating with the cluster. Specify either this ClusterEndpoint or the DomainARN field.
* @property documentIdOptions Indicates the method for setting up document ID. The supported methods are Firehose generated document ID and OpenSearch Service generated document ID.
* @property domainArn The ARN of the Amazon OpenSearch Service domain.
* @property indexName The Amazon OpenSearch Service index name.
* @property indexRotationPeriod The Amazon OpenSearch Service index rotation period. Index rotation appends a timestamp to the IndexName to facilitate the expiration of old data.
* @property processingConfiguration Describes a data processing configuration.
* @property retryOptions The retry behavior in case Kinesis Data Firehose is unable to deliver documents to Amazon OpenSearch Service. The default value is 300 (5 minutes).
* @property roleArn The Amazon Resource Name (ARN) of the IAM role to be assumed by Kinesis Data Firehose for calling the Amazon OpenSearch Service Configuration API and for indexing documents.
* @property s3BackupMode Defines how documents should be delivered to Amazon S3.
* @property s3Configuration Describes the configuration of a destination in Amazon S3.
* @property typeName The Amazon OpenSearch Service type name.
* @property vpcConfiguration The details of the VPC of the Amazon OpenSearch Service destination.
*/
public data class DeliveryStreamAmazonopensearchserviceDestinationConfigurationArgs(
public val bufferingHints: Output? =
null,
public val cloudWatchLoggingOptions: Output? = null,
public val clusterEndpoint: Output? = null,
public val documentIdOptions: Output? = null,
public val domainArn: Output? = null,
public val indexName: Output,
public val indexRotationPeriod: Output? =
null,
public val processingConfiguration: Output? = null,
public val retryOptions: Output? = null,
public val roleArn: Output,
public val s3BackupMode: Output? = null,
public val s3Configuration: Output,
public val typeName: Output? = null,
public val vpcConfiguration: Output? = null,
) :
ConvertibleToJava {
override fun toJava(): com.pulumi.awsnative.kinesisfirehose.inputs.DeliveryStreamAmazonopensearchserviceDestinationConfigurationArgs =
com.pulumi.awsnative.kinesisfirehose.inputs.DeliveryStreamAmazonopensearchserviceDestinationConfigurationArgs.builder()
.bufferingHints(bufferingHints?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.cloudWatchLoggingOptions(
cloudWatchLoggingOptions?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
)
.clusterEndpoint(clusterEndpoint?.applyValue({ args0 -> args0 }))
.documentIdOptions(documentIdOptions?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.domainArn(domainArn?.applyValue({ args0 -> args0 }))
.indexName(indexName.applyValue({ args0 -> args0 }))
.indexRotationPeriod(
indexRotationPeriod?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
)
.processingConfiguration(
processingConfiguration?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
)
.retryOptions(retryOptions?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.roleArn(roleArn.applyValue({ args0 -> args0 }))
.s3BackupMode(s3BackupMode?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.s3Configuration(s3Configuration.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.typeName(typeName?.applyValue({ args0 -> args0 }))
.vpcConfiguration(
vpcConfiguration?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
).build()
}
/**
* Builder for [DeliveryStreamAmazonopensearchserviceDestinationConfigurationArgs].
*/
@PulumiTagMarker
public class DeliveryStreamAmazonopensearchserviceDestinationConfigurationArgsBuilder internal constructor() {
private var bufferingHints: Output? =
null
private var cloudWatchLoggingOptions: Output? = null
private var clusterEndpoint: Output? = null
private var documentIdOptions: Output? = null
private var domainArn: Output? = null
private var indexName: Output? = null
private var indexRotationPeriod:
Output? =
null
private var processingConfiguration: Output? = null
private var retryOptions: Output? = null
private var roleArn: Output? = null
private var s3BackupMode:
Output? = null
private var s3Configuration: Output? = null
private var typeName: Output? = null
private var vpcConfiguration: Output? = null
/**
* @param value The buffering options. If no value is specified, the default values for AmazonopensearchserviceBufferingHints are used.
*/
@JvmName("kwtyorunhsjxulkx")
public suspend fun bufferingHints(`value`: Output) {
this.bufferingHints = value
}
/**
* @param value Describes the Amazon CloudWatch logging options for your delivery stream.
*/
@JvmName("jrpogxhkhswrjkla")
public suspend fun cloudWatchLoggingOptions(`value`: Output) {
this.cloudWatchLoggingOptions = value
}
/**
* @param value The endpoint to use when communicating with the cluster. Specify either this ClusterEndpoint or the DomainARN field.
*/
@JvmName("kddfandktjxuvfro")
public suspend fun clusterEndpoint(`value`: Output) {
this.clusterEndpoint = value
}
/**
* @param value Indicates the method for setting up document ID. The supported methods are Firehose generated document ID and OpenSearch Service generated document ID.
*/
@JvmName("rswifwepkcwvvjty")
public suspend fun documentIdOptions(`value`: Output) {
this.documentIdOptions = value
}
/**
* @param value The ARN of the Amazon OpenSearch Service domain.
*/
@JvmName("uhvvurkycrauxanq")
public suspend fun domainArn(`value`: Output) {
this.domainArn = value
}
/**
* @param value The Amazon OpenSearch Service index name.
*/
@JvmName("fawdtenmibovwnvr")
public suspend fun indexName(`value`: Output) {
this.indexName = value
}
/**
* @param value The Amazon OpenSearch Service index rotation period. Index rotation appends a timestamp to the IndexName to facilitate the expiration of old data.
*/
@JvmName("mkodtrmeqrpkeidx")
public suspend fun indexRotationPeriod(`value`: Output) {
this.indexRotationPeriod = value
}
/**
* @param value Describes a data processing configuration.
*/
@JvmName("giyrhtoshmbjqmny")
public suspend fun processingConfiguration(`value`: Output) {
this.processingConfiguration = value
}
/**
* @param value The retry behavior in case Kinesis Data Firehose is unable to deliver documents to Amazon OpenSearch Service. The default value is 300 (5 minutes).
*/
@JvmName("swncmmpsiakbappb")
public suspend fun retryOptions(`value`: Output) {
this.retryOptions = value
}
/**
* @param value The Amazon Resource Name (ARN) of the IAM role to be assumed by Kinesis Data Firehose for calling the Amazon OpenSearch Service Configuration API and for indexing documents.
*/
@JvmName("erfcktwtkthlrmxi")
public suspend fun roleArn(`value`: Output) {
this.roleArn = value
}
/**
* @param value Defines how documents should be delivered to Amazon S3.
*/
@JvmName("trivmxelysjqwkcr")
public suspend fun s3BackupMode(`value`: Output) {
this.s3BackupMode = value
}
/**
* @param value Describes the configuration of a destination in Amazon S3.
*/
@JvmName("jsleaggmicdugbos")
public suspend fun s3Configuration(`value`: Output) {
this.s3Configuration = value
}
/**
* @param value The Amazon OpenSearch Service type name.
*/
@JvmName("lkytgebtgmshttjw")
public suspend fun typeName(`value`: Output) {
this.typeName = value
}
/**
* @param value The details of the VPC of the Amazon OpenSearch Service destination.
*/
@JvmName("hbweuywhapvbwbfs")
public suspend fun vpcConfiguration(`value`: Output) {
this.vpcConfiguration = value
}
/**
* @param value The buffering options. If no value is specified, the default values for AmazonopensearchserviceBufferingHints are used.
*/
@JvmName("xpxxwtrqpghegaht")
public suspend fun bufferingHints(`value`: DeliveryStreamAmazonopensearchserviceBufferingHintsArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.bufferingHints = mapped
}
/**
* @param argument The buffering options. If no value is specified, the default values for AmazonopensearchserviceBufferingHints are used.
*/
@JvmName("iwcpqgywituspidh")
public suspend fun bufferingHints(argument: suspend DeliveryStreamAmazonopensearchserviceBufferingHintsArgsBuilder.() -> Unit) {
val toBeMapped = DeliveryStreamAmazonopensearchserviceBufferingHintsArgsBuilder().applySuspend {
argument()
}.build()
val mapped = of(toBeMapped)
this.bufferingHints = mapped
}
/**
* @param value Describes the Amazon CloudWatch logging options for your delivery stream.
*/
@JvmName("vvsqqubfupdkrswj")
public suspend fun cloudWatchLoggingOptions(`value`: DeliveryStreamCloudWatchLoggingOptionsArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.cloudWatchLoggingOptions = mapped
}
/**
* @param argument Describes the Amazon CloudWatch logging options for your delivery stream.
*/
@JvmName("sokntrmhsklmrilq")
public suspend fun cloudWatchLoggingOptions(argument: suspend DeliveryStreamCloudWatchLoggingOptionsArgsBuilder.() -> Unit) {
val toBeMapped = DeliveryStreamCloudWatchLoggingOptionsArgsBuilder().applySuspend {
argument()
}.build()
val mapped = of(toBeMapped)
this.cloudWatchLoggingOptions = mapped
}
/**
* @param value The endpoint to use when communicating with the cluster. Specify either this ClusterEndpoint or the DomainARN field.
*/
@JvmName("ovehrccbjruueagy")
public suspend fun clusterEndpoint(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.clusterEndpoint = mapped
}
/**
* @param value Indicates the method for setting up document ID. The supported methods are Firehose generated document ID and OpenSearch Service generated document ID.
*/
@JvmName("qjmcndiealkwipjk")
public suspend fun documentIdOptions(`value`: DeliveryStreamDocumentIdOptionsArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.documentIdOptions = mapped
}
/**
* @param argument Indicates the method for setting up document ID. The supported methods are Firehose generated document ID and OpenSearch Service generated document ID.
*/
@JvmName("xcynvdiovbixmkjr")
public suspend fun documentIdOptions(argument: suspend DeliveryStreamDocumentIdOptionsArgsBuilder.() -> Unit) {
val toBeMapped = DeliveryStreamDocumentIdOptionsArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.documentIdOptions = mapped
}
/**
* @param value The ARN of the Amazon OpenSearch Service domain.
*/
@JvmName("mhujgkjgflvbcyah")
public suspend fun domainArn(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.domainArn = mapped
}
/**
* @param value The Amazon OpenSearch Service index name.
*/
@JvmName("epsnjwplqqcflhhk")
public suspend fun indexName(`value`: String) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.indexName = mapped
}
/**
* @param value The Amazon OpenSearch Service index rotation period. Index rotation appends a timestamp to the IndexName to facilitate the expiration of old data.
*/
@JvmName("sdqbchbbukmwhppg")
public suspend fun indexRotationPeriod(`value`: DeliveryStreamAmazonopensearchserviceDestinationConfigurationIndexRotationPeriod?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.indexRotationPeriod = mapped
}
/**
* @param value Describes a data processing configuration.
*/
@JvmName("doiobyotscaicwdy")
public suspend fun processingConfiguration(`value`: DeliveryStreamProcessingConfigurationArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.processingConfiguration = mapped
}
/**
* @param argument Describes a data processing configuration.
*/
@JvmName("ssvaaxopkvcpajal")
public suspend fun processingConfiguration(argument: suspend DeliveryStreamProcessingConfigurationArgsBuilder.() -> Unit) {
val toBeMapped = DeliveryStreamProcessingConfigurationArgsBuilder().applySuspend {
argument()
}.build()
val mapped = of(toBeMapped)
this.processingConfiguration = mapped
}
/**
* @param value The retry behavior in case Kinesis Data Firehose is unable to deliver documents to Amazon OpenSearch Service. The default value is 300 (5 minutes).
*/
@JvmName("pkjyseutspkivuwx")
public suspend fun retryOptions(`value`: DeliveryStreamAmazonopensearchserviceRetryOptionsArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.retryOptions = mapped
}
/**
* @param argument The retry behavior in case Kinesis Data Firehose is unable to deliver documents to Amazon OpenSearch Service. The default value is 300 (5 minutes).
*/
@JvmName("aobwkdgdfnrmbvee")
public suspend fun retryOptions(argument: suspend DeliveryStreamAmazonopensearchserviceRetryOptionsArgsBuilder.() -> Unit) {
val toBeMapped = DeliveryStreamAmazonopensearchserviceRetryOptionsArgsBuilder().applySuspend {
argument()
}.build()
val mapped = of(toBeMapped)
this.retryOptions = mapped
}
/**
* @param value The Amazon Resource Name (ARN) of the IAM role to be assumed by Kinesis Data Firehose for calling the Amazon OpenSearch Service Configuration API and for indexing documents.
*/
@JvmName("hkkqdufoipbrhhie")
public suspend fun roleArn(`value`: String) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.roleArn = mapped
}
/**
* @param value Defines how documents should be delivered to Amazon S3.
*/
@JvmName("sbjhswnamuwifgfs")
public suspend fun s3BackupMode(`value`: DeliveryStreamAmazonopensearchserviceDestinationConfigurationS3BackupMode?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.s3BackupMode = mapped
}
/**
* @param value Describes the configuration of a destination in Amazon S3.
*/
@JvmName("eptstjegvwitmveg")
public suspend fun s3Configuration(`value`: DeliveryStreamS3DestinationConfigurationArgs) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.s3Configuration = mapped
}
/**
* @param argument Describes the configuration of a destination in Amazon S3.
*/
@JvmName("acqnaoqkwbtaihyf")
public suspend fun s3Configuration(argument: suspend DeliveryStreamS3DestinationConfigurationArgsBuilder.() -> Unit) {
val toBeMapped = DeliveryStreamS3DestinationConfigurationArgsBuilder().applySuspend {
argument()
}.build()
val mapped = of(toBeMapped)
this.s3Configuration = mapped
}
/**
* @param value The Amazon OpenSearch Service type name.
*/
@JvmName("jiqplvtjygulqtds")
public suspend fun typeName(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.typeName = mapped
}
/**
* @param value The details of the VPC of the Amazon OpenSearch Service destination.
*/
@JvmName("rgaukdkclpjssyso")
public suspend fun vpcConfiguration(`value`: DeliveryStreamVpcConfigurationArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.vpcConfiguration = mapped
}
/**
* @param argument The details of the VPC of the Amazon OpenSearch Service destination.
*/
@JvmName("hovaifmrjisfkyap")
public suspend fun vpcConfiguration(argument: suspend DeliveryStreamVpcConfigurationArgsBuilder.() -> Unit) {
val toBeMapped = DeliveryStreamVpcConfigurationArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.vpcConfiguration = mapped
}
internal fun build(): DeliveryStreamAmazonopensearchserviceDestinationConfigurationArgs =
DeliveryStreamAmazonopensearchserviceDestinationConfigurationArgs(
bufferingHints = bufferingHints,
cloudWatchLoggingOptions = cloudWatchLoggingOptions,
clusterEndpoint = clusterEndpoint,
documentIdOptions = documentIdOptions,
domainArn = domainArn,
indexName = indexName ?: throw PulumiNullFieldException("indexName"),
indexRotationPeriod = indexRotationPeriod,
processingConfiguration = processingConfiguration,
retryOptions = retryOptions,
roleArn = roleArn ?: throw PulumiNullFieldException("roleArn"),
s3BackupMode = s3BackupMode,
s3Configuration = s3Configuration ?: throw PulumiNullFieldException("s3Configuration"),
typeName = typeName,
vpcConfiguration = vpcConfiguration,
)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy