
com.pulumi.azurenative.workloads.kotlin.inputs.ThreeTierFullResourceNamesArgs.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.azurenative.workloads.kotlin.inputs
import com.pulumi.azurenative.workloads.inputs.ThreeTierFullResourceNamesArgs.builder
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.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.jvm.JvmName
/**
* The resource name object where the specified values will be full resource names of the corresponding resources in a three tier SAP system.
* @property applicationServer The full resource names object for application layer resources. The number of entries in this list should be equal to the number VMs to be created for application layer.
* @property centralServer The full resource names object for central server layer resources.
* @property databaseServer The full resource names object for database layer resources. The number of entries in this list should be equal to the number VMs to be created for database layer.
* @property namingPatternType The pattern type to be used for resource naming.
* Expected value is 'FullResourceName'.
* @property sharedStorage The resource names object for shared storage.
*/
public data class ThreeTierFullResourceNamesArgs(
public val applicationServer: Output? = null,
public val centralServer: Output? = null,
public val databaseServer: Output? = null,
public val namingPatternType: Output,
public val sharedStorage: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.azurenative.workloads.inputs.ThreeTierFullResourceNamesArgs =
com.pulumi.azurenative.workloads.inputs.ThreeTierFullResourceNamesArgs.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() }) }))
.namingPatternType(namingPatternType.applyValue({ args0 -> args0 }))
.sharedStorage(sharedStorage?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) })).build()
}
/**
* Builder for [ThreeTierFullResourceNamesArgs].
*/
@PulumiTagMarker
public class ThreeTierFullResourceNamesArgsBuilder internal constructor() {
private var applicationServer: Output? = null
private var centralServer: Output? = null
private var databaseServer: Output? = null
private var namingPatternType: Output? = null
private var sharedStorage: Output? = null
/**
* @param value The full resource names object for application layer resources. The number of entries in this list should be equal to the number VMs to be created for application layer.
*/
@JvmName("dlmattydcvbkxvty")
public suspend fun applicationServer(`value`: Output) {
this.applicationServer = value
}
/**
* @param value The full resource names object for central server layer resources.
*/
@JvmName("xjonpdllvwipntud")
public suspend fun centralServer(`value`: Output) {
this.centralServer = value
}
/**
* @param value The full resource names object for database layer resources. The number of entries in this list should be equal to the number VMs to be created for database layer.
*/
@JvmName("pjsmdnmssdclucgn")
public suspend fun databaseServer(`value`: Output) {
this.databaseServer = value
}
/**
* @param value The pattern type to be used for resource naming.
* Expected value is 'FullResourceName'.
*/
@JvmName("xtgvmgbtytvlfugt")
public suspend fun namingPatternType(`value`: Output) {
this.namingPatternType = value
}
/**
* @param value The resource names object for shared storage.
*/
@JvmName("txlumguctkxrjlpm")
public suspend fun sharedStorage(`value`: Output) {
this.sharedStorage = value
}
/**
* @param value The full resource names object for application layer resources. The number of entries in this list should be equal to the number VMs to be created for application layer.
*/
@JvmName("atytmxmhriwjbvqx")
public suspend fun applicationServer(`value`: ApplicationServerFullResourceNamesArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.applicationServer = mapped
}
/**
* @param argument The full resource names object for application layer resources. The number of entries in this list should be equal to the number VMs to be created for application layer.
*/
@JvmName("uesjisosaauqxwjv")
public suspend fun applicationServer(argument: suspend ApplicationServerFullResourceNamesArgsBuilder.() -> Unit) {
val toBeMapped = ApplicationServerFullResourceNamesArgsBuilder().applySuspend {
argument()
}.build()
val mapped = of(toBeMapped)
this.applicationServer = mapped
}
/**
* @param value The full resource names object for central server layer resources.
*/
@JvmName("atrwpdihpskjgohk")
public suspend fun centralServer(`value`: CentralServerFullResourceNamesArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.centralServer = mapped
}
/**
* @param argument The full resource names object for central server layer resources.
*/
@JvmName("biejlunschmfdjgy")
public suspend fun centralServer(argument: suspend CentralServerFullResourceNamesArgsBuilder.() -> Unit) {
val toBeMapped = CentralServerFullResourceNamesArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.centralServer = mapped
}
/**
* @param value The full resource names object for database layer resources. The number of entries in this list should be equal to the number VMs to be created for database layer.
*/
@JvmName("afwoqwagbgsbjyhq")
public suspend fun databaseServer(`value`: DatabaseServerFullResourceNamesArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.databaseServer = mapped
}
/**
* @param argument The full resource names object for database layer resources. The number of entries in this list should be equal to the number VMs to be created for database layer.
*/
@JvmName("ekcsngmuexvypjgc")
public suspend fun databaseServer(argument: suspend DatabaseServerFullResourceNamesArgsBuilder.() -> Unit) {
val toBeMapped = DatabaseServerFullResourceNamesArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.databaseServer = mapped
}
/**
* @param value The pattern type to be used for resource naming.
* Expected value is 'FullResourceName'.
*/
@JvmName("vnoxphbeebjnjihp")
public suspend fun namingPatternType(`value`: String) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.namingPatternType = mapped
}
/**
* @param value The resource names object for shared storage.
*/
@JvmName("xwaicscgksomgkjv")
public suspend fun sharedStorage(`value`: SharedStorageResourceNamesArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.sharedStorage = mapped
}
/**
* @param argument The resource names object for shared storage.
*/
@JvmName("kiqjltcwclvggnkk")
public suspend fun sharedStorage(argument: suspend SharedStorageResourceNamesArgsBuilder.() -> Unit) {
val toBeMapped = SharedStorageResourceNamesArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.sharedStorage = mapped
}
internal fun build(): ThreeTierFullResourceNamesArgs = ThreeTierFullResourceNamesArgs(
applicationServer = applicationServer,
centralServer = centralServer,
databaseServer = databaseServer,
namingPatternType = namingPatternType ?: throw PulumiNullFieldException("namingPatternType"),
sharedStorage = sharedStorage,
)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy