/** * 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 updates to the checkpointing parameters for a Flink-based Kinesis * Data Analytics application.

See Also:

AWS * API Reference

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

Describes updates to whether the application uses the default checkpointing * behavior of Kinesis Data Analytics. You must set this property to * CUSTOM in order to set the CheckpointingEnabled, * CheckpointInterval, or MinPauseBetweenCheckpoints * parameters.

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& GetConfigurationTypeUpdate() const{ return m_configurationTypeUpdate; } /** *

Describes updates to whether the application uses the default checkpointing * behavior of Kinesis Data Analytics. You must set this property to * CUSTOM in order to set the CheckpointingEnabled, * CheckpointInterval, or MinPauseBetweenCheckpoints * parameters.

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 ConfigurationTypeUpdateHasBeenSet() const { return m_configurationTypeUpdateHasBeenSet; } /** *

Describes updates to whether the application uses the default checkpointing * behavior of Kinesis Data Analytics. You must set this property to * CUSTOM in order to set the CheckpointingEnabled, * CheckpointInterval, or MinPauseBetweenCheckpoints * parameters.

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 SetConfigurationTypeUpdate(const ConfigurationType& value) { m_configurationTypeUpdateHasBeenSet = true; m_configurationTypeUpdate = value; } /** *

Describes updates to whether the application uses the default checkpointing * behavior of Kinesis Data Analytics. You must set this property to * CUSTOM in order to set the CheckpointingEnabled, * CheckpointInterval, or MinPauseBetweenCheckpoints * parameters.

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 SetConfigurationTypeUpdate(ConfigurationType&& value) { m_configurationTypeUpdateHasBeenSet = true; m_configurationTypeUpdate = std::move(value); } /** *

Describes updates to whether the application uses the default checkpointing * behavior of Kinesis Data Analytics. You must set this property to * CUSTOM in order to set the CheckpointingEnabled, * CheckpointInterval, or MinPauseBetweenCheckpoints * parameters.

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 CheckpointConfigurationUpdate& WithConfigurationTypeUpdate(const ConfigurationType& value) { SetConfigurationTypeUpdate(value); return *this;} /** *

Describes updates to whether the application uses the default checkpointing * behavior of Kinesis Data Analytics. You must set this property to * CUSTOM in order to set the CheckpointingEnabled, * CheckpointInterval, or MinPauseBetweenCheckpoints * parameters.

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 CheckpointConfigurationUpdate& WithConfigurationTypeUpdate(ConfigurationType&& value) { SetConfigurationTypeUpdate(std::move(value)); return *this;} /** *

Describes updates to whether checkpointing is enabled for an 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 GetCheckpointingEnabledUpdate() const{ return m_checkpointingEnabledUpdate; } /** *

Describes updates to whether checkpointing is enabled for an 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 CheckpointingEnabledUpdateHasBeenSet() const { return m_checkpointingEnabledUpdateHasBeenSet; } /** *

Describes updates to whether checkpointing is enabled for an 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 SetCheckpointingEnabledUpdate(bool value) { m_checkpointingEnabledUpdateHasBeenSet = true; m_checkpointingEnabledUpdate = value; } /** *

Describes updates to whether checkpointing is enabled for an 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 CheckpointConfigurationUpdate& WithCheckpointingEnabledUpdate(bool value) { SetCheckpointingEnabledUpdate(value); return *this;} /** *

Describes updates to 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 GetCheckpointIntervalUpdate() const{ return m_checkpointIntervalUpdate; } /** *

Describes updates to 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 CheckpointIntervalUpdateHasBeenSet() const { return m_checkpointIntervalUpdateHasBeenSet; } /** *

Describes updates to 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 SetCheckpointIntervalUpdate(long long value) { m_checkpointIntervalUpdateHasBeenSet = true; m_checkpointIntervalUpdate = value; } /** *

Describes updates to 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 CheckpointConfigurationUpdate& WithCheckpointIntervalUpdate(long long value) { SetCheckpointIntervalUpdate(value); return *this;} /** *

Describes updates to 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 GetMinPauseBetweenCheckpointsUpdate() const{ return m_minPauseBetweenCheckpointsUpdate; } /** *

Describes updates to 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 MinPauseBetweenCheckpointsUpdateHasBeenSet() const { return m_minPauseBetweenCheckpointsUpdateHasBeenSet; } /** *

Describes updates to 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 SetMinPauseBetweenCheckpointsUpdate(long long value) { m_minPauseBetweenCheckpointsUpdateHasBeenSet = true; m_minPauseBetweenCheckpointsUpdate = value; } /** *

Describes updates to 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 CheckpointConfigurationUpdate& WithMinPauseBetweenCheckpointsUpdate(long long value) { SetMinPauseBetweenCheckpointsUpdate(value); return *this;} private: ConfigurationType m_configurationTypeUpdate; bool m_configurationTypeUpdateHasBeenSet = false; bool m_checkpointingEnabledUpdate; bool m_checkpointingEnabledUpdateHasBeenSet = false; long long m_checkpointIntervalUpdate; bool m_checkpointIntervalUpdateHasBeenSet = false; long long m_minPauseBetweenCheckpointsUpdate; bool m_minPauseBetweenCheckpointsUpdateHasBeenSet = false; }; } // namespace Model } // namespace KinesisAnalyticsV2 } // namespace Aws