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

com.pulumi.azurenative.web.kotlin.inputs.CustomApiPropertiesDefinitionArgs.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.

There is a newer version: 2.82.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.azurenative.web.kotlin.inputs

import com.pulumi.azurenative.web.inputs.CustomApiPropertiesDefinitionArgs.builder
import com.pulumi.azurenative.web.kotlin.enums.ApiType
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.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

/**
 * Custom API properties
 * @property apiDefinitions API Definitions
 * @property apiType The API type
 * @property backendService The API backend service
 * @property brandColor Brand color
 * @property capabilities The custom API capabilities
 * @property connectionParameters Connection parameters
 * @property description The custom API description
 * @property displayName The display name
 * @property iconUri The icon URI
 * @property runtimeUrls Runtime URLs
 * @property swagger The JSON representation of the swagger
 * @property wsdlDefinition The WSDL definition
 */
public data class CustomApiPropertiesDefinitionArgs(
    public val apiDefinitions: Output? = null,
    public val apiType: Output>? = null,
    public val backendService: Output? = null,
    public val brandColor: Output? = null,
    public val capabilities: Output>? = null,
    public val connectionParameters: Output>? = null,
    public val description: Output? = null,
    public val displayName: Output? = null,
    public val iconUri: Output? = null,
    public val runtimeUrls: Output>? = null,
    public val swagger: Output? = null,
    public val wsdlDefinition: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.azurenative.web.inputs.CustomApiPropertiesDefinitionArgs =
        com.pulumi.azurenative.web.inputs.CustomApiPropertiesDefinitionArgs.builder()
            .apiDefinitions(apiDefinitions?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .apiType(
                apiType?.applyValue({ args0 ->
                    args0.transform({ args0 -> args0 }, { args0 ->
                        args0.let({ args0 -> args0.toJava() })
                    })
                }),
            )
            .backendService(backendService?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .brandColor(brandColor?.applyValue({ args0 -> args0 }))
            .capabilities(capabilities?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
            .connectionParameters(
                connectionParameters?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.key.to(args0.value.let({ args0 -> args0.toJava() }))
                    }).toMap()
                }),
            )
            .description(description?.applyValue({ args0 -> args0 }))
            .displayName(displayName?.applyValue({ args0 -> args0 }))
            .iconUri(iconUri?.applyValue({ args0 -> args0 }))
            .runtimeUrls(runtimeUrls?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
            .swagger(swagger?.applyValue({ args0 -> args0 }))
            .wsdlDefinition(
                wsdlDefinition?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            ).build()
}

/**
 * Builder for [CustomApiPropertiesDefinitionArgs].
 */
@PulumiTagMarker
public class CustomApiPropertiesDefinitionArgsBuilder internal constructor() {
    private var apiDefinitions: Output? = null

    private var apiType: Output>? = null

    private var backendService: Output? = null

    private var brandColor: Output? = null

    private var capabilities: Output>? = null

    private var connectionParameters: Output>? = null

    private var description: Output? = null

    private var displayName: Output? = null

    private var iconUri: Output? = null

    private var runtimeUrls: Output>? = null

    private var swagger: Output? = null

    private var wsdlDefinition: Output? = null

    /**
     * @param value API Definitions
     */
    @JvmName("fictjpfqpladthjs")
    public suspend fun apiDefinitions(`value`: Output) {
        this.apiDefinitions = value
    }

    /**
     * @param value The API type
     */
    @JvmName("cqueqagtorqepyjh")
    public suspend fun apiType(`value`: Output>) {
        this.apiType = value
    }

    /**
     * @param value The API backend service
     */
    @JvmName("abrpeugleqwnbbpd")
    public suspend fun backendService(`value`: Output) {
        this.backendService = value
    }

    /**
     * @param value Brand color
     */
    @JvmName("mdktxdjlbhmceynf")
    public suspend fun brandColor(`value`: Output) {
        this.brandColor = value
    }

    /**
     * @param value The custom API capabilities
     */
    @JvmName("ubnavjrtxfffnbeq")
    public suspend fun capabilities(`value`: Output>) {
        this.capabilities = value
    }

    @JvmName("ackfhcpudmbyrdmt")
    public suspend fun capabilities(vararg values: Output) {
        this.capabilities = Output.all(values.asList())
    }

    /**
     * @param values The custom API capabilities
     */
    @JvmName("lnjgaqkirhibuara")
    public suspend fun capabilities(values: List>) {
        this.capabilities = Output.all(values)
    }

    /**
     * @param value Connection parameters
     */
    @JvmName("jxlwhvhhkvvlisnf")
    public suspend fun connectionParameters(`value`: Output>) {
        this.connectionParameters = value
    }

    /**
     * @param value The custom API description
     */
    @JvmName("deiahdpugtetljtv")
    public suspend fun description(`value`: Output) {
        this.description = value
    }

    /**
     * @param value The display name
     */
    @JvmName("ajmyffhaeslrppsh")
    public suspend fun displayName(`value`: Output) {
        this.displayName = value
    }

    /**
     * @param value The icon URI
     */
    @JvmName("ptmlmkiwdutjpmbw")
    public suspend fun iconUri(`value`: Output) {
        this.iconUri = value
    }

    /**
     * @param value Runtime URLs
     */
    @JvmName("wawqpgpktsnqkqmb")
    public suspend fun runtimeUrls(`value`: Output>) {
        this.runtimeUrls = value
    }

    @JvmName("pvskhwwafeqrhhig")
    public suspend fun runtimeUrls(vararg values: Output) {
        this.runtimeUrls = Output.all(values.asList())
    }

    /**
     * @param values Runtime URLs
     */
    @JvmName("sfkoqxvhnsghfrsv")
    public suspend fun runtimeUrls(values: List>) {
        this.runtimeUrls = Output.all(values)
    }

    /**
     * @param value The JSON representation of the swagger
     */
    @JvmName("ssrabmjblupvqlbj")
    public suspend fun swagger(`value`: Output) {
        this.swagger = value
    }

    /**
     * @param value The WSDL definition
     */
    @JvmName("hsdwrxouixhlrhrl")
    public suspend fun wsdlDefinition(`value`: Output) {
        this.wsdlDefinition = value
    }

    /**
     * @param value API Definitions
     */
    @JvmName("nrbqysxytuxftjon")
    public suspend fun apiDefinitions(`value`: ApiResourceDefinitionsArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.apiDefinitions = mapped
    }

    /**
     * @param argument API Definitions
     */
    @JvmName("dvvxjtaovpeawbyn")
    public suspend fun apiDefinitions(argument: suspend ApiResourceDefinitionsArgsBuilder.() -> Unit) {
        val toBeMapped = ApiResourceDefinitionsArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.apiDefinitions = mapped
    }

    /**
     * @param value The API type
     */
    @JvmName("vjyyhfjajokuqius")
    public suspend fun apiType(`value`: Either?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.apiType = mapped
    }

    /**
     * @param value The API type
     */
    @JvmName("ojbdwjcnuviyggso")
    public fun apiType(`value`: String) {
        val toBeMapped = Either.ofLeft(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.apiType = mapped
    }

    /**
     * @param value The API type
     */
    @JvmName("jqakrlntmjgelqkb")
    public fun apiType(`value`: ApiType) {
        val toBeMapped = Either.ofRight(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.apiType = mapped
    }

    /**
     * @param value The API backend service
     */
    @JvmName("schaxjufwqoikibf")
    public suspend fun backendService(`value`: ApiResourceBackendServiceArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.backendService = mapped
    }

    /**
     * @param argument The API backend service
     */
    @JvmName("poubrmlokrbtmdxg")
    public suspend fun backendService(argument: suspend ApiResourceBackendServiceArgsBuilder.() -> Unit) {
        val toBeMapped = ApiResourceBackendServiceArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.backendService = mapped
    }

    /**
     * @param value Brand color
     */
    @JvmName("uybytupyqvbnqpaq")
    public suspend fun brandColor(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.brandColor = mapped
    }

    /**
     * @param value The custom API capabilities
     */
    @JvmName("bcemqpcixaqfvspw")
    public suspend fun capabilities(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.capabilities = mapped
    }

    /**
     * @param values The custom API capabilities
     */
    @JvmName("gyyddqwfcaqmdpik")
    public suspend fun capabilities(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.capabilities = mapped
    }

    /**
     * @param value Connection parameters
     */
    @JvmName("rtxwqvmrbjhctxko")
    public suspend fun connectionParameters(`value`: Map?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.connectionParameters = mapped
    }

    /**
     * @param argument Connection parameters
     */
    @JvmName("uoxovhukqxpfaflg")
    public suspend fun connectionParameters(vararg argument: Pair Unit>) {
        val toBeMapped = argument.toList().map { (left, right) ->
            left to
                ConnectionParameterArgsBuilder().applySuspend { right() }.build()
        }.toMap()
        val mapped = of(toBeMapped)
        this.connectionParameters = mapped
    }

    /**
     * @param values Connection parameters
     */
    @JvmName("puxuysyuqtsodime")
    public fun connectionParameters(vararg values: Pair) {
        val toBeMapped = values.toMap()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.connectionParameters = mapped
    }

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

    /**
     * @param value The display name
     */
    @JvmName("goheylngtalfkiti")
    public suspend fun displayName(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.displayName = mapped
    }

    /**
     * @param value The icon URI
     */
    @JvmName("xgcyxvsrvppkolng")
    public suspend fun iconUri(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.iconUri = mapped
    }

    /**
     * @param value Runtime URLs
     */
    @JvmName("yqlcjikresgytklr")
    public suspend fun runtimeUrls(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.runtimeUrls = mapped
    }

    /**
     * @param values Runtime URLs
     */
    @JvmName("mgenbqgbgofiijfs")
    public suspend fun runtimeUrls(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.runtimeUrls = mapped
    }

    /**
     * @param value The JSON representation of the swagger
     */
    @JvmName("dipswqdspwpcfawt")
    public suspend fun swagger(`value`: Any?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.swagger = mapped
    }

    /**
     * @param value The WSDL definition
     */
    @JvmName("ffjnvqtecpelbdoi")
    public suspend fun wsdlDefinition(`value`: WsdlDefinitionArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.wsdlDefinition = mapped
    }

    /**
     * @param argument The WSDL definition
     */
    @JvmName("ligmfnkinwriqsgs")
    public suspend fun wsdlDefinition(argument: suspend WsdlDefinitionArgsBuilder.() -> Unit) {
        val toBeMapped = WsdlDefinitionArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.wsdlDefinition = mapped
    }

    internal fun build(): CustomApiPropertiesDefinitionArgs = CustomApiPropertiesDefinitionArgs(
        apiDefinitions = apiDefinitions,
        apiType = apiType,
        backendService = backendService,
        brandColor = brandColor,
        capabilities = capabilities,
        connectionParameters = connectionParameters,
        description = description,
        displayName = displayName,
        iconUri = iconUri,
        runtimeUrls = runtimeUrls,
        swagger = swagger,
        wsdlDefinition = wsdlDefinition,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy