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

com.pulumi.azure.workloadssap.kotlin.inputs.ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.azure.workloadssap.kotlin.inputs

import com.pulumi.azure.workloadssap.inputs.ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesArgs.builder
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.Suppress
import kotlin.Unit
import kotlin.jvm.JvmName

/**
 *
 * @property applicationServer An `application_server` block as defined below. Changing this forces a new resource to be created.
 * @property centralServer A `central_server` block as defined below. Changing this forces a new resource to be created.
 * @property databaseServer A `database_server` block as defined below. Changing this forces a new resource to be created.
 * @property sharedStorage A `shared_storage` block as defined below. Changing this forces a new resource to be created.
 */
public data class ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesArgs(
    public val applicationServer: Output? =
        null,
    public val centralServer: Output? = null,
    public val databaseServer: Output? = null,
    public val sharedStorage: Output? = null,
) :
    ConvertibleToJava {
    override fun toJava(): com.pulumi.azure.workloadssap.inputs.ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesArgs =
        com.pulumi.azure.workloadssap.inputs.ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesArgs.builder()
            .applicationServer(applicationServer?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .centralServer(centralServer?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .databaseServer(databaseServer?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .sharedStorage(sharedStorage?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) })).build()
}

/**
 * Builder for [ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesArgs].
 */
@PulumiTagMarker
public class ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesArgsBuilder internal constructor() {
    private var applicationServer:
        Output? =
        null

    private var centralServer:
        Output? = null

    private var databaseServer:
        Output? = null

    private var sharedStorage:
        Output? = null

    /**
     * @param value An `application_server` block as defined below. Changing this forces a new resource to be created.
     */
    @JvmName("vnfhjddrdlxyrgqa")
    public suspend fun applicationServer(`value`: Output) {
        this.applicationServer = value
    }

    /**
     * @param value A `central_server` block as defined below. Changing this forces a new resource to be created.
     */
    @JvmName("xtrykvdtvmmrncmg")
    public suspend fun centralServer(`value`: Output) {
        this.centralServer = value
    }

    /**
     * @param value A `database_server` block as defined below. Changing this forces a new resource to be created.
     */
    @JvmName("xadyutrguvlapqeg")
    public suspend fun databaseServer(`value`: Output) {
        this.databaseServer = value
    }

    /**
     * @param value A `shared_storage` block as defined below. Changing this forces a new resource to be created.
     */
    @JvmName("jjdiinakkfqgnyka")
    public suspend fun sharedStorage(`value`: Output) {
        this.sharedStorage = value
    }

    /**
     * @param value An `application_server` block as defined below. Changing this forces a new resource to be created.
     */
    @JvmName("vkdjlajgwcjduqxs")
    public suspend fun applicationServer(`value`: ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesApplicationServerArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.applicationServer = mapped
    }

    /**
     * @param argument An `application_server` block as defined below. Changing this forces a new resource to be created.
     */
    @JvmName("rhbexssrsxjljpja")
    public suspend fun applicationServer(argument: suspend ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesApplicationServerArgsBuilder.() -> Unit) {
        val toBeMapped =
            ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesApplicationServerArgsBuilder().applySuspend {
                argument()
            }.build()
        val mapped = of(toBeMapped)
        this.applicationServer = mapped
    }

    /**
     * @param value A `central_server` block as defined below. Changing this forces a new resource to be created.
     */
    @JvmName("rehswoldewrimjms")
    public suspend fun centralServer(`value`: ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesCentralServerArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.centralServer = mapped
    }

    /**
     * @param argument A `central_server` block as defined below. Changing this forces a new resource to be created.
     */
    @JvmName("mxfjqlgsisuigafq")
    public suspend fun centralServer(argument: suspend ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesCentralServerArgsBuilder.() -> Unit) {
        val toBeMapped =
            ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesCentralServerArgsBuilder().applySuspend {
                argument()
            }.build()
        val mapped = of(toBeMapped)
        this.centralServer = mapped
    }

    /**
     * @param value A `database_server` block as defined below. Changing this forces a new resource to be created.
     */
    @JvmName("cisimcnftmqvjyey")
    public suspend fun databaseServer(`value`: ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesDatabaseServerArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.databaseServer = mapped
    }

    /**
     * @param argument A `database_server` block as defined below. Changing this forces a new resource to be created.
     */
    @JvmName("spavkunahsdiuwww")
    public suspend fun databaseServer(argument: suspend ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesDatabaseServerArgsBuilder.() -> Unit) {
        val toBeMapped =
            ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesDatabaseServerArgsBuilder().applySuspend {
                argument()
            }.build()
        val mapped = of(toBeMapped)
        this.databaseServer = mapped
    }

    /**
     * @param value A `shared_storage` block as defined below. Changing this forces a new resource to be created.
     */
    @JvmName("qbbeevhxhxppykgj")
    public suspend fun sharedStorage(`value`: ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesSharedStorageArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.sharedStorage = mapped
    }

    /**
     * @param argument A `shared_storage` block as defined below. Changing this forces a new resource to be created.
     */
    @JvmName("lxhqmmrhfvmbrnbl")
    public suspend fun sharedStorage(argument: suspend ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesSharedStorageArgsBuilder.() -> Unit) {
        val toBeMapped =
            ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesSharedStorageArgsBuilder().applySuspend {
                argument()
            }.build()
        val mapped = of(toBeMapped)
        this.sharedStorage = mapped
    }

    internal fun build(): ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesArgs =
        ThreeTierVirtualInstanceThreeTierConfigurationResourceNamesArgs(
            applicationServer = applicationServer,
            centralServer = centralServer,
            databaseServer = databaseServer,
            sharedStorage = sharedStorage,
        )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy