AWS SDK for C++

AWS SDK for C++ Version 1.11.440

Loading...
Searching...
No Matches
AutoScalingGroupRecommendation.h
1
6#pragma once
7#include <aws/compute-optimizer/ComputeOptimizer_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/compute-optimizer/model/Finding.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/compute-optimizer/model/AutoScalingGroupConfiguration.h>
12#include <aws/compute-optimizer/model/GpuInfo.h>
13#include <aws/core/utils/DateTime.h>
14#include <aws/compute-optimizer/model/CurrentPerformanceRisk.h>
15#include <aws/compute-optimizer/model/EffectiveRecommendationPreferences.h>
16#include <aws/compute-optimizer/model/UtilizationMetric.h>
17#include <aws/compute-optimizer/model/AutoScalingGroupRecommendationOption.h>
18#include <aws/compute-optimizer/model/InferredWorkloadType.h>
19#include <utility>
20
21namespace Aws
22{
23namespace Utils
24{
25namespace Json
26{
27 class JsonValue;
28 class JsonView;
29} // namespace Json
30} // namespace Utils
31namespace ComputeOptimizer
32{
33namespace Model
34{
35
42 {
43 public:
44 AWS_COMPUTEOPTIMIZER_API AutoScalingGroupRecommendation();
47 AWS_COMPUTEOPTIMIZER_API Aws::Utils::Json::JsonValue Jsonize() const;
48
49
51
54 inline const Aws::String& GetAccountId() const{ return m_accountId; }
55 inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; }
56 inline void SetAccountId(const Aws::String& value) { m_accountIdHasBeenSet = true; m_accountId = value; }
57 inline void SetAccountId(Aws::String&& value) { m_accountIdHasBeenSet = true; m_accountId = std::move(value); }
58 inline void SetAccountId(const char* value) { m_accountIdHasBeenSet = true; m_accountId.assign(value); }
59 inline AutoScalingGroupRecommendation& WithAccountId(const Aws::String& value) { SetAccountId(value); return *this;}
60 inline AutoScalingGroupRecommendation& WithAccountId(Aws::String&& value) { SetAccountId(std::move(value)); return *this;}
61 inline AutoScalingGroupRecommendation& WithAccountId(const char* value) { SetAccountId(value); return *this;}
63
65
68 inline const Aws::String& GetAutoScalingGroupArn() const{ return m_autoScalingGroupArn; }
69 inline bool AutoScalingGroupArnHasBeenSet() const { return m_autoScalingGroupArnHasBeenSet; }
70 inline void SetAutoScalingGroupArn(const Aws::String& value) { m_autoScalingGroupArnHasBeenSet = true; m_autoScalingGroupArn = value; }
71 inline void SetAutoScalingGroupArn(Aws::String&& value) { m_autoScalingGroupArnHasBeenSet = true; m_autoScalingGroupArn = std::move(value); }
72 inline void SetAutoScalingGroupArn(const char* value) { m_autoScalingGroupArnHasBeenSet = true; m_autoScalingGroupArn.assign(value); }
75 inline AutoScalingGroupRecommendation& WithAutoScalingGroupArn(const char* value) { SetAutoScalingGroupArn(value); return *this;}
77
79
82 inline const Aws::String& GetAutoScalingGroupName() const{ return m_autoScalingGroupName; }
83 inline bool AutoScalingGroupNameHasBeenSet() const { return m_autoScalingGroupNameHasBeenSet; }
84 inline void SetAutoScalingGroupName(const Aws::String& value) { m_autoScalingGroupNameHasBeenSet = true; m_autoScalingGroupName = value; }
85 inline void SetAutoScalingGroupName(Aws::String&& value) { m_autoScalingGroupNameHasBeenSet = true; m_autoScalingGroupName = std::move(value); }
86 inline void SetAutoScalingGroupName(const char* value) { m_autoScalingGroupNameHasBeenSet = true; m_autoScalingGroupName.assign(value); }
89 inline AutoScalingGroupRecommendation& WithAutoScalingGroupName(const char* value) { SetAutoScalingGroupName(value); return *this;}
91
93
104 inline const Finding& GetFinding() const{ return m_finding; }
105 inline bool FindingHasBeenSet() const { return m_findingHasBeenSet; }
106 inline void SetFinding(const Finding& value) { m_findingHasBeenSet = true; m_finding = value; }
107 inline void SetFinding(Finding&& value) { m_findingHasBeenSet = true; m_finding = std::move(value); }
108 inline AutoScalingGroupRecommendation& WithFinding(const Finding& value) { SetFinding(value); return *this;}
109 inline AutoScalingGroupRecommendation& WithFinding(Finding&& value) { SetFinding(std::move(value)); return *this;}
111
113
117 inline const Aws::Vector<UtilizationMetric>& GetUtilizationMetrics() const{ return m_utilizationMetrics; }
118 inline bool UtilizationMetricsHasBeenSet() const { return m_utilizationMetricsHasBeenSet; }
119 inline void SetUtilizationMetrics(const Aws::Vector<UtilizationMetric>& value) { m_utilizationMetricsHasBeenSet = true; m_utilizationMetrics = value; }
120 inline void SetUtilizationMetrics(Aws::Vector<UtilizationMetric>&& value) { m_utilizationMetricsHasBeenSet = true; m_utilizationMetrics = std::move(value); }
123 inline AutoScalingGroupRecommendation& AddUtilizationMetrics(const UtilizationMetric& value) { m_utilizationMetricsHasBeenSet = true; m_utilizationMetrics.push_back(value); return *this; }
124 inline AutoScalingGroupRecommendation& AddUtilizationMetrics(UtilizationMetric&& value) { m_utilizationMetricsHasBeenSet = true; m_utilizationMetrics.push_back(std::move(value)); return *this; }
126
128
132 inline double GetLookBackPeriodInDays() const{ return m_lookBackPeriodInDays; }
133 inline bool LookBackPeriodInDaysHasBeenSet() const { return m_lookBackPeriodInDaysHasBeenSet; }
134 inline void SetLookBackPeriodInDays(double value) { m_lookBackPeriodInDaysHasBeenSet = true; m_lookBackPeriodInDays = value; }
137
139
143 inline const AutoScalingGroupConfiguration& GetCurrentConfiguration() const{ return m_currentConfiguration; }
144 inline bool CurrentConfigurationHasBeenSet() const { return m_currentConfigurationHasBeenSet; }
145 inline void SetCurrentConfiguration(const AutoScalingGroupConfiguration& value) { m_currentConfigurationHasBeenSet = true; m_currentConfiguration = value; }
146 inline void SetCurrentConfiguration(AutoScalingGroupConfiguration&& value) { m_currentConfigurationHasBeenSet = true; m_currentConfiguration = std::move(value); }
150
152
156 inline const GpuInfo& GetCurrentInstanceGpuInfo() const{ return m_currentInstanceGpuInfo; }
157 inline bool CurrentInstanceGpuInfoHasBeenSet() const { return m_currentInstanceGpuInfoHasBeenSet; }
158 inline void SetCurrentInstanceGpuInfo(const GpuInfo& value) { m_currentInstanceGpuInfoHasBeenSet = true; m_currentInstanceGpuInfo = value; }
159 inline void SetCurrentInstanceGpuInfo(GpuInfo&& value) { m_currentInstanceGpuInfoHasBeenSet = true; m_currentInstanceGpuInfo = std::move(value); }
163
165
169 inline const Aws::Vector<AutoScalingGroupRecommendationOption>& GetRecommendationOptions() const{ return m_recommendationOptions; }
170 inline bool RecommendationOptionsHasBeenSet() const { return m_recommendationOptionsHasBeenSet; }
171 inline void SetRecommendationOptions(const Aws::Vector<AutoScalingGroupRecommendationOption>& value) { m_recommendationOptionsHasBeenSet = true; m_recommendationOptions = value; }
172 inline void SetRecommendationOptions(Aws::Vector<AutoScalingGroupRecommendationOption>&& value) { m_recommendationOptionsHasBeenSet = true; m_recommendationOptions = std::move(value); }
175 inline AutoScalingGroupRecommendation& AddRecommendationOptions(const AutoScalingGroupRecommendationOption& value) { m_recommendationOptionsHasBeenSet = true; m_recommendationOptions.push_back(value); return *this; }
176 inline AutoScalingGroupRecommendation& AddRecommendationOptions(AutoScalingGroupRecommendationOption&& value) { m_recommendationOptionsHasBeenSet = true; m_recommendationOptions.push_back(std::move(value)); return *this; }
178
180
184 inline const Aws::Utils::DateTime& GetLastRefreshTimestamp() const{ return m_lastRefreshTimestamp; }
185 inline bool LastRefreshTimestampHasBeenSet() const { return m_lastRefreshTimestampHasBeenSet; }
186 inline void SetLastRefreshTimestamp(const Aws::Utils::DateTime& value) { m_lastRefreshTimestampHasBeenSet = true; m_lastRefreshTimestamp = value; }
187 inline void SetLastRefreshTimestamp(Aws::Utils::DateTime&& value) { m_lastRefreshTimestampHasBeenSet = true; m_lastRefreshTimestamp = std::move(value); }
191
193
199 inline const CurrentPerformanceRisk& GetCurrentPerformanceRisk() const{ return m_currentPerformanceRisk; }
200 inline bool CurrentPerformanceRiskHasBeenSet() const { return m_currentPerformanceRiskHasBeenSet; }
201 inline void SetCurrentPerformanceRisk(const CurrentPerformanceRisk& value) { m_currentPerformanceRiskHasBeenSet = true; m_currentPerformanceRisk = value; }
202 inline void SetCurrentPerformanceRisk(CurrentPerformanceRisk&& value) { m_currentPerformanceRiskHasBeenSet = true; m_currentPerformanceRisk = std::move(value); }
206
208
212 inline const EffectiveRecommendationPreferences& GetEffectiveRecommendationPreferences() const{ return m_effectiveRecommendationPreferences; }
213 inline bool EffectiveRecommendationPreferencesHasBeenSet() const { return m_effectiveRecommendationPreferencesHasBeenSet; }
214 inline void SetEffectiveRecommendationPreferences(const EffectiveRecommendationPreferences& value) { m_effectiveRecommendationPreferencesHasBeenSet = true; m_effectiveRecommendationPreferences = value; }
215 inline void SetEffectiveRecommendationPreferences(EffectiveRecommendationPreferences&& value) { m_effectiveRecommendationPreferencesHasBeenSet = true; m_effectiveRecommendationPreferences = std::move(value); }
219
221
239 inline const Aws::Vector<InferredWorkloadType>& GetInferredWorkloadTypes() const{ return m_inferredWorkloadTypes; }
240 inline bool InferredWorkloadTypesHasBeenSet() const { return m_inferredWorkloadTypesHasBeenSet; }
241 inline void SetInferredWorkloadTypes(const Aws::Vector<InferredWorkloadType>& value) { m_inferredWorkloadTypesHasBeenSet = true; m_inferredWorkloadTypes = value; }
242 inline void SetInferredWorkloadTypes(Aws::Vector<InferredWorkloadType>&& value) { m_inferredWorkloadTypesHasBeenSet = true; m_inferredWorkloadTypes = std::move(value); }
245 inline AutoScalingGroupRecommendation& AddInferredWorkloadTypes(const InferredWorkloadType& value) { m_inferredWorkloadTypesHasBeenSet = true; m_inferredWorkloadTypes.push_back(value); return *this; }
246 inline AutoScalingGroupRecommendation& AddInferredWorkloadTypes(InferredWorkloadType&& value) { m_inferredWorkloadTypesHasBeenSet = true; m_inferredWorkloadTypes.push_back(std::move(value)); return *this; }
248 private:
249
250 Aws::String m_accountId;
251 bool m_accountIdHasBeenSet = false;
252
253 Aws::String m_autoScalingGroupArn;
254 bool m_autoScalingGroupArnHasBeenSet = false;
255
256 Aws::String m_autoScalingGroupName;
257 bool m_autoScalingGroupNameHasBeenSet = false;
258
259 Finding m_finding;
260 bool m_findingHasBeenSet = false;
261
262 Aws::Vector<UtilizationMetric> m_utilizationMetrics;
263 bool m_utilizationMetricsHasBeenSet = false;
264
265 double m_lookBackPeriodInDays;
266 bool m_lookBackPeriodInDaysHasBeenSet = false;
267
268 AutoScalingGroupConfiguration m_currentConfiguration;
269 bool m_currentConfigurationHasBeenSet = false;
270
271 GpuInfo m_currentInstanceGpuInfo;
272 bool m_currentInstanceGpuInfoHasBeenSet = false;
273
275 bool m_recommendationOptionsHasBeenSet = false;
276
277 Aws::Utils::DateTime m_lastRefreshTimestamp;
278 bool m_lastRefreshTimestampHasBeenSet = false;
279
280 CurrentPerformanceRisk m_currentPerformanceRisk;
281 bool m_currentPerformanceRiskHasBeenSet = false;
282
283 EffectiveRecommendationPreferences m_effectiveRecommendationPreferences;
284 bool m_effectiveRecommendationPreferencesHasBeenSet = false;
285
286 Aws::Vector<InferredWorkloadType> m_inferredWorkloadTypes;
287 bool m_inferredWorkloadTypesHasBeenSet = false;
288 };
289
290} // namespace Model
291} // namespace ComputeOptimizer
292} // namespace Aws
void SetEffectiveRecommendationPreferences(const EffectiveRecommendationPreferences &value)
AutoScalingGroupRecommendation & WithUtilizationMetrics(Aws::Vector< UtilizationMetric > &&value)
AutoScalingGroupRecommendation & WithCurrentPerformanceRisk(CurrentPerformanceRisk &&value)
void SetUtilizationMetrics(const Aws::Vector< UtilizationMetric > &value)
const Aws::Vector< InferredWorkloadType > & GetInferredWorkloadTypes() const
AutoScalingGroupRecommendation & WithCurrentInstanceGpuInfo(const GpuInfo &value)
AutoScalingGroupRecommendation & WithRecommendationOptions(const Aws::Vector< AutoScalingGroupRecommendationOption > &value)
AutoScalingGroupRecommendation & AddInferredWorkloadTypes(InferredWorkloadType &&value)
AutoScalingGroupRecommendation & WithEffectiveRecommendationPreferences(const EffectiveRecommendationPreferences &value)
AWS_COMPUTEOPTIMIZER_API AutoScalingGroupRecommendation(Aws::Utils::Json::JsonView jsonValue)
AutoScalingGroupRecommendation & WithAccountId(const Aws::String &value)
AutoScalingGroupRecommendation & WithEffectiveRecommendationPreferences(EffectiveRecommendationPreferences &&value)
void SetRecommendationOptions(Aws::Vector< AutoScalingGroupRecommendationOption > &&value)
void SetInferredWorkloadTypes(const Aws::Vector< InferredWorkloadType > &value)
AutoScalingGroupRecommendation & WithCurrentConfiguration(AutoScalingGroupConfiguration &&value)
AutoScalingGroupRecommendation & WithInferredWorkloadTypes(Aws::Vector< InferredWorkloadType > &&value)
AutoScalingGroupRecommendation & WithCurrentConfiguration(const AutoScalingGroupConfiguration &value)
AutoScalingGroupRecommendation & WithAutoScalingGroupName(const char *value)
AutoScalingGroupRecommendation & WithAccountId(Aws::String &&value)
const EffectiveRecommendationPreferences & GetEffectiveRecommendationPreferences() const
const Aws::Vector< UtilizationMetric > & GetUtilizationMetrics() const
void SetCurrentConfiguration(const AutoScalingGroupConfiguration &value)
AutoScalingGroupRecommendation & WithLastRefreshTimestamp(const Aws::Utils::DateTime &value)
AutoScalingGroupRecommendation & AddRecommendationOptions(const AutoScalingGroupRecommendationOption &value)
void SetEffectiveRecommendationPreferences(EffectiveRecommendationPreferences &&value)
AutoScalingGroupRecommendation & WithAutoScalingGroupArn(Aws::String &&value)
AutoScalingGroupRecommendation & WithAutoScalingGroupArn(const Aws::String &value)
AutoScalingGroupRecommendation & WithAutoScalingGroupName(Aws::String &&value)
AutoScalingGroupRecommendation & AddUtilizationMetrics(UtilizationMetric &&value)
AutoScalingGroupRecommendation & WithAccountId(const char *value)
AutoScalingGroupRecommendation & WithCurrentInstanceGpuInfo(GpuInfo &&value)
AutoScalingGroupRecommendation & WithCurrentPerformanceRisk(const CurrentPerformanceRisk &value)
AutoScalingGroupRecommendation & WithInferredWorkloadTypes(const Aws::Vector< InferredWorkloadType > &value)
AWS_COMPUTEOPTIMIZER_API Aws::Utils::Json::JsonValue Jsonize() const
const Aws::Vector< AutoScalingGroupRecommendationOption > & GetRecommendationOptions() const
AutoScalingGroupRecommendation & WithLookBackPeriodInDays(double value)
AutoScalingGroupRecommendation & WithAutoScalingGroupName(const Aws::String &value)
void SetInferredWorkloadTypes(Aws::Vector< InferredWorkloadType > &&value)
AutoScalingGroupRecommendation & WithUtilizationMetrics(const Aws::Vector< UtilizationMetric > &value)
AutoScalingGroupRecommendation & WithFinding(const Finding &value)
AutoScalingGroupRecommendation & WithRecommendationOptions(Aws::Vector< AutoScalingGroupRecommendationOption > &&value)
AWS_COMPUTEOPTIMIZER_API AutoScalingGroupRecommendation & operator=(Aws::Utils::Json::JsonView jsonValue)
AutoScalingGroupRecommendation & AddUtilizationMetrics(const UtilizationMetric &value)
AutoScalingGroupRecommendation & AddRecommendationOptions(AutoScalingGroupRecommendationOption &&value)
AutoScalingGroupRecommendation & WithLastRefreshTimestamp(Aws::Utils::DateTime &&value)
AutoScalingGroupRecommendation & AddInferredWorkloadTypes(const InferredWorkloadType &value)
AutoScalingGroupRecommendation & WithAutoScalingGroupArn(const char *value)
void SetRecommendationOptions(const Aws::Vector< AutoScalingGroupRecommendationOption > &value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue