AWS SDK for C++

AWS SDK for C++ Version 1.11.440

Loading...
Searching...
No Matches
ECSServiceRecommendation.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/ServiceConfiguration.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/compute-optimizer/model/ECSServiceLaunchType.h>
12#include <aws/core/utils/DateTime.h>
13#include <aws/compute-optimizer/model/ECSServiceRecommendationFinding.h>
14#include <aws/compute-optimizer/model/CurrentPerformanceRisk.h>
15#include <aws/compute-optimizer/model/ECSEffectiveRecommendationPreferences.h>
16#include <aws/compute-optimizer/model/ECSServiceUtilizationMetric.h>
17#include <aws/compute-optimizer/model/ECSServiceRecommendationFindingReasonCode.h>
18#include <aws/compute-optimizer/model/ECSServiceRecommendationOption.h>
19#include <aws/compute-optimizer/model/Tag.h>
20#include <utility>
21
22namespace Aws
23{
24namespace Utils
25{
26namespace Json
27{
28 class JsonValue;
29 class JsonView;
30} // namespace Json
31} // namespace Utils
32namespace ComputeOptimizer
33{
34namespace Model
35{
36
44 {
45 public:
46 AWS_COMPUTEOPTIMIZER_API ECSServiceRecommendation();
47 AWS_COMPUTEOPTIMIZER_API ECSServiceRecommendation(Aws::Utils::Json::JsonView jsonValue);
49 AWS_COMPUTEOPTIMIZER_API Aws::Utils::Json::JsonValue Jsonize() const;
50
51
53
59 inline const Aws::String& GetServiceArn() const{ return m_serviceArn; }
60 inline bool ServiceArnHasBeenSet() const { return m_serviceArnHasBeenSet; }
61 inline void SetServiceArn(const Aws::String& value) { m_serviceArnHasBeenSet = true; m_serviceArn = value; }
62 inline void SetServiceArn(Aws::String&& value) { m_serviceArnHasBeenSet = true; m_serviceArn = std::move(value); }
63 inline void SetServiceArn(const char* value) { m_serviceArnHasBeenSet = true; m_serviceArn.assign(value); }
64 inline ECSServiceRecommendation& WithServiceArn(const Aws::String& value) { SetServiceArn(value); return *this;}
65 inline ECSServiceRecommendation& WithServiceArn(Aws::String&& value) { SetServiceArn(std::move(value)); return *this;}
66 inline ECSServiceRecommendation& WithServiceArn(const char* value) { SetServiceArn(value); return *this;}
68
70
73 inline const Aws::String& GetAccountId() const{ return m_accountId; }
74 inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; }
75 inline void SetAccountId(const Aws::String& value) { m_accountIdHasBeenSet = true; m_accountId = value; }
76 inline void SetAccountId(Aws::String&& value) { m_accountIdHasBeenSet = true; m_accountId = std::move(value); }
77 inline void SetAccountId(const char* value) { m_accountIdHasBeenSet = true; m_accountId.assign(value); }
78 inline ECSServiceRecommendation& WithAccountId(const Aws::String& value) { SetAccountId(value); return *this;}
79 inline ECSServiceRecommendation& WithAccountId(Aws::String&& value) { SetAccountId(std::move(value)); return *this;}
80 inline ECSServiceRecommendation& WithAccountId(const char* value) { SetAccountId(value); return *this;}
82
84
87 inline const ServiceConfiguration& GetCurrentServiceConfiguration() const{ return m_currentServiceConfiguration; }
88 inline bool CurrentServiceConfigurationHasBeenSet() const { return m_currentServiceConfigurationHasBeenSet; }
89 inline void SetCurrentServiceConfiguration(const ServiceConfiguration& value) { m_currentServiceConfigurationHasBeenSet = true; m_currentServiceConfiguration = value; }
90 inline void SetCurrentServiceConfiguration(ServiceConfiguration&& value) { m_currentServiceConfigurationHasBeenSet = true; m_currentServiceConfiguration = std::move(value); }
94
96
100 inline const Aws::Vector<ECSServiceUtilizationMetric>& GetUtilizationMetrics() const{ return m_utilizationMetrics; }
101 inline bool UtilizationMetricsHasBeenSet() const { return m_utilizationMetricsHasBeenSet; }
102 inline void SetUtilizationMetrics(const Aws::Vector<ECSServiceUtilizationMetric>& value) { m_utilizationMetricsHasBeenSet = true; m_utilizationMetrics = value; }
103 inline void SetUtilizationMetrics(Aws::Vector<ECSServiceUtilizationMetric>&& value) { m_utilizationMetricsHasBeenSet = true; m_utilizationMetrics = std::move(value); }
106 inline ECSServiceRecommendation& AddUtilizationMetrics(const ECSServiceUtilizationMetric& value) { m_utilizationMetricsHasBeenSet = true; m_utilizationMetrics.push_back(value); return *this; }
107 inline ECSServiceRecommendation& AddUtilizationMetrics(ECSServiceUtilizationMetric&& value) { m_utilizationMetricsHasBeenSet = true; m_utilizationMetrics.push_back(std::move(value)); return *this; }
109
111
115 inline double GetLookbackPeriodInDays() const{ return m_lookbackPeriodInDays; }
116 inline bool LookbackPeriodInDaysHasBeenSet() const { return m_lookbackPeriodInDaysHasBeenSet; }
117 inline void SetLookbackPeriodInDays(double value) { m_lookbackPeriodInDaysHasBeenSet = true; m_lookbackPeriodInDays = value; }
118 inline ECSServiceRecommendation& WithLookbackPeriodInDays(double value) { SetLookbackPeriodInDays(value); return *this;}
120
122
126 inline const ECSServiceLaunchType& GetLaunchType() const{ return m_launchType; }
127 inline bool LaunchTypeHasBeenSet() const { return m_launchTypeHasBeenSet; }
128 inline void SetLaunchType(const ECSServiceLaunchType& value) { m_launchTypeHasBeenSet = true; m_launchType = value; }
129 inline void SetLaunchType(ECSServiceLaunchType&& value) { m_launchTypeHasBeenSet = true; m_launchType = std::move(value); }
130 inline ECSServiceRecommendation& WithLaunchType(const ECSServiceLaunchType& value) { SetLaunchType(value); return *this;}
131 inline ECSServiceRecommendation& WithLaunchType(ECSServiceLaunchType&& value) { SetLaunchType(std::move(value)); return *this;}
133
135
139 inline const Aws::Utils::DateTime& GetLastRefreshTimestamp() const{ return m_lastRefreshTimestamp; }
140 inline bool LastRefreshTimestampHasBeenSet() const { return m_lastRefreshTimestampHasBeenSet; }
141 inline void SetLastRefreshTimestamp(const Aws::Utils::DateTime& value) { m_lastRefreshTimestampHasBeenSet = true; m_lastRefreshTimestamp = value; }
142 inline void SetLastRefreshTimestamp(Aws::Utils::DateTime&& value) { m_lastRefreshTimestampHasBeenSet = true; m_lastRefreshTimestamp = std::move(value); }
146
148
161 inline const ECSServiceRecommendationFinding& GetFinding() const{ return m_finding; }
162 inline bool FindingHasBeenSet() const { return m_findingHasBeenSet; }
163 inline void SetFinding(const ECSServiceRecommendationFinding& value) { m_findingHasBeenSet = true; m_finding = value; }
164 inline void SetFinding(ECSServiceRecommendationFinding&& value) { m_findingHasBeenSet = true; m_finding = std::move(value); }
166 inline ECSServiceRecommendation& WithFinding(ECSServiceRecommendationFinding&& value) { SetFinding(std::move(value)); return *this;}
168
170
189 inline const Aws::Vector<ECSServiceRecommendationFindingReasonCode>& GetFindingReasonCodes() const{ return m_findingReasonCodes; }
190 inline bool FindingReasonCodesHasBeenSet() const { return m_findingReasonCodesHasBeenSet; }
191 inline void SetFindingReasonCodes(const Aws::Vector<ECSServiceRecommendationFindingReasonCode>& value) { m_findingReasonCodesHasBeenSet = true; m_findingReasonCodes = value; }
192 inline void SetFindingReasonCodes(Aws::Vector<ECSServiceRecommendationFindingReasonCode>&& value) { m_findingReasonCodesHasBeenSet = true; m_findingReasonCodes = std::move(value); }
195 inline ECSServiceRecommendation& AddFindingReasonCodes(const ECSServiceRecommendationFindingReasonCode& value) { m_findingReasonCodesHasBeenSet = true; m_findingReasonCodes.push_back(value); return *this; }
196 inline ECSServiceRecommendation& AddFindingReasonCodes(ECSServiceRecommendationFindingReasonCode&& value) { m_findingReasonCodesHasBeenSet = true; m_findingReasonCodes.push_back(std::move(value)); return *this; }
198
200
204 inline const Aws::Vector<ECSServiceRecommendationOption>& GetServiceRecommendationOptions() const{ return m_serviceRecommendationOptions; }
205 inline bool ServiceRecommendationOptionsHasBeenSet() const { return m_serviceRecommendationOptionsHasBeenSet; }
206 inline void SetServiceRecommendationOptions(const Aws::Vector<ECSServiceRecommendationOption>& value) { m_serviceRecommendationOptionsHasBeenSet = true; m_serviceRecommendationOptions = value; }
207 inline void SetServiceRecommendationOptions(Aws::Vector<ECSServiceRecommendationOption>&& value) { m_serviceRecommendationOptionsHasBeenSet = true; m_serviceRecommendationOptions = std::move(value); }
210 inline ECSServiceRecommendation& AddServiceRecommendationOptions(const ECSServiceRecommendationOption& value) { m_serviceRecommendationOptionsHasBeenSet = true; m_serviceRecommendationOptions.push_back(value); return *this; }
211 inline ECSServiceRecommendation& AddServiceRecommendationOptions(ECSServiceRecommendationOption&& value) { m_serviceRecommendationOptionsHasBeenSet = true; m_serviceRecommendationOptions.push_back(std::move(value)); return *this; }
213
215
220 inline const CurrentPerformanceRisk& GetCurrentPerformanceRisk() const{ return m_currentPerformanceRisk; }
221 inline bool CurrentPerformanceRiskHasBeenSet() const { return m_currentPerformanceRiskHasBeenSet; }
222 inline void SetCurrentPerformanceRisk(const CurrentPerformanceRisk& value) { m_currentPerformanceRiskHasBeenSet = true; m_currentPerformanceRisk = value; }
223 inline void SetCurrentPerformanceRisk(CurrentPerformanceRisk&& value) { m_currentPerformanceRiskHasBeenSet = true; m_currentPerformanceRisk = std::move(value); }
227
229
233 inline const ECSEffectiveRecommendationPreferences& GetEffectiveRecommendationPreferences() const{ return m_effectiveRecommendationPreferences; }
234 inline bool EffectiveRecommendationPreferencesHasBeenSet() const { return m_effectiveRecommendationPreferencesHasBeenSet; }
235 inline void SetEffectiveRecommendationPreferences(const ECSEffectiveRecommendationPreferences& value) { m_effectiveRecommendationPreferencesHasBeenSet = true; m_effectiveRecommendationPreferences = value; }
236 inline void SetEffectiveRecommendationPreferences(ECSEffectiveRecommendationPreferences&& value) { m_effectiveRecommendationPreferencesHasBeenSet = true; m_effectiveRecommendationPreferences = std::move(value); }
240
242
245 inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; }
246 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
247 inline void SetTags(const Aws::Vector<Tag>& value) { m_tagsHasBeenSet = true; m_tags = value; }
248 inline void SetTags(Aws::Vector<Tag>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); }
249 inline ECSServiceRecommendation& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;}
250 inline ECSServiceRecommendation& WithTags(Aws::Vector<Tag>&& value) { SetTags(std::move(value)); return *this;}
251 inline ECSServiceRecommendation& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; }
252 inline ECSServiceRecommendation& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; }
254 private:
255
256 Aws::String m_serviceArn;
257 bool m_serviceArnHasBeenSet = false;
258
259 Aws::String m_accountId;
260 bool m_accountIdHasBeenSet = false;
261
262 ServiceConfiguration m_currentServiceConfiguration;
263 bool m_currentServiceConfigurationHasBeenSet = false;
264
265 Aws::Vector<ECSServiceUtilizationMetric> m_utilizationMetrics;
266 bool m_utilizationMetricsHasBeenSet = false;
267
268 double m_lookbackPeriodInDays;
269 bool m_lookbackPeriodInDaysHasBeenSet = false;
270
271 ECSServiceLaunchType m_launchType;
272 bool m_launchTypeHasBeenSet = false;
273
274 Aws::Utils::DateTime m_lastRefreshTimestamp;
275 bool m_lastRefreshTimestampHasBeenSet = false;
276
278 bool m_findingHasBeenSet = false;
279
281 bool m_findingReasonCodesHasBeenSet = false;
282
283 Aws::Vector<ECSServiceRecommendationOption> m_serviceRecommendationOptions;
284 bool m_serviceRecommendationOptionsHasBeenSet = false;
285
286 CurrentPerformanceRisk m_currentPerformanceRisk;
287 bool m_currentPerformanceRiskHasBeenSet = false;
288
289 ECSEffectiveRecommendationPreferences m_effectiveRecommendationPreferences;
290 bool m_effectiveRecommendationPreferencesHasBeenSet = false;
291
292 Aws::Vector<Tag> m_tags;
293 bool m_tagsHasBeenSet = false;
294 };
295
296} // namespace Model
297} // namespace ComputeOptimizer
298} // namespace Aws
ECSServiceRecommendation & WithEffectiveRecommendationPreferences(const ECSEffectiveRecommendationPreferences &value)
AWS_COMPUTEOPTIMIZER_API Aws::Utils::Json::JsonValue Jsonize() const
const ECSServiceRecommendationFinding & GetFinding() const
const Aws::Vector< ECSServiceUtilizationMetric > & GetUtilizationMetrics() const
const Aws::Vector< ECSServiceRecommendationFindingReasonCode > & GetFindingReasonCodes() const
ECSServiceRecommendation & AddUtilizationMetrics(ECSServiceUtilizationMetric &&value)
void SetFindingReasonCodes(const Aws::Vector< ECSServiceRecommendationFindingReasonCode > &value)
void SetFinding(ECSServiceRecommendationFinding &&value)
void SetFinding(const ECSServiceRecommendationFinding &value)
void SetServiceRecommendationOptions(const Aws::Vector< ECSServiceRecommendationOption > &value)
ECSServiceRecommendation & WithAccountId(const Aws::String &value)
ECSServiceRecommendation & WithTags(Aws::Vector< Tag > &&value)
ECSServiceRecommendation & WithServiceRecommendationOptions(Aws::Vector< ECSServiceRecommendationOption > &&value)
void SetCurrentPerformanceRisk(const CurrentPerformanceRisk &value)
ECSServiceRecommendation & WithFinding(const ECSServiceRecommendationFinding &value)
void SetEffectiveRecommendationPreferences(const ECSEffectiveRecommendationPreferences &value)
ECSServiceRecommendation & AddFindingReasonCodes(ECSServiceRecommendationFindingReasonCode &&value)
ECSServiceRecommendation & AddServiceRecommendationOptions(const ECSServiceRecommendationOption &value)
ECSServiceRecommendation & WithCurrentPerformanceRisk(CurrentPerformanceRisk &&value)
const Aws::Vector< ECSServiceRecommendationOption > & GetServiceRecommendationOptions() const
ECSServiceRecommendation & WithCurrentPerformanceRisk(const CurrentPerformanceRisk &value)
void SetLastRefreshTimestamp(const Aws::Utils::DateTime &value)
const CurrentPerformanceRisk & GetCurrentPerformanceRisk() const
ECSServiceRecommendation & WithLaunchType(const ECSServiceLaunchType &value)
ECSServiceRecommendation & WithFindingReasonCodes(const Aws::Vector< ECSServiceRecommendationFindingReasonCode > &value)
AWS_COMPUTEOPTIMIZER_API ECSServiceRecommendation & operator=(Aws::Utils::Json::JsonView jsonValue)
const ServiceConfiguration & GetCurrentServiceConfiguration() const
void SetEffectiveRecommendationPreferences(ECSEffectiveRecommendationPreferences &&value)
ECSServiceRecommendation & AddServiceRecommendationOptions(ECSServiceRecommendationOption &&value)
AWS_COMPUTEOPTIMIZER_API ECSServiceRecommendation(Aws::Utils::Json::JsonView jsonValue)
ECSServiceRecommendation & WithServiceArn(Aws::String &&value)
void SetServiceRecommendationOptions(Aws::Vector< ECSServiceRecommendationOption > &&value)
void SetFindingReasonCodes(Aws::Vector< ECSServiceRecommendationFindingReasonCode > &&value)
ECSServiceRecommendation & AddTags(const Tag &value)
ECSServiceRecommendation & WithTags(const Aws::Vector< Tag > &value)
ECSServiceRecommendation & AddFindingReasonCodes(const ECSServiceRecommendationFindingReasonCode &value)
void SetUtilizationMetrics(const Aws::Vector< ECSServiceUtilizationMetric > &value)
ECSServiceRecommendation & WithAccountId(const char *value)
void SetCurrentServiceConfiguration(const ServiceConfiguration &value)
ECSServiceRecommendation & WithAccountId(Aws::String &&value)
ECSServiceRecommendation & WithServiceArn(const char *value)
ECSServiceRecommendation & WithFindingReasonCodes(Aws::Vector< ECSServiceRecommendationFindingReasonCode > &&value)
ECSServiceRecommendation & WithUtilizationMetrics(const Aws::Vector< ECSServiceUtilizationMetric > &value)
ECSServiceRecommendation & WithServiceRecommendationOptions(const Aws::Vector< ECSServiceRecommendationOption > &value)
ECSServiceRecommendation & WithUtilizationMetrics(Aws::Vector< ECSServiceUtilizationMetric > &&value)
ECSServiceRecommendation & WithLastRefreshTimestamp(Aws::Utils::DateTime &&value)
ECSServiceRecommendation & AddUtilizationMetrics(const ECSServiceUtilizationMetric &value)
ECSServiceRecommendation & WithLookbackPeriodInDays(double value)
ECSServiceRecommendation & WithServiceArn(const Aws::String &value)
void SetUtilizationMetrics(Aws::Vector< ECSServiceUtilizationMetric > &&value)
ECSServiceRecommendation & WithCurrentServiceConfiguration(const ServiceConfiguration &value)
ECSServiceRecommendation & WithEffectiveRecommendationPreferences(ECSEffectiveRecommendationPreferences &&value)
const ECSEffectiveRecommendationPreferences & GetEffectiveRecommendationPreferences() const
ECSServiceRecommendation & WithLastRefreshTimestamp(const Aws::Utils::DateTime &value)
ECSServiceRecommendation & WithFinding(ECSServiceRecommendationFinding &&value)
ECSServiceRecommendation & WithLaunchType(ECSServiceLaunchType &&value)
ECSServiceRecommendation & WithCurrentServiceConfiguration(ServiceConfiguration &&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