
com.pulumi.azurenative.devices.kotlin.inputs.RoutingCosmosDBSqlApiPropertiesArgs.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.azurenative.devices.kotlin.inputs
import com.pulumi.azurenative.devices.inputs.RoutingCosmosDBSqlApiPropertiesArgs.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.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.jvm.JvmName
/**
* The properties related to a cosmos DB sql collection endpoint.
* @property authenticationType Method used to authenticate against the cosmos DB sql collection endpoint
* @property collectionName The name of the cosmos DB sql collection in the cosmos DB database.
* @property databaseName The name of the cosmos DB database in the cosmos DB account.
* @property endpointUri The url of the cosmos DB account. It must include the protocol https://
* @property id Id of the cosmos DB sql collection endpoint
* @property identity Managed identity properties of routing cosmos DB collection endpoint.
* @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 partitionKeyName The name of the partition key associated with this cosmos DB sql collection if one exists. This is an optional parameter.
* @property partitionKeyTemplate The template for generating a synthetic partition key value for use with this cosmos DB sql collection. The template must include at least one of the following placeholders: {iothub}, {deviceid}, {DD}, {MM}, and {YYYY}. Any one placeholder may be specified at most once, but order and non-placeholder components are arbitrary. This parameter is only required if PartitionKeyName is specified.
* @property primaryKey The primary key of the cosmos DB account.
* @property resourceGroup The name of the resource group of the cosmos DB account.
* @property secondaryKey The secondary key of the cosmos DB account.
* @property subscriptionId The subscription identifier of the cosmos DB account.
*/
public data class RoutingCosmosDBSqlApiPropertiesArgs(
public val authenticationType: Output>? = null,
public val collectionName: Output,
public val databaseName: Output,
public val endpointUri: Output,
public val id: Output? = null,
public val identity: Output? = null,
public val name: Output,
public val partitionKeyName: Output? = null,
public val partitionKeyTemplate: Output? = null,
public val primaryKey: Output? = null,
public val resourceGroup: Output? = null,
public val secondaryKey: Output? = null,
public val subscriptionId: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.azurenative.devices.inputs.RoutingCosmosDBSqlApiPropertiesArgs =
com.pulumi.azurenative.devices.inputs.RoutingCosmosDBSqlApiPropertiesArgs.builder()
.authenticationType(
authenticationType?.applyValue({ args0 ->
args0.transform(
{ args0 -> args0 },
{ args0 -> args0.let({ args0 -> args0.toJava() }) },
)
}),
)
.collectionName(collectionName.applyValue({ args0 -> args0 }))
.databaseName(databaseName.applyValue({ args0 -> args0 }))
.endpointUri(endpointUri.applyValue({ args0 -> args0 }))
.id(id?.applyValue({ args0 -> args0 }))
.identity(identity?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.name(name.applyValue({ args0 -> args0 }))
.partitionKeyName(partitionKeyName?.applyValue({ args0 -> args0 }))
.partitionKeyTemplate(partitionKeyTemplate?.applyValue({ args0 -> args0 }))
.primaryKey(primaryKey?.applyValue({ args0 -> args0 }))
.resourceGroup(resourceGroup?.applyValue({ args0 -> args0 }))
.secondaryKey(secondaryKey?.applyValue({ args0 -> args0 }))
.subscriptionId(subscriptionId?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [RoutingCosmosDBSqlApiPropertiesArgs].
*/
@PulumiTagMarker
public class RoutingCosmosDBSqlApiPropertiesArgsBuilder internal constructor() {
private var authenticationType: Output>? = null
private var collectionName: Output? = null
private var databaseName: Output? = null
private var endpointUri: Output? = null
private var id: Output? = null
private var identity: Output? = null
private var name: Output? = null
private var partitionKeyName: Output? = null
private var partitionKeyTemplate: Output? = null
private var primaryKey: Output? = null
private var resourceGroup: Output? = null
private var secondaryKey: Output? = null
private var subscriptionId: Output? = null
/**
* @param value Method used to authenticate against the cosmos DB sql collection endpoint
*/
@JvmName("cmgrvkikbeshciyy")
public suspend fun authenticationType(`value`: Output>) {
this.authenticationType = value
}
/**
* @param value The name of the cosmos DB sql collection in the cosmos DB database.
*/
@JvmName("jxlmwvcoaaltmemo")
public suspend fun collectionName(`value`: Output) {
this.collectionName = value
}
/**
* @param value The name of the cosmos DB database in the cosmos DB account.
*/
@JvmName("bbmljryfkngplaix")
public suspend fun databaseName(`value`: Output) {
this.databaseName = value
}
/**
* @param value The url of the cosmos DB account. It must include the protocol https://
*/
@JvmName("dvrgwvdqbomuqwiu")
public suspend fun endpointUri(`value`: Output) {
this.endpointUri = value
}
/**
* @param value Id of the cosmos DB sql collection endpoint
*/
@JvmName("axsfaqwhhxbbvpvt")
public suspend fun id(`value`: Output) {
this.id = value
}
/**
* @param value Managed identity properties of routing cosmos DB collection endpoint.
*/
@JvmName("anoqkjjatbllrsvr")
public suspend fun identity(`value`: Output) {
this.identity = 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("incwmfblhuwyfnlq")
public suspend fun name(`value`: Output) {
this.name = value
}
/**
* @param value The name of the partition key associated with this cosmos DB sql collection if one exists. This is an optional parameter.
*/
@JvmName("ovaquebmabprlldy")
public suspend fun partitionKeyName(`value`: Output) {
this.partitionKeyName = value
}
/**
* @param value The template for generating a synthetic partition key value for use with this cosmos DB sql collection. The template must include at least one of the following placeholders: {iothub}, {deviceid}, {DD}, {MM}, and {YYYY}. Any one placeholder may be specified at most once, but order and non-placeholder components are arbitrary. This parameter is only required if PartitionKeyName is specified.
*/
@JvmName("gmgebmrlyeymicfr")
public suspend fun partitionKeyTemplate(`value`: Output) {
this.partitionKeyTemplate = value
}
/**
* @param value The primary key of the cosmos DB account.
*/
@JvmName("hllpbmvthniwmrpy")
public suspend fun primaryKey(`value`: Output) {
this.primaryKey = value
}
/**
* @param value The name of the resource group of the cosmos DB account.
*/
@JvmName("yohskmefdstjyslr")
public suspend fun resourceGroup(`value`: Output) {
this.resourceGroup = value
}
/**
* @param value The secondary key of the cosmos DB account.
*/
@JvmName("daupwvxrpaypnmvh")
public suspend fun secondaryKey(`value`: Output) {
this.secondaryKey = value
}
/**
* @param value The subscription identifier of the cosmos DB account.
*/
@JvmName("kqxkjgrkrqinmowk")
public suspend fun subscriptionId(`value`: Output) {
this.subscriptionId = value
}
/**
* @param value Method used to authenticate against the cosmos DB sql collection endpoint
*/
@JvmName("oqxoaoisqbjmgivr")
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 cosmos DB sql collection endpoint
*/
@JvmName("nwcyeiydcsxcpkru")
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 cosmos DB sql collection endpoint
*/
@JvmName("jougkgiuvxpywece")
public fun authenticationType(`value`: AuthenticationType) {
val toBeMapped = Either.ofRight(value)
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.authenticationType = mapped
}
/**
* @param value The name of the cosmos DB sql collection in the cosmos DB database.
*/
@JvmName("uiannjeatxtqdtin")
public suspend fun collectionName(`value`: String) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.collectionName = mapped
}
/**
* @param value The name of the cosmos DB database in the cosmos DB account.
*/
@JvmName("ifjdyygsgjiybhpo")
public suspend fun databaseName(`value`: String) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.databaseName = mapped
}
/**
* @param value The url of the cosmos DB account. It must include the protocol https://
*/
@JvmName("jkedkaqswadjjdxd")
public suspend fun endpointUri(`value`: String) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.endpointUri = mapped
}
/**
* @param value Id of the cosmos DB sql collection endpoint
*/
@JvmName("ngswrqeojdrtpcmj")
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 cosmos DB collection endpoint.
*/
@JvmName("tlvxrrmdmemvfyhd")
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 cosmos DB collection endpoint.
*/
@JvmName("hgqeckmxtrbhiexp")
public suspend fun identity(argument: suspend ManagedIdentityArgsBuilder.() -> Unit) {
val toBeMapped = ManagedIdentityArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.identity = 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("cmuaevugcdeapoar")
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 partition key associated with this cosmos DB sql collection if one exists. This is an optional parameter.
*/
@JvmName("gvhqpmpiavthdmtw")
public suspend fun partitionKeyName(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.partitionKeyName = mapped
}
/**
* @param value The template for generating a synthetic partition key value for use with this cosmos DB sql collection. The template must include at least one of the following placeholders: {iothub}, {deviceid}, {DD}, {MM}, and {YYYY}. Any one placeholder may be specified at most once, but order and non-placeholder components are arbitrary. This parameter is only required if PartitionKeyName is specified.
*/
@JvmName("jsecekdalfybocbp")
public suspend fun partitionKeyTemplate(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.partitionKeyTemplate = mapped
}
/**
* @param value The primary key of the cosmos DB account.
*/
@JvmName("toyubdqyhflbchoj")
public suspend fun primaryKey(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.primaryKey = mapped
}
/**
* @param value The name of the resource group of the cosmos DB account.
*/
@JvmName("sgeyaityxhdjcclw")
public suspend fun resourceGroup(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.resourceGroup = mapped
}
/**
* @param value The secondary key of the cosmos DB account.
*/
@JvmName("mcrpoifpkweproyw")
public suspend fun secondaryKey(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.secondaryKey = mapped
}
/**
* @param value The subscription identifier of the cosmos DB account.
*/
@JvmName("iqmbcslhinyfbfbu")
public suspend fun subscriptionId(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.subscriptionId = mapped
}
internal fun build(): RoutingCosmosDBSqlApiPropertiesArgs = RoutingCosmosDBSqlApiPropertiesArgs(
authenticationType = authenticationType,
collectionName = collectionName ?: throw PulumiNullFieldException("collectionName"),
databaseName = databaseName ?: throw PulumiNullFieldException("databaseName"),
endpointUri = endpointUri ?: throw PulumiNullFieldException("endpointUri"),
id = id,
identity = identity,
name = name ?: throw PulumiNullFieldException("name"),
partitionKeyName = partitionKeyName,
partitionKeyTemplate = partitionKeyTemplate,
primaryKey = primaryKey,
resourceGroup = resourceGroup,
secondaryKey = secondaryKey,
subscriptionId = subscriptionId,
)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy