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

com.pulumi.awsnative.kinesisanalyticsv2.kotlin.inputs.ApplicationCheckpointConfigurationArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.awsnative.kinesisanalyticsv2.kotlin.inputs

import com.pulumi.awsnative.kinesisanalyticsv2.inputs.ApplicationCheckpointConfigurationArgs.builder
import com.pulumi.awsnative.kinesisanalyticsv2.kotlin.enums.ApplicationCheckpointConfigurationConfigurationType
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.Int
import kotlin.Suppress
import kotlin.jvm.JvmName

/**
 * Describes an application's checkpointing configuration. Checkpointing is the process of persisting application state for fault tolerance. For more information, see Checkpoints for Fault Tolerance in the Apache Flink Documentation.
 * @property checkpointInterval Describes the interval in milliseconds between checkpoint operations.
 * @property checkpointingEnabled Describes whether checkpointing is enabled for a Flink-based Kinesis Data Analytics application.
 * @property configurationType Describes whether the application uses Kinesis Data Analytics' default checkpointing behavior. You must set this property to `CUSTOM` in order to set the `CheckpointingEnabled`, `CheckpointInterval`, or `MinPauseBetweenCheckpoints` parameters.
 * @property minPauseBetweenCheckpoints Describes the minimum time in milliseconds after a checkpoint operation completes that a new checkpoint operation can start. If a checkpoint operation takes longer than the CheckpointInterval, the application otherwise performs continual checkpoint operations. For more information, see Tuning Checkpointing in the Apache Flink Documentation.
 */
public data class ApplicationCheckpointConfigurationArgs(
    public val checkpointInterval: Output? = null,
    public val checkpointingEnabled: Output? = null,
    public val configurationType: Output,
    public val minPauseBetweenCheckpoints: Output? = null,
) :
    ConvertibleToJava {
    override fun toJava(): com.pulumi.awsnative.kinesisanalyticsv2.inputs.ApplicationCheckpointConfigurationArgs =
        com.pulumi.awsnative.kinesisanalyticsv2.inputs.ApplicationCheckpointConfigurationArgs.builder()
            .checkpointInterval(checkpointInterval?.applyValue({ args0 -> args0 }))
            .checkpointingEnabled(checkpointingEnabled?.applyValue({ args0 -> args0 }))
            .configurationType(configurationType.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .minPauseBetweenCheckpoints(minPauseBetweenCheckpoints?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [ApplicationCheckpointConfigurationArgs].
 */
@PulumiTagMarker
public class ApplicationCheckpointConfigurationArgsBuilder internal constructor() {
    private var checkpointInterval: Output? = null

    private var checkpointingEnabled: Output? = null

    private var configurationType: Output? = null

    private var minPauseBetweenCheckpoints: Output? = null

    /**
     * @param value Describes the interval in milliseconds between checkpoint operations.
     */
    @JvmName("bwthtlbyocmwpbdn")
    public suspend fun checkpointInterval(`value`: Output) {
        this.checkpointInterval = value
    }

    /**
     * @param value Describes whether checkpointing is enabled for a Flink-based Kinesis Data Analytics application.
     */
    @JvmName("xyvkgccqtvqfohih")
    public suspend fun checkpointingEnabled(`value`: Output) {
        this.checkpointingEnabled = value
    }

    /**
     * @param value Describes whether the application uses Kinesis Data Analytics' default checkpointing behavior. You must set this property to `CUSTOM` in order to set the `CheckpointingEnabled`, `CheckpointInterval`, or `MinPauseBetweenCheckpoints` parameters.
     */
    @JvmName("eyrlfsdoagtopsin")
    public suspend fun configurationType(`value`: Output) {
        this.configurationType = value
    }

    /**
     * @param value Describes the minimum time in milliseconds after a checkpoint operation completes that a new checkpoint operation can start. If a checkpoint operation takes longer than the CheckpointInterval, the application otherwise performs continual checkpoint operations. For more information, see Tuning Checkpointing in the Apache Flink Documentation.
     */
    @JvmName("vfagrdjxnesenctc")
    public suspend fun minPauseBetweenCheckpoints(`value`: Output) {
        this.minPauseBetweenCheckpoints = value
    }

    /**
     * @param value Describes the interval in milliseconds between checkpoint operations.
     */
    @JvmName("hthlkoasfdxavjfi")
    public suspend fun checkpointInterval(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.checkpointInterval = mapped
    }

    /**
     * @param value Describes whether checkpointing is enabled for a Flink-based Kinesis Data Analytics application.
     */
    @JvmName("hsbrowpadtgfmrrh")
    public suspend fun checkpointingEnabled(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.checkpointingEnabled = mapped
    }

    /**
     * @param value Describes whether the application uses Kinesis Data Analytics' default checkpointing behavior. You must set this property to `CUSTOM` in order to set the `CheckpointingEnabled`, `CheckpointInterval`, or `MinPauseBetweenCheckpoints` parameters.
     */
    @JvmName("ltgtgntgixoovhsm")
    public suspend fun configurationType(`value`: ApplicationCheckpointConfigurationConfigurationType) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.configurationType = mapped
    }

    /**
     * @param value Describes the minimum time in milliseconds after a checkpoint operation completes that a new checkpoint operation can start. If a checkpoint operation takes longer than the CheckpointInterval, the application otherwise performs continual checkpoint operations. For more information, see Tuning Checkpointing in the Apache Flink Documentation.
     */
    @JvmName("tiielbauvpktdhax")
    public suspend fun minPauseBetweenCheckpoints(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.minPauseBetweenCheckpoints = mapped
    }

    internal fun build(): ApplicationCheckpointConfigurationArgs =
        ApplicationCheckpointConfigurationArgs(
            checkpointInterval = checkpointInterval,
            checkpointingEnabled = checkpointingEnabled,
            configurationType = configurationType ?: throw PulumiNullFieldException("configurationType"),
            minPauseBetweenCheckpoints = minPauseBetweenCheckpoints,
        )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy