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

com.pulumi.aws.codedeploy.kotlin.inputs.DeploymentGroupBlueGreenDeploymentConfigArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.aws.codedeploy.kotlin.inputs

import com.pulumi.aws.codedeploy.inputs.DeploymentGroupBlueGreenDeploymentConfigArgs.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 deploymentReadyOption Information about the action to take when newly provisioned instances are ready to receive traffic in a blue/green deployment (documented below).
 * @property greenFleetProvisioningOption Information about how instances are provisioned for a replacement environment in a blue/green deployment (documented below).
 * @property terminateBlueInstancesOnDeploymentSuccess Information about whether to terminate instances in the original fleet during a blue/green deployment (documented below).
 * _Only one `blue_green_deployment_config` is allowed_.
 */
public data class DeploymentGroupBlueGreenDeploymentConfigArgs(
    public val deploymentReadyOption: Output? = null,
    public val greenFleetProvisioningOption: Output? = null,
    public val terminateBlueInstancesOnDeploymentSuccess: Output? =
        null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.aws.codedeploy.inputs.DeploymentGroupBlueGreenDeploymentConfigArgs =
        com.pulumi.aws.codedeploy.inputs.DeploymentGroupBlueGreenDeploymentConfigArgs.builder()
            .deploymentReadyOption(
                deploymentReadyOption?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            )
            .greenFleetProvisioningOption(
                greenFleetProvisioningOption?.applyValue({ args0 ->
                    args0.let({ args0 -> args0.toJava() })
                }),
            )
            .terminateBlueInstancesOnDeploymentSuccess(
                terminateBlueInstancesOnDeploymentSuccess?.applyValue({ args0 ->
                    args0.let({ args0 -> args0.toJava() })
                }),
            ).build()
}

/**
 * Builder for [DeploymentGroupBlueGreenDeploymentConfigArgs].
 */
@PulumiTagMarker
public class DeploymentGroupBlueGreenDeploymentConfigArgsBuilder internal constructor() {
    private var deploymentReadyOption:
        Output? = null

    private var greenFleetProvisioningOption:
        Output? = null

    private var terminateBlueInstancesOnDeploymentSuccess:
        Output? =
        null

    /**
     * @param value Information about the action to take when newly provisioned instances are ready to receive traffic in a blue/green deployment (documented below).
     */
    @JvmName("nnnidhiinclkbcnu")
    public suspend fun deploymentReadyOption(`value`: Output) {
        this.deploymentReadyOption = value
    }

    /**
     * @param value Information about how instances are provisioned for a replacement environment in a blue/green deployment (documented below).
     */
    @JvmName("oqmbqnciuiqbwtok")
    public suspend fun greenFleetProvisioningOption(`value`: Output) {
        this.greenFleetProvisioningOption = value
    }

    /**
     * @param value Information about whether to terminate instances in the original fleet during a blue/green deployment (documented below).
     * _Only one `blue_green_deployment_config` is allowed_.
     */
    @JvmName("snsfnajuebbgeaio")
    public suspend fun terminateBlueInstancesOnDeploymentSuccess(`value`: Output) {
        this.terminateBlueInstancesOnDeploymentSuccess = value
    }

    /**
     * @param value Information about the action to take when newly provisioned instances are ready to receive traffic in a blue/green deployment (documented below).
     */
    @JvmName("jvmwdblhkwontxvl")
    public suspend fun deploymentReadyOption(`value`: DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOptionArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.deploymentReadyOption = mapped
    }

    /**
     * @param argument Information about the action to take when newly provisioned instances are ready to receive traffic in a blue/green deployment (documented below).
     */
    @JvmName("kardynlmaeppewgs")
    public suspend fun deploymentReadyOption(argument: suspend DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOptionArgsBuilder.() -> Unit) {
        val toBeMapped =
            DeploymentGroupBlueGreenDeploymentConfigDeploymentReadyOptionArgsBuilder().applySuspend {
                argument()
            }.build()
        val mapped = of(toBeMapped)
        this.deploymentReadyOption = mapped
    }

    /**
     * @param value Information about how instances are provisioned for a replacement environment in a blue/green deployment (documented below).
     */
    @JvmName("djvpinwvpntsgmng")
    public suspend fun greenFleetProvisioningOption(`value`: DeploymentGroupBlueGreenDeploymentConfigGreenFleetProvisioningOptionArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.greenFleetProvisioningOption = mapped
    }

    /**
     * @param argument Information about how instances are provisioned for a replacement environment in a blue/green deployment (documented below).
     */
    @JvmName("pccsbdnmcxivujsg")
    public suspend fun greenFleetProvisioningOption(argument: suspend DeploymentGroupBlueGreenDeploymentConfigGreenFleetProvisioningOptionArgsBuilder.() -> Unit) {
        val toBeMapped =
            DeploymentGroupBlueGreenDeploymentConfigGreenFleetProvisioningOptionArgsBuilder().applySuspend {
                argument()
            }.build()
        val mapped = of(toBeMapped)
        this.greenFleetProvisioningOption = mapped
    }

    /**
     * @param value Information about whether to terminate instances in the original fleet during a blue/green deployment (documented below).
     * _Only one `blue_green_deployment_config` is allowed_.
     */
    @JvmName("hgelghhbbyifmbim")
    public suspend fun terminateBlueInstancesOnDeploymentSuccess(`value`: DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstancesOnDeploymentSuccessArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.terminateBlueInstancesOnDeploymentSuccess = mapped
    }

    /**
     * @param argument Information about whether to terminate instances in the original fleet during a blue/green deployment (documented below).
     * _Only one `blue_green_deployment_config` is allowed_.
     */
    @JvmName("tkunwrketstmwneo")
    public suspend fun terminateBlueInstancesOnDeploymentSuccess(argument: suspend DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstancesOnDeploymentSuccessArgsBuilder.() -> Unit) {
        val toBeMapped =
            DeploymentGroupBlueGreenDeploymentConfigTerminateBlueInstancesOnDeploymentSuccessArgsBuilder().applySuspend {
                argument()
            }.build()
        val mapped = of(toBeMapped)
        this.terminateBlueInstancesOnDeploymentSuccess = mapped
    }

    internal fun build(): DeploymentGroupBlueGreenDeploymentConfigArgs =
        DeploymentGroupBlueGreenDeploymentConfigArgs(
            deploymentReadyOption = deploymentReadyOption,
            greenFleetProvisioningOption = greenFleetProvisioningOption,
            terminateBlueInstancesOnDeploymentSuccess = terminateBlueInstancesOnDeploymentSuccess,
        )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy