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

com.pulumi.awsnative.arczonalshift.kotlin.ZonalAutoshiftConfigurationArgs.kt Maven / Gradle / Ivy

Go to download

Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.

There is a newer version: 1.11.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.awsnative.arczonalshift.kotlin

import com.pulumi.awsnative.arczonalshift.ZonalAutoshiftConfigurationArgs.builder
import com.pulumi.awsnative.arczonalshift.kotlin.enums.ZonalAutoshiftConfigurationZonalAutoshiftStatus
import com.pulumi.awsnative.arczonalshift.kotlin.inputs.ZonalAutoshiftConfigurationPracticeRunConfigurationArgs
import com.pulumi.awsnative.arczonalshift.kotlin.inputs.ZonalAutoshiftConfigurationPracticeRunConfigurationArgsBuilder
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

/**
 * Definition of AWS::ARCZonalShift::ZonalAutoshiftConfiguration Resource Type
 * @property practiceRunConfiguration A practice run configuration for a resource includes the Amazon CloudWatch alarms that you've specified for a practice run, as well as any blocked dates or blocked windows for the practice run. When a resource has a practice run configuration, Route 53 ARC shifts traffic for the resource weekly for practice runs.
 * Practice runs are required for zonal autoshift. The zonal shifts that Route 53 ARC starts for practice runs help you to ensure that shifting away traffic from an Availability Zone during an autoshift is safe for your application.
 * You can update or delete a practice run configuration. Before you delete a practice run configuration, you must disable zonal autoshift for the resource. A practice run configuration is required when zonal autoshift is enabled.
 * @property resourceIdentifier The identifier for the resource that AWS shifts traffic for. The identifier is the Amazon Resource Name (ARN) for the resource.
 * At this time, supported resources are Network Load Balancers and Application Load Balancers with cross-zone load balancing turned off.
 * @property zonalAutoshiftStatus When zonal autoshift is `ENABLED` , you authorize AWS to shift away resource traffic for an application from an Availability Zone during events, on your behalf, to help reduce time to recovery. Traffic is also shifted away for the required weekly practice runs.
 */
public data class ZonalAutoshiftConfigurationArgs(
    public val practiceRunConfiguration: Output? = null,
    public val resourceIdentifier: Output? = null,
    public val zonalAutoshiftStatus: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.awsnative.arczonalshift.ZonalAutoshiftConfigurationArgs =
        com.pulumi.awsnative.arczonalshift.ZonalAutoshiftConfigurationArgs.builder()
            .practiceRunConfiguration(
                practiceRunConfiguration?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            )
            .resourceIdentifier(resourceIdentifier?.applyValue({ args0 -> args0 }))
            .zonalAutoshiftStatus(
                zonalAutoshiftStatus?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            ).build()
}

/**
 * Builder for [ZonalAutoshiftConfigurationArgs].
 */
@PulumiTagMarker
public class ZonalAutoshiftConfigurationArgsBuilder internal constructor() {
    private var practiceRunConfiguration:
        Output? = null

    private var resourceIdentifier: Output? = null

    private var zonalAutoshiftStatus: Output? = null

    /**
     * @param value A practice run configuration for a resource includes the Amazon CloudWatch alarms that you've specified for a practice run, as well as any blocked dates or blocked windows for the practice run. When a resource has a practice run configuration, Route 53 ARC shifts traffic for the resource weekly for practice runs.
     * Practice runs are required for zonal autoshift. The zonal shifts that Route 53 ARC starts for practice runs help you to ensure that shifting away traffic from an Availability Zone during an autoshift is safe for your application.
     * You can update or delete a practice run configuration. Before you delete a practice run configuration, you must disable zonal autoshift for the resource. A practice run configuration is required when zonal autoshift is enabled.
     */
    @JvmName("dqwogrpeuqncddsh")
    public suspend fun practiceRunConfiguration(`value`: Output) {
        this.practiceRunConfiguration = value
    }

    /**
     * @param value The identifier for the resource that AWS shifts traffic for. The identifier is the Amazon Resource Name (ARN) for the resource.
     * At this time, supported resources are Network Load Balancers and Application Load Balancers with cross-zone load balancing turned off.
     */
    @JvmName("ctcrsbtcsevkjajc")
    public suspend fun resourceIdentifier(`value`: Output) {
        this.resourceIdentifier = value
    }

    /**
     * @param value When zonal autoshift is `ENABLED` , you authorize AWS to shift away resource traffic for an application from an Availability Zone during events, on your behalf, to help reduce time to recovery. Traffic is also shifted away for the required weekly practice runs.
     */
    @JvmName("ttqhetjlodaksqeh")
    public suspend fun zonalAutoshiftStatus(`value`: Output) {
        this.zonalAutoshiftStatus = value
    }

    /**
     * @param value A practice run configuration for a resource includes the Amazon CloudWatch alarms that you've specified for a practice run, as well as any blocked dates or blocked windows for the practice run. When a resource has a practice run configuration, Route 53 ARC shifts traffic for the resource weekly for practice runs.
     * Practice runs are required for zonal autoshift. The zonal shifts that Route 53 ARC starts for practice runs help you to ensure that shifting away traffic from an Availability Zone during an autoshift is safe for your application.
     * You can update or delete a practice run configuration. Before you delete a practice run configuration, you must disable zonal autoshift for the resource. A practice run configuration is required when zonal autoshift is enabled.
     */
    @JvmName("wpltbwkiraffdvxo")
    public suspend fun practiceRunConfiguration(`value`: ZonalAutoshiftConfigurationPracticeRunConfigurationArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.practiceRunConfiguration = mapped
    }

    /**
     * @param argument A practice run configuration for a resource includes the Amazon CloudWatch alarms that you've specified for a practice run, as well as any blocked dates or blocked windows for the practice run. When a resource has a practice run configuration, Route 53 ARC shifts traffic for the resource weekly for practice runs.
     * Practice runs are required for zonal autoshift. The zonal shifts that Route 53 ARC starts for practice runs help you to ensure that shifting away traffic from an Availability Zone during an autoshift is safe for your application.
     * You can update or delete a practice run configuration. Before you delete a practice run configuration, you must disable zonal autoshift for the resource. A practice run configuration is required when zonal autoshift is enabled.
     */
    @JvmName("oaachxaukqujawrg")
    public suspend fun practiceRunConfiguration(argument: suspend ZonalAutoshiftConfigurationPracticeRunConfigurationArgsBuilder.() -> Unit) {
        val toBeMapped = ZonalAutoshiftConfigurationPracticeRunConfigurationArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.practiceRunConfiguration = mapped
    }

    /**
     * @param value The identifier for the resource that AWS shifts traffic for. The identifier is the Amazon Resource Name (ARN) for the resource.
     * At this time, supported resources are Network Load Balancers and Application Load Balancers with cross-zone load balancing turned off.
     */
    @JvmName("dytqnkbeawyokgob")
    public suspend fun resourceIdentifier(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.resourceIdentifier = mapped
    }

    /**
     * @param value When zonal autoshift is `ENABLED` , you authorize AWS to shift away resource traffic for an application from an Availability Zone during events, on your behalf, to help reduce time to recovery. Traffic is also shifted away for the required weekly practice runs.
     */
    @JvmName("oocsmogprusoogrc")
    public suspend fun zonalAutoshiftStatus(`value`: ZonalAutoshiftConfigurationZonalAutoshiftStatus?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.zonalAutoshiftStatus = mapped
    }

    internal fun build(): ZonalAutoshiftConfigurationArgs = ZonalAutoshiftConfigurationArgs(
        practiceRunConfiguration = practiceRunConfiguration,
        resourceIdentifier = resourceIdentifier,
        zonalAutoshiftStatus = zonalAutoshiftStatus,
    )
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy