Please wait. This can take some minutes ...
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.
com.pulumi.azurenative.datafactory.kotlin.inputs.AzureSqlMILinkedServiceArgs.kt Maven / Gradle / Ivy
Go to download
Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.azurenative.datafactory.kotlin.inputs
import com.pulumi.azurenative.datafactory.inputs.AzureSqlMILinkedServiceArgs.builder
import com.pulumi.azurenative.datafactory.kotlin.enums.AzureSqlMIAuthenticationType
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.Any
import kotlin.Pair
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.collections.Map
import kotlin.jvm.JvmName
/**
* Azure SQL Managed Instance linked service.
* @property alwaysEncryptedSettings Sql always encrypted properties.
* @property annotations List of tags that can be used for describing the linked service.
* @property applicationIntent The application workload type when connecting to a server, used by recommended version. Possible values are ReadOnly and ReadWrite. Type: string (or Expression with resultType string).
* @property authenticationType The type used for authentication. Type: string.
* @property azureCloudType Indicates the azure cloud type of the service principle auth. Allowed values are AzurePublic, AzureChina, AzureUsGovernment, AzureGermany. Default value is the data factory regions’ cloud type. Type: string (or Expression with resultType string).
* @property commandTimeout The default wait time (in seconds) before terminating the attempt to execute a command and generating an error, used by recommended version. Type: integer (or Expression with resultType integer).
* @property connectRetryCount The number of re-connections attempted after identifying that there was an idle connection failure, used by recommended version. This must be an integer between 0 and 255. Type: integer (or Expression with resultType integer).
* @property connectRetryInterval The amount of time (in seconds) between each re-connection attempt after identifying that there was an idle connection failure, used by recommended version. This must be an integer between 1 and 60. Type: integer (or Expression with resultType integer).
* @property connectTimeout The length of time (in seconds) to wait for a connection to the server before terminating the attempt and generating an error, used by recommended version. Type: integer (or Expression with resultType integer).
* @property connectVia The integration runtime reference.
* @property connectionString The connection string. Type: string, SecureString or AzureKeyVaultSecretReference.
* @property credential The credential reference containing authentication information.
* @property database The name of the database, used by recommended version. Type: string (or Expression with resultType string).
* @property description Linked service description.
* @property encrypt Indicate whether TLS encryption is required for all data sent between the client and server, used by recommended version. Possible values are true/yes/mandatory, false/no/optional and strict. Type: string (or Expression with resultType string).
* @property encryptedCredential The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string.
* @property failoverPartner The name or address of the partner server to connect to if the primary server is down, used by recommended version. Type: string (or Expression with resultType string).
* @property hostNameInCertificate The host name to use when validating the server certificate for the connection. When not specified, the server name from the Data Source is used for certificate validation, used by recommended version. Type: string (or Expression with resultType string).
* @property integratedSecurity Indicate whether User ID and Password are specified in the connection (when false) or whether the current Windows account credentials are used for authentication (when true), used by recommended version. Type: Boolean (or Expression with resultType boolean).
* @property loadBalanceTimeout The minimum time, in seconds, for the connection to live in the connection pool before being destroyed, used by recommended version. Type: integer (or Expression with resultType integer).
* @property maxPoolSize The maximum number of connections allowed in the connection pool for this specific connection string, used by recommended version. Type: integer (or Expression with resultType integer).
* @property minPoolSize The minimum number of connections allowed in the connection pool for this specific connection string, used by recommended version. Type: integer (or Expression with resultType integer).
* @property multiSubnetFailover If your application is connecting to an AlwaysOn availability group (AG) on different subnets, setting MultiSubnetFailover=true provides faster detection of and connection to the (currently) active server, used by recommended version. Type: Boolean (or Expression with resultType boolean).
* @property multipleActiveResultSets When true, an application can maintain multiple active result sets (MARS). When false, an application must process or cancel all result sets from one batch before it can execute any other batch on that connection, used by recommended version. Type: Boolean (or Expression with resultType boolean).
* @property packetSize The size in bytes of the network packets used to communicate with an instance of server, used by recommended version. Type: integer (or Expression with resultType integer).
* @property parameters Parameters for linked service.
* @property password The Azure key vault secret reference of password in connection string.
* @property pooling Indicate whether the connection will be pooled or explicitly opened every time that the connection is requested, used by recommended version. Type: Boolean (or Expression with resultType boolean).
* @property server The name or network address of the instance of SQL Server to which to connect, used by recommended version. Type: string (or Expression with resultType string).
* @property servicePrincipalCredential The credential of the service principal object in Azure Active Directory. If servicePrincipalCredentialType is 'ServicePrincipalKey', servicePrincipalCredential can be SecureString or AzureKeyVaultSecretReference. If servicePrincipalCredentialType is 'ServicePrincipalCert', servicePrincipalCredential can only be AzureKeyVaultSecretReference.
* @property servicePrincipalCredentialType The service principal credential type to use in Server-To-Server authentication. 'ServicePrincipalKey' for key/secret, 'ServicePrincipalCert' for certificate. Type: string (or Expression with resultType string).
* @property servicePrincipalId The ID of the service principal used to authenticate against Azure SQL Managed Instance. Type: string (or Expression with resultType string).
* @property servicePrincipalKey The key of the service principal used to authenticate against Azure SQL Managed Instance.
* @property tenant The name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string).
* @property trustServerCertificate Indicate whether the channel will be encrypted while bypassing walking the certificate chain to validate trust, used by recommended version. Type: Boolean (or Expression with resultType boolean).
* @property type Type of linked service.
* Expected value is 'AzureSqlMI'.
* @property userName The user name to be used when connecting to server. Type: string (or Expression with resultType string).
* @property version Version of the linked service.
*/
public data class AzureSqlMILinkedServiceArgs(
public val alwaysEncryptedSettings: Output? = null,
public val annotations: Output>? = null,
public val applicationIntent: Output? = null,
public val authenticationType: Output>? = null,
public val azureCloudType: Output? = null,
public val commandTimeout: Output? = null,
public val connectRetryCount: Output? = null,
public val connectRetryInterval: Output? = null,
public val connectTimeout: Output? = null,
public val connectVia: Output? = null,
public val connectionString: Output? = null,
public val credential: Output? = null,
public val database: Output? = null,
public val description: Output? = null,
public val encrypt: Output? = null,
public val encryptedCredential: Output? = null,
public val failoverPartner: Output? = null,
public val hostNameInCertificate: Output? = null,
public val integratedSecurity: Output? = null,
public val loadBalanceTimeout: Output? = null,
public val maxPoolSize: Output? = null,
public val minPoolSize: Output? = null,
public val multiSubnetFailover: Output? = null,
public val multipleActiveResultSets: Output? = null,
public val packetSize: Output? = null,
public val parameters: Output>? = null,
public val password: Output? = null,
public val pooling: Output? = null,
public val server: Output? = null,
public val servicePrincipalCredential: Output>? = null,
public val servicePrincipalCredentialType: Output? = null,
public val servicePrincipalId: Output? = null,
public val servicePrincipalKey: Output>? = null,
public val tenant: Output? = null,
public val trustServerCertificate: Output? = null,
public val type: Output,
public val userName: Output? = null,
public val version: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.azurenative.datafactory.inputs.AzureSqlMILinkedServiceArgs =
com.pulumi.azurenative.datafactory.inputs.AzureSqlMILinkedServiceArgs.builder()
.alwaysEncryptedSettings(
alwaysEncryptedSettings?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
)
.annotations(annotations?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.applicationIntent(applicationIntent?.applyValue({ args0 -> args0 }))
.authenticationType(
authenticationType?.applyValue({ args0 ->
args0.transform(
{ args0 -> args0 },
{ args0 -> args0.let({ args0 -> args0.toJava() }) },
)
}),
)
.azureCloudType(azureCloudType?.applyValue({ args0 -> args0 }))
.commandTimeout(commandTimeout?.applyValue({ args0 -> args0 }))
.connectRetryCount(connectRetryCount?.applyValue({ args0 -> args0 }))
.connectRetryInterval(connectRetryInterval?.applyValue({ args0 -> args0 }))
.connectTimeout(connectTimeout?.applyValue({ args0 -> args0 }))
.connectVia(connectVia?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.connectionString(connectionString?.applyValue({ args0 -> args0 }))
.credential(credential?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.database(database?.applyValue({ args0 -> args0 }))
.description(description?.applyValue({ args0 -> args0 }))
.encrypt(encrypt?.applyValue({ args0 -> args0 }))
.encryptedCredential(encryptedCredential?.applyValue({ args0 -> args0 }))
.failoverPartner(failoverPartner?.applyValue({ args0 -> args0 }))
.hostNameInCertificate(hostNameInCertificate?.applyValue({ args0 -> args0 }))
.integratedSecurity(integratedSecurity?.applyValue({ args0 -> args0 }))
.loadBalanceTimeout(loadBalanceTimeout?.applyValue({ args0 -> args0 }))
.maxPoolSize(maxPoolSize?.applyValue({ args0 -> args0 }))
.minPoolSize(minPoolSize?.applyValue({ args0 -> args0 }))
.multiSubnetFailover(multiSubnetFailover?.applyValue({ args0 -> args0 }))
.multipleActiveResultSets(multipleActiveResultSets?.applyValue({ args0 -> args0 }))
.packetSize(packetSize?.applyValue({ args0 -> args0 }))
.parameters(
parameters?.applyValue({ args0 ->
args0.map({ args0 ->
args0.key.to(args0.value.let({ args0 -> args0.toJava() }))
}).toMap()
}),
)
.password(password?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.pooling(pooling?.applyValue({ args0 -> args0 }))
.server(server?.applyValue({ args0 -> args0 }))
.servicePrincipalCredential(
servicePrincipalCredential?.applyValue({ args0 ->
args0.transform({ args0 -> args0.let({ args0 -> args0.toJava() }) }, { args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
)
.servicePrincipalCredentialType(servicePrincipalCredentialType?.applyValue({ args0 -> args0 }))
.servicePrincipalId(servicePrincipalId?.applyValue({ args0 -> args0 }))
.servicePrincipalKey(
servicePrincipalKey?.applyValue({ args0 ->
args0.transform({ args0 ->
args0.let({ args0 -> args0.toJava() })
}, { args0 -> args0.let({ args0 -> args0.toJava() }) })
}),
)
.tenant(tenant?.applyValue({ args0 -> args0 }))
.trustServerCertificate(trustServerCertificate?.applyValue({ args0 -> args0 }))
.type(type.applyValue({ args0 -> args0 }))
.userName(userName?.applyValue({ args0 -> args0 }))
.version(version?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [AzureSqlMILinkedServiceArgs].
*/
@PulumiTagMarker
public class AzureSqlMILinkedServiceArgsBuilder internal constructor() {
private var alwaysEncryptedSettings: Output? = null
private var annotations: Output>? = null
private var applicationIntent: Output? = null
private var authenticationType: Output>? = null
private var azureCloudType: Output? = null
private var commandTimeout: Output? = null
private var connectRetryCount: Output? = null
private var connectRetryInterval: Output? = null
private var connectTimeout: Output? = null
private var connectVia: Output? = null
private var connectionString: Output? = null
private var credential: Output? = null
private var database: Output? = null
private var description: Output? = null
private var encrypt: Output? = null
private var encryptedCredential: Output? = null
private var failoverPartner: Output? = null
private var hostNameInCertificate: Output? = null
private var integratedSecurity: Output? = null
private var loadBalanceTimeout: Output? = null
private var maxPoolSize: Output? = null
private var minPoolSize: Output? = null
private var multiSubnetFailover: Output? = null
private var multipleActiveResultSets: Output? = null
private var packetSize: Output? = null
private var parameters: Output>? = null
private var password: Output? = null
private var pooling: Output? = null
private var server: Output? = null
private var servicePrincipalCredential:
Output>? = null
private var servicePrincipalCredentialType: Output? = null
private var servicePrincipalId: Output? = null
private var servicePrincipalKey:
Output>? = null
private var tenant: Output? = null
private var trustServerCertificate: Output? = null
private var type: Output? = null
private var userName: Output? = null
private var version: Output? = null
/**
* @param value Sql always encrypted properties.
*/
@JvmName("boevteypoaeexouo")
public suspend fun alwaysEncryptedSettings(`value`: Output) {
this.alwaysEncryptedSettings = value
}
/**
* @param value List of tags that can be used for describing the linked service.
*/
@JvmName("pblsycyqukwmfplc")
public suspend fun annotations(`value`: Output>) {
this.annotations = value
}
@JvmName("cqcaovsnmmekjkfa")
public suspend fun annotations(vararg values: Output) {
this.annotations = Output.all(values.asList())
}
/**
* @param values List of tags that can be used for describing the linked service.
*/
@JvmName("gcghwsmxhiqnwier")
public suspend fun annotations(values: List>) {
this.annotations = Output.all(values)
}
/**
* @param value The application workload type when connecting to a server, used by recommended version. Possible values are ReadOnly and ReadWrite. Type: string (or Expression with resultType string).
*/
@JvmName("tmcfpxoiwxomrflm")
public suspend fun applicationIntent(`value`: Output) {
this.applicationIntent = value
}
/**
* @param value The type used for authentication. Type: string.
*/
@JvmName("frcbhymhavjelrnp")
public suspend fun authenticationType(`value`: Output>) {
this.authenticationType = value
}
/**
* @param value Indicates the azure cloud type of the service principle auth. Allowed values are AzurePublic, AzureChina, AzureUsGovernment, AzureGermany. Default value is the data factory regions’ cloud type. Type: string (or Expression with resultType string).
*/
@JvmName("ubqhctmocereqmpu")
public suspend fun azureCloudType(`value`: Output) {
this.azureCloudType = value
}
/**
* @param value The default wait time (in seconds) before terminating the attempt to execute a command and generating an error, used by recommended version. Type: integer (or Expression with resultType integer).
*/
@JvmName("ofsfeuoasfvwilhj")
public suspend fun commandTimeout(`value`: Output) {
this.commandTimeout = value
}
/**
* @param value The number of re-connections attempted after identifying that there was an idle connection failure, used by recommended version. This must be an integer between 0 and 255. Type: integer (or Expression with resultType integer).
*/
@JvmName("udjluiotqpdnwgwg")
public suspend fun connectRetryCount(`value`: Output) {
this.connectRetryCount = value
}
/**
* @param value The amount of time (in seconds) between each re-connection attempt after identifying that there was an idle connection failure, used by recommended version. This must be an integer between 1 and 60. Type: integer (or Expression with resultType integer).
*/
@JvmName("sdymxypvcxtxwcfn")
public suspend fun connectRetryInterval(`value`: Output) {
this.connectRetryInterval = value
}
/**
* @param value The length of time (in seconds) to wait for a connection to the server before terminating the attempt and generating an error, used by recommended version. Type: integer (or Expression with resultType integer).
*/
@JvmName("tsdhrquitllmotnl")
public suspend fun connectTimeout(`value`: Output) {
this.connectTimeout = value
}
/**
* @param value The integration runtime reference.
*/
@JvmName("jpuhjtwqnqpvmyre")
public suspend fun connectVia(`value`: Output) {
this.connectVia = value
}
/**
* @param value The connection string. Type: string, SecureString or AzureKeyVaultSecretReference.
*/
@JvmName("fmfuuqbtdragmjhl")
public suspend fun connectionString(`value`: Output) {
this.connectionString = value
}
/**
* @param value The credential reference containing authentication information.
*/
@JvmName("oaqajlxqijfmwodm")
public suspend fun credential(`value`: Output) {
this.credential = value
}
/**
* @param value The name of the database, used by recommended version. Type: string (or Expression with resultType string).
*/
@JvmName("wgwlybheyerelsak")
public suspend fun database(`value`: Output) {
this.database = value
}
/**
* @param value Linked service description.
*/
@JvmName("oahkvsnmprbqejdc")
public suspend fun description(`value`: Output) {
this.description = value
}
/**
* @param value Indicate whether TLS encryption is required for all data sent between the client and server, used by recommended version. Possible values are true/yes/mandatory, false/no/optional and strict. Type: string (or Expression with resultType string).
*/
@JvmName("hcbrshuaqvmmlphi")
public suspend fun encrypt(`value`: Output) {
this.encrypt = value
}
/**
* @param value The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string.
*/
@JvmName("ahxqhkbywoavfqtj")
public suspend fun encryptedCredential(`value`: Output) {
this.encryptedCredential = value
}
/**
* @param value The name or address of the partner server to connect to if the primary server is down, used by recommended version. Type: string (or Expression with resultType string).
*/
@JvmName("rqrujeqtidkvpuog")
public suspend fun failoverPartner(`value`: Output) {
this.failoverPartner = value
}
/**
* @param value The host name to use when validating the server certificate for the connection. When not specified, the server name from the Data Source is used for certificate validation, used by recommended version. Type: string (or Expression with resultType string).
*/
@JvmName("ekackiuwpvyvrwfu")
public suspend fun hostNameInCertificate(`value`: Output) {
this.hostNameInCertificate = value
}
/**
* @param value Indicate whether User ID and Password are specified in the connection (when false) or whether the current Windows account credentials are used for authentication (when true), used by recommended version. Type: Boolean (or Expression with resultType boolean).
*/
@JvmName("hdojivobisntbfld")
public suspend fun integratedSecurity(`value`: Output) {
this.integratedSecurity = value
}
/**
* @param value The minimum time, in seconds, for the connection to live in the connection pool before being destroyed, used by recommended version. Type: integer (or Expression with resultType integer).
*/
@JvmName("nagmonkdrmmudjig")
public suspend fun loadBalanceTimeout(`value`: Output) {
this.loadBalanceTimeout = value
}
/**
* @param value The maximum number of connections allowed in the connection pool for this specific connection string, used by recommended version. Type: integer (or Expression with resultType integer).
*/
@JvmName("xkuaeyvjjqhwbqws")
public suspend fun maxPoolSize(`value`: Output) {
this.maxPoolSize = value
}
/**
* @param value The minimum number of connections allowed in the connection pool for this specific connection string, used by recommended version. Type: integer (or Expression with resultType integer).
*/
@JvmName("sjvhosrylvujvaqh")
public suspend fun minPoolSize(`value`: Output) {
this.minPoolSize = value
}
/**
* @param value If your application is connecting to an AlwaysOn availability group (AG) on different subnets, setting MultiSubnetFailover=true provides faster detection of and connection to the (currently) active server, used by recommended version. Type: Boolean (or Expression with resultType boolean).
*/
@JvmName("tjoatnaufqkheumr")
public suspend fun multiSubnetFailover(`value`: Output) {
this.multiSubnetFailover = value
}
/**
* @param value When true, an application can maintain multiple active result sets (MARS). When false, an application must process or cancel all result sets from one batch before it can execute any other batch on that connection, used by recommended version. Type: Boolean (or Expression with resultType boolean).
*/
@JvmName("qeovackpdnwexnqf")
public suspend fun multipleActiveResultSets(`value`: Output) {
this.multipleActiveResultSets = value
}
/**
* @param value The size in bytes of the network packets used to communicate with an instance of server, used by recommended version. Type: integer (or Expression with resultType integer).
*/
@JvmName("twnrshtrwnbnyool")
public suspend fun packetSize(`value`: Output) {
this.packetSize = value
}
/**
* @param value Parameters for linked service.
*/
@JvmName("fbfnhqewhfewrxdt")
public suspend fun parameters(`value`: Output>) {
this.parameters = value
}
/**
* @param value The Azure key vault secret reference of password in connection string.
*/
@JvmName("cjggtkhtslriiptc")
public suspend fun password(`value`: Output) {
this.password = value
}
/**
* @param value Indicate whether the connection will be pooled or explicitly opened every time that the connection is requested, used by recommended version. Type: Boolean (or Expression with resultType boolean).
*/
@JvmName("grjvobwjauphisdv")
public suspend fun pooling(`value`: Output) {
this.pooling = value
}
/**
* @param value The name or network address of the instance of SQL Server to which to connect, used by recommended version. Type: string (or Expression with resultType string).
*/
@JvmName("nujmkyrpqqnkvhix")
public suspend fun server(`value`: Output) {
this.server = value
}
/**
* @param value The credential of the service principal object in Azure Active Directory. If servicePrincipalCredentialType is 'ServicePrincipalKey', servicePrincipalCredential can be SecureString or AzureKeyVaultSecretReference. If servicePrincipalCredentialType is 'ServicePrincipalCert', servicePrincipalCredential can only be AzureKeyVaultSecretReference.
*/
@JvmName("gjpxsovhxiqwuwrc")
public suspend fun servicePrincipalCredential(`value`: Output>) {
this.servicePrincipalCredential = value
}
/**
* @param value The service principal credential type to use in Server-To-Server authentication. 'ServicePrincipalKey' for key/secret, 'ServicePrincipalCert' for certificate. Type: string (or Expression with resultType string).
*/
@JvmName("ubaiqdqpcqpismlf")
public suspend fun servicePrincipalCredentialType(`value`: Output) {
this.servicePrincipalCredentialType = value
}
/**
* @param value The ID of the service principal used to authenticate against Azure SQL Managed Instance. Type: string (or Expression with resultType string).
*/
@JvmName("faivgrlfagjkgcar")
public suspend fun servicePrincipalId(`value`: Output) {
this.servicePrincipalId = value
}
/**
* @param value The key of the service principal used to authenticate against Azure SQL Managed Instance.
*/
@JvmName("jpioueustpeqjgas")
public suspend fun servicePrincipalKey(`value`: Output>) {
this.servicePrincipalKey = value
}
/**
* @param value The name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string).
*/
@JvmName("oenvmstxxngpithl")
public suspend fun tenant(`value`: Output) {
this.tenant = value
}
/**
* @param value Indicate whether the channel will be encrypted while bypassing walking the certificate chain to validate trust, used by recommended version. Type: Boolean (or Expression with resultType boolean).
*/
@JvmName("kulgbswxdnndpwbb")
public suspend fun trustServerCertificate(`value`: Output) {
this.trustServerCertificate = value
}
/**
* @param value Type of linked service.
* Expected value is 'AzureSqlMI'.
*/
@JvmName("scvjyrhcpceqassd")
public suspend fun type(`value`: Output) {
this.type = value
}
/**
* @param value The user name to be used when connecting to server. Type: string (or Expression with resultType string).
*/
@JvmName("aeddkylbxtiqsjgx")
public suspend fun userName(`value`: Output) {
this.userName = value
}
/**
* @param value Version of the linked service.
*/
@JvmName("scuwdfgfchdlxjmi")
public suspend fun version(`value`: Output) {
this.version = value
}
/**
* @param value Sql always encrypted properties.
*/
@JvmName("aphgquoyaccmomap")
public suspend fun alwaysEncryptedSettings(`value`: SqlAlwaysEncryptedPropertiesArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.alwaysEncryptedSettings = mapped
}
/**
* @param argument Sql always encrypted properties.
*/
@JvmName("dsllwsfoqkuskpdq")
public suspend fun alwaysEncryptedSettings(argument: suspend SqlAlwaysEncryptedPropertiesArgsBuilder.() -> Unit) {
val toBeMapped = SqlAlwaysEncryptedPropertiesArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.alwaysEncryptedSettings = mapped
}
/**
* @param value List of tags that can be used for describing the linked service.
*/
@JvmName("lnxkvdpewyvcuhwe")
public suspend fun annotations(`value`: List?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.annotations = mapped
}
/**
* @param values List of tags that can be used for describing the linked service.
*/
@JvmName("othahxbxphtagubk")
public suspend fun annotations(vararg values: Any) {
val toBeMapped = values.toList()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.annotations = mapped
}
/**
* @param value The application workload type when connecting to a server, used by recommended version. Possible values are ReadOnly and ReadWrite. Type: string (or Expression with resultType string).
*/
@JvmName("iavevyqbnvwtdmxt")
public suspend fun applicationIntent(`value`: Any?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.applicationIntent = mapped
}
/**
* @param value The type used for authentication. Type: string.
*/
@JvmName("vjtknvtbstauogrv")
public suspend fun authenticationType(`value`: Either?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.authenticationType = mapped
}
/**
* @param value The type used for authentication. Type: string.
*/
@JvmName("tdoulylsagdwatms")
public fun authenticationType(`value`: String) {
val toBeMapped = Either.ofLeft(value)
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.authenticationType = mapped
}
/**
* @param value The type used for authentication. Type: string.
*/
@JvmName("wptketmvpnigctta")
public fun authenticationType(`value`: AzureSqlMIAuthenticationType) {
val toBeMapped = Either.ofRight(value)
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.authenticationType = mapped
}
/**
* @param value Indicates the azure cloud type of the service principle auth. Allowed values are AzurePublic, AzureChina, AzureUsGovernment, AzureGermany. Default value is the data factory regions’ cloud type. Type: string (or Expression with resultType string).
*/
@JvmName("borionfwsthpoxly")
public suspend fun azureCloudType(`value`: Any?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.azureCloudType = mapped
}
/**
* @param value The default wait time (in seconds) before terminating the attempt to execute a command and generating an error, used by recommended version. Type: integer (or Expression with resultType integer).
*/
@JvmName("ubldfdqawvfkcfxs")
public suspend fun commandTimeout(`value`: Any?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.commandTimeout = mapped
}
/**
* @param value The number of re-connections attempted after identifying that there was an idle connection failure, used by recommended version. This must be an integer between 0 and 255. Type: integer (or Expression with resultType integer).
*/
@JvmName("thseecjxatsqoiqk")
public suspend fun connectRetryCount(`value`: Any?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.connectRetryCount = mapped
}
/**
* @param value The amount of time (in seconds) between each re-connection attempt after identifying that there was an idle connection failure, used by recommended version. This must be an integer between 1 and 60. Type: integer (or Expression with resultType integer).
*/
@JvmName("lvkjehhjksjtxtgg")
public suspend fun connectRetryInterval(`value`: Any?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.connectRetryInterval = mapped
}
/**
* @param value The length of time (in seconds) to wait for a connection to the server before terminating the attempt and generating an error, used by recommended version. Type: integer (or Expression with resultType integer).
*/
@JvmName("bedmjbckyadjdxqq")
public suspend fun connectTimeout(`value`: Any?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.connectTimeout = mapped
}
/**
* @param value The integration runtime reference.
*/
@JvmName("ratdrqwvsypndwat")
public suspend fun connectVia(`value`: IntegrationRuntimeReferenceArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.connectVia = mapped
}
/**
* @param argument The integration runtime reference.
*/
@JvmName("srwmplofxhbvhdjc")
public suspend fun connectVia(argument: suspend IntegrationRuntimeReferenceArgsBuilder.() -> Unit) {
val toBeMapped = IntegrationRuntimeReferenceArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.connectVia = mapped
}
/**
* @param value The connection string. Type: string, SecureString or AzureKeyVaultSecretReference.
*/
@JvmName("nqbggnfmqpxaaedx")
public suspend fun connectionString(`value`: Any?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.connectionString = mapped
}
/**
* @param value The credential reference containing authentication information.
*/
@JvmName("ogxprsrdtalbpykx")
public suspend fun credential(`value`: CredentialReferenceArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.credential = mapped
}
/**
* @param argument The credential reference containing authentication information.
*/
@JvmName("oafrsqyrtoxerxta")
public suspend fun credential(argument: suspend CredentialReferenceArgsBuilder.() -> Unit) {
val toBeMapped = CredentialReferenceArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.credential = mapped
}
/**
* @param value The name of the database, used by recommended version. Type: string (or Expression with resultType string).
*/
@JvmName("xganikkemkvkqmyr")
public suspend fun database(`value`: Any?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.database = mapped
}
/**
* @param value Linked service description.
*/
@JvmName("howbfhpioqtjlklx")
public suspend fun description(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.description = mapped
}
/**
* @param value Indicate whether TLS encryption is required for all data sent between the client and server, used by recommended version. Possible values are true/yes/mandatory, false/no/optional and strict. Type: string (or Expression with resultType string).
*/
@JvmName("flfdwwmdunjhfbdd")
public suspend fun encrypt(`value`: Any?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.encrypt = mapped
}
/**
* @param value The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string.
*/
@JvmName("fyueaxicvkesyvoa")
public suspend fun encryptedCredential(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.encryptedCredential = mapped
}
/**
* @param value The name or address of the partner server to connect to if the primary server is down, used by recommended version. Type: string (or Expression with resultType string).
*/
@JvmName("wfrtlrytlmduyrjn")
public suspend fun failoverPartner(`value`: Any?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.failoverPartner = mapped
}
/**
* @param value The host name to use when validating the server certificate for the connection. When not specified, the server name from the Data Source is used for certificate validation, used by recommended version. Type: string (or Expression with resultType string).
*/
@JvmName("ioornuugndebdait")
public suspend fun hostNameInCertificate(`value`: Any?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.hostNameInCertificate = mapped
}
/**
* @param value Indicate whether User ID and Password are specified in the connection (when false) or whether the current Windows account credentials are used for authentication (when true), used by recommended version. Type: Boolean (or Expression with resultType boolean).
*/
@JvmName("altinxfwevuwarhn")
public suspend fun integratedSecurity(`value`: Any?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.integratedSecurity = mapped
}
/**
* @param value The minimum time, in seconds, for the connection to live in the connection pool before being destroyed, used by recommended version. Type: integer (or Expression with resultType integer).
*/
@JvmName("cewhdfifmdbcmqgh")
public suspend fun loadBalanceTimeout(`value`: Any?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.loadBalanceTimeout = mapped
}
/**
* @param value The maximum number of connections allowed in the connection pool for this specific connection string, used by recommended version. Type: integer (or Expression with resultType integer).
*/
@JvmName("ynepxlwnlpdarntd")
public suspend fun maxPoolSize(`value`: Any?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.maxPoolSize = mapped
}
/**
* @param value The minimum number of connections allowed in the connection pool for this specific connection string, used by recommended version. Type: integer (or Expression with resultType integer).
*/
@JvmName("ucccinmqypqgqevt")
public suspend fun minPoolSize(`value`: Any?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.minPoolSize = mapped
}
/**
* @param value If your application is connecting to an AlwaysOn availability group (AG) on different subnets, setting MultiSubnetFailover=true provides faster detection of and connection to the (currently) active server, used by recommended version. Type: Boolean (or Expression with resultType boolean).
*/
@JvmName("llrrhhdfnowirvoq")
public suspend fun multiSubnetFailover(`value`: Any?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.multiSubnetFailover = mapped
}
/**
* @param value When true, an application can maintain multiple active result sets (MARS). When false, an application must process or cancel all result sets from one batch before it can execute any other batch on that connection, used by recommended version. Type: Boolean (or Expression with resultType boolean).
*/
@JvmName("whutdvdrkgqmrvrr")
public suspend fun multipleActiveResultSets(`value`: Any?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.multipleActiveResultSets = mapped
}
/**
* @param value The size in bytes of the network packets used to communicate with an instance of server, used by recommended version. Type: integer (or Expression with resultType integer).
*/
@JvmName("gfereithlhkndbux")
public suspend fun packetSize(`value`: Any?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.packetSize = mapped
}
/**
* @param value Parameters for linked service.
*/
@JvmName("rofvhdeorurskmdh")
public suspend fun parameters(`value`: Map?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.parameters = mapped
}
/**
* @param argument Parameters for linked service.
*/
@JvmName("sjhekofkpgjybfca")
public suspend fun parameters(vararg argument: Pair Unit>) {
val toBeMapped = argument.toList().map { (left, right) ->
left to
ParameterSpecificationArgsBuilder().applySuspend { right() }.build()
}.toMap()
val mapped = of(toBeMapped)
this.parameters = mapped
}
/**
* @param values Parameters for linked service.
*/
@JvmName("xlpxxidkinjsfuwk")
public fun parameters(vararg values: Pair) {
val toBeMapped = values.toMap()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.parameters = mapped
}
/**
* @param value The Azure key vault secret reference of password in connection string.
*/
@JvmName("yletebdsrlwppffl")
public suspend fun password(`value`: AzureKeyVaultSecretReferenceArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.password = mapped
}
/**
* @param argument The Azure key vault secret reference of password in connection string.
*/
@JvmName("wqmcoaeufqhmohfk")
public suspend fun password(argument: suspend AzureKeyVaultSecretReferenceArgsBuilder.() -> Unit) {
val toBeMapped = AzureKeyVaultSecretReferenceArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.password = mapped
}
/**
* @param value Indicate whether the connection will be pooled or explicitly opened every time that the connection is requested, used by recommended version. Type: Boolean (or Expression with resultType boolean).
*/
@JvmName("wjfqgcooywjdtdku")
public suspend fun pooling(`value`: Any?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.pooling = mapped
}
/**
* @param value The name or network address of the instance of SQL Server to which to connect, used by recommended version. Type: string (or Expression with resultType string).
*/
@JvmName("hkowqidtdcqtrlvg")
public suspend fun server(`value`: Any?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.server = mapped
}
/**
* @param value The credential of the service principal object in Azure Active Directory. If servicePrincipalCredentialType is 'ServicePrincipalKey', servicePrincipalCredential can be SecureString or AzureKeyVaultSecretReference. If servicePrincipalCredentialType is 'ServicePrincipalCert', servicePrincipalCredential can only be AzureKeyVaultSecretReference.
*/
@JvmName("lhgoxsjqdflsgobr")
public suspend fun servicePrincipalCredential(`value`: Either?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.servicePrincipalCredential = mapped
}
/**
* @param value The credential of the service principal object in Azure Active Directory. If servicePrincipalCredentialType is 'ServicePrincipalKey', servicePrincipalCredential can be SecureString or AzureKeyVaultSecretReference. If servicePrincipalCredentialType is 'ServicePrincipalCert', servicePrincipalCredential can only be AzureKeyVaultSecretReference.
*/
@JvmName("glqcfgclhrmmpcpa")
public fun servicePrincipalCredential(`value`: AzureKeyVaultSecretReferenceArgs) {
val toBeMapped = Either.ofLeft(value)
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.servicePrincipalCredential = mapped
}
/**
* @param value The credential of the service principal object in Azure Active Directory. If servicePrincipalCredentialType is 'ServicePrincipalKey', servicePrincipalCredential can be SecureString or AzureKeyVaultSecretReference. If servicePrincipalCredentialType is 'ServicePrincipalCert', servicePrincipalCredential can only be AzureKeyVaultSecretReference.
*/
@JvmName("rqufqvinoqtptvxf")
public fun servicePrincipalCredential(`value`: SecureStringArgs) {
val toBeMapped = Either.ofRight(value)
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.servicePrincipalCredential = mapped
}
/**
* @param value The service principal credential type to use in Server-To-Server authentication. 'ServicePrincipalKey' for key/secret, 'ServicePrincipalCert' for certificate. Type: string (or Expression with resultType string).
*/
@JvmName("yarcjpdkxohwmxly")
public suspend fun servicePrincipalCredentialType(`value`: Any?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.servicePrincipalCredentialType = mapped
}
/**
* @param value The ID of the service principal used to authenticate against Azure SQL Managed Instance. Type: string (or Expression with resultType string).
*/
@JvmName("mcjjqetwrleomjvb")
public suspend fun servicePrincipalId(`value`: Any?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.servicePrincipalId = mapped
}
/**
* @param value The key of the service principal used to authenticate against Azure SQL Managed Instance.
*/
@JvmName("hsvprirwgawfsaca")
public suspend fun servicePrincipalKey(`value`: Either?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.servicePrincipalKey = mapped
}
/**
* @param value The key of the service principal used to authenticate against Azure SQL Managed Instance.
*/
@JvmName("mofxnnwrksfgukcv")
public fun servicePrincipalKey(`value`: AzureKeyVaultSecretReferenceArgs) {
val toBeMapped = Either.ofLeft(value)
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.servicePrincipalKey = mapped
}
/**
* @param value The key of the service principal used to authenticate against Azure SQL Managed Instance.
*/
@JvmName("mipkifgftwajwhis")
public fun servicePrincipalKey(`value`: SecureStringArgs) {
val toBeMapped = Either.ofRight(value)
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.servicePrincipalKey = mapped
}
/**
* @param value The name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string).
*/
@JvmName("yrteuhaietblpali")
public suspend fun tenant(`value`: Any?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.tenant = mapped
}
/**
* @param value Indicate whether the channel will be encrypted while bypassing walking the certificate chain to validate trust, used by recommended version. Type: Boolean (or Expression with resultType boolean).
*/
@JvmName("ohlmamagcccbqvpi")
public suspend fun trustServerCertificate(`value`: Any?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.trustServerCertificate = mapped
}
/**
* @param value Type of linked service.
* Expected value is 'AzureSqlMI'.
*/
@JvmName("uhpkntwdvthickym")
public suspend fun type(`value`: String) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.type = mapped
}
/**
* @param value The user name to be used when connecting to server. Type: string (or Expression with resultType string).
*/
@JvmName("ripdqfuyrxnjadyb")
public suspend fun userName(`value`: Any?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.userName = mapped
}
/**
* @param value Version of the linked service.
*/
@JvmName("lisfntuqtbmyuuyt")
public suspend fun version(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.version = mapped
}
internal fun build(): AzureSqlMILinkedServiceArgs = AzureSqlMILinkedServiceArgs(
alwaysEncryptedSettings = alwaysEncryptedSettings,
annotations = annotations,
applicationIntent = applicationIntent,
authenticationType = authenticationType,
azureCloudType = azureCloudType,
commandTimeout = commandTimeout,
connectRetryCount = connectRetryCount,
connectRetryInterval = connectRetryInterval,
connectTimeout = connectTimeout,
connectVia = connectVia,
connectionString = connectionString,
credential = credential,
database = database,
description = description,
encrypt = encrypt,
encryptedCredential = encryptedCredential,
failoverPartner = failoverPartner,
hostNameInCertificate = hostNameInCertificate,
integratedSecurity = integratedSecurity,
loadBalanceTimeout = loadBalanceTimeout,
maxPoolSize = maxPoolSize,
minPoolSize = minPoolSize,
multiSubnetFailover = multiSubnetFailover,
multipleActiveResultSets = multipleActiveResultSets,
packetSize = packetSize,
parameters = parameters,
password = password,
pooling = pooling,
server = server,
servicePrincipalCredential = servicePrincipalCredential,
servicePrincipalCredentialType = servicePrincipalCredentialType,
servicePrincipalId = servicePrincipalId,
servicePrincipalKey = servicePrincipalKey,
tenant = tenant,
trustServerCertificate = trustServerCertificate,
type = type ?: throw PulumiNullFieldException("type"),
userName = userName,
version = version,
)
}