AWS SDK for C++

AWS SDK for C++ Version 1.11.440

Loading...
Searching...
No Matches
InstanceRecommendation.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/core/utils/DateTime.h>
12#include <aws/compute-optimizer/model/CurrentPerformanceRisk.h>
13#include <aws/compute-optimizer/model/EffectiveRecommendationPreferences.h>
14#include <aws/compute-optimizer/model/InstanceState.h>
15#include <aws/compute-optimizer/model/ExternalMetricStatus.h>
16#include <aws/compute-optimizer/model/GpuInfo.h>
17#include <aws/compute-optimizer/model/InstanceIdle.h>
18#include <aws/compute-optimizer/model/InstanceRecommendationFindingReasonCode.h>
19#include <aws/compute-optimizer/model/UtilizationMetric.h>
20#include <aws/compute-optimizer/model/InstanceRecommendationOption.h>
21#include <aws/compute-optimizer/model/RecommendationSource.h>
22#include <aws/compute-optimizer/model/InferredWorkloadType.h>
23#include <aws/compute-optimizer/model/Tag.h>
24#include <utility>
25
26namespace Aws
27{
28namespace Utils
29{
30namespace Json
31{
32 class JsonValue;
33 class JsonView;
34} // namespace Json
35} // namespace Utils
36namespace ComputeOptimizer
37{
38namespace Model
39{
40
48 {
49 public:
50 AWS_COMPUTEOPTIMIZER_API InstanceRecommendation();
51 AWS_COMPUTEOPTIMIZER_API InstanceRecommendation(Aws::Utils::Json::JsonView jsonValue);
52 AWS_COMPUTEOPTIMIZER_API InstanceRecommendation& operator=(Aws::Utils::Json::JsonView jsonValue);
53 AWS_COMPUTEOPTIMIZER_API Aws::Utils::Json::JsonValue Jsonize() const;
54
55
57
60 inline const Aws::String& GetInstanceArn() const{ return m_instanceArn; }
61 inline bool InstanceArnHasBeenSet() const { return m_instanceArnHasBeenSet; }
62 inline void SetInstanceArn(const Aws::String& value) { m_instanceArnHasBeenSet = true; m_instanceArn = value; }
63 inline void SetInstanceArn(Aws::String&& value) { m_instanceArnHasBeenSet = true; m_instanceArn = std::move(value); }
64 inline void SetInstanceArn(const char* value) { m_instanceArnHasBeenSet = true; m_instanceArn.assign(value); }
65 inline InstanceRecommendation& WithInstanceArn(const Aws::String& value) { SetInstanceArn(value); return *this;}
66 inline InstanceRecommendation& WithInstanceArn(Aws::String&& value) { SetInstanceArn(std::move(value)); return *this;}
67 inline InstanceRecommendation& WithInstanceArn(const char* value) { SetInstanceArn(value); return *this;}
69
71
74 inline const Aws::String& GetAccountId() const{ return m_accountId; }
75 inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; }
76 inline void SetAccountId(const Aws::String& value) { m_accountIdHasBeenSet = true; m_accountId = value; }
77 inline void SetAccountId(Aws::String&& value) { m_accountIdHasBeenSet = true; m_accountId = std::move(value); }
78 inline void SetAccountId(const char* value) { m_accountIdHasBeenSet = true; m_accountId.assign(value); }
79 inline InstanceRecommendation& WithAccountId(const Aws::String& value) { SetAccountId(value); return *this;}
80 inline InstanceRecommendation& WithAccountId(Aws::String&& value) { SetAccountId(std::move(value)); return *this;}
81 inline InstanceRecommendation& WithAccountId(const char* value) { SetAccountId(value); return *this;}
83
85
88 inline const Aws::String& GetInstanceName() const{ return m_instanceName; }
89 inline bool InstanceNameHasBeenSet() const { return m_instanceNameHasBeenSet; }
90 inline void SetInstanceName(const Aws::String& value) { m_instanceNameHasBeenSet = true; m_instanceName = value; }
91 inline void SetInstanceName(Aws::String&& value) { m_instanceNameHasBeenSet = true; m_instanceName = std::move(value); }
92 inline void SetInstanceName(const char* value) { m_instanceNameHasBeenSet = true; m_instanceName.assign(value); }
93 inline InstanceRecommendation& WithInstanceName(const Aws::String& value) { SetInstanceName(value); return *this;}
94 inline InstanceRecommendation& WithInstanceName(Aws::String&& value) { SetInstanceName(std::move(value)); return *this;}
95 inline InstanceRecommendation& WithInstanceName(const char* value) { SetInstanceName(value); return *this;}
97
99
102 inline const Aws::String& GetCurrentInstanceType() const{ return m_currentInstanceType; }
103 inline bool CurrentInstanceTypeHasBeenSet() const { return m_currentInstanceTypeHasBeenSet; }
104 inline void SetCurrentInstanceType(const Aws::String& value) { m_currentInstanceTypeHasBeenSet = true; m_currentInstanceType = value; }
105 inline void SetCurrentInstanceType(Aws::String&& value) { m_currentInstanceTypeHasBeenSet = true; m_currentInstanceType = std::move(value); }
106 inline void SetCurrentInstanceType(const char* value) { m_currentInstanceTypeHasBeenSet = true; m_currentInstanceType.assign(value); }
108 inline InstanceRecommendation& WithCurrentInstanceType(Aws::String&& value) { SetCurrentInstanceType(std::move(value)); return *this;}
109 inline InstanceRecommendation& WithCurrentInstanceType(const char* value) { SetCurrentInstanceType(value); return *this;}
111
113
132 inline const Finding& GetFinding() const{ return m_finding; }
133 inline bool FindingHasBeenSet() const { return m_findingHasBeenSet; }
134 inline void SetFinding(const Finding& value) { m_findingHasBeenSet = true; m_finding = value; }
135 inline void SetFinding(Finding&& value) { m_findingHasBeenSet = true; m_finding = std::move(value); }
136 inline InstanceRecommendation& WithFinding(const Finding& value) { SetFinding(value); return *this;}
137 inline InstanceRecommendation& WithFinding(Finding&& value) { SetFinding(std::move(value)); return *this;}
139
141
246 inline const Aws::Vector<InstanceRecommendationFindingReasonCode>& GetFindingReasonCodes() const{ return m_findingReasonCodes; }
247 inline bool FindingReasonCodesHasBeenSet() const { return m_findingReasonCodesHasBeenSet; }
248 inline void SetFindingReasonCodes(const Aws::Vector<InstanceRecommendationFindingReasonCode>& value) { m_findingReasonCodesHasBeenSet = true; m_findingReasonCodes = value; }
249 inline void SetFindingReasonCodes(Aws::Vector<InstanceRecommendationFindingReasonCode>&& value) { m_findingReasonCodesHasBeenSet = true; m_findingReasonCodes = std::move(value); }
252 inline InstanceRecommendation& AddFindingReasonCodes(const InstanceRecommendationFindingReasonCode& value) { m_findingReasonCodesHasBeenSet = true; m_findingReasonCodes.push_back(value); return *this; }
253 inline InstanceRecommendation& AddFindingReasonCodes(InstanceRecommendationFindingReasonCode&& value) { m_findingReasonCodesHasBeenSet = true; m_findingReasonCodes.push_back(std::move(value)); return *this; }
255
257
261 inline const Aws::Vector<UtilizationMetric>& GetUtilizationMetrics() const{ return m_utilizationMetrics; }
262 inline bool UtilizationMetricsHasBeenSet() const { return m_utilizationMetricsHasBeenSet; }
263 inline void SetUtilizationMetrics(const Aws::Vector<UtilizationMetric>& value) { m_utilizationMetricsHasBeenSet = true; m_utilizationMetrics = value; }
264 inline void SetUtilizationMetrics(Aws::Vector<UtilizationMetric>&& value) { m_utilizationMetricsHasBeenSet = true; m_utilizationMetrics = std::move(value); }
267 inline InstanceRecommendation& AddUtilizationMetrics(const UtilizationMetric& value) { m_utilizationMetricsHasBeenSet = true; m_utilizationMetrics.push_back(value); return *this; }
268 inline InstanceRecommendation& AddUtilizationMetrics(UtilizationMetric&& value) { m_utilizationMetricsHasBeenSet = true; m_utilizationMetrics.push_back(std::move(value)); return *this; }
270
272
276 inline double GetLookBackPeriodInDays() const{ return m_lookBackPeriodInDays; }
277 inline bool LookBackPeriodInDaysHasBeenSet() const { return m_lookBackPeriodInDaysHasBeenSet; }
278 inline void SetLookBackPeriodInDays(double value) { m_lookBackPeriodInDaysHasBeenSet = true; m_lookBackPeriodInDays = value; }
279 inline InstanceRecommendation& WithLookBackPeriodInDays(double value) { SetLookBackPeriodInDays(value); return *this;}
281
283
287 inline const Aws::Vector<InstanceRecommendationOption>& GetRecommendationOptions() const{ return m_recommendationOptions; }
288 inline bool RecommendationOptionsHasBeenSet() const { return m_recommendationOptionsHasBeenSet; }
289 inline void SetRecommendationOptions(const Aws::Vector<InstanceRecommendationOption>& value) { m_recommendationOptionsHasBeenSet = true; m_recommendationOptions = value; }
290 inline void SetRecommendationOptions(Aws::Vector<InstanceRecommendationOption>&& value) { m_recommendationOptionsHasBeenSet = true; m_recommendationOptions = std::move(value); }
293 inline InstanceRecommendation& AddRecommendationOptions(const InstanceRecommendationOption& value) { m_recommendationOptionsHasBeenSet = true; m_recommendationOptions.push_back(value); return *this; }
294 inline InstanceRecommendation& AddRecommendationOptions(InstanceRecommendationOption&& value) { m_recommendationOptionsHasBeenSet = true; m_recommendationOptions.push_back(std::move(value)); return *this; }
296
298
302 inline const Aws::Vector<RecommendationSource>& GetRecommendationSources() const{ return m_recommendationSources; }
303 inline bool RecommendationSourcesHasBeenSet() const { return m_recommendationSourcesHasBeenSet; }
304 inline void SetRecommendationSources(const Aws::Vector<RecommendationSource>& value) { m_recommendationSourcesHasBeenSet = true; m_recommendationSources = value; }
305 inline void SetRecommendationSources(Aws::Vector<RecommendationSource>&& value) { m_recommendationSourcesHasBeenSet = true; m_recommendationSources = std::move(value); }
308 inline InstanceRecommendation& AddRecommendationSources(const RecommendationSource& value) { m_recommendationSourcesHasBeenSet = true; m_recommendationSources.push_back(value); return *this; }
309 inline InstanceRecommendation& AddRecommendationSources(RecommendationSource&& value) { m_recommendationSourcesHasBeenSet = true; m_recommendationSources.push_back(std::move(value)); return *this; }
311
313
316 inline const Aws::Utils::DateTime& GetLastRefreshTimestamp() const{ return m_lastRefreshTimestamp; }
317 inline bool LastRefreshTimestampHasBeenSet() const { return m_lastRefreshTimestampHasBeenSet; }
318 inline void SetLastRefreshTimestamp(const Aws::Utils::DateTime& value) { m_lastRefreshTimestampHasBeenSet = true; m_lastRefreshTimestamp = value; }
319 inline void SetLastRefreshTimestamp(Aws::Utils::DateTime&& value) { m_lastRefreshTimestampHasBeenSet = true; m_lastRefreshTimestamp = std::move(value); }
323
325
330 inline const CurrentPerformanceRisk& GetCurrentPerformanceRisk() const{ return m_currentPerformanceRisk; }
331 inline bool CurrentPerformanceRiskHasBeenSet() const { return m_currentPerformanceRiskHasBeenSet; }
332 inline void SetCurrentPerformanceRisk(const CurrentPerformanceRisk& value) { m_currentPerformanceRiskHasBeenSet = true; m_currentPerformanceRisk = value; }
333 inline void SetCurrentPerformanceRisk(CurrentPerformanceRisk&& value) { m_currentPerformanceRiskHasBeenSet = true; m_currentPerformanceRisk = std::move(value); }
337
339
343 inline const EffectiveRecommendationPreferences& GetEffectiveRecommendationPreferences() const{ return m_effectiveRecommendationPreferences; }
344 inline bool EffectiveRecommendationPreferencesHasBeenSet() const { return m_effectiveRecommendationPreferencesHasBeenSet; }
345 inline void SetEffectiveRecommendationPreferences(const EffectiveRecommendationPreferences& value) { m_effectiveRecommendationPreferencesHasBeenSet = true; m_effectiveRecommendationPreferences = value; }
346 inline void SetEffectiveRecommendationPreferences(EffectiveRecommendationPreferences&& value) { m_effectiveRecommendationPreferencesHasBeenSet = true; m_effectiveRecommendationPreferences = std::move(value); }
350
352
370 inline const Aws::Vector<InferredWorkloadType>& GetInferredWorkloadTypes() const{ return m_inferredWorkloadTypes; }
371 inline bool InferredWorkloadTypesHasBeenSet() const { return m_inferredWorkloadTypesHasBeenSet; }
372 inline void SetInferredWorkloadTypes(const Aws::Vector<InferredWorkloadType>& value) { m_inferredWorkloadTypesHasBeenSet = true; m_inferredWorkloadTypes = value; }
373 inline void SetInferredWorkloadTypes(Aws::Vector<InferredWorkloadType>&& value) { m_inferredWorkloadTypesHasBeenSet = true; m_inferredWorkloadTypes = std::move(value); }
376 inline InstanceRecommendation& AddInferredWorkloadTypes(const InferredWorkloadType& value) { m_inferredWorkloadTypesHasBeenSet = true; m_inferredWorkloadTypes.push_back(value); return *this; }
377 inline InstanceRecommendation& AddInferredWorkloadTypes(InferredWorkloadType&& value) { m_inferredWorkloadTypesHasBeenSet = true; m_inferredWorkloadTypes.push_back(std::move(value)); return *this; }
379
381
384 inline const InstanceState& GetInstanceState() const{ return m_instanceState; }
385 inline bool InstanceStateHasBeenSet() const { return m_instanceStateHasBeenSet; }
386 inline void SetInstanceState(const InstanceState& value) { m_instanceStateHasBeenSet = true; m_instanceState = value; }
387 inline void SetInstanceState(InstanceState&& value) { m_instanceStateHasBeenSet = true; m_instanceState = std::move(value); }
388 inline InstanceRecommendation& WithInstanceState(const InstanceState& value) { SetInstanceState(value); return *this;}
389 inline InstanceRecommendation& WithInstanceState(InstanceState&& value) { SetInstanceState(std::move(value)); return *this;}
391
393
396 inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; }
397 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
398 inline void SetTags(const Aws::Vector<Tag>& value) { m_tagsHasBeenSet = true; m_tags = value; }
399 inline void SetTags(Aws::Vector<Tag>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); }
400 inline InstanceRecommendation& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;}
401 inline InstanceRecommendation& WithTags(Aws::Vector<Tag>&& value) { SetTags(std::move(value)); return *this;}
402 inline InstanceRecommendation& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; }
403 inline InstanceRecommendation& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; }
405
407
411 inline const ExternalMetricStatus& GetExternalMetricStatus() const{ return m_externalMetricStatus; }
412 inline bool ExternalMetricStatusHasBeenSet() const { return m_externalMetricStatusHasBeenSet; }
413 inline void SetExternalMetricStatus(const ExternalMetricStatus& value) { m_externalMetricStatusHasBeenSet = true; m_externalMetricStatus = value; }
414 inline void SetExternalMetricStatus(ExternalMetricStatus&& value) { m_externalMetricStatusHasBeenSet = true; m_externalMetricStatus = std::move(value); }
418
420
423 inline const GpuInfo& GetCurrentInstanceGpuInfo() const{ return m_currentInstanceGpuInfo; }
424 inline bool CurrentInstanceGpuInfoHasBeenSet() const { return m_currentInstanceGpuInfoHasBeenSet; }
425 inline void SetCurrentInstanceGpuInfo(const GpuInfo& value) { m_currentInstanceGpuInfoHasBeenSet = true; m_currentInstanceGpuInfo = value; }
426 inline void SetCurrentInstanceGpuInfo(GpuInfo&& value) { m_currentInstanceGpuInfoHasBeenSet = true; m_currentInstanceGpuInfo = std::move(value); }
428 inline InstanceRecommendation& WithCurrentInstanceGpuInfo(GpuInfo&& value) { SetCurrentInstanceGpuInfo(std::move(value)); return *this;}
430
432
435 inline const InstanceIdle& GetIdle() const{ return m_idle; }
436 inline bool IdleHasBeenSet() const { return m_idleHasBeenSet; }
437 inline void SetIdle(const InstanceIdle& value) { m_idleHasBeenSet = true; m_idle = value; }
438 inline void SetIdle(InstanceIdle&& value) { m_idleHasBeenSet = true; m_idle = std::move(value); }
439 inline InstanceRecommendation& WithIdle(const InstanceIdle& value) { SetIdle(value); return *this;}
440 inline InstanceRecommendation& WithIdle(InstanceIdle&& value) { SetIdle(std::move(value)); return *this;}
442 private:
443
444 Aws::String m_instanceArn;
445 bool m_instanceArnHasBeenSet = false;
446
447 Aws::String m_accountId;
448 bool m_accountIdHasBeenSet = false;
449
450 Aws::String m_instanceName;
451 bool m_instanceNameHasBeenSet = false;
452
453 Aws::String m_currentInstanceType;
454 bool m_currentInstanceTypeHasBeenSet = false;
455
456 Finding m_finding;
457 bool m_findingHasBeenSet = false;
458
460 bool m_findingReasonCodesHasBeenSet = false;
461
462 Aws::Vector<UtilizationMetric> m_utilizationMetrics;
463 bool m_utilizationMetricsHasBeenSet = false;
464
465 double m_lookBackPeriodInDays;
466 bool m_lookBackPeriodInDaysHasBeenSet = false;
467
468 Aws::Vector<InstanceRecommendationOption> m_recommendationOptions;
469 bool m_recommendationOptionsHasBeenSet = false;
470
471 Aws::Vector<RecommendationSource> m_recommendationSources;
472 bool m_recommendationSourcesHasBeenSet = false;
473
474 Aws::Utils::DateTime m_lastRefreshTimestamp;
475 bool m_lastRefreshTimestampHasBeenSet = false;
476
477 CurrentPerformanceRisk m_currentPerformanceRisk;
478 bool m_currentPerformanceRiskHasBeenSet = false;
479
480 EffectiveRecommendationPreferences m_effectiveRecommendationPreferences;
481 bool m_effectiveRecommendationPreferencesHasBeenSet = false;
482
483 Aws::Vector<InferredWorkloadType> m_inferredWorkloadTypes;
484 bool m_inferredWorkloadTypesHasBeenSet = false;
485
486 InstanceState m_instanceState;
487 bool m_instanceStateHasBeenSet = false;
488
489 Aws::Vector<Tag> m_tags;
490 bool m_tagsHasBeenSet = false;
491
492 ExternalMetricStatus m_externalMetricStatus;
493 bool m_externalMetricStatusHasBeenSet = false;
494
495 GpuInfo m_currentInstanceGpuInfo;
496 bool m_currentInstanceGpuInfoHasBeenSet = false;
497
498 InstanceIdle m_idle;
499 bool m_idleHasBeenSet = false;
500 };
501
502} // namespace Model
503} // namespace ComputeOptimizer
504} // namespace Aws
InstanceRecommendation & WithUtilizationMetrics(Aws::Vector< UtilizationMetric > &&value)
const EffectiveRecommendationPreferences & GetEffectiveRecommendationPreferences() const
InstanceRecommendation & WithIdle(InstanceIdle &&value)
InstanceRecommendation & WithCurrentPerformanceRisk(CurrentPerformanceRisk &&value)
InstanceRecommendation & WithCurrentInstanceType(Aws::String &&value)
void SetExternalMetricStatus(const ExternalMetricStatus &value)
void SetInferredWorkloadTypes(Aws::Vector< InferredWorkloadType > &&value)
void SetCurrentPerformanceRisk(const CurrentPerformanceRisk &value)
AWS_COMPUTEOPTIMIZER_API Aws::Utils::Json::JsonValue Jsonize() const
InstanceRecommendation & WithFindingReasonCodes(const Aws::Vector< InstanceRecommendationFindingReasonCode > &value)
const Aws::Vector< InstanceRecommendationOption > & GetRecommendationOptions() const
void SetLastRefreshTimestamp(const Aws::Utils::DateTime &value)
void SetCurrentPerformanceRisk(CurrentPerformanceRisk &&value)
void SetUtilizationMetrics(Aws::Vector< UtilizationMetric > &&value)
InstanceRecommendation & WithFinding(Finding &&value)
InstanceRecommendation & WithExternalMetricStatus(const ExternalMetricStatus &value)
InstanceRecommendation & WithInstanceName(const char *value)
InstanceRecommendation & WithCurrentInstanceType(const char *value)
InstanceRecommendation & WithFindingReasonCodes(Aws::Vector< InstanceRecommendationFindingReasonCode > &&value)
InstanceRecommendation & AddTags(const Tag &value)
InstanceRecommendation & WithAccountId(const char *value)
InstanceRecommendation & AddInferredWorkloadTypes(const InferredWorkloadType &value)
InstanceRecommendation & WithUtilizationMetrics(const Aws::Vector< UtilizationMetric > &value)
const Aws::Vector< UtilizationMetric > & GetUtilizationMetrics() const
InstanceRecommendation & WithEffectiveRecommendationPreferences(const EffectiveRecommendationPreferences &value)
InstanceRecommendation & WithCurrentInstanceGpuInfo(const GpuInfo &value)
InstanceRecommendation & WithInstanceArn(Aws::String &&value)
void SetEffectiveRecommendationPreferences(EffectiveRecommendationPreferences &&value)
const CurrentPerformanceRisk & GetCurrentPerformanceRisk() const
InstanceRecommendation & WithRecommendationOptions(Aws::Vector< InstanceRecommendationOption > &&value)
InstanceRecommendation & WithLastRefreshTimestamp(Aws::Utils::DateTime &&value)
InstanceRecommendation & WithAccountId(Aws::String &&value)
void SetRecommendationOptions(const Aws::Vector< InstanceRecommendationOption > &value)
void SetRecommendationSources(Aws::Vector< RecommendationSource > &&value)
InstanceRecommendation & AddFindingReasonCodes(const InstanceRecommendationFindingReasonCode &value)
InstanceRecommendation & WithCurrentInstanceGpuInfo(GpuInfo &&value)
InstanceRecommendation & WithInferredWorkloadTypes(Aws::Vector< InferredWorkloadType > &&value)
InstanceRecommendation & WithInstanceName(Aws::String &&value)
InstanceRecommendation & WithExternalMetricStatus(ExternalMetricStatus &&value)
void SetRecommendationSources(const Aws::Vector< RecommendationSource > &value)
const Aws::Vector< InstanceRecommendationFindingReasonCode > & GetFindingReasonCodes() const
InstanceRecommendation & WithAccountId(const Aws::String &value)
InstanceRecommendation & WithInferredWorkloadTypes(const Aws::Vector< InferredWorkloadType > &value)
InstanceRecommendation & AddUtilizationMetrics(const UtilizationMetric &value)
InstanceRecommendation & WithRecommendationSources(const Aws::Vector< RecommendationSource > &value)
InstanceRecommendation & WithInstanceArn(const char *value)
InstanceRecommendation & WithInstanceState(const InstanceState &value)
InstanceRecommendation & WithFinding(const Finding &value)
void SetUtilizationMetrics(const Aws::Vector< UtilizationMetric > &value)
InstanceRecommendation & WithLookBackPeriodInDays(double value)
void SetFindingReasonCodes(Aws::Vector< InstanceRecommendationFindingReasonCode > &&value)
InstanceRecommendation & AddRecommendationOptions(const InstanceRecommendationOption &value)
AWS_COMPUTEOPTIMIZER_API InstanceRecommendation(Aws::Utils::Json::JsonView jsonValue)
InstanceRecommendation & WithCurrentPerformanceRisk(const CurrentPerformanceRisk &value)
const ExternalMetricStatus & GetExternalMetricStatus() const
void SetInferredWorkloadTypes(const Aws::Vector< InferredWorkloadType > &value)
InstanceRecommendation & WithEffectiveRecommendationPreferences(EffectiveRecommendationPreferences &&value)
AWS_COMPUTEOPTIMIZER_API InstanceRecommendation & operator=(Aws::Utils::Json::JsonView jsonValue)
InstanceRecommendation & WithInstanceName(const Aws::String &value)
void SetEffectiveRecommendationPreferences(const EffectiveRecommendationPreferences &value)
InstanceRecommendation & AddInferredWorkloadTypes(InferredWorkloadType &&value)
InstanceRecommendation & WithRecommendationOptions(const Aws::Vector< InstanceRecommendationOption > &value)
void SetRecommendationOptions(Aws::Vector< InstanceRecommendationOption > &&value)
void SetFindingReasonCodes(const Aws::Vector< InstanceRecommendationFindingReasonCode > &value)
InstanceRecommendation & WithTags(Aws::Vector< Tag > &&value)
InstanceRecommendation & WithInstanceArn(const Aws::String &value)
InstanceRecommendation & WithInstanceState(InstanceState &&value)
InstanceRecommendation & AddRecommendationOptions(InstanceRecommendationOption &&value)
const Aws::Utils::DateTime & GetLastRefreshTimestamp() const
const Aws::Vector< RecommendationSource > & GetRecommendationSources() const
InstanceRecommendation & WithTags(const Aws::Vector< Tag > &value)
InstanceRecommendation & WithLastRefreshTimestamp(const Aws::Utils::DateTime &value)
InstanceRecommendation & WithRecommendationSources(Aws::Vector< RecommendationSource > &&value)
InstanceRecommendation & AddUtilizationMetrics(UtilizationMetric &&value)
InstanceRecommendation & WithCurrentInstanceType(const Aws::String &value)
InstanceRecommendation & WithIdle(const InstanceIdle &value)
InstanceRecommendation & AddRecommendationSources(const RecommendationSource &value)
InstanceRecommendation & AddRecommendationSources(RecommendationSource &&value)
const Aws::Vector< InferredWorkloadType > & GetInferredWorkloadTypes() const
InstanceRecommendation & AddFindingReasonCodes(InstanceRecommendationFindingReasonCode &&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