Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.azurenative.documentdb.kotlin.inputs
import com.pulumi.azurenative.documentdb.inputs.ClusterResourcePropertiesArgs.builder
import com.pulumi.azurenative.documentdb.kotlin.enums.AuthenticationMethod
import com.pulumi.azurenative.documentdb.kotlin.enums.ManagedCassandraProvisioningState
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.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Boolean
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName
/**
* Properties of a managed Cassandra cluster.
* @property authenticationMethod Which authentication method Cassandra should use to authenticate clients. 'None' turns off authentication, so should not be used except in emergencies. 'Cassandra' is the default password based authentication. The default is 'Cassandra'.
* @property cassandraAuditLoggingEnabled Whether Cassandra audit logging is enabled
* @property cassandraVersion Which version of Cassandra should this cluster converge to running (e.g., 3.11). When updated, the cluster may take some time to migrate to the new version.
* @property clientCertificates List of TLS certificates used to authorize clients connecting to the cluster. All connections are TLS encrypted whether clientCertificates is set or not, but if clientCertificates is set, the managed Cassandra cluster will reject all connections not bearing a TLS client certificate that can be validated from one or more of the public certificates in this property.
* @property clusterNameOverride If you need to set the clusterName property in cassandra.yaml to something besides the resource name of the cluster, set the value to use on this property.
* @property deallocated Whether the cluster and associated data centers has been deallocated.
* @property delegatedManagementSubnetId Resource id of a subnet that this cluster's management service should have its network interface attached to. The subnet must be routable to all subnets that will be delegated to data centers. The resource id must be of the form '/subscriptions//resourceGroups//providers/Microsoft.Network/virtualNetworks//subnets/'
* @property externalGossipCertificates List of TLS certificates used to authorize gossip from unmanaged data centers. The TLS certificates of all nodes in unmanaged data centers must be verifiable using one of the certificates provided in this property.
* @property externalSeedNodes List of IP addresses of seed nodes in unmanaged data centers. These will be added to the seed node lists of all managed nodes.
* @property hoursBetweenBackups (Deprecated) Number of hours to wait between taking a backup of the cluster.
* @property initialCassandraAdminPassword Initial password for clients connecting as admin to the cluster. Should be changed after cluster creation. Returns null on GET. This field only applies when the authenticationMethod field is 'Cassandra'.
* @property prometheusEndpoint Hostname or IP address where the Prometheus endpoint containing data about the managed Cassandra nodes can be reached.
* @property provisionError Error related to resource provisioning.
* @property provisioningState The status of the resource at the time the operation was called.
* @property repairEnabled Should automatic repairs run on this cluster? If omitted, this is true, and should stay true unless you are running a hybrid cluster where you are already doing your own repairs.
* @property restoreFromBackupId To create an empty cluster, omit this field or set it to null. To restore a backup into a new cluster, set this field to the resource id of the backup.
*/
public data class ClusterResourcePropertiesArgs(
public val authenticationMethod: Output>? = null,
public val cassandraAuditLoggingEnabled: Output? = null,
public val cassandraVersion: Output? = null,
public val clientCertificates: Output>? = null,
public val clusterNameOverride: Output? = null,
public val deallocated: Output? = null,
public val delegatedManagementSubnetId: Output? = null,
public val externalGossipCertificates: Output>? = null,
public val externalSeedNodes: Output>? = null,
public val hoursBetweenBackups: Output? = null,
public val initialCassandraAdminPassword: Output? = null,
public val prometheusEndpoint: Output? = null,
public val provisionError: Output? = null,
public val provisioningState: Output>? = null,
public val repairEnabled: Output? = null,
public val restoreFromBackupId: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.azurenative.documentdb.inputs.ClusterResourcePropertiesArgs =
com.pulumi.azurenative.documentdb.inputs.ClusterResourcePropertiesArgs.builder()
.authenticationMethod(
authenticationMethod?.applyValue({ args0 ->
args0.transform(
{ args0 -> args0 },
{ args0 -> args0.let({ args0 -> args0.toJava() }) },
)
}),
)
.cassandraAuditLoggingEnabled(cassandraAuditLoggingEnabled?.applyValue({ args0 -> args0 }))
.cassandraVersion(cassandraVersion?.applyValue({ args0 -> args0 }))
.clientCertificates(
clientCertificates?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 -> args0.toJava() })
})
}),
)
.clusterNameOverride(clusterNameOverride?.applyValue({ args0 -> args0 }))
.deallocated(deallocated?.applyValue({ args0 -> args0 }))
.delegatedManagementSubnetId(delegatedManagementSubnetId?.applyValue({ args0 -> args0 }))
.externalGossipCertificates(
externalGossipCertificates?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 -> args0.toJava() })
})
}),
)
.externalSeedNodes(
externalSeedNodes?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
)
.hoursBetweenBackups(hoursBetweenBackups?.applyValue({ args0 -> args0 }))
.initialCassandraAdminPassword(initialCassandraAdminPassword?.applyValue({ args0 -> args0 }))
.prometheusEndpoint(
prometheusEndpoint?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
)
.provisionError(provisionError?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.provisioningState(
provisioningState?.applyValue({ args0 ->
args0.transform(
{ args0 -> args0 },
{ args0 -> args0.let({ args0 -> args0.toJava() }) },
)
}),
)
.repairEnabled(repairEnabled?.applyValue({ args0 -> args0 }))
.restoreFromBackupId(restoreFromBackupId?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [ClusterResourcePropertiesArgs].
*/
@PulumiTagMarker
public class ClusterResourcePropertiesArgsBuilder internal constructor() {
private var authenticationMethod: Output>? = null
private var cassandraAuditLoggingEnabled: Output? = null
private var cassandraVersion: Output? = null
private var clientCertificates: Output>? = null
private var clusterNameOverride: Output? = null
private var deallocated: Output? = null
private var delegatedManagementSubnetId: Output? = null
private var externalGossipCertificates: Output>? = null
private var externalSeedNodes: Output>? = null
private var hoursBetweenBackups: Output? = null
private var initialCassandraAdminPassword: Output? = null
private var prometheusEndpoint: Output? = null
private var provisionError: Output? = null
private var provisioningState: Output>? = null
private var repairEnabled: Output? = null
private var restoreFromBackupId: Output? = null
/**
* @param value Which authentication method Cassandra should use to authenticate clients. 'None' turns off authentication, so should not be used except in emergencies. 'Cassandra' is the default password based authentication. The default is 'Cassandra'.
*/
@JvmName("gtnfjrwruangaxle")
public suspend fun authenticationMethod(`value`: Output>) {
this.authenticationMethod = value
}
/**
* @param value Whether Cassandra audit logging is enabled
*/
@JvmName("cyyfdypapikdmojl")
public suspend fun cassandraAuditLoggingEnabled(`value`: Output) {
this.cassandraAuditLoggingEnabled = value
}
/**
* @param value Which version of Cassandra should this cluster converge to running (e.g., 3.11). When updated, the cluster may take some time to migrate to the new version.
*/
@JvmName("ohbergrdeodimwgk")
public suspend fun cassandraVersion(`value`: Output) {
this.cassandraVersion = value
}
/**
* @param value List of TLS certificates used to authorize clients connecting to the cluster. All connections are TLS encrypted whether clientCertificates is set or not, but if clientCertificates is set, the managed Cassandra cluster will reject all connections not bearing a TLS client certificate that can be validated from one or more of the public certificates in this property.
*/
@JvmName("pjrqwgtaebentbnc")
public suspend fun clientCertificates(`value`: Output>) {
this.clientCertificates = value
}
@JvmName("lixehnniciktgvtv")
public suspend fun clientCertificates(vararg values: Output) {
this.clientCertificates = Output.all(values.asList())
}
/**
* @param values List of TLS certificates used to authorize clients connecting to the cluster. All connections are TLS encrypted whether clientCertificates is set or not, but if clientCertificates is set, the managed Cassandra cluster will reject all connections not bearing a TLS client certificate that can be validated from one or more of the public certificates in this property.
*/
@JvmName("qhlvtmbompaddmrn")
public suspend fun clientCertificates(values: List