/** * 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 parameters for how a Flink-based Kinesis Data Analytics application * executes multiple tasks simultaneously. For more information about parallelism, * see Parallel * Execution in the Apache Flink * Documentation.

See Also:

AWS * API Reference

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

Describes whether the application uses the default parallelism for the * Kinesis Data Analytics service. You must set this property to * CUSTOM in order to change your application's * AutoScalingEnabled, Parallelism, or * ParallelismPerKPU properties.

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

Describes whether the application uses the default parallelism for the * Kinesis Data Analytics service. You must set this property to * CUSTOM in order to change your application's * AutoScalingEnabled, Parallelism, or * ParallelismPerKPU properties.

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

Describes whether the application uses the default parallelism for the * Kinesis Data Analytics service. You must set this property to * CUSTOM in order to change your application's * AutoScalingEnabled, Parallelism, or * ParallelismPerKPU properties.

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

Describes whether the application uses the default parallelism for the * Kinesis Data Analytics service. You must set this property to * CUSTOM in order to change your application's * AutoScalingEnabled, Parallelism, or * ParallelismPerKPU properties.

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

Describes whether the application uses the default parallelism for the * Kinesis Data Analytics service. You must set this property to * CUSTOM in order to change your application's * AutoScalingEnabled, Parallelism, or * ParallelismPerKPU properties.

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

Describes whether the application uses the default parallelism for the * Kinesis Data Analytics service. You must set this property to * CUSTOM in order to change your application's * AutoScalingEnabled, Parallelism, or * ParallelismPerKPU properties.

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

Describes the initial number of parallel tasks that a Flink-based Kinesis * Data Analytics application can perform. If AutoScalingEnabled is * set to True, Kinesis Data Analytics increases the * CurrentParallelism value in response to application load. The * service can increase the CurrentParallelism value up to the maximum * parallelism, which is ParalellismPerKPU times the maximum KPUs for * the application. The maximum KPUs for an application is 32 by default, and can * be increased by requesting a limit increase. If application load is reduced, the * service can reduce the CurrentParallelism value down to the * Parallelism setting.

*/ inline int GetParallelism() const{ return m_parallelism; } /** *

Describes the initial number of parallel tasks that a Flink-based Kinesis * Data Analytics application can perform. If AutoScalingEnabled is * set to True, Kinesis Data Analytics increases the * CurrentParallelism value in response to application load. The * service can increase the CurrentParallelism value up to the maximum * parallelism, which is ParalellismPerKPU times the maximum KPUs for * the application. The maximum KPUs for an application is 32 by default, and can * be increased by requesting a limit increase. If application load is reduced, the * service can reduce the CurrentParallelism value down to the * Parallelism setting.

*/ inline bool ParallelismHasBeenSet() const { return m_parallelismHasBeenSet; } /** *

Describes the initial number of parallel tasks that a Flink-based Kinesis * Data Analytics application can perform. If AutoScalingEnabled is * set to True, Kinesis Data Analytics increases the * CurrentParallelism value in response to application load. The * service can increase the CurrentParallelism value up to the maximum * parallelism, which is ParalellismPerKPU times the maximum KPUs for * the application. The maximum KPUs for an application is 32 by default, and can * be increased by requesting a limit increase. If application load is reduced, the * service can reduce the CurrentParallelism value down to the * Parallelism setting.

*/ inline void SetParallelism(int value) { m_parallelismHasBeenSet = true; m_parallelism = value; } /** *

Describes the initial number of parallel tasks that a Flink-based Kinesis * Data Analytics application can perform. If AutoScalingEnabled is * set to True, Kinesis Data Analytics increases the * CurrentParallelism value in response to application load. The * service can increase the CurrentParallelism value up to the maximum * parallelism, which is ParalellismPerKPU times the maximum KPUs for * the application. The maximum KPUs for an application is 32 by default, and can * be increased by requesting a limit increase. If application load is reduced, the * service can reduce the CurrentParallelism value down to the * Parallelism setting.

*/ inline ParallelismConfiguration& WithParallelism(int value) { SetParallelism(value); return *this;} /** *

Describes the number of parallel tasks that a Flink-based Kinesis Data * Analytics application can perform per Kinesis Processing Unit (KPU) used by the * application. For more information about KPUs, see Amazon Kinesis Data * Analytics Pricing.

*/ inline int GetParallelismPerKPU() const{ return m_parallelismPerKPU; } /** *

Describes the number of parallel tasks that a Flink-based Kinesis Data * Analytics application can perform per Kinesis Processing Unit (KPU) used by the * application. For more information about KPUs, see Amazon Kinesis Data * Analytics Pricing.

*/ inline bool ParallelismPerKPUHasBeenSet() const { return m_parallelismPerKPUHasBeenSet; } /** *

Describes the number of parallel tasks that a Flink-based Kinesis Data * Analytics application can perform per Kinesis Processing Unit (KPU) used by the * application. For more information about KPUs, see Amazon Kinesis Data * Analytics Pricing.

*/ inline void SetParallelismPerKPU(int value) { m_parallelismPerKPUHasBeenSet = true; m_parallelismPerKPU = value; } /** *

Describes the number of parallel tasks that a Flink-based Kinesis Data * Analytics application can perform per Kinesis Processing Unit (KPU) used by the * application. For more information about KPUs, see Amazon Kinesis Data * Analytics Pricing.

*/ inline ParallelismConfiguration& WithParallelismPerKPU(int value) { SetParallelismPerKPU(value); return *this;} /** *

Describes whether the Kinesis Data Analytics service can increase the * parallelism of the application in response to increased throughput.

*/ inline bool GetAutoScalingEnabled() const{ return m_autoScalingEnabled; } /** *

Describes whether the Kinesis Data Analytics service can increase the * parallelism of the application in response to increased throughput.

*/ inline bool AutoScalingEnabledHasBeenSet() const { return m_autoScalingEnabledHasBeenSet; } /** *

Describes whether the Kinesis Data Analytics service can increase the * parallelism of the application in response to increased throughput.

*/ inline void SetAutoScalingEnabled(bool value) { m_autoScalingEnabledHasBeenSet = true; m_autoScalingEnabled = value; } /** *

Describes whether the Kinesis Data Analytics service can increase the * parallelism of the application in response to increased throughput.

*/ inline ParallelismConfiguration& WithAutoScalingEnabled(bool value) { SetAutoScalingEnabled(value); return *this;} private: ConfigurationType m_configurationType; bool m_configurationTypeHasBeenSet = false; int m_parallelism; bool m_parallelismHasBeenSet = false; int m_parallelismPerKPU; bool m_parallelismPerKPUHasBeenSet = false; bool m_autoScalingEnabled; bool m_autoScalingEnabledHasBeenSet = false; }; } // namespace Model } // namespace KinesisAnalyticsV2 } // namespace Aws