AWS SDK for C++

AWS SDK for C++ Version 1.11.612

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() = default;
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 template<typename ServiceArnT = Aws::String>
62 void SetServiceArn(ServiceArnT&& value) { m_serviceArnHasBeenSet = true; m_serviceArn = std::forward<ServiceArnT>(value); }
63 template<typename ServiceArnT = Aws::String>
64 ECSServiceRecommendation& WithServiceArn(ServiceArnT&& value) { SetServiceArn(std::forward<ServiceArnT>(value)); return *this;}
66
68
71 inline const Aws::String& GetAccountId() const { return m_accountId; }
72 inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; }
73 template<typename AccountIdT = Aws::String>
74 void SetAccountId(AccountIdT&& value) { m_accountIdHasBeenSet = true; m_accountId = std::forward<AccountIdT>(value); }
75 template<typename AccountIdT = Aws::String>
76 ECSServiceRecommendation& WithAccountId(AccountIdT&& value) { SetAccountId(std::forward<AccountIdT>(value)); return *this;}
78
80
83 inline const ServiceConfiguration& GetCurrentServiceConfiguration() const { return m_currentServiceConfiguration; }
84 inline bool CurrentServiceConfigurationHasBeenSet() const { return m_currentServiceConfigurationHasBeenSet; }
85 template<typename CurrentServiceConfigurationT = ServiceConfiguration>
86 void SetCurrentServiceConfiguration(CurrentServiceConfigurationT&& value) { m_currentServiceConfigurationHasBeenSet = true; m_currentServiceConfiguration = std::forward<CurrentServiceConfigurationT>(value); }
87 template<typename CurrentServiceConfigurationT = ServiceConfiguration>
88 ECSServiceRecommendation& WithCurrentServiceConfiguration(CurrentServiceConfigurationT&& value) { SetCurrentServiceConfiguration(std::forward<CurrentServiceConfigurationT>(value)); return *this;}
90
92
96 inline const Aws::Vector<ECSServiceUtilizationMetric>& GetUtilizationMetrics() const { return m_utilizationMetrics; }
97 inline bool UtilizationMetricsHasBeenSet() const { return m_utilizationMetricsHasBeenSet; }
98 template<typename UtilizationMetricsT = Aws::Vector<ECSServiceUtilizationMetric>>
99 void SetUtilizationMetrics(UtilizationMetricsT&& value) { m_utilizationMetricsHasBeenSet = true; m_utilizationMetrics = std::forward<UtilizationMetricsT>(value); }
100 template<typename UtilizationMetricsT = Aws::Vector<ECSServiceUtilizationMetric>>
101 ECSServiceRecommendation& WithUtilizationMetrics(UtilizationMetricsT&& value) { SetUtilizationMetrics(std::forward<UtilizationMetricsT>(value)); return *this;}
102 template<typename UtilizationMetricsT = ECSServiceUtilizationMetric>
103 ECSServiceRecommendation& AddUtilizationMetrics(UtilizationMetricsT&& value) { m_utilizationMetricsHasBeenSet = true; m_utilizationMetrics.emplace_back(std::forward<UtilizationMetricsT>(value)); return *this; }
105
107
111 inline double GetLookbackPeriodInDays() const { return m_lookbackPeriodInDays; }
112 inline bool LookbackPeriodInDaysHasBeenSet() const { return m_lookbackPeriodInDaysHasBeenSet; }
113 inline void SetLookbackPeriodInDays(double value) { m_lookbackPeriodInDaysHasBeenSet = true; m_lookbackPeriodInDays = value; }
114 inline ECSServiceRecommendation& WithLookbackPeriodInDays(double value) { SetLookbackPeriodInDays(value); return *this;}
116
118
122 inline ECSServiceLaunchType GetLaunchType() const { return m_launchType; }
123 inline bool LaunchTypeHasBeenSet() const { return m_launchTypeHasBeenSet; }
124 inline void SetLaunchType(ECSServiceLaunchType value) { m_launchTypeHasBeenSet = true; m_launchType = value; }
127
129
133 inline const Aws::Utils::DateTime& GetLastRefreshTimestamp() const { return m_lastRefreshTimestamp; }
134 inline bool LastRefreshTimestampHasBeenSet() const { return m_lastRefreshTimestampHasBeenSet; }
135 template<typename LastRefreshTimestampT = Aws::Utils::DateTime>
136 void SetLastRefreshTimestamp(LastRefreshTimestampT&& value) { m_lastRefreshTimestampHasBeenSet = true; m_lastRefreshTimestamp = std::forward<LastRefreshTimestampT>(value); }
137 template<typename LastRefreshTimestampT = Aws::Utils::DateTime>
138 ECSServiceRecommendation& WithLastRefreshTimestamp(LastRefreshTimestampT&& value) { SetLastRefreshTimestamp(std::forward<LastRefreshTimestampT>(value)); return *this;}
140
142
155 inline ECSServiceRecommendationFinding GetFinding() const { return m_finding; }
156 inline bool FindingHasBeenSet() const { return m_findingHasBeenSet; }
157 inline void SetFinding(ECSServiceRecommendationFinding value) { m_findingHasBeenSet = true; m_finding = value; }
160
162
181 inline const Aws::Vector<ECSServiceRecommendationFindingReasonCode>& GetFindingReasonCodes() const { return m_findingReasonCodes; }
182 inline bool FindingReasonCodesHasBeenSet() const { return m_findingReasonCodesHasBeenSet; }
183 template<typename FindingReasonCodesT = Aws::Vector<ECSServiceRecommendationFindingReasonCode>>
184 void SetFindingReasonCodes(FindingReasonCodesT&& value) { m_findingReasonCodesHasBeenSet = true; m_findingReasonCodes = std::forward<FindingReasonCodesT>(value); }
185 template<typename FindingReasonCodesT = Aws::Vector<ECSServiceRecommendationFindingReasonCode>>
186 ECSServiceRecommendation& WithFindingReasonCodes(FindingReasonCodesT&& value) { SetFindingReasonCodes(std::forward<FindingReasonCodesT>(value)); return *this;}
187 inline ECSServiceRecommendation& AddFindingReasonCodes(ECSServiceRecommendationFindingReasonCode value) { m_findingReasonCodesHasBeenSet = true; m_findingReasonCodes.push_back(value); return *this; }
189
191
195 inline const Aws::Vector<ECSServiceRecommendationOption>& GetServiceRecommendationOptions() const { return m_serviceRecommendationOptions; }
196 inline bool ServiceRecommendationOptionsHasBeenSet() const { return m_serviceRecommendationOptionsHasBeenSet; }
197 template<typename ServiceRecommendationOptionsT = Aws::Vector<ECSServiceRecommendationOption>>
198 void SetServiceRecommendationOptions(ServiceRecommendationOptionsT&& value) { m_serviceRecommendationOptionsHasBeenSet = true; m_serviceRecommendationOptions = std::forward<ServiceRecommendationOptionsT>(value); }
199 template<typename ServiceRecommendationOptionsT = Aws::Vector<ECSServiceRecommendationOption>>
200 ECSServiceRecommendation& WithServiceRecommendationOptions(ServiceRecommendationOptionsT&& value) { SetServiceRecommendationOptions(std::forward<ServiceRecommendationOptionsT>(value)); return *this;}
201 template<typename ServiceRecommendationOptionsT = ECSServiceRecommendationOption>
202 ECSServiceRecommendation& AddServiceRecommendationOptions(ServiceRecommendationOptionsT&& value) { m_serviceRecommendationOptionsHasBeenSet = true; m_serviceRecommendationOptions.emplace_back(std::forward<ServiceRecommendationOptionsT>(value)); return *this; }
204
206
211 inline CurrentPerformanceRisk GetCurrentPerformanceRisk() const { return m_currentPerformanceRisk; }
212 inline bool CurrentPerformanceRiskHasBeenSet() const { return m_currentPerformanceRiskHasBeenSet; }
213 inline void SetCurrentPerformanceRisk(CurrentPerformanceRisk value) { m_currentPerformanceRiskHasBeenSet = true; m_currentPerformanceRisk = value; }
216
218
222 inline const ECSEffectiveRecommendationPreferences& GetEffectiveRecommendationPreferences() const { return m_effectiveRecommendationPreferences; }
223 inline bool EffectiveRecommendationPreferencesHasBeenSet() const { return m_effectiveRecommendationPreferencesHasBeenSet; }
224 template<typename EffectiveRecommendationPreferencesT = ECSEffectiveRecommendationPreferences>
225 void SetEffectiveRecommendationPreferences(EffectiveRecommendationPreferencesT&& value) { m_effectiveRecommendationPreferencesHasBeenSet = true; m_effectiveRecommendationPreferences = std::forward<EffectiveRecommendationPreferencesT>(value); }
226 template<typename EffectiveRecommendationPreferencesT = ECSEffectiveRecommendationPreferences>
227 ECSServiceRecommendation& WithEffectiveRecommendationPreferences(EffectiveRecommendationPreferencesT&& value) { SetEffectiveRecommendationPreferences(std::forward<EffectiveRecommendationPreferencesT>(value)); return *this;}
229
231
234 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
235 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
236 template<typename TagsT = Aws::Vector<Tag>>
237 void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward<TagsT>(value); }
238 template<typename TagsT = Aws::Vector<Tag>>
239 ECSServiceRecommendation& WithTags(TagsT&& value) { SetTags(std::forward<TagsT>(value)); return *this;}
240 template<typename TagsT = Tag>
241 ECSServiceRecommendation& AddTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags.emplace_back(std::forward<TagsT>(value)); return *this; }
243 private:
244
245 Aws::String m_serviceArn;
246 bool m_serviceArnHasBeenSet = false;
247
248 Aws::String m_accountId;
249 bool m_accountIdHasBeenSet = false;
250
251 ServiceConfiguration m_currentServiceConfiguration;
252 bool m_currentServiceConfigurationHasBeenSet = false;
253
254 Aws::Vector<ECSServiceUtilizationMetric> m_utilizationMetrics;
255 bool m_utilizationMetricsHasBeenSet = false;
256
257 double m_lookbackPeriodInDays{0.0};
258 bool m_lookbackPeriodInDaysHasBeenSet = false;
259
261 bool m_launchTypeHasBeenSet = false;
262
263 Aws::Utils::DateTime m_lastRefreshTimestamp{};
264 bool m_lastRefreshTimestampHasBeenSet = false;
265
267 bool m_findingHasBeenSet = false;
268
270 bool m_findingReasonCodesHasBeenSet = false;
271
272 Aws::Vector<ECSServiceRecommendationOption> m_serviceRecommendationOptions;
273 bool m_serviceRecommendationOptionsHasBeenSet = false;
274
276 bool m_currentPerformanceRiskHasBeenSet = false;
277
278 ECSEffectiveRecommendationPreferences m_effectiveRecommendationPreferences;
279 bool m_effectiveRecommendationPreferencesHasBeenSet = false;
280
281 Aws::Vector<Tag> m_tags;
282 bool m_tagsHasBeenSet = false;
283 };
284
285} // namespace Model
286} // namespace ComputeOptimizer
287} // namespace Aws
AWS_COMPUTEOPTIMIZER_API Aws::Utils::Json::JsonValue Jsonize() const
const Aws::Vector< ECSServiceUtilizationMetric > & GetUtilizationMetrics() const
const Aws::Vector< ECSServiceRecommendationFindingReasonCode > & GetFindingReasonCodes() const
ECSServiceRecommendation & WithServiceArn(ServiceArnT &&value)
ECSServiceRecommendation & AddUtilizationMetrics(UtilizationMetricsT &&value)
ECSServiceRecommendation & AddFindingReasonCodes(ECSServiceRecommendationFindingReasonCode value)
ECSServiceRecommendation & AddServiceRecommendationOptions(ServiceRecommendationOptionsT &&value)
void SetFinding(ECSServiceRecommendationFinding value)
void SetEffectiveRecommendationPreferences(EffectiveRecommendationPreferencesT &&value)
ECSServiceRecommendation & WithFinding(ECSServiceRecommendationFinding value)
ECSServiceRecommendation & WithFindingReasonCodes(FindingReasonCodesT &&value)
ECSServiceRecommendation & WithCurrentPerformanceRisk(CurrentPerformanceRisk value)
const Aws::Vector< ECSServiceRecommendationOption > & GetServiceRecommendationOptions() const
AWS_COMPUTEOPTIMIZER_API ECSServiceRecommendation & operator=(Aws::Utils::Json::JsonView jsonValue)
const ServiceConfiguration & GetCurrentServiceConfiguration() const
ECSServiceRecommendation & WithUtilizationMetrics(UtilizationMetricsT &&value)
AWS_COMPUTEOPTIMIZER_API ECSServiceRecommendation(Aws::Utils::Json::JsonView jsonValue)
ECSServiceRecommendation & WithLaunchType(ECSServiceLaunchType value)
void SetServiceRecommendationOptions(ServiceRecommendationOptionsT &&value)
ECSServiceRecommendation & WithLastRefreshTimestamp(LastRefreshTimestampT &&value)
ECSServiceRecommendation & WithLookbackPeriodInDays(double value)
ECSServiceRecommendation & WithEffectiveRecommendationPreferences(EffectiveRecommendationPreferencesT &&value)
ECSServiceRecommendation & WithServiceRecommendationOptions(ServiceRecommendationOptionsT &&value)
void SetCurrentServiceConfiguration(CurrentServiceConfigurationT &&value)
ECSServiceRecommendation & WithAccountId(AccountIdT &&value)
const ECSEffectiveRecommendationPreferences & GetEffectiveRecommendationPreferences() const
ECSServiceRecommendation & WithCurrentServiceConfiguration(CurrentServiceConfigurationT &&value)
AWS_COMPUTEOPTIMIZER_API ECSServiceRecommendation()=default
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue