All Downloads are FREE. Search and download functionalities are using the official Maven repository.
Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.pulumi.azurenative.web.kotlin.inputs.CloningInfoArgs.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.azurenative.web.kotlin.inputs
import com.pulumi.azurenative.web.inputs.CloningInfoArgs.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 kotlin.Boolean
import kotlin.Pair
import kotlin.String
import kotlin.Suppress
import kotlin.collections.Map
import kotlin.jvm.JvmName
/**
* Information needed for cloning operation.
* @property appSettingsOverrides Application setting overrides for cloned app. If specified, these settings override the settings cloned
* from source app. Otherwise, application settings from source app are retained.
* @property cloneCustomHostNames true
to clone custom hostnames from source app; otherwise, false
.
* @property cloneSourceControl true
to clone source control from source app; otherwise, false
.
* @property configureLoadBalancing true
to configure load balancing for source and destination app.
* @property correlationId Correlation ID of cloning operation. This ID ties multiple cloning operations
* together to use the same snapshot.
* @property hostingEnvironment App Service Environment.
* @property overwrite true
to overwrite destination app; otherwise, false
.
* @property sourceWebAppId ARM resource ID of the source app. App resource ID is of the form
* /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName} for production slots and
* /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slotName} for other slots.
* @property sourceWebAppLocation Location of source app ex: West US or North Europe
* @property trafficManagerProfileId ARM resource ID of the Traffic Manager profile to use, if it exists. Traffic Manager resource ID is of the form
* /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficManagerProfiles/{profileName}.
* @property trafficManagerProfileName Name of Traffic Manager profile to create. This is only needed if Traffic Manager profile does not already exist.
*/
public data class CloningInfoArgs(
public val appSettingsOverrides: Output>? = null,
public val cloneCustomHostNames: Output? = null,
public val cloneSourceControl: Output? = null,
public val configureLoadBalancing: Output? = null,
public val correlationId: Output? = null,
public val hostingEnvironment: Output? = null,
public val overwrite: Output? = null,
public val sourceWebAppId: Output,
public val sourceWebAppLocation: Output? = null,
public val trafficManagerProfileId: Output? = null,
public val trafficManagerProfileName: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.azurenative.web.inputs.CloningInfoArgs =
com.pulumi.azurenative.web.inputs.CloningInfoArgs.builder()
.appSettingsOverrides(
appSettingsOverrides?.applyValue({ args0 ->
args0.map({ args0 ->
args0.key.to(args0.value)
}).toMap()
}),
)
.cloneCustomHostNames(cloneCustomHostNames?.applyValue({ args0 -> args0 }))
.cloneSourceControl(cloneSourceControl?.applyValue({ args0 -> args0 }))
.configureLoadBalancing(configureLoadBalancing?.applyValue({ args0 -> args0 }))
.correlationId(correlationId?.applyValue({ args0 -> args0 }))
.hostingEnvironment(hostingEnvironment?.applyValue({ args0 -> args0 }))
.overwrite(overwrite?.applyValue({ args0 -> args0 }))
.sourceWebAppId(sourceWebAppId.applyValue({ args0 -> args0 }))
.sourceWebAppLocation(sourceWebAppLocation?.applyValue({ args0 -> args0 }))
.trafficManagerProfileId(trafficManagerProfileId?.applyValue({ args0 -> args0 }))
.trafficManagerProfileName(trafficManagerProfileName?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [CloningInfoArgs].
*/
@PulumiTagMarker
public class CloningInfoArgsBuilder internal constructor() {
private var appSettingsOverrides: Output>? = null
private var cloneCustomHostNames: Output? = null
private var cloneSourceControl: Output? = null
private var configureLoadBalancing: Output? = null
private var correlationId: Output? = null
private var hostingEnvironment: Output? = null
private var overwrite: Output? = null
private var sourceWebAppId: Output? = null
private var sourceWebAppLocation: Output? = null
private var trafficManagerProfileId: Output? = null
private var trafficManagerProfileName: Output? = null
/**
* @param value Application setting overrides for cloned app. If specified, these settings override the settings cloned
* from source app. Otherwise, application settings from source app are retained.
*/
@JvmName("vmqfsrjrfvuwwxdn")
public suspend fun appSettingsOverrides(`value`: Output>) {
this.appSettingsOverrides = value
}
/**
* @param value true
to clone custom hostnames from source app; otherwise, false
.
*/
@JvmName("humqqtcthmawrgby")
public suspend fun cloneCustomHostNames(`value`: Output) {
this.cloneCustomHostNames = value
}
/**
* @param value true
to clone source control from source app; otherwise, false
.
*/
@JvmName("lntbrgimnatmjcgv")
public suspend fun cloneSourceControl(`value`: Output) {
this.cloneSourceControl = value
}
/**
* @param value true
to configure load balancing for source and destination app.
*/
@JvmName("fvubxulwgugfoijt")
public suspend fun configureLoadBalancing(`value`: Output) {
this.configureLoadBalancing = value
}
/**
* @param value Correlation ID of cloning operation. This ID ties multiple cloning operations
* together to use the same snapshot.
*/
@JvmName("bwgkexldroodcvkl")
public suspend fun correlationId(`value`: Output) {
this.correlationId = value
}
/**
* @param value App Service Environment.
*/
@JvmName("qkonceciybiftbev")
public suspend fun hostingEnvironment(`value`: Output) {
this.hostingEnvironment = value
}
/**
* @param value true
to overwrite destination app; otherwise, false
.
*/
@JvmName("trdocvngqnnqccvf")
public suspend fun overwrite(`value`: Output) {
this.overwrite = value
}
/**
* @param value ARM resource ID of the source app. App resource ID is of the form
* /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName} for production slots and
* /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slotName} for other slots.
*/
@JvmName("kottsbasgcqmabee")
public suspend fun sourceWebAppId(`value`: Output) {
this.sourceWebAppId = value
}
/**
* @param value Location of source app ex: West US or North Europe
*/
@JvmName("niksepyqwsvwgktw")
public suspend fun sourceWebAppLocation(`value`: Output) {
this.sourceWebAppLocation = value
}
/**
* @param value ARM resource ID of the Traffic Manager profile to use, if it exists. Traffic Manager resource ID is of the form
* /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficManagerProfiles/{profileName}.
*/
@JvmName("keyrsdhtrhfdflmo")
public suspend fun trafficManagerProfileId(`value`: Output) {
this.trafficManagerProfileId = value
}
/**
* @param value Name of Traffic Manager profile to create. This is only needed if Traffic Manager profile does not already exist.
*/
@JvmName("fmethoxtfckesyil")
public suspend fun trafficManagerProfileName(`value`: Output) {
this.trafficManagerProfileName = value
}
/**
* @param value Application setting overrides for cloned app. If specified, these settings override the settings cloned
* from source app. Otherwise, application settings from source app are retained.
*/
@JvmName("kudidfseaiipwbbq")
public suspend fun appSettingsOverrides(`value`: Map?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.appSettingsOverrides = mapped
}
/**
* @param values Application setting overrides for cloned app. If specified, these settings override the settings cloned
* from source app. Otherwise, application settings from source app are retained.
*/
@JvmName("cswkrhyxauhwstfw")
public fun appSettingsOverrides(vararg values: Pair) {
val toBeMapped = values.toMap()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.appSettingsOverrides = mapped
}
/**
* @param value true
to clone custom hostnames from source app; otherwise, false
.
*/
@JvmName("ktjrfhrdyetcqtxf")
public suspend fun cloneCustomHostNames(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.cloneCustomHostNames = mapped
}
/**
* @param value true
to clone source control from source app; otherwise, false
.
*/
@JvmName("cmygtsdshactsqar")
public suspend fun cloneSourceControl(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.cloneSourceControl = mapped
}
/**
* @param value true
to configure load balancing for source and destination app.
*/
@JvmName("bsskctmaioydvoxc")
public suspend fun configureLoadBalancing(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.configureLoadBalancing = mapped
}
/**
* @param value Correlation ID of cloning operation. This ID ties multiple cloning operations
* together to use the same snapshot.
*/
@JvmName("jdomnxmvbpgxmomk")
public suspend fun correlationId(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.correlationId = mapped
}
/**
* @param value App Service Environment.
*/
@JvmName("cdqfikmugcapecqd")
public suspend fun hostingEnvironment(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.hostingEnvironment = mapped
}
/**
* @param value true
to overwrite destination app; otherwise, false
.
*/
@JvmName("mivhburkddmmlwlm")
public suspend fun overwrite(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.overwrite = mapped
}
/**
* @param value ARM resource ID of the source app. App resource ID is of the form
* /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName} for production slots and
* /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slotName} for other slots.
*/
@JvmName("apusethieupsmvbn")
public suspend fun sourceWebAppId(`value`: String) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.sourceWebAppId = mapped
}
/**
* @param value Location of source app ex: West US or North Europe
*/
@JvmName("mbphctmiomgpitpm")
public suspend fun sourceWebAppLocation(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.sourceWebAppLocation = mapped
}
/**
* @param value ARM resource ID of the Traffic Manager profile to use, if it exists. Traffic Manager resource ID is of the form
* /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficManagerProfiles/{profileName}.
*/
@JvmName("fgmcpivyyadqeaab")
public suspend fun trafficManagerProfileId(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.trafficManagerProfileId = mapped
}
/**
* @param value Name of Traffic Manager profile to create. This is only needed if Traffic Manager profile does not already exist.
*/
@JvmName("eshqfwhpfktqrnrk")
public suspend fun trafficManagerProfileName(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.trafficManagerProfileName = mapped
}
internal fun build(): CloningInfoArgs = CloningInfoArgs(
appSettingsOverrides = appSettingsOverrides,
cloneCustomHostNames = cloneCustomHostNames,
cloneSourceControl = cloneSourceControl,
configureLoadBalancing = configureLoadBalancing,
correlationId = correlationId,
hostingEnvironment = hostingEnvironment,
overwrite = overwrite,
sourceWebAppId = sourceWebAppId ?: throw PulumiNullFieldException("sourceWebAppId"),
sourceWebAppLocation = sourceWebAppLocation,
trafficManagerProfileId = trafficManagerProfileId,
trafficManagerProfileName = trafficManagerProfileName,
)
}