/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace KinesisAnalyticsV2 { namespace Model { /** *

Describes checkpointing parameters for a Flink-based Kinesis Data Analytics * application.

See Also:

AWS * API Reference

*/ class CheckpointConfigurationDescription { public: AWS_KINESISANALYTICSV2_API CheckpointConfigurationDescription(); AWS_KINESISANALYTICSV2_API CheckpointConfigurationDescription(Aws::Utils::Json::JsonView jsonValue); AWS_KINESISANALYTICSV2_API CheckpointConfigurationDescription& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_KINESISANALYTICSV2_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

Describes whether the application uses the default checkpointing behavior in * Kinesis Data Analytics.

If this value is set to * DEFAULT, the application will use the following values, even if * they are set to other values using APIs or application code:

  • * CheckpointingEnabled: true

  • CheckpointInterval: * 60000

  • MinPauseBetweenCheckpoints: 5000

* */ inline const ConfigurationType& GetConfigurationType() const{ return m_configurationType; } /** *

Describes whether the application uses the default checkpointing behavior in * Kinesis Data Analytics.

If this value is set to * DEFAULT, the application will use the following values, even if * they are set to other values using APIs or application code:

  • * CheckpointingEnabled: true

  • CheckpointInterval: * 60000

  • MinPauseBetweenCheckpoints: 5000

* */ inline bool ConfigurationTypeHasBeenSet() const { return m_configurationTypeHasBeenSet; } /** *

Describes whether the application uses the default checkpointing behavior in * Kinesis Data Analytics.

If this value is set to * DEFAULT, the application will use the following values, even if * they are set to other values using APIs or application code:

  • * CheckpointingEnabled: true

  • CheckpointInterval: * 60000

  • MinPauseBetweenCheckpoints: 5000

* */ inline void SetConfigurationType(const ConfigurationType& value) { m_configurationTypeHasBeenSet = true; m_configurationType = value; } /** *

Describes whether the application uses the default checkpointing behavior in * Kinesis Data Analytics.

If this value is set to * DEFAULT, the application will use the following values, even if * they are set to other values using APIs or application code:

  • * CheckpointingEnabled: true

  • CheckpointInterval: * 60000

  • MinPauseBetweenCheckpoints: 5000

* */ inline void SetConfigurationType(ConfigurationType&& value) { m_configurationTypeHasBeenSet = true; m_configurationType = std::move(value); } /** *

Describes whether the application uses the default checkpointing behavior in * Kinesis Data Analytics.

If this value is set to * DEFAULT, the application will use the following values, even if * they are set to other values using APIs or application code:

  • * CheckpointingEnabled: true

  • CheckpointInterval: * 60000

  • MinPauseBetweenCheckpoints: 5000

* */ inline CheckpointConfigurationDescription& WithConfigurationType(const ConfigurationType& value) { SetConfigurationType(value); return *this;} /** *

Describes whether the application uses the default checkpointing behavior in * Kinesis Data Analytics.

If this value is set to * DEFAULT, the application will use the following values, even if * they are set to other values using APIs or application code:

  • * CheckpointingEnabled: true

  • CheckpointInterval: * 60000

  • MinPauseBetweenCheckpoints: 5000

* */ inline CheckpointConfigurationDescription& WithConfigurationType(ConfigurationType&& value) { SetConfigurationType(std::move(value)); return *this;} /** *

Describes whether checkpointing is enabled for a Flink-based Kinesis Data * Analytics application.

If * CheckpointConfiguration.ConfigurationType is DEFAULT, * the application will use a CheckpointingEnabled value of * true, even if this value is set to another value using this API or * in application code.

*/ inline bool GetCheckpointingEnabled() const{ return m_checkpointingEnabled; } /** *

Describes whether checkpointing is enabled for a Flink-based Kinesis Data * Analytics application.

If * CheckpointConfiguration.ConfigurationType is DEFAULT, * the application will use a CheckpointingEnabled value of * true, even if this value is set to another value using this API or * in application code.

*/ inline bool CheckpointingEnabledHasBeenSet() const { return m_checkpointingEnabledHasBeenSet; } /** *

Describes whether checkpointing is enabled for a Flink-based Kinesis Data * Analytics application.

If * CheckpointConfiguration.ConfigurationType is DEFAULT, * the application will use a CheckpointingEnabled value of * true, even if this value is set to another value using this API or * in application code.

*/ inline void SetCheckpointingEnabled(bool value) { m_checkpointingEnabledHasBeenSet = true; m_checkpointingEnabled = value; } /** *

Describes whether checkpointing is enabled for a Flink-based Kinesis Data * Analytics application.

If * CheckpointConfiguration.ConfigurationType is DEFAULT, * the application will use a CheckpointingEnabled value of * true, even if this value is set to another value using this API or * in application code.

*/ inline CheckpointConfigurationDescription& WithCheckpointingEnabled(bool value) { SetCheckpointingEnabled(value); return *this;} /** *

Describes the interval in milliseconds between checkpoint operations.

*

If CheckpointConfiguration.ConfigurationType is * DEFAULT, the application will use a CheckpointInterval * value of 60000, even if this value is set to another value using this API or in * application code.

*/ inline long long GetCheckpointInterval() const{ return m_checkpointInterval; } /** *

Describes the interval in milliseconds between checkpoint operations.

*

If CheckpointConfiguration.ConfigurationType is * DEFAULT, the application will use a CheckpointInterval * value of 60000, even if this value is set to another value using this API or in * application code.

*/ inline bool CheckpointIntervalHasBeenSet() const { return m_checkpointIntervalHasBeenSet; } /** *

Describes the interval in milliseconds between checkpoint operations.

*

If CheckpointConfiguration.ConfigurationType is * DEFAULT, the application will use a CheckpointInterval * value of 60000, even if this value is set to another value using this API or in * application code.

*/ inline void SetCheckpointInterval(long long value) { m_checkpointIntervalHasBeenSet = true; m_checkpointInterval = value; } /** *

Describes the interval in milliseconds between checkpoint operations.

*

If CheckpointConfiguration.ConfigurationType is * DEFAULT, the application will use a CheckpointInterval * value of 60000, even if this value is set to another value using this API or in * application code.

*/ inline CheckpointConfigurationDescription& WithCheckpointInterval(long long value) { SetCheckpointInterval(value); return *this;} /** *

Describes the minimum time in milliseconds after a checkpoint operation * completes that a new checkpoint operation can start.

If * CheckpointConfiguration.ConfigurationType is DEFAULT, * the application will use a MinPauseBetweenCheckpoints value of * 5000, even if this value is set using this API or in application code.

* */ inline long long GetMinPauseBetweenCheckpoints() const{ return m_minPauseBetweenCheckpoints; } /** *

Describes the minimum time in milliseconds after a checkpoint operation * completes that a new checkpoint operation can start.

If * CheckpointConfiguration.ConfigurationType is DEFAULT, * the application will use a MinPauseBetweenCheckpoints value of * 5000, even if this value is set using this API or in application code.

* */ inline bool MinPauseBetweenCheckpointsHasBeenSet() const { return m_minPauseBetweenCheckpointsHasBeenSet; } /** *

Describes the minimum time in milliseconds after a checkpoint operation * completes that a new checkpoint operation can start.

If * CheckpointConfiguration.ConfigurationType is DEFAULT, * the application will use a MinPauseBetweenCheckpoints value of * 5000, even if this value is set using this API or in application code.

* */ inline void SetMinPauseBetweenCheckpoints(long long value) { m_minPauseBetweenCheckpointsHasBeenSet = true; m_minPauseBetweenCheckpoints = value; } /** *

Describes the minimum time in milliseconds after a checkpoint operation * completes that a new checkpoint operation can start.

If * CheckpointConfiguration.ConfigurationType is DEFAULT, * the application will use a MinPauseBetweenCheckpoints value of * 5000, even if this value is set using this API or in application code.

* */ inline CheckpointConfigurationDescription& WithMinPauseBetweenCheckpoints(long long value) { SetMinPauseBetweenCheckpoints(value); return *this;} private: ConfigurationType m_configurationType; bool m_configurationTypeHasBeenSet = false; bool m_checkpointingEnabled; bool m_checkpointingEnabledHasBeenSet = false; long long m_checkpointInterval; bool m_checkpointIntervalHasBeenSet = false; long long m_minPauseBetweenCheckpoints; bool m_minPauseBetweenCheckpointsHasBeenSet = false; }; } // namespace Model } // namespace KinesisAnalyticsV2 } // namespace Aws