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

com.pulumi.awsnative.kinesisanalyticsv2.kotlin.inputs.ApplicationFlinkApplicationConfigurationArgs.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: 0.122.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

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

import com.pulumi.awsnative.kinesisanalyticsv2.inputs.ApplicationFlinkApplicationConfigurationArgs.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

/**
 * Describes configuration parameters for a Flink-based Kinesis Data Analytics application or a Studio notebook.
 * @property checkpointConfiguration 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 monitoringConfiguration Describes configuration parameters for Amazon CloudWatch logging for an application.
 * @property parallelismConfiguration Describes parameters for how an application executes multiple tasks simultaneously.
 */
public data class ApplicationFlinkApplicationConfigurationArgs(
    public val checkpointConfiguration: Output? = null,
    public val monitoringConfiguration: Output? = null,
    public val parallelismConfiguration: Output? = null,
) :
    ConvertibleToJava {
    override fun toJava(): com.pulumi.awsnative.kinesisanalyticsv2.inputs.ApplicationFlinkApplicationConfigurationArgs =
        com.pulumi.awsnative.kinesisanalyticsv2.inputs.ApplicationFlinkApplicationConfigurationArgs.builder()
            .checkpointConfiguration(
                checkpointConfiguration?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            )
            .monitoringConfiguration(
                monitoringConfiguration?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            )
            .parallelismConfiguration(
                parallelismConfiguration?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            ).build()
}

/**
 * Builder for [ApplicationFlinkApplicationConfigurationArgs].
 */
@PulumiTagMarker
public class ApplicationFlinkApplicationConfigurationArgsBuilder internal constructor() {
    private var checkpointConfiguration: Output? = null

    private var monitoringConfiguration: Output? = null

    private var parallelismConfiguration: Output? = null

    /**
     * @param value 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.
     */
    @JvmName("seqgduymnvhnktmg")
    public suspend fun checkpointConfiguration(`value`: Output) {
        this.checkpointConfiguration = value
    }

    /**
     * @param value Describes configuration parameters for Amazon CloudWatch logging for an application.
     */
    @JvmName("dluxllsyruskajjt")
    public suspend fun monitoringConfiguration(`value`: Output) {
        this.monitoringConfiguration = value
    }

    /**
     * @param value Describes parameters for how an application executes multiple tasks simultaneously.
     */
    @JvmName("ifeibelxvsgypkdi")
    public suspend fun parallelismConfiguration(`value`: Output) {
        this.parallelismConfiguration = value
    }

    /**
     * @param value 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.
     */
    @JvmName("shnwukgusgcsnxlk")
    public suspend fun checkpointConfiguration(`value`: ApplicationCheckpointConfigurationArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.checkpointConfiguration = mapped
    }

    /**
     * @param argument 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.
     */
    @JvmName("yvhvyisorfefjrdx")
    public suspend fun checkpointConfiguration(argument: suspend ApplicationCheckpointConfigurationArgsBuilder.() -> Unit) {
        val toBeMapped = ApplicationCheckpointConfigurationArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.checkpointConfiguration = mapped
    }

    /**
     * @param value Describes configuration parameters for Amazon CloudWatch logging for an application.
     */
    @JvmName("vabyjwuecdtllrkr")
    public suspend fun monitoringConfiguration(`value`: ApplicationMonitoringConfigurationArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.monitoringConfiguration = mapped
    }

    /**
     * @param argument Describes configuration parameters for Amazon CloudWatch logging for an application.
     */
    @JvmName("gnvwqqrngdkiwucg")
    public suspend fun monitoringConfiguration(argument: suspend ApplicationMonitoringConfigurationArgsBuilder.() -> Unit) {
        val toBeMapped = ApplicationMonitoringConfigurationArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.monitoringConfiguration = mapped
    }

    /**
     * @param value Describes parameters for how an application executes multiple tasks simultaneously.
     */
    @JvmName("wisupificdtgoxst")
    public suspend fun parallelismConfiguration(`value`: ApplicationParallelismConfigurationArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.parallelismConfiguration = mapped
    }

    /**
     * @param argument Describes parameters for how an application executes multiple tasks simultaneously.
     */
    @JvmName("regyebujimdewiup")
    public suspend fun parallelismConfiguration(argument: suspend ApplicationParallelismConfigurationArgsBuilder.() -> Unit) {
        val toBeMapped = ApplicationParallelismConfigurationArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.parallelismConfiguration = mapped
    }

    internal fun build(): ApplicationFlinkApplicationConfigurationArgs =
        ApplicationFlinkApplicationConfigurationArgs(
            checkpointConfiguration = checkpointConfiguration,
            monitoringConfiguration = monitoringConfiguration,
            parallelismConfiguration = parallelismConfiguration,
        )
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy