AWS SDK for C++

AWS SDK for C++ Version 1.11.612

Loading...
Searching...
No Matches
IdleRecommendation.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/IdleRecommendationResourceType.h>
10#include <aws/compute-optimizer/model/IdleFinding.h>
11#include <aws/compute-optimizer/model/IdleSavingsOpportunity.h>
12#include <aws/compute-optimizer/model/IdleSavingsOpportunityAfterDiscounts.h>
13#include <aws/core/utils/memory/stl/AWSVector.h>
14#include <aws/core/utils/DateTime.h>
15#include <aws/compute-optimizer/model/IdleUtilizationMetric.h>
16#include <aws/compute-optimizer/model/Tag.h>
17#include <utility>
18
19namespace Aws
20{
21namespace Utils
22{
23namespace Json
24{
25 class JsonValue;
26 class JsonView;
27} // namespace Json
28} // namespace Utils
29namespace ComputeOptimizer
30{
31namespace Model
32{
33
40 {
41 public:
42 AWS_COMPUTEOPTIMIZER_API IdleRecommendation() = default;
43 AWS_COMPUTEOPTIMIZER_API IdleRecommendation(Aws::Utils::Json::JsonView jsonValue);
44 AWS_COMPUTEOPTIMIZER_API IdleRecommendation& operator=(Aws::Utils::Json::JsonView jsonValue);
45 AWS_COMPUTEOPTIMIZER_API Aws::Utils::Json::JsonValue Jsonize() const;
46
47
49
52 inline const Aws::String& GetResourceArn() const { return m_resourceArn; }
53 inline bool ResourceArnHasBeenSet() const { return m_resourceArnHasBeenSet; }
54 template<typename ResourceArnT = Aws::String>
55 void SetResourceArn(ResourceArnT&& value) { m_resourceArnHasBeenSet = true; m_resourceArn = std::forward<ResourceArnT>(value); }
56 template<typename ResourceArnT = Aws::String>
57 IdleRecommendation& WithResourceArn(ResourceArnT&& value) { SetResourceArn(std::forward<ResourceArnT>(value)); return *this;}
59
61
64 inline const Aws::String& GetResourceId() const { return m_resourceId; }
65 inline bool ResourceIdHasBeenSet() const { return m_resourceIdHasBeenSet; }
66 template<typename ResourceIdT = Aws::String>
67 void SetResourceId(ResourceIdT&& value) { m_resourceIdHasBeenSet = true; m_resourceId = std::forward<ResourceIdT>(value); }
68 template<typename ResourceIdT = Aws::String>
69 IdleRecommendation& WithResourceId(ResourceIdT&& value) { SetResourceId(std::forward<ResourceIdT>(value)); return *this;}
71
73
76 inline IdleRecommendationResourceType GetResourceType() const { return m_resourceType; }
77 inline bool ResourceTypeHasBeenSet() const { return m_resourceTypeHasBeenSet; }
78 inline void SetResourceType(IdleRecommendationResourceType value) { m_resourceTypeHasBeenSet = true; m_resourceType = value; }
81
83
86 inline const Aws::String& GetAccountId() const { return m_accountId; }
87 inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; }
88 template<typename AccountIdT = Aws::String>
89 void SetAccountId(AccountIdT&& value) { m_accountIdHasBeenSet = true; m_accountId = std::forward<AccountIdT>(value); }
90 template<typename AccountIdT = Aws::String>
91 IdleRecommendation& WithAccountId(AccountIdT&& value) { SetAccountId(std::forward<AccountIdT>(value)); return *this;}
93
95
98 inline IdleFinding GetFinding() const { return m_finding; }
99 inline bool FindingHasBeenSet() const { return m_findingHasBeenSet; }
100 inline void SetFinding(IdleFinding value) { m_findingHasBeenSet = true; m_finding = value; }
101 inline IdleRecommendation& WithFinding(IdleFinding value) { SetFinding(value); return *this;}
103
105
108 inline const Aws::String& GetFindingDescription() const { return m_findingDescription; }
109 inline bool FindingDescriptionHasBeenSet() const { return m_findingDescriptionHasBeenSet; }
110 template<typename FindingDescriptionT = Aws::String>
111 void SetFindingDescription(FindingDescriptionT&& value) { m_findingDescriptionHasBeenSet = true; m_findingDescription = std::forward<FindingDescriptionT>(value); }
112 template<typename FindingDescriptionT = Aws::String>
113 IdleRecommendation& WithFindingDescription(FindingDescriptionT&& value) { SetFindingDescription(std::forward<FindingDescriptionT>(value)); return *this;}
115
117
120 inline const IdleSavingsOpportunity& GetSavingsOpportunity() const { return m_savingsOpportunity; }
121 inline bool SavingsOpportunityHasBeenSet() const { return m_savingsOpportunityHasBeenSet; }
122 template<typename SavingsOpportunityT = IdleSavingsOpportunity>
123 void SetSavingsOpportunity(SavingsOpportunityT&& value) { m_savingsOpportunityHasBeenSet = true; m_savingsOpportunity = std::forward<SavingsOpportunityT>(value); }
124 template<typename SavingsOpportunityT = IdleSavingsOpportunity>
125 IdleRecommendation& WithSavingsOpportunity(SavingsOpportunityT&& value) { SetSavingsOpportunity(std::forward<SavingsOpportunityT>(value)); return *this;}
127
129
133 inline const IdleSavingsOpportunityAfterDiscounts& GetSavingsOpportunityAfterDiscounts() const { return m_savingsOpportunityAfterDiscounts; }
134 inline bool SavingsOpportunityAfterDiscountsHasBeenSet() const { return m_savingsOpportunityAfterDiscountsHasBeenSet; }
135 template<typename SavingsOpportunityAfterDiscountsT = IdleSavingsOpportunityAfterDiscounts>
136 void SetSavingsOpportunityAfterDiscounts(SavingsOpportunityAfterDiscountsT&& value) { m_savingsOpportunityAfterDiscountsHasBeenSet = true; m_savingsOpportunityAfterDiscounts = std::forward<SavingsOpportunityAfterDiscountsT>(value); }
137 template<typename SavingsOpportunityAfterDiscountsT = IdleSavingsOpportunityAfterDiscounts>
138 IdleRecommendation& WithSavingsOpportunityAfterDiscounts(SavingsOpportunityAfterDiscountsT&& value) { SetSavingsOpportunityAfterDiscounts(std::forward<SavingsOpportunityAfterDiscountsT>(value)); return *this;}
140
142
146 inline const Aws::Vector<IdleUtilizationMetric>& GetUtilizationMetrics() const { return m_utilizationMetrics; }
147 inline bool UtilizationMetricsHasBeenSet() const { return m_utilizationMetricsHasBeenSet; }
148 template<typename UtilizationMetricsT = Aws::Vector<IdleUtilizationMetric>>
149 void SetUtilizationMetrics(UtilizationMetricsT&& value) { m_utilizationMetricsHasBeenSet = true; m_utilizationMetrics = std::forward<UtilizationMetricsT>(value); }
150 template<typename UtilizationMetricsT = Aws::Vector<IdleUtilizationMetric>>
151 IdleRecommendation& WithUtilizationMetrics(UtilizationMetricsT&& value) { SetUtilizationMetrics(std::forward<UtilizationMetricsT>(value)); return *this;}
152 template<typename UtilizationMetricsT = IdleUtilizationMetric>
153 IdleRecommendation& AddUtilizationMetrics(UtilizationMetricsT&& value) { m_utilizationMetricsHasBeenSet = true; m_utilizationMetrics.emplace_back(std::forward<UtilizationMetricsT>(value)); return *this; }
155
157
160 inline double GetLookBackPeriodInDays() const { return m_lookBackPeriodInDays; }
161 inline bool LookBackPeriodInDaysHasBeenSet() const { return m_lookBackPeriodInDaysHasBeenSet; }
162 inline void SetLookBackPeriodInDays(double value) { m_lookBackPeriodInDaysHasBeenSet = true; m_lookBackPeriodInDays = value; }
163 inline IdleRecommendation& WithLookBackPeriodInDays(double value) { SetLookBackPeriodInDays(value); return *this;}
165
167
171 inline const Aws::Utils::DateTime& GetLastRefreshTimestamp() const { return m_lastRefreshTimestamp; }
172 inline bool LastRefreshTimestampHasBeenSet() const { return m_lastRefreshTimestampHasBeenSet; }
173 template<typename LastRefreshTimestampT = Aws::Utils::DateTime>
174 void SetLastRefreshTimestamp(LastRefreshTimestampT&& value) { m_lastRefreshTimestampHasBeenSet = true; m_lastRefreshTimestamp = std::forward<LastRefreshTimestampT>(value); }
175 template<typename LastRefreshTimestampT = Aws::Utils::DateTime>
176 IdleRecommendation& WithLastRefreshTimestamp(LastRefreshTimestampT&& value) { SetLastRefreshTimestamp(std::forward<LastRefreshTimestampT>(value)); return *this;}
178
180
183 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
184 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
185 template<typename TagsT = Aws::Vector<Tag>>
186 void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward<TagsT>(value); }
187 template<typename TagsT = Aws::Vector<Tag>>
188 IdleRecommendation& WithTags(TagsT&& value) { SetTags(std::forward<TagsT>(value)); return *this;}
189 template<typename TagsT = Tag>
190 IdleRecommendation& AddTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags.emplace_back(std::forward<TagsT>(value)); return *this; }
192 private:
193
194 Aws::String m_resourceArn;
195 bool m_resourceArnHasBeenSet = false;
196
197 Aws::String m_resourceId;
198 bool m_resourceIdHasBeenSet = false;
199
201 bool m_resourceTypeHasBeenSet = false;
202
203 Aws::String m_accountId;
204 bool m_accountIdHasBeenSet = false;
205
207 bool m_findingHasBeenSet = false;
208
209 Aws::String m_findingDescription;
210 bool m_findingDescriptionHasBeenSet = false;
211
212 IdleSavingsOpportunity m_savingsOpportunity;
213 bool m_savingsOpportunityHasBeenSet = false;
214
215 IdleSavingsOpportunityAfterDiscounts m_savingsOpportunityAfterDiscounts;
216 bool m_savingsOpportunityAfterDiscountsHasBeenSet = false;
217
218 Aws::Vector<IdleUtilizationMetric> m_utilizationMetrics;
219 bool m_utilizationMetricsHasBeenSet = false;
220
221 double m_lookBackPeriodInDays{0.0};
222 bool m_lookBackPeriodInDaysHasBeenSet = false;
223
224 Aws::Utils::DateTime m_lastRefreshTimestamp{};
225 bool m_lastRefreshTimestampHasBeenSet = false;
226
227 Aws::Vector<Tag> m_tags;
228 bool m_tagsHasBeenSet = false;
229 };
230
231} // namespace Model
232} // namespace ComputeOptimizer
233} // namespace Aws
AWS_COMPUTEOPTIMIZER_API IdleRecommendation()=default
void SetUtilizationMetrics(UtilizationMetricsT &&value)
IdleRecommendation & AddUtilizationMetrics(UtilizationMetricsT &&value)
void SetResourceType(IdleRecommendationResourceType value)
void SetSavingsOpportunityAfterDiscounts(SavingsOpportunityAfterDiscountsT &&value)
IdleRecommendation & WithResourceId(ResourceIdT &&value)
IdleRecommendation & WithAccountId(AccountIdT &&value)
AWS_COMPUTEOPTIMIZER_API IdleRecommendation(Aws::Utils::Json::JsonView jsonValue)
const IdleSavingsOpportunity & GetSavingsOpportunity() const
IdleRecommendation & WithFinding(IdleFinding value)
AWS_COMPUTEOPTIMIZER_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_COMPUTEOPTIMIZER_API IdleRecommendation & operator=(Aws::Utils::Json::JsonView jsonValue)
IdleRecommendation & WithLookBackPeriodInDays(double value)
IdleRecommendation & WithFindingDescription(FindingDescriptionT &&value)
IdleRecommendationResourceType GetResourceType() const
IdleRecommendation & WithSavingsOpportunityAfterDiscounts(SavingsOpportunityAfterDiscountsT &&value)
IdleRecommendation & WithUtilizationMetrics(UtilizationMetricsT &&value)
void SetFindingDescription(FindingDescriptionT &&value)
IdleRecommendation & WithLastRefreshTimestamp(LastRefreshTimestampT &&value)
IdleRecommendation & WithSavingsOpportunity(SavingsOpportunityT &&value)
IdleRecommendation & WithResourceArn(ResourceArnT &&value)
void SetSavingsOpportunity(SavingsOpportunityT &&value)
const IdleSavingsOpportunityAfterDiscounts & GetSavingsOpportunityAfterDiscounts() const
IdleRecommendation & WithResourceType(IdleRecommendationResourceType value)
void SetLastRefreshTimestamp(LastRefreshTimestampT &&value)
const Aws::Utils::DateTime & GetLastRefreshTimestamp() const
IdleRecommendation & WithTags(TagsT &&value)
IdleRecommendation & AddTags(TagsT &&value)
const Aws::Vector< IdleUtilizationMetric > & GetUtilizationMetrics() const
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue