
com.pulumi.azurenative.apimanagement.kotlin.inputs.AdditionalLocationArgs.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.azurenative.apimanagement.kotlin.inputs
import com.pulumi.azurenative.apimanagement.inputs.AdditionalLocationArgs.builder
import com.pulumi.azurenative.apimanagement.kotlin.enums.NatGatewayState
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.PulumiNullFieldException
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName
/**
* Description of an additional API Management resource location.
* @property disableGateway Property only valid for an Api Management service deployed in multiple locations. This can be used to disable the gateway in this additional location.
* @property location The location name of the additional region among Azure Data center regions.
* @property natGatewayState Property can be used to enable NAT Gateway for this API Management service.
* @property publicIpAddressId Public Standard SKU IP V4 based IP address to be associated with Virtual Network deployed service in the location. Supported only for Premium SKU being deployed in Virtual Network.
* @property sku SKU properties of the API Management service.
* @property virtualNetworkConfiguration Virtual network configuration for the location.
* @property zones A list of availability zones denoting where the resource needs to come from.
*/
public data class AdditionalLocationArgs(
public val disableGateway: Output? = null,
public val location: Output,
public val natGatewayState: Output>? = null,
public val publicIpAddressId: Output? = null,
public val sku: Output,
public val virtualNetworkConfiguration: Output? = null,
public val zones: Output>? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.azurenative.apimanagement.inputs.AdditionalLocationArgs =
com.pulumi.azurenative.apimanagement.inputs.AdditionalLocationArgs.builder()
.disableGateway(disableGateway?.applyValue({ args0 -> args0 }))
.location(location.applyValue({ args0 -> args0 }))
.natGatewayState(
natGatewayState?.applyValue({ args0 ->
args0.transform({ args0 -> args0 }, { args0 ->
args0.let({ args0 -> args0.toJava() })
})
}),
)
.publicIpAddressId(publicIpAddressId?.applyValue({ args0 -> args0 }))
.sku(sku.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.virtualNetworkConfiguration(
virtualNetworkConfiguration?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
)
.zones(zones?.applyValue({ args0 -> args0.map({ args0 -> args0 }) })).build()
}
/**
* Builder for [AdditionalLocationArgs].
*/
@PulumiTagMarker
public class AdditionalLocationArgsBuilder internal constructor() {
private var disableGateway: Output? = null
private var location: Output? = null
private var natGatewayState: Output>? = null
private var publicIpAddressId: Output? = null
private var sku: Output? = null
private var virtualNetworkConfiguration: Output? = null
private var zones: Output>? = null
/**
* @param value Property only valid for an Api Management service deployed in multiple locations. This can be used to disable the gateway in this additional location.
*/
@JvmName("uyigxlkpufqiksyx")
public suspend fun disableGateway(`value`: Output) {
this.disableGateway = value
}
/**
* @param value The location name of the additional region among Azure Data center regions.
*/
@JvmName("ffqfdjqhnwvfljrx")
public suspend fun location(`value`: Output) {
this.location = value
}
/**
* @param value Property can be used to enable NAT Gateway for this API Management service.
*/
@JvmName("cohviqgnnnlauvhj")
public suspend fun natGatewayState(`value`: Output>) {
this.natGatewayState = value
}
/**
* @param value Public Standard SKU IP V4 based IP address to be associated with Virtual Network deployed service in the location. Supported only for Premium SKU being deployed in Virtual Network.
*/
@JvmName("uaqvggberxtocxaa")
public suspend fun publicIpAddressId(`value`: Output) {
this.publicIpAddressId = value
}
/**
* @param value SKU properties of the API Management service.
*/
@JvmName("tlokhjjgbamxodew")
public suspend fun sku(`value`: Output) {
this.sku = value
}
/**
* @param value Virtual network configuration for the location.
*/
@JvmName("wvvltcyftlsepkup")
public suspend fun virtualNetworkConfiguration(`value`: Output) {
this.virtualNetworkConfiguration = value
}
/**
* @param value A list of availability zones denoting where the resource needs to come from.
*/
@JvmName("dwedniuvkfhvpstf")
public suspend fun zones(`value`: Output>) {
this.zones = value
}
@JvmName("tdkfqrsyrfdghhna")
public suspend fun zones(vararg values: Output) {
this.zones = Output.all(values.asList())
}
/**
* @param values A list of availability zones denoting where the resource needs to come from.
*/
@JvmName("elkkgrmlmvdcmleg")
public suspend fun zones(values: List
© 2015 - 2025 Weber Informatics LLC | Privacy Policy