/** * 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 { /** *

Specifies how the connector scales.

See Also:

AWS * API Reference

*/ class AutoScaling { public: AWS_KAFKACONNECT_API AutoScaling(); AWS_KAFKACONNECT_API AutoScaling(Aws::Utils::Json::JsonView jsonValue); AWS_KAFKACONNECT_API AutoScaling& 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 AutoScaling& 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 AutoScaling& 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 AutoScaling& WithMinWorkerCount(int value) { SetMinWorkerCount(value); return *this;} /** *

The sacle-in policy for the connector.

*/ inline const ScaleInPolicy& 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 ScaleInPolicy& value) { m_scaleInPolicyHasBeenSet = true; m_scaleInPolicy = value; } /** *

The sacle-in policy for the connector.

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

The sacle-in policy for the connector.

*/ inline AutoScaling& WithScaleInPolicy(const ScaleInPolicy& value) { SetScaleInPolicy(value); return *this;} /** *

The sacle-in policy for the connector.

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

The sacle-out policy for the connector.

*/ inline const ScaleOutPolicy& 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 ScaleOutPolicy& value) { m_scaleOutPolicyHasBeenSet = true; m_scaleOutPolicy = value; } /** *

The sacle-out policy for the connector.

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

The sacle-out policy for the connector.

*/ inline AutoScaling& WithScaleOutPolicy(const ScaleOutPolicy& value) { SetScaleOutPolicy(value); return *this;} /** *

The sacle-out policy for the connector.

*/ inline AutoScaling& WithScaleOutPolicy(ScaleOutPolicy&& 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; ScaleInPolicy m_scaleInPolicy; bool m_scaleInPolicyHasBeenSet = false; ScaleOutPolicy m_scaleOutPolicy; bool m_scaleOutPolicyHasBeenSet = false; }; } // namespace Model } // namespace KafkaConnect } // namespace Aws