
com.pulumi.azurenative.devices.kotlin.inputs.RoutingStorageContainerPropertiesArgs.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.azurenative.devices.kotlin.inputs
import com.pulumi.azurenative.devices.inputs.RoutingStorageContainerPropertiesArgs.builder
import com.pulumi.azurenative.devices.kotlin.enums.AuthenticationType
import com.pulumi.core.Either
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.Int
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.jvm.JvmName
/**
* The properties related to a storage container endpoint.
* @property authenticationType Method used to authenticate against the storage endpoint
* @property batchFrequencyInSeconds Time interval at which blobs are written to storage. Value should be between 60 and 720 seconds. Default value is 300 seconds.
* @property connectionString The connection string of the storage account.
* @property containerName The name of storage container in the storage account.
* @property encoding Encoding that is used to serialize messages to blobs. Supported values are 'avro', 'avrodeflate', and 'JSON'. Default value is 'avro'.
* @property endpointUri The url of the storage endpoint. It must include the protocol https://
* @property fileNameFormat File name format for the blob. Default format is {iothub}/{partition}/{YYYY}/{MM}/{DD}/{HH}/{mm}. All parameters are mandatory but can be reordered.
* @property id Id of the storage container endpoint
* @property identity Managed identity properties of routing storage endpoint.
* @property maxChunkSizeInBytes Maximum number of bytes for each blob written to storage. Value should be between 10485760(10MB) and 524288000(500MB). Default value is 314572800(300MB).
* @property name The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, hyphens and has a maximum length of 64 characters. The following names are reserved: events, fileNotifications, $default. Endpoint names must be unique across endpoint types.
* @property resourceGroup The name of the resource group of the storage account.
* @property subscriptionId The subscription identifier of the storage account.
*/
public data class RoutingStorageContainerPropertiesArgs(
public val authenticationType: Output>? = null,
public val batchFrequencyInSeconds: Output? = null,
public val connectionString: Output? = null,
public val containerName: Output,
public val encoding: Output? = null,
public val endpointUri: Output? = null,
public val fileNameFormat: Output? = null,
public val id: Output? = null,
public val identity: Output? = null,
public val maxChunkSizeInBytes: Output? = null,
public val name: Output,
public val resourceGroup: Output? = null,
public val subscriptionId: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.azurenative.devices.inputs.RoutingStorageContainerPropertiesArgs = com.pulumi.azurenative.devices.inputs.RoutingStorageContainerPropertiesArgs.builder()
.authenticationType(
authenticationType?.applyValue({ args0 ->
args0.transform(
{ args0 -> args0 },
{ args0 -> args0.let({ args0 -> args0.toJava() }) },
)
}),
)
.batchFrequencyInSeconds(batchFrequencyInSeconds?.applyValue({ args0 -> args0 }))
.connectionString(connectionString?.applyValue({ args0 -> args0 }))
.containerName(containerName.applyValue({ args0 -> args0 }))
.encoding(encoding?.applyValue({ args0 -> args0 }))
.endpointUri(endpointUri?.applyValue({ args0 -> args0 }))
.fileNameFormat(fileNameFormat?.applyValue({ args0 -> args0 }))
.id(id?.applyValue({ args0 -> args0 }))
.identity(identity?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.maxChunkSizeInBytes(maxChunkSizeInBytes?.applyValue({ args0 -> args0 }))
.name(name.applyValue({ args0 -> args0 }))
.resourceGroup(resourceGroup?.applyValue({ args0 -> args0 }))
.subscriptionId(subscriptionId?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [RoutingStorageContainerPropertiesArgs].
*/
@PulumiTagMarker
public class RoutingStorageContainerPropertiesArgsBuilder internal constructor() {
private var authenticationType: Output>? = null
private var batchFrequencyInSeconds: Output? = null
private var connectionString: Output? = null
private var containerName: Output? = null
private var encoding: Output? = null
private var endpointUri: Output? = null
private var fileNameFormat: Output? = null
private var id: Output? = null
private var identity: Output? = null
private var maxChunkSizeInBytes: Output? = null
private var name: Output? = null
private var resourceGroup: Output? = null
private var subscriptionId: Output? = null
/**
* @param value Method used to authenticate against the storage endpoint
*/
@JvmName("dejeuxdxjjfavxos")
public suspend fun authenticationType(`value`: Output>) {
this.authenticationType = value
}
/**
* @param value Time interval at which blobs are written to storage. Value should be between 60 and 720 seconds. Default value is 300 seconds.
*/
@JvmName("dvidmrrxnnshalma")
public suspend fun batchFrequencyInSeconds(`value`: Output) {
this.batchFrequencyInSeconds = value
}
/**
* @param value The connection string of the storage account.
*/
@JvmName("slrhdvkrlkseycyn")
public suspend fun connectionString(`value`: Output) {
this.connectionString = value
}
/**
* @param value The name of storage container in the storage account.
*/
@JvmName("hrtuqicjapfxeito")
public suspend fun containerName(`value`: Output) {
this.containerName = value
}
/**
* @param value Encoding that is used to serialize messages to blobs. Supported values are 'avro', 'avrodeflate', and 'JSON'. Default value is 'avro'.
*/
@JvmName("twxigcgrtgmlmrni")
public suspend fun encoding(`value`: Output) {
this.encoding = value
}
/**
* @param value The url of the storage endpoint. It must include the protocol https://
*/
@JvmName("eeiyfaqjcnjbfbwd")
public suspend fun endpointUri(`value`: Output) {
this.endpointUri = value
}
/**
* @param value File name format for the blob. Default format is {iothub}/{partition}/{YYYY}/{MM}/{DD}/{HH}/{mm}. All parameters are mandatory but can be reordered.
*/
@JvmName("wqbvjenttfonunps")
public suspend fun fileNameFormat(`value`: Output) {
this.fileNameFormat = value
}
/**
* @param value Id of the storage container endpoint
*/
@JvmName("vepliyuaxbieinmv")
public suspend fun id(`value`: Output) {
this.id = value
}
/**
* @param value Managed identity properties of routing storage endpoint.
*/
@JvmName("njqsranyqmhrrkgc")
public suspend fun identity(`value`: Output) {
this.identity = value
}
/**
* @param value Maximum number of bytes for each blob written to storage. Value should be between 10485760(10MB) and 524288000(500MB). Default value is 314572800(300MB).
*/
@JvmName("alpfrtucukujrhfk")
public suspend fun maxChunkSizeInBytes(`value`: Output) {
this.maxChunkSizeInBytes = value
}
/**
* @param value The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, hyphens and has a maximum length of 64 characters. The following names are reserved: events, fileNotifications, $default. Endpoint names must be unique across endpoint types.
*/
@JvmName("ypfnhkcnrdclkkle")
public suspend fun name(`value`: Output) {
this.name = value
}
/**
* @param value The name of the resource group of the storage account.
*/
@JvmName("rfxfsjvlygdlnyqn")
public suspend fun resourceGroup(`value`: Output) {
this.resourceGroup = value
}
/**
* @param value The subscription identifier of the storage account.
*/
@JvmName("igvnwxhiauajbrsb")
public suspend fun subscriptionId(`value`: Output) {
this.subscriptionId = value
}
/**
* @param value Method used to authenticate against the storage endpoint
*/
@JvmName("wdjnxmkumkruxxrr")
public suspend fun authenticationType(`value`: Either?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.authenticationType = mapped
}
/**
* @param value Method used to authenticate against the storage endpoint
*/
@JvmName("fdctdqmmswyospne")
public fun authenticationType(`value`: String) {
val toBeMapped = Either.ofLeft(value)
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.authenticationType = mapped
}
/**
* @param value Method used to authenticate against the storage endpoint
*/
@JvmName("phyakppreswayytp")
public fun authenticationType(`value`: AuthenticationType) {
val toBeMapped = Either.ofRight(value)
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.authenticationType = mapped
}
/**
* @param value Time interval at which blobs are written to storage. Value should be between 60 and 720 seconds. Default value is 300 seconds.
*/
@JvmName("taefskivgyxirbfb")
public suspend fun batchFrequencyInSeconds(`value`: Int?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.batchFrequencyInSeconds = mapped
}
/**
* @param value The connection string of the storage account.
*/
@JvmName("hmcjjjnqrflhnriy")
public suspend fun connectionString(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.connectionString = mapped
}
/**
* @param value The name of storage container in the storage account.
*/
@JvmName("fjobpempqdendjxb")
public suspend fun containerName(`value`: String) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.containerName = mapped
}
/**
* @param value Encoding that is used to serialize messages to blobs. Supported values are 'avro', 'avrodeflate', and 'JSON'. Default value is 'avro'.
*/
@JvmName("whmlojjqkjchlqen")
public suspend fun encoding(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.encoding = mapped
}
/**
* @param value The url of the storage endpoint. It must include the protocol https://
*/
@JvmName("pfjsvuaulmyvlxfx")
public suspend fun endpointUri(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.endpointUri = mapped
}
/**
* @param value File name format for the blob. Default format is {iothub}/{partition}/{YYYY}/{MM}/{DD}/{HH}/{mm}. All parameters are mandatory but can be reordered.
*/
@JvmName("tnwckrncrybigxyi")
public suspend fun fileNameFormat(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.fileNameFormat = mapped
}
/**
* @param value Id of the storage container endpoint
*/
@JvmName("mstmggghtytwuere")
public suspend fun id(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.id = mapped
}
/**
* @param value Managed identity properties of routing storage endpoint.
*/
@JvmName("apfogauqqlijlbks")
public suspend fun identity(`value`: ManagedIdentityArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.identity = mapped
}
/**
* @param argument Managed identity properties of routing storage endpoint.
*/
@JvmName("jyqgrtefvnhowpog")
public suspend fun identity(argument: suspend ManagedIdentityArgsBuilder.() -> Unit) {
val toBeMapped = ManagedIdentityArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.identity = mapped
}
/**
* @param value Maximum number of bytes for each blob written to storage. Value should be between 10485760(10MB) and 524288000(500MB). Default value is 314572800(300MB).
*/
@JvmName("osharctjjupvsrym")
public suspend fun maxChunkSizeInBytes(`value`: Int?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.maxChunkSizeInBytes = mapped
}
/**
* @param value The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, hyphens and has a maximum length of 64 characters. The following names are reserved: events, fileNotifications, $default. Endpoint names must be unique across endpoint types.
*/
@JvmName("xwvuowcionsomptt")
public suspend fun name(`value`: String) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.name = mapped
}
/**
* @param value The name of the resource group of the storage account.
*/
@JvmName("gbmrfkpxcdvioeeh")
public suspend fun resourceGroup(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.resourceGroup = mapped
}
/**
* @param value The subscription identifier of the storage account.
*/
@JvmName("bbfvxpwiwnbybnpj")
public suspend fun subscriptionId(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.subscriptionId = mapped
}
internal fun build(): RoutingStorageContainerPropertiesArgs =
RoutingStorageContainerPropertiesArgs(
authenticationType = authenticationType,
batchFrequencyInSeconds = batchFrequencyInSeconds,
connectionString = connectionString,
containerName = containerName ?: throw PulumiNullFieldException("containerName"),
encoding = encoding,
endpointUri = endpointUri,
fileNameFormat = fileNameFormat,
id = id,
identity = identity,
maxChunkSizeInBytes = maxChunkSizeInBytes,
name = name ?: throw PulumiNullFieldException("name"),
resourceGroup = resourceGroup,
subscriptionId = subscriptionId,
)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy