/** * 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 Java-based Amazon 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 AWS_KINESISANALYTICSV2_API ParallelismConfiguration { public: ParallelismConfiguration(); ParallelismConfiguration(Aws::Utils::Json::JsonView jsonValue); ParallelismConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue); 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 Java-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 Java-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 Java-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 Java-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 Java-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 Java-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 Java-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 Java-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; int m_parallelism; bool m_parallelismHasBeenSet; int m_parallelismPerKPU; bool m_parallelismPerKPUHasBeenSet; bool m_autoScalingEnabled; bool m_autoScalingEnabledHasBeenSet; }; } // namespace Model } // namespace KinesisAnalyticsV2 } // namespace Aws