AWS SDK for C++

AWS SDK for C++ Version 1.11.718

Loading...
Searching...
No Matches
ScalingConfigurationInput.h
1
6#pragma once
7#include <aws/codebuild/CodeBuild_EXPORTS.h>
8#include <aws/codebuild/model/FleetScalingType.h>
9#include <aws/codebuild/model/TargetTrackingScalingConfiguration.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11
12#include <utility>
13
14namespace Aws {
15namespace Utils {
16namespace Json {
17class JsonValue;
18class JsonView;
19} // namespace Json
20} // namespace Utils
21namespace CodeBuild {
22namespace Model {
23
31 public:
32 AWS_CODEBUILD_API ScalingConfigurationInput() = default;
35 AWS_CODEBUILD_API Aws::Utils::Json::JsonValue Jsonize() const;
36
38
41 inline FleetScalingType GetScalingType() const { return m_scalingType; }
42 inline bool ScalingTypeHasBeenSet() const { return m_scalingTypeHasBeenSet; }
43 inline void SetScalingType(FleetScalingType value) {
44 m_scalingTypeHasBeenSet = true;
45 m_scalingType = value;
46 }
48 SetScalingType(value);
49 return *this;
50 }
52
54
58 return m_targetTrackingScalingConfigs;
59 }
60 inline bool TargetTrackingScalingConfigsHasBeenSet() const { return m_targetTrackingScalingConfigsHasBeenSet; }
61 template <typename TargetTrackingScalingConfigsT = Aws::Vector<TargetTrackingScalingConfiguration>>
62 void SetTargetTrackingScalingConfigs(TargetTrackingScalingConfigsT&& value) {
63 m_targetTrackingScalingConfigsHasBeenSet = true;
64 m_targetTrackingScalingConfigs = std::forward<TargetTrackingScalingConfigsT>(value);
65 }
66 template <typename TargetTrackingScalingConfigsT = Aws::Vector<TargetTrackingScalingConfiguration>>
67 ScalingConfigurationInput& WithTargetTrackingScalingConfigs(TargetTrackingScalingConfigsT&& value) {
68 SetTargetTrackingScalingConfigs(std::forward<TargetTrackingScalingConfigsT>(value));
69 return *this;
70 }
71 template <typename TargetTrackingScalingConfigsT = TargetTrackingScalingConfiguration>
72 ScalingConfigurationInput& AddTargetTrackingScalingConfigs(TargetTrackingScalingConfigsT&& value) {
73 m_targetTrackingScalingConfigsHasBeenSet = true;
74 m_targetTrackingScalingConfigs.emplace_back(std::forward<TargetTrackingScalingConfigsT>(value));
75 return *this;
76 }
78
80
83 inline int GetMaxCapacity() const { return m_maxCapacity; }
84 inline bool MaxCapacityHasBeenSet() const { return m_maxCapacityHasBeenSet; }
85 inline void SetMaxCapacity(int value) {
86 m_maxCapacityHasBeenSet = true;
87 m_maxCapacity = value;
88 }
90 SetMaxCapacity(value);
91 return *this;
92 }
94 private:
96
97 Aws::Vector<TargetTrackingScalingConfiguration> m_targetTrackingScalingConfigs;
98
99 int m_maxCapacity{0};
100 bool m_scalingTypeHasBeenSet = false;
101 bool m_targetTrackingScalingConfigsHasBeenSet = false;
102 bool m_maxCapacityHasBeenSet = false;
103};
104
105} // namespace Model
106} // namespace CodeBuild
107} // namespace Aws
ScalingConfigurationInput & WithMaxCapacity(int value)
ScalingConfigurationInput & WithTargetTrackingScalingConfigs(TargetTrackingScalingConfigsT &&value)
const Aws::Vector< TargetTrackingScalingConfiguration > & GetTargetTrackingScalingConfigs() const
ScalingConfigurationInput & AddTargetTrackingScalingConfigs(TargetTrackingScalingConfigsT &&value)
AWS_CODEBUILD_API ScalingConfigurationInput(Aws::Utils::Json::JsonView jsonValue)
void SetTargetTrackingScalingConfigs(TargetTrackingScalingConfigsT &&value)
AWS_CODEBUILD_API ScalingConfigurationInput()=default
AWS_CODEBUILD_API ScalingConfigurationInput & operator=(Aws::Utils::Json::JsonView jsonValue)
AWS_CODEBUILD_API Aws::Utils::Json::JsonValue Jsonize() const
ScalingConfigurationInput & WithScalingType(FleetScalingType value)
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue