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

com.pulumi.azurenative.workloads.kotlin.inputs.GetSAPAvailabilityZoneDetailsPlainArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.azurenative.workloads.kotlin.inputs

import com.pulumi.azurenative.workloads.inputs.GetSAPAvailabilityZoneDetailsPlainArgs.builder
import com.pulumi.azurenative.workloads.kotlin.enums.SAPDatabaseType
import com.pulumi.azurenative.workloads.kotlin.enums.SAPProductType
import com.pulumi.core.Either
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiNullFieldException
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.String
import kotlin.Suppress
import kotlin.jvm.JvmName

/**
 *
 * @property appLocation The geo-location where the SAP resources will be created.
 * @property databaseType The database type. Eg: HANA, DB2, etc
 * @property location The name of Azure region.
 * @property sapProduct Defines the SAP Product type.
 */
public data class GetSAPAvailabilityZoneDetailsPlainArgs(
    public val appLocation: String,
    public val databaseType: Either,
    public val location: String,
    public val sapProduct: Either,
) :
    ConvertibleToJava {
    override fun toJava(): com.pulumi.azurenative.workloads.inputs.GetSAPAvailabilityZoneDetailsPlainArgs =
        com.pulumi.azurenative.workloads.inputs.GetSAPAvailabilityZoneDetailsPlainArgs.builder()
            .appLocation(appLocation.let({ args0 -> args0 }))
            .databaseType(
                databaseType.let({ args0 ->
                    args0.transform({ args0 -> args0 }, { args0 ->
                        args0.let({ args0 -> args0.toJava() })
                    })
                }),
            )
            .location(location.let({ args0 -> args0 }))
            .sapProduct(
                sapProduct.let({ args0 ->
                    args0.transform({ args0 -> args0 }, { args0 ->
                        args0.let({ args0 -> args0.toJava() })
                    })
                }),
            ).build()
}

/**
 * Builder for [GetSAPAvailabilityZoneDetailsPlainArgs].
 */
@PulumiTagMarker
public class GetSAPAvailabilityZoneDetailsPlainArgsBuilder internal constructor() {
    private var appLocation: String? = null

    private var databaseType: Either? = null

    private var location: String? = null

    private var sapProduct: Either? = null

    /**
     * @param value The geo-location where the SAP resources will be created.
     */
    @JvmName("pbtdegouryrjoewr")
    public suspend fun appLocation(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> args0 })
        this.appLocation = mapped
    }

    /**
     * @param value The database type. Eg: HANA, DB2, etc
     */
    @JvmName("nxhxdseuefsceqke")
    public suspend fun databaseType(`value`: Either) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> args0 })
        this.databaseType = mapped
    }

    /**
     * @param value The database type. Eg: HANA, DB2, etc
     */
    @JvmName("ptwyvmjgsropxvao")
    public fun databaseType(`value`: String) {
        val toBeMapped = Either.ofLeft(value)
        val mapped = toBeMapped.let({ args0 -> args0 })
        this.databaseType = mapped
    }

    /**
     * @param value The database type. Eg: HANA, DB2, etc
     */
    @JvmName("eqextvkelobgwmko")
    public fun databaseType(`value`: SAPDatabaseType) {
        val toBeMapped = Either.ofRight(value)
        val mapped = toBeMapped.let({ args0 -> args0 })
        this.databaseType = mapped
    }

    /**
     * @param value The name of Azure region.
     */
    @JvmName("lmcpehftwqohoryw")
    public suspend fun location(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> args0 })
        this.location = mapped
    }

    /**
     * @param value Defines the SAP Product type.
     */
    @JvmName("wicvohsxlanamjvb")
    public suspend fun sapProduct(`value`: Either) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> args0 })
        this.sapProduct = mapped
    }

    /**
     * @param value Defines the SAP Product type.
     */
    @JvmName("cqcojdhwnxlpjltk")
    public fun sapProduct(`value`: String) {
        val toBeMapped = Either.ofLeft(value)
        val mapped = toBeMapped.let({ args0 -> args0 })
        this.sapProduct = mapped
    }

    /**
     * @param value Defines the SAP Product type.
     */
    @JvmName("mbaipgymgbxegrsb")
    public fun sapProduct(`value`: SAPProductType) {
        val toBeMapped = Either.ofRight(value)
        val mapped = toBeMapped.let({ args0 -> args0 })
        this.sapProduct = mapped
    }

    internal fun build(): GetSAPAvailabilityZoneDetailsPlainArgs =
        GetSAPAvailabilityZoneDetailsPlainArgs(
            appLocation = appLocation ?: throw PulumiNullFieldException("appLocation"),
            databaseType = databaseType ?: throw PulumiNullFieldException("databaseType"),
            location = location ?: throw PulumiNullFieldException("location"),
            sapProduct = sapProduct ?: throw PulumiNullFieldException("sapProduct"),
        )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy