7#include <aws/compute-optimizer/ComputeOptimizer_EXPORTS.h>
8#include <aws/compute-optimizer/model/IdleFinding.h>
9#include <aws/compute-optimizer/model/IdleRecommendationResourceType.h>
10#include <aws/compute-optimizer/model/IdleSavingsOpportunity.h>
11#include <aws/compute-optimizer/model/IdleSavingsOpportunityAfterDiscounts.h>
12#include <aws/compute-optimizer/model/IdleUtilizationMetric.h>
13#include <aws/compute-optimizer/model/Tag.h>
14#include <aws/core/utils/DateTime.h>
15#include <aws/core/utils/memory/stl/AWSString.h>
16#include <aws/core/utils/memory/stl/AWSVector.h>
27namespace ComputeOptimizer {
48 template <
typename ResourceArnT = Aws::String>
50 m_resourceArnHasBeenSet =
true;
51 m_resourceArn = std::forward<ResourceArnT>(value);
53 template <
typename ResourceArnT = Aws::String>
66 template <
typename ResourceIdT = Aws::String>
68 m_resourceIdHasBeenSet =
true;
69 m_resourceId = std::forward<ResourceIdT>(value);
71 template <
typename ResourceIdT = Aws::String>
85 m_resourceTypeHasBeenSet =
true;
86 m_resourceType = value;
100 template <
typename AccountIdT = Aws::String>
102 m_accountIdHasBeenSet =
true;
103 m_accountId = std::forward<AccountIdT>(value);
105 template <
typename AccountIdT = Aws::String>
119 m_findingHasBeenSet =
true;
134 template <
typename FindingDescriptionT = Aws::String>
136 m_findingDescriptionHasBeenSet =
true;
137 m_findingDescription = std::forward<FindingDescriptionT>(value);
139 template <
typename FindingDescriptionT = Aws::String>
152 template <
typename SavingsOpportunityT = IdleSavingsOpportunity>
154 m_savingsOpportunityHasBeenSet =
true;
155 m_savingsOpportunity = std::forward<SavingsOpportunityT>(value);
157 template <
typename SavingsOpportunityT = IdleSavingsOpportunity>
170 return m_savingsOpportunityAfterDiscounts;
173 template <
typename SavingsOpportunityAfterDiscountsT = IdleSavingsOpportunityAfterDiscounts>
175 m_savingsOpportunityAfterDiscountsHasBeenSet =
true;
176 m_savingsOpportunityAfterDiscounts = std::forward<SavingsOpportunityAfterDiscountsT>(value);
178 template <
typename SavingsOpportunityAfterDiscountsT = IdleSavingsOpportunityAfterDiscounts>
192 template <
typename UtilizationMetricsT = Aws::Vector<IdleUtilizationMetric>>
194 m_utilizationMetricsHasBeenSet =
true;
195 m_utilizationMetrics = std::forward<UtilizationMetricsT>(value);
197 template <
typename UtilizationMetricsT = Aws::Vector<IdleUtilizationMetric>>
202 template <
typename UtilizationMetricsT = IdleUtilizationMetric>
204 m_utilizationMetricsHasBeenSet =
true;
205 m_utilizationMetrics.emplace_back(std::forward<UtilizationMetricsT>(value));
217 m_lookBackPeriodInDaysHasBeenSet =
true;
218 m_lookBackPeriodInDays = value;
233 template <
typename LastRefreshTimestampT = Aws::Utils::DateTime>
235 m_lastRefreshTimestampHasBeenSet =
true;
236 m_lastRefreshTimestamp = std::forward<LastRefreshTimestampT>(value);
238 template <
typename LastRefreshTimestampT = Aws::Utils::DateTime>
251 template <
typename TagsT = Aws::Vector<Tag>>
253 m_tagsHasBeenSet =
true;
254 m_tags = std::forward<TagsT>(value);
256 template <
typename TagsT = Aws::Vector<Tag>>
258 SetTags(std::forward<TagsT>(value));
261 template <
typename TagsT = Tag>
263 m_tagsHasBeenSet =
true;
264 m_tags.emplace_back(std::forward<TagsT>(value));
281 IdleSavingsOpportunity m_savingsOpportunity;
283 IdleSavingsOpportunityAfterDiscounts m_savingsOpportunityAfterDiscounts;
287 double m_lookBackPeriodInDays{0.0};
292 bool m_resourceArnHasBeenSet =
false;
293 bool m_resourceIdHasBeenSet =
false;
294 bool m_resourceTypeHasBeenSet =
false;
295 bool m_accountIdHasBeenSet =
false;
296 bool m_findingHasBeenSet =
false;
297 bool m_findingDescriptionHasBeenSet =
false;
298 bool m_savingsOpportunityHasBeenSet =
false;
299 bool m_savingsOpportunityAfterDiscountsHasBeenSet =
false;
300 bool m_utilizationMetricsHasBeenSet =
false;
301 bool m_lookBackPeriodInDaysHasBeenSet =
false;
302 bool m_lastRefreshTimestampHasBeenSet =
false;
303 bool m_tagsHasBeenSet =
false;
bool SavingsOpportunityHasBeenSet() const
void SetResourceArn(ResourceArnT &&value)
double GetLookBackPeriodInDays() const
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)
bool FindingHasBeenSet() const
IdleFinding GetFinding() const
bool ResourceTypeHasBeenSet() const
AWS_COMPUTEOPTIMIZER_API IdleRecommendation(Aws::Utils::Json::JsonView jsonValue)
void SetAccountId(AccountIdT &&value)
const IdleSavingsOpportunity & GetSavingsOpportunity() const
bool LastRefreshTimestampHasBeenSet() const
IdleRecommendation & WithFinding(IdleFinding value)
AWS_COMPUTEOPTIMIZER_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_COMPUTEOPTIMIZER_API IdleRecommendation & operator=(Aws::Utils::Json::JsonView jsonValue)
bool ResourceArnHasBeenSet() const
bool UtilizationMetricsHasBeenSet() const
IdleRecommendation & WithLookBackPeriodInDays(double value)
IdleRecommendation & WithFindingDescription(FindingDescriptionT &&value)
bool ResourceIdHasBeenSet() const
void SetResourceId(ResourceIdT &&value)
IdleRecommendationResourceType GetResourceType() const
IdleRecommendation & WithSavingsOpportunityAfterDiscounts(SavingsOpportunityAfterDiscountsT &&value)
const Aws::String & GetAccountId() const
IdleRecommendation & WithUtilizationMetrics(UtilizationMetricsT &&value)
void SetFindingDescription(FindingDescriptionT &&value)
const Aws::String & GetResourceId() const
IdleRecommendation & WithLastRefreshTimestamp(LastRefreshTimestampT &&value)
const Aws::String & GetFindingDescription() const
const Aws::String & GetResourceArn() const
IdleRecommendation & WithSavingsOpportunity(SavingsOpportunityT &&value)
bool FindingDescriptionHasBeenSet() const
bool SavingsOpportunityAfterDiscountsHasBeenSet() const
IdleRecommendation & WithResourceArn(ResourceArnT &&value)
bool LookBackPeriodInDaysHasBeenSet() const
const Aws::Vector< Tag > & GetTags() const
void SetTags(TagsT &&value)
void SetLookBackPeriodInDays(double value)
void SetSavingsOpportunity(SavingsOpportunityT &&value)
bool TagsHasBeenSet() const
const IdleSavingsOpportunityAfterDiscounts & GetSavingsOpportunityAfterDiscounts() const
IdleRecommendation & WithResourceType(IdleRecommendationResourceType value)
bool AccountIdHasBeenSet() const
void SetLastRefreshTimestamp(LastRefreshTimestampT &&value)
void SetFinding(IdleFinding value)
const Aws::Utils::DateTime & GetLastRefreshTimestamp() const
IdleRecommendation & WithTags(TagsT &&value)
IdleRecommendation & AddTags(TagsT &&value)
const Aws::Vector< IdleUtilizationMetric > & GetUtilizationMetrics() const
IdleRecommendationResourceType
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue