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

com.pulumi.azurenative.sql.kotlin.inputs.ManagedInstanceExternalAdministratorArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.azurenative.sql.kotlin.inputs

import com.pulumi.azurenative.sql.inputs.ManagedInstanceExternalAdministratorArgs.builder
import com.pulumi.azurenative.sql.kotlin.enums.AdministratorType
import com.pulumi.azurenative.sql.kotlin.enums.PrincipalType
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 kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.jvm.JvmName

/**
 * Properties of a active directory administrator.
 * @property administratorType Type of the sever administrator.
 * @property azureADOnlyAuthentication Azure Active Directory only Authentication enabled.
 * @property login Login name of the server administrator.
 * @property principalType Principal Type of the sever administrator.
 * @property sid SID (object ID) of the server administrator.
 * @property tenantId Tenant ID of the administrator.
 */
public data class ManagedInstanceExternalAdministratorArgs(
    public val administratorType: Output>? = null,
    public val azureADOnlyAuthentication: Output? = null,
    public val login: Output? = null,
    public val principalType: Output>? = null,
    public val sid: Output? = null,
    public val tenantId: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.azurenative.sql.inputs.ManagedInstanceExternalAdministratorArgs = com.pulumi.azurenative.sql.inputs.ManagedInstanceExternalAdministratorArgs.builder()
        .administratorType(
            administratorType?.applyValue({ args0 ->
                args0.transform(
                    { args0 -> args0 },
                    { args0 -> args0.let({ args0 -> args0.toJava() }) },
                )
            }),
        )
        .azureADOnlyAuthentication(azureADOnlyAuthentication?.applyValue({ args0 -> args0 }))
        .login(login?.applyValue({ args0 -> args0 }))
        .principalType(
            principalType?.applyValue({ args0 ->
                args0.transform({ args0 -> args0 }, { args0 ->
                    args0.let({ args0 -> args0.toJava() })
                })
            }),
        )
        .sid(sid?.applyValue({ args0 -> args0 }))
        .tenantId(tenantId?.applyValue({ args0 -> args0 })).build()
}

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

    private var azureADOnlyAuthentication: Output? = null

    private var login: Output? = null

    private var principalType: Output>? = null

    private var sid: Output? = null

    private var tenantId: Output? = null

    /**
     * @param value Type of the sever administrator.
     */
    @JvmName("tgmdyvquicgvxaxm")
    public suspend fun administratorType(`value`: Output>) {
        this.administratorType = value
    }

    /**
     * @param value Azure Active Directory only Authentication enabled.
     */
    @JvmName("jdvclioumqrucevv")
    public suspend fun azureADOnlyAuthentication(`value`: Output) {
        this.azureADOnlyAuthentication = value
    }

    /**
     * @param value Login name of the server administrator.
     */
    @JvmName("abscfuebpdrppcdx")
    public suspend fun login(`value`: Output) {
        this.login = value
    }

    /**
     * @param value Principal Type of the sever administrator.
     */
    @JvmName("xtvjrhrvjbjqcbvu")
    public suspend fun principalType(`value`: Output>) {
        this.principalType = value
    }

    /**
     * @param value SID (object ID) of the server administrator.
     */
    @JvmName("kdeiaqgobyfylvly")
    public suspend fun sid(`value`: Output) {
        this.sid = value
    }

    /**
     * @param value Tenant ID of the administrator.
     */
    @JvmName("ttwanbisvumfvpwc")
    public suspend fun tenantId(`value`: Output) {
        this.tenantId = value
    }

    /**
     * @param value Type of the sever administrator.
     */
    @JvmName("ejtiikjslpmbhjmk")
    public suspend fun administratorType(`value`: Either?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.administratorType = mapped
    }

    /**
     * @param value Type of the sever administrator.
     */
    @JvmName("dpdimtdfsgkxjoqs")
    public fun administratorType(`value`: String) {
        val toBeMapped = Either.ofLeft(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.administratorType = mapped
    }

    /**
     * @param value Type of the sever administrator.
     */
    @JvmName("iirmvurrvjkchpml")
    public fun administratorType(`value`: AdministratorType) {
        val toBeMapped = Either.ofRight(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.administratorType = mapped
    }

    /**
     * @param value Azure Active Directory only Authentication enabled.
     */
    @JvmName("gyqumxxbbltfknsp")
    public suspend fun azureADOnlyAuthentication(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.azureADOnlyAuthentication = mapped
    }

    /**
     * @param value Login name of the server administrator.
     */
    @JvmName("gksyngvielcmvtmg")
    public suspend fun login(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.login = mapped
    }

    /**
     * @param value Principal Type of the sever administrator.
     */
    @JvmName("geplxhpqoomxytjs")
    public suspend fun principalType(`value`: Either?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.principalType = mapped
    }

    /**
     * @param value Principal Type of the sever administrator.
     */
    @JvmName("qagnxotugkugeeck")
    public fun principalType(`value`: String) {
        val toBeMapped = Either.ofLeft(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.principalType = mapped
    }

    /**
     * @param value Principal Type of the sever administrator.
     */
    @JvmName("nixbbctriermtvgv")
    public fun principalType(`value`: PrincipalType) {
        val toBeMapped = Either.ofRight(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.principalType = mapped
    }

    /**
     * @param value SID (object ID) of the server administrator.
     */
    @JvmName("pmemmhldehqtpwvj")
    public suspend fun sid(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.sid = mapped
    }

    /**
     * @param value Tenant ID of the administrator.
     */
    @JvmName("acavuwnecaivhmfo")
    public suspend fun tenantId(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.tenantId = mapped
    }

    internal fun build(): ManagedInstanceExternalAdministratorArgs =
        ManagedInstanceExternalAdministratorArgs(
            administratorType = administratorType,
            azureADOnlyAuthentication = azureADOnlyAuthentication,
            login = login,
            principalType = principalType,
            sid = sid,
            tenantId = tenantId,
        )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy