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

Information about the auto scaling parameters for the * connector.

See Also:

AWS * API Reference

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

The maximum number of workers allocated to the connector.

*/ inline int GetMaxWorkerCount() const{ return m_maxWorkerCount; } /** *

The maximum number of workers allocated to the connector.

*/ inline bool MaxWorkerCountHasBeenSet() const { return m_maxWorkerCountHasBeenSet; } /** *

The maximum number of workers allocated to the connector.

*/ inline void SetMaxWorkerCount(int value) { m_maxWorkerCountHasBeenSet = true; m_maxWorkerCount = value; } /** *

The maximum number of workers allocated to the connector.

*/ inline AutoScalingDescription& WithMaxWorkerCount(int value) { SetMaxWorkerCount(value); return *this;} /** *

The number of microcontroller units (MCUs) allocated to each connector * worker. The valid values are 1,2,4,8.

*/ inline int GetMcuCount() const{ return m_mcuCount; } /** *

The number of microcontroller units (MCUs) allocated to each connector * worker. The valid values are 1,2,4,8.

*/ inline bool McuCountHasBeenSet() const { return m_mcuCountHasBeenSet; } /** *

The number of microcontroller units (MCUs) allocated to each connector * worker. The valid values are 1,2,4,8.

*/ inline void SetMcuCount(int value) { m_mcuCountHasBeenSet = true; m_mcuCount = value; } /** *

The number of microcontroller units (MCUs) allocated to each connector * worker. The valid values are 1,2,4,8.

*/ inline AutoScalingDescription& WithMcuCount(int value) { SetMcuCount(value); return *this;} /** *

The minimum number of workers allocated to the connector.

*/ inline int GetMinWorkerCount() const{ return m_minWorkerCount; } /** *

The minimum number of workers allocated to the connector.

*/ inline bool MinWorkerCountHasBeenSet() const { return m_minWorkerCountHasBeenSet; } /** *

The minimum number of workers allocated to the connector.

*/ inline void SetMinWorkerCount(int value) { m_minWorkerCountHasBeenSet = true; m_minWorkerCount = value; } /** *

The minimum number of workers allocated to the connector.

*/ inline AutoScalingDescription& WithMinWorkerCount(int value) { SetMinWorkerCount(value); return *this;} /** *

The sacle-in policy for the connector.

*/ inline const ScaleInPolicyDescription& GetScaleInPolicy() const{ return m_scaleInPolicy; } /** *

The sacle-in policy for the connector.

*/ inline bool ScaleInPolicyHasBeenSet() const { return m_scaleInPolicyHasBeenSet; } /** *

The sacle-in policy for the connector.

*/ inline void SetScaleInPolicy(const ScaleInPolicyDescription& value) { m_scaleInPolicyHasBeenSet = true; m_scaleInPolicy = value; } /** *

The sacle-in policy for the connector.

*/ inline void SetScaleInPolicy(ScaleInPolicyDescription&& value) { m_scaleInPolicyHasBeenSet = true; m_scaleInPolicy = std::move(value); } /** *

The sacle-in policy for the connector.

*/ inline AutoScalingDescription& WithScaleInPolicy(const ScaleInPolicyDescription& value) { SetScaleInPolicy(value); return *this;} /** *

The sacle-in policy for the connector.

*/ inline AutoScalingDescription& WithScaleInPolicy(ScaleInPolicyDescription&& value) { SetScaleInPolicy(std::move(value)); return *this;} /** *

The sacle-out policy for the connector.>

*/ inline const ScaleOutPolicyDescription& GetScaleOutPolicy() const{ return m_scaleOutPolicy; } /** *

The sacle-out policy for the connector.>

*/ inline bool ScaleOutPolicyHasBeenSet() const { return m_scaleOutPolicyHasBeenSet; } /** *

The sacle-out policy for the connector.>

*/ inline void SetScaleOutPolicy(const ScaleOutPolicyDescription& value) { m_scaleOutPolicyHasBeenSet = true; m_scaleOutPolicy = value; } /** *

The sacle-out policy for the connector.>

*/ inline void SetScaleOutPolicy(ScaleOutPolicyDescription&& value) { m_scaleOutPolicyHasBeenSet = true; m_scaleOutPolicy = std::move(value); } /** *

The sacle-out policy for the connector.>

*/ inline AutoScalingDescription& WithScaleOutPolicy(const ScaleOutPolicyDescription& value) { SetScaleOutPolicy(value); return *this;} /** *

The sacle-out policy for the connector.>

*/ inline AutoScalingDescription& WithScaleOutPolicy(ScaleOutPolicyDescription&& value) { SetScaleOutPolicy(std::move(value)); return *this;} private: int m_maxWorkerCount; bool m_maxWorkerCountHasBeenSet = false; int m_mcuCount; bool m_mcuCountHasBeenSet = false; int m_minWorkerCount; bool m_minWorkerCountHasBeenSet = false; ScaleInPolicyDescription m_scaleInPolicy; bool m_scaleInPolicyHasBeenSet = false; ScaleOutPolicyDescription m_scaleOutPolicy; bool m_scaleOutPolicyHasBeenSet = false; }; } // namespace Model } // namespace KafkaConnect } // namespace Aws