All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.azurenative.datafactory.kotlin.inputs.AzureMLServiceLinkedServiceArgs.kt Maven / Gradle / Ivy

@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.azurenative.datafactory.kotlin.inputs

import com.pulumi.azurenative.datafactory.inputs.AzureMLServiceLinkedServiceArgs.builder
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 ML Service linked service.
 * @property annotations List of tags that can be used for describing the linked service.
 * @property authentication Type of authentication (Required to specify MSI) used to connect to AzureML. Type: string (or Expression with resultType string).
 * @property connectVia The integration runtime reference.
 * @property description Linked service description.
 * @property encryptedCredential The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string.
 * @property mlWorkspaceName Azure ML Service workspace name. Type: string (or Expression with resultType string).
 * @property parameters Parameters for linked service.
 * @property resourceGroupName Azure ML Service workspace resource group name. Type: string (or Expression with resultType string).
 * @property servicePrincipalId The ID of the service principal used to authenticate against the endpoint of a published Azure ML Service pipeline. Type: string (or Expression with resultType string).
 * @property servicePrincipalKey The key of the service principal used to authenticate against the endpoint of a published Azure ML Service pipeline.
 * @property subscriptionId Azure ML Service workspace subscription ID. Type: string (or Expression with resultType string).
 * @property tenant The name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string).
 * @property type Type of linked service.
 * Expected value is 'AzureMLService'.
 * @property version Version of the linked service.
 */
public data class AzureMLServiceLinkedServiceArgs(
    public val annotations: Output>? = null,
    public val authentication: Output? = null,
    public val connectVia: Output? = null,
    public val description: Output? = null,
    public val encryptedCredential: Output? = null,
    public val mlWorkspaceName: Output,
    public val parameters: Output>? = null,
    public val resourceGroupName: Output,
    public val servicePrincipalId: Output? = null,
    public val servicePrincipalKey: Output>? = null,
    public val subscriptionId: Output,
    public val tenant: Output? = null,
    public val type: Output,
    public val version: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.azurenative.datafactory.inputs.AzureMLServiceLinkedServiceArgs =
        com.pulumi.azurenative.datafactory.inputs.AzureMLServiceLinkedServiceArgs.builder()
            .annotations(annotations?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
            .authentication(authentication?.applyValue({ args0 -> args0 }))
            .connectVia(connectVia?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .description(description?.applyValue({ args0 -> args0 }))
            .encryptedCredential(encryptedCredential?.applyValue({ args0 -> args0 }))
            .mlWorkspaceName(mlWorkspaceName.applyValue({ args0 -> args0 }))
            .parameters(
                parameters?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.key.to(args0.value.let({ args0 -> args0.toJava() }))
                    }).toMap()
                }),
            )
            .resourceGroupName(resourceGroupName.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() }) })
                }),
            )
            .subscriptionId(subscriptionId.applyValue({ args0 -> args0 }))
            .tenant(tenant?.applyValue({ args0 -> args0 }))
            .type(type.applyValue({ args0 -> args0 }))
            .version(version?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [AzureMLServiceLinkedServiceArgs].
 */
@PulumiTagMarker
public class AzureMLServiceLinkedServiceArgsBuilder internal constructor() {
    private var annotations: Output>? = null

    private var authentication: Output? = null

    private var connectVia: Output? = null

    private var description: Output? = null

    private var encryptedCredential: Output? = null

    private var mlWorkspaceName: Output? = null

    private var parameters: Output>? = null

    private var resourceGroupName: Output? = null

    private var servicePrincipalId: Output? = null

    private var servicePrincipalKey:
        Output>? = null

    private var subscriptionId: Output? = null

    private var tenant: Output? = null

    private var type: Output? = null

    private var version: Output? = null

    /**
     * @param value List of tags that can be used for describing the linked service.
     */
    @JvmName("xluerdhqebakcyih")
    public suspend fun annotations(`value`: Output>) {
        this.annotations = value
    }

    @JvmName("ghjedvjhiqdsixgf")
    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("cobmbqajarmlaymo")
    public suspend fun annotations(values: List>) {
        this.annotations = Output.all(values)
    }

    /**
     * @param value Type of authentication (Required to specify MSI) used to connect to AzureML. Type: string (or Expression with resultType string).
     */
    @JvmName("sjmrqitcromicmnr")
    public suspend fun authentication(`value`: Output) {
        this.authentication = value
    }

    /**
     * @param value The integration runtime reference.
     */
    @JvmName("femachoxshsirygi")
    public suspend fun connectVia(`value`: Output) {
        this.connectVia = value
    }

    /**
     * @param value Linked service description.
     */
    @JvmName("qtkhnvsovraevqbh")
    public suspend fun description(`value`: Output) {
        this.description = value
    }

    /**
     * @param value The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string.
     */
    @JvmName("lmxmeutpvexugqkn")
    public suspend fun encryptedCredential(`value`: Output) {
        this.encryptedCredential = value
    }

    /**
     * @param value Azure ML Service workspace name. Type: string (or Expression with resultType string).
     */
    @JvmName("wfvursuwuqkiepbp")
    public suspend fun mlWorkspaceName(`value`: Output) {
        this.mlWorkspaceName = value
    }

    /**
     * @param value Parameters for linked service.
     */
    @JvmName("bmxcaiqiwhxwdjyq")
    public suspend fun parameters(`value`: Output>) {
        this.parameters = value
    }

    /**
     * @param value Azure ML Service workspace resource group name. Type: string (or Expression with resultType string).
     */
    @JvmName("tgxtsuequrfgwbal")
    public suspend fun resourceGroupName(`value`: Output) {
        this.resourceGroupName = value
    }

    /**
     * @param value The ID of the service principal used to authenticate against the endpoint of a published Azure ML Service pipeline. Type: string (or Expression with resultType string).
     */
    @JvmName("cvrufferhiorjkkq")
    public suspend fun servicePrincipalId(`value`: Output) {
        this.servicePrincipalId = value
    }

    /**
     * @param value The key of the service principal used to authenticate against the endpoint of a published Azure ML Service pipeline.
     */
    @JvmName("pjuisnbusewatkhe")
    public suspend fun servicePrincipalKey(`value`: Output>) {
        this.servicePrincipalKey = value
    }

    /**
     * @param value Azure ML Service workspace subscription ID. Type: string (or Expression with resultType string).
     */
    @JvmName("ppipdxsbqyrahuve")
    public suspend fun subscriptionId(`value`: Output) {
        this.subscriptionId = value
    }

    /**
     * @param value The name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string).
     */
    @JvmName("wxnnevskfpwblnns")
    public suspend fun tenant(`value`: Output) {
        this.tenant = value
    }

    /**
     * @param value Type of linked service.
     * Expected value is 'AzureMLService'.
     */
    @JvmName("pwmlwwbidheixdcx")
    public suspend fun type(`value`: Output) {
        this.type = value
    }

    /**
     * @param value Version of the linked service.
     */
    @JvmName("ologajgrepsitwnl")
    public suspend fun version(`value`: Output) {
        this.version = value
    }

    /**
     * @param value List of tags that can be used for describing the linked service.
     */
    @JvmName("xknauciqrdcxtykk")
    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("uchbrrbrkruiwqix")
    public suspend fun annotations(vararg values: Any) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.annotations = mapped
    }

    /**
     * @param value Type of authentication (Required to specify MSI) used to connect to AzureML. Type: string (or Expression with resultType string).
     */
    @JvmName("ddocdmgfvnbqnxig")
    public suspend fun authentication(`value`: Any?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.authentication = mapped
    }

    /**
     * @param value The integration runtime reference.
     */
    @JvmName("tnynqftstgabylen")
    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("wuuqhtopyyivqrek")
    public suspend fun connectVia(argument: suspend IntegrationRuntimeReferenceArgsBuilder.() -> Unit) {
        val toBeMapped = IntegrationRuntimeReferenceArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.connectVia = mapped
    }

    /**
     * @param value Linked service description.
     */
    @JvmName("ttasxlvlympqywri")
    public suspend fun description(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.description = mapped
    }

    /**
     * @param value The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string.
     */
    @JvmName("rrwaglwtamosoyla")
    public suspend fun encryptedCredential(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.encryptedCredential = mapped
    }

    /**
     * @param value Azure ML Service workspace name. Type: string (or Expression with resultType string).
     */
    @JvmName("gqlpspmvpceegdsp")
    public suspend fun mlWorkspaceName(`value`: Any) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.mlWorkspaceName = mapped
    }

    /**
     * @param value Parameters for linked service.
     */
    @JvmName("ydgjuboohxjrerro")
    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("wkgxdlbfyuldaqvi")
    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("dnuhgrmmwlxbcvbe")
    public fun parameters(vararg values: Pair) {
        val toBeMapped = values.toMap()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.parameters = mapped
    }

    /**
     * @param value Azure ML Service workspace resource group name. Type: string (or Expression with resultType string).
     */
    @JvmName("hoopienrkamfwqme")
    public suspend fun resourceGroupName(`value`: Any) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.resourceGroupName = mapped
    }

    /**
     * @param value The ID of the service principal used to authenticate against the endpoint of a published Azure ML Service pipeline. Type: string (or Expression with resultType string).
     */
    @JvmName("naicgcldligdmffv")
    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 the endpoint of a published Azure ML Service pipeline.
     */
    @JvmName("xcfryuavkgoiuslr")
    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 the endpoint of a published Azure ML Service pipeline.
     */
    @JvmName("yiykcyevukofakeb")
    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 the endpoint of a published Azure ML Service pipeline.
     */
    @JvmName("brunhrgqtwwoqich")
    public fun servicePrincipalKey(`value`: SecureStringArgs) {
        val toBeMapped = Either.ofRight(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.servicePrincipalKey = mapped
    }

    /**
     * @param value Azure ML Service workspace subscription ID. Type: string (or Expression with resultType string).
     */
    @JvmName("oamxyhdvvhhgoixl")
    public suspend fun subscriptionId(`value`: Any) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.subscriptionId = mapped
    }

    /**
     * @param value The name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string).
     */
    @JvmName("aqjpnyygmwxgaieq")
    public suspend fun tenant(`value`: Any?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.tenant = mapped
    }

    /**
     * @param value Type of linked service.
     * Expected value is 'AzureMLService'.
     */
    @JvmName("llobwgvngqxxdgfx")
    public suspend fun type(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.type = mapped
    }

    /**
     * @param value Version of the linked service.
     */
    @JvmName("iycjqsjpdetliwec")
    public suspend fun version(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.version = mapped
    }

    internal fun build(): AzureMLServiceLinkedServiceArgs = AzureMLServiceLinkedServiceArgs(
        annotations = annotations,
        authentication = authentication,
        connectVia = connectVia,
        description = description,
        encryptedCredential = encryptedCredential,
        mlWorkspaceName = mlWorkspaceName ?: throw PulumiNullFieldException("mlWorkspaceName"),
        parameters = parameters,
        resourceGroupName = resourceGroupName ?: throw PulumiNullFieldException("resourceGroupName"),
        servicePrincipalId = servicePrincipalId,
        servicePrincipalKey = servicePrincipalKey,
        subscriptionId = subscriptionId ?: throw PulumiNullFieldException("subscriptionId"),
        tenant = tenant,
        type = type ?: throw PulumiNullFieldException("type"),
        version = version,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy