com.pulumi.awsnative.apigateway.kotlin.DeploymentArgs.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of pulumi-aws-native-kotlin Show documentation
Show all versions of pulumi-aws-native-kotlin Show documentation
Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.awsnative.apigateway.kotlin
import com.pulumi.awsnative.apigateway.DeploymentArgs.builder
import com.pulumi.awsnative.apigateway.kotlin.inputs.DeploymentCanarySettingsArgs
import com.pulumi.awsnative.apigateway.kotlin.inputs.DeploymentCanarySettingsArgsBuilder
import com.pulumi.awsnative.apigateway.kotlin.inputs.DeploymentStageDescriptionArgs
import com.pulumi.awsnative.apigateway.kotlin.inputs.DeploymentStageDescriptionArgsBuilder
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.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.jvm.JvmName
/**
* The ``AWS::ApiGateway::Deployment`` resource deploys an API Gateway ``RestApi`` resource to a stage so that clients can call the API over the internet. The stage acts as an environment.
* @property deploymentCanarySettings The input configuration for a canary deployment.
* @property description The description for the Deployment resource to create.
* @property restApiId The string identifier of the associated RestApi.
* @property stageDescription The description of the Stage resource for the Deployment resource to create. To specify a stage description, you must also provide a stage name.
* @property stageName The name of the Stage resource for the Deployment resource to create.
*/
public data class DeploymentArgs(
public val deploymentCanarySettings: Output? = null,
public val description: Output? = null,
public val restApiId: Output? = null,
public val stageDescription: Output? = null,
public val stageName: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.awsnative.apigateway.DeploymentArgs =
com.pulumi.awsnative.apigateway.DeploymentArgs.builder()
.deploymentCanarySettings(
deploymentCanarySettings?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
)
.description(description?.applyValue({ args0 -> args0 }))
.restApiId(restApiId?.applyValue({ args0 -> args0 }))
.stageDescription(stageDescription?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.stageName(stageName?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [DeploymentArgs].
*/
@PulumiTagMarker
public class DeploymentArgsBuilder internal constructor() {
private var deploymentCanarySettings: Output? = null
private var description: Output? = null
private var restApiId: Output? = null
private var stageDescription: Output? = null
private var stageName: Output? = null
/**
* @param value The input configuration for a canary deployment.
*/
@JvmName("urrjeoihvxypafyt")
public suspend fun deploymentCanarySettings(`value`: Output) {
this.deploymentCanarySettings = value
}
/**
* @param value The description for the Deployment resource to create.
*/
@JvmName("kiqbqgyqddxilelf")
public suspend fun description(`value`: Output) {
this.description = value
}
/**
* @param value The string identifier of the associated RestApi.
*/
@JvmName("lkpapsuvptmyekfc")
public suspend fun restApiId(`value`: Output) {
this.restApiId = value
}
/**
* @param value The description of the Stage resource for the Deployment resource to create. To specify a stage description, you must also provide a stage name.
*/
@JvmName("jvunvddfakuenbkg")
public suspend fun stageDescription(`value`: Output) {
this.stageDescription = value
}
/**
* @param value The name of the Stage resource for the Deployment resource to create.
*/
@JvmName("aeppdjqacktdnaeu")
public suspend fun stageName(`value`: Output) {
this.stageName = value
}
/**
* @param value The input configuration for a canary deployment.
*/
@JvmName("jopmklferlljkxch")
public suspend fun deploymentCanarySettings(`value`: DeploymentCanarySettingsArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.deploymentCanarySettings = mapped
}
/**
* @param argument The input configuration for a canary deployment.
*/
@JvmName("jdknrslroxgeuldi")
public suspend fun deploymentCanarySettings(argument: suspend DeploymentCanarySettingsArgsBuilder.() -> Unit) {
val toBeMapped = DeploymentCanarySettingsArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.deploymentCanarySettings = mapped
}
/**
* @param value The description for the Deployment resource to create.
*/
@JvmName("fyyqdmujwtnesrew")
public suspend fun description(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.description = mapped
}
/**
* @param value The string identifier of the associated RestApi.
*/
@JvmName("ckghnaeyjncphpfc")
public suspend fun restApiId(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.restApiId = mapped
}
/**
* @param value The description of the Stage resource for the Deployment resource to create. To specify a stage description, you must also provide a stage name.
*/
@JvmName("tsirrgfmhejcunba")
public suspend fun stageDescription(`value`: DeploymentStageDescriptionArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.stageDescription = mapped
}
/**
* @param argument The description of the Stage resource for the Deployment resource to create. To specify a stage description, you must also provide a stage name.
*/
@JvmName("tjvjtwjanmiweqpk")
public suspend fun stageDescription(argument: suspend DeploymentStageDescriptionArgsBuilder.() -> Unit) {
val toBeMapped = DeploymentStageDescriptionArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.stageDescription = mapped
}
/**
* @param value The name of the Stage resource for the Deployment resource to create.
*/
@JvmName("jffmqhsemggwbjli")
public suspend fun stageName(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.stageName = mapped
}
internal fun build(): DeploymentArgs = DeploymentArgs(
deploymentCanarySettings = deploymentCanarySettings,
description = description,
restApiId = restApiId,
stageDescription = stageDescription,
stageName = stageName,
)
}