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

com.pulumi.awsnative.codedeploy.kotlin.inputs.DeploymentConfigZonalConfigArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.awsnative.codedeploy.kotlin.inputs

import com.pulumi.awsnative.codedeploy.inputs.DeploymentConfigZonalConfigArgs.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.Int
import kotlin.Suppress
import kotlin.Unit
import kotlin.jvm.JvmName

/**
 *
 * @property firstZoneMonitorDurationInSeconds The period of time, in seconds, that CodeDeploy must wait after completing a deployment to the *first* Availability Zone. CodeDeploy will wait this amount of time before starting a deployment to the second Availability Zone. You might set this option if you want to allow extra bake time for the first Availability Zone. If you don't specify a value for `firstZoneMonitorDurationInSeconds` , then CodeDeploy uses the `monitorDurationInSeconds` value for the first Availability Zone.
 * For more information about the zonal configuration feature, see [zonal configuration](https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-configurations-create.html#zonal-config) in the *CodeDeploy User Guide* .
 * @property minimumHealthyHostsPerZone The number or percentage of instances that must remain available per Availability Zone during a deployment. This option works in conjunction with the `MinimumHealthyHosts` option. For more information, see [About the minimum number of healthy hosts per Availability Zone](https://docs.aws.amazon.com//codedeploy/latest/userguide/instances-health.html#minimum-healthy-hosts-az) in the *CodeDeploy User Guide* .
 * If you don't specify the `minimumHealthyHostsPerZone` option, then CodeDeploy uses a default value of `0` percent.
 * For more information about the zonal configuration feature, see [zonal configuration](https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-configurations-create.html#zonal-config) in the *CodeDeploy User Guide* .
 * @property monitorDurationInSeconds The period of time, in seconds, that CodeDeploy must wait after completing a deployment to an Availability Zone. CodeDeploy will wait this amount of time before starting a deployment to the next Availability Zone. Consider adding a monitor duration to give the deployment some time to prove itself (or 'bake') in one Availability Zone before it is released in the next zone. If you don't specify a `monitorDurationInSeconds` , CodeDeploy starts deploying to the next Availability Zone immediately.
 * For more information about the zonal configuration feature, see [zonal configuration](https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-configurations-create.html#zonal-config) in the *CodeDeploy User Guide* .
 */
public data class DeploymentConfigZonalConfigArgs(
    public val firstZoneMonitorDurationInSeconds: Output? = null,
    public val minimumHealthyHostsPerZone: Output? =
        null,
    public val monitorDurationInSeconds: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.awsnative.codedeploy.inputs.DeploymentConfigZonalConfigArgs =
        com.pulumi.awsnative.codedeploy.inputs.DeploymentConfigZonalConfigArgs.builder()
            .firstZoneMonitorDurationInSeconds(
                firstZoneMonitorDurationInSeconds?.applyValue({ args0 ->
                    args0
                }),
            )
            .minimumHealthyHostsPerZone(
                minimumHealthyHostsPerZone?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            )
            .monitorDurationInSeconds(monitorDurationInSeconds?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [DeploymentConfigZonalConfigArgs].
 */
@PulumiTagMarker
public class DeploymentConfigZonalConfigArgsBuilder internal constructor() {
    private var firstZoneMonitorDurationInSeconds: Output? = null

    private var minimumHealthyHostsPerZone: Output? =
        null

    private var monitorDurationInSeconds: Output? = null

    /**
     * @param value The period of time, in seconds, that CodeDeploy must wait after completing a deployment to the *first* Availability Zone. CodeDeploy will wait this amount of time before starting a deployment to the second Availability Zone. You might set this option if you want to allow extra bake time for the first Availability Zone. If you don't specify a value for `firstZoneMonitorDurationInSeconds` , then CodeDeploy uses the `monitorDurationInSeconds` value for the first Availability Zone.
     * For more information about the zonal configuration feature, see [zonal configuration](https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-configurations-create.html#zonal-config) in the *CodeDeploy User Guide* .
     */
    @JvmName("odnwjetlakjmmwss")
    public suspend fun firstZoneMonitorDurationInSeconds(`value`: Output) {
        this.firstZoneMonitorDurationInSeconds = value
    }

    /**
     * @param value The number or percentage of instances that must remain available per Availability Zone during a deployment. This option works in conjunction with the `MinimumHealthyHosts` option. For more information, see [About the minimum number of healthy hosts per Availability Zone](https://docs.aws.amazon.com//codedeploy/latest/userguide/instances-health.html#minimum-healthy-hosts-az) in the *CodeDeploy User Guide* .
     * If you don't specify the `minimumHealthyHostsPerZone` option, then CodeDeploy uses a default value of `0` percent.
     * For more information about the zonal configuration feature, see [zonal configuration](https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-configurations-create.html#zonal-config) in the *CodeDeploy User Guide* .
     */
    @JvmName("ccnvjvrvbncwuitm")
    public suspend fun minimumHealthyHostsPerZone(`value`: Output) {
        this.minimumHealthyHostsPerZone = value
    }

    /**
     * @param value The period of time, in seconds, that CodeDeploy must wait after completing a deployment to an Availability Zone. CodeDeploy will wait this amount of time before starting a deployment to the next Availability Zone. Consider adding a monitor duration to give the deployment some time to prove itself (or 'bake') in one Availability Zone before it is released in the next zone. If you don't specify a `monitorDurationInSeconds` , CodeDeploy starts deploying to the next Availability Zone immediately.
     * For more information about the zonal configuration feature, see [zonal configuration](https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-configurations-create.html#zonal-config) in the *CodeDeploy User Guide* .
     */
    @JvmName("pqbhttlyujjgphyt")
    public suspend fun monitorDurationInSeconds(`value`: Output) {
        this.monitorDurationInSeconds = value
    }

    /**
     * @param value The period of time, in seconds, that CodeDeploy must wait after completing a deployment to the *first* Availability Zone. CodeDeploy will wait this amount of time before starting a deployment to the second Availability Zone. You might set this option if you want to allow extra bake time for the first Availability Zone. If you don't specify a value for `firstZoneMonitorDurationInSeconds` , then CodeDeploy uses the `monitorDurationInSeconds` value for the first Availability Zone.
     * For more information about the zonal configuration feature, see [zonal configuration](https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-configurations-create.html#zonal-config) in the *CodeDeploy User Guide* .
     */
    @JvmName("yqlsbmfuearrtihl")
    public suspend fun firstZoneMonitorDurationInSeconds(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.firstZoneMonitorDurationInSeconds = mapped
    }

    /**
     * @param value The number or percentage of instances that must remain available per Availability Zone during a deployment. This option works in conjunction with the `MinimumHealthyHosts` option. For more information, see [About the minimum number of healthy hosts per Availability Zone](https://docs.aws.amazon.com//codedeploy/latest/userguide/instances-health.html#minimum-healthy-hosts-az) in the *CodeDeploy User Guide* .
     * If you don't specify the `minimumHealthyHostsPerZone` option, then CodeDeploy uses a default value of `0` percent.
     * For more information about the zonal configuration feature, see [zonal configuration](https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-configurations-create.html#zonal-config) in the *CodeDeploy User Guide* .
     */
    @JvmName("fswclauvdlaaaqli")
    public suspend fun minimumHealthyHostsPerZone(`value`: DeploymentConfigMinimumHealthyHostsPerZoneArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.minimumHealthyHostsPerZone = mapped
    }

    /**
     * @param argument The number or percentage of instances that must remain available per Availability Zone during a deployment. This option works in conjunction with the `MinimumHealthyHosts` option. For more information, see [About the minimum number of healthy hosts per Availability Zone](https://docs.aws.amazon.com//codedeploy/latest/userguide/instances-health.html#minimum-healthy-hosts-az) in the *CodeDeploy User Guide* .
     * If you don't specify the `minimumHealthyHostsPerZone` option, then CodeDeploy uses a default value of `0` percent.
     * For more information about the zonal configuration feature, see [zonal configuration](https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-configurations-create.html#zonal-config) in the *CodeDeploy User Guide* .
     */
    @JvmName("ikjieqgvjjcbqfpr")
    public suspend fun minimumHealthyHostsPerZone(argument: suspend DeploymentConfigMinimumHealthyHostsPerZoneArgsBuilder.() -> Unit) {
        val toBeMapped = DeploymentConfigMinimumHealthyHostsPerZoneArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.minimumHealthyHostsPerZone = mapped
    }

    /**
     * @param value The period of time, in seconds, that CodeDeploy must wait after completing a deployment to an Availability Zone. CodeDeploy will wait this amount of time before starting a deployment to the next Availability Zone. Consider adding a monitor duration to give the deployment some time to prove itself (or 'bake') in one Availability Zone before it is released in the next zone. If you don't specify a `monitorDurationInSeconds` , CodeDeploy starts deploying to the next Availability Zone immediately.
     * For more information about the zonal configuration feature, see [zonal configuration](https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-configurations-create.html#zonal-config) in the *CodeDeploy User Guide* .
     */
    @JvmName("bqrltlxwyaiysaja")
    public suspend fun monitorDurationInSeconds(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.monitorDurationInSeconds = mapped
    }

    internal fun build(): DeploymentConfigZonalConfigArgs = DeploymentConfigZonalConfigArgs(
        firstZoneMonitorDurationInSeconds = firstZoneMonitorDurationInSeconds,
        minimumHealthyHostsPerZone = minimumHealthyHostsPerZone,
        monitorDurationInSeconds = monitorDurationInSeconds,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy