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>
36namespace ComputeOptimizer
64 inline void SetInstanceArn(
const char* value) { m_instanceArnHasBeenSet =
true; m_instanceArn.assign(value); }
78 inline void SetAccountId(
const char* value) { m_accountIdHasBeenSet =
true; m_accountId.assign(value); }
92 inline void SetInstanceName(
const char* value) { m_instanceNameHasBeenSet =
true; m_instanceName.assign(value); }
106 inline void SetCurrentInstanceType(
const char* value) { m_currentInstanceTypeHasBeenSet =
true; m_currentInstanceType.assign(value); }
135 inline void SetFinding(
Finding&& value) { m_findingHasBeenSet =
true; m_finding = std::move(value); }
278 inline void SetLookBackPeriodInDays(
double value) { m_lookBackPeriodInDaysHasBeenSet =
true; m_lookBackPeriodInDays = value; }
445 bool m_instanceArnHasBeenSet =
false;
448 bool m_accountIdHasBeenSet =
false;
451 bool m_instanceNameHasBeenSet =
false;
454 bool m_currentInstanceTypeHasBeenSet =
false;
457 bool m_findingHasBeenSet =
false;
460 bool m_findingReasonCodesHasBeenSet =
false;
463 bool m_utilizationMetricsHasBeenSet =
false;
465 double m_lookBackPeriodInDays;
466 bool m_lookBackPeriodInDaysHasBeenSet =
false;
469 bool m_recommendationOptionsHasBeenSet =
false;
472 bool m_recommendationSourcesHasBeenSet =
false;
475 bool m_lastRefreshTimestampHasBeenSet =
false;
478 bool m_currentPerformanceRiskHasBeenSet =
false;
481 bool m_effectiveRecommendationPreferencesHasBeenSet =
false;
484 bool m_inferredWorkloadTypesHasBeenSet =
false;
487 bool m_instanceStateHasBeenSet =
false;
490 bool m_tagsHasBeenSet =
false;
493 bool m_externalMetricStatusHasBeenSet =
false;
495 GpuInfo m_currentInstanceGpuInfo;
496 bool m_currentInstanceGpuInfoHasBeenSet =
false;
499 bool m_idleHasBeenSet =
false;
InstanceRecommendation & WithUtilizationMetrics(Aws::Vector< UtilizationMetric > &&value)
void SetInstanceName(const char *value)
const EffectiveRecommendationPreferences & GetEffectiveRecommendationPreferences() const
InstanceRecommendation & WithIdle(InstanceIdle &&value)
void SetFinding(Finding &&value)
void SetInstanceState(const InstanceState &value)
InstanceRecommendation & WithCurrentPerformanceRisk(CurrentPerformanceRisk &&value)
InstanceRecommendation & WithCurrentInstanceType(Aws::String &&value)
void SetExternalMetricStatus(const ExternalMetricStatus &value)
void SetLastRefreshTimestamp(Aws::Utils::DateTime &&value)
const Aws::String & GetAccountId() const
void SetInferredWorkloadTypes(Aws::Vector< InferredWorkloadType > &&value)
void SetCurrentPerformanceRisk(const CurrentPerformanceRisk &value)
AWS_COMPUTEOPTIMIZER_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_COMPUTEOPTIMIZER_API InstanceRecommendation()
InstanceRecommendation & WithFindingReasonCodes(const Aws::Vector< InstanceRecommendationFindingReasonCode > &value)
bool CurrentInstanceGpuInfoHasBeenSet() const
const Aws::Vector< InstanceRecommendationOption > & GetRecommendationOptions() const
bool InstanceNameHasBeenSet() const
void SetLastRefreshTimestamp(const Aws::Utils::DateTime &value)
void SetAccountId(const Aws::String &value)
void SetCurrentPerformanceRisk(CurrentPerformanceRisk &&value)
void SetAccountId(Aws::String &&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)
void SetInstanceName(Aws::String &&value)
InstanceRecommendation & WithFindingReasonCodes(Aws::Vector< InstanceRecommendationFindingReasonCode > &&value)
bool TagsHasBeenSet() const
void SetCurrentInstanceType(const Aws::String &value)
InstanceRecommendation & AddTags(const Tag &value)
bool RecommendationSourcesHasBeenSet() const
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)
bool FindingReasonCodesHasBeenSet() const
bool CurrentPerformanceRiskHasBeenSet() const
const Finding & GetFinding() const
void SetInstanceName(const Aws::String &value)
InstanceRecommendation & WithCurrentInstanceGpuInfo(const GpuInfo &value)
void SetLookBackPeriodInDays(double value)
InstanceRecommendation & WithInstanceArn(Aws::String &&value)
void SetEffectiveRecommendationPreferences(EffectiveRecommendationPreferences &&value)
const CurrentPerformanceRisk & GetCurrentPerformanceRisk() const
InstanceRecommendation & WithRecommendationOptions(Aws::Vector< InstanceRecommendationOption > &&value)
void SetTags(Aws::Vector< Tag > &&value)
double GetLookBackPeriodInDays() const
void SetInstanceArn(const char *value)
void SetTags(const Aws::Vector< Tag > &value)
InstanceRecommendation & WithLastRefreshTimestamp(Aws::Utils::DateTime &&value)
InstanceRecommendation & WithAccountId(Aws::String &&value)
void SetIdle(InstanceIdle &&value)
void SetRecommendationOptions(const Aws::Vector< InstanceRecommendationOption > &value)
void SetCurrentInstanceType(const char *value)
void SetRecommendationSources(Aws::Vector< RecommendationSource > &&value)
InstanceRecommendation & AddFindingReasonCodes(const InstanceRecommendationFindingReasonCode &value)
InstanceRecommendation & WithCurrentInstanceGpuInfo(GpuInfo &&value)
bool LastRefreshTimestampHasBeenSet() const
const InstanceIdle & GetIdle() const
InstanceRecommendation & WithInferredWorkloadTypes(Aws::Vector< InferredWorkloadType > &&value)
InstanceRecommendation & WithInstanceName(Aws::String &&value)
InstanceRecommendation & AddTags(Tag &&value)
bool InstanceArnHasBeenSet() const
void SetInstanceArn(Aws::String &&value)
const Aws::String & GetInstanceArn() const
InstanceRecommendation & WithExternalMetricStatus(ExternalMetricStatus &&value)
void SetRecommendationSources(const Aws::Vector< RecommendationSource > &value)
bool EffectiveRecommendationPreferencesHasBeenSet() const
bool InferredWorkloadTypesHasBeenSet() const
void SetInstanceState(InstanceState &&value)
bool IdleHasBeenSet() const
const Aws::Vector< InstanceRecommendationFindingReasonCode > & GetFindingReasonCodes() const
InstanceRecommendation & WithAccountId(const Aws::String &value)
InstanceRecommendation & WithInferredWorkloadTypes(const Aws::Vector< InferredWorkloadType > &value)
bool RecommendationOptionsHasBeenSet() const
InstanceRecommendation & AddUtilizationMetrics(const UtilizationMetric &value)
InstanceRecommendation & WithRecommendationSources(const Aws::Vector< RecommendationSource > &value)
bool AccountIdHasBeenSet() const
InstanceRecommendation & WithInstanceArn(const char *value)
InstanceRecommendation & WithInstanceState(const InstanceState &value)
InstanceRecommendation & WithFinding(const Finding &value)
void SetUtilizationMetrics(const Aws::Vector< UtilizationMetric > &value)
bool CurrentInstanceTypeHasBeenSet() const
void SetCurrentInstanceGpuInfo(const GpuInfo &value)
InstanceRecommendation & WithLookBackPeriodInDays(double value)
void SetFindingReasonCodes(Aws::Vector< InstanceRecommendationFindingReasonCode > &&value)
const Aws::String & GetInstanceName() const
InstanceRecommendation & AddRecommendationOptions(const InstanceRecommendationOption &value)
void SetExternalMetricStatus(ExternalMetricStatus &&value)
AWS_COMPUTEOPTIMIZER_API InstanceRecommendation(Aws::Utils::Json::JsonView jsonValue)
InstanceRecommendation & WithCurrentPerformanceRisk(const CurrentPerformanceRisk &value)
const GpuInfo & GetCurrentInstanceGpuInfo() const
const ExternalMetricStatus & GetExternalMetricStatus() const
const Aws::String & GetCurrentInstanceType() const
void SetInferredWorkloadTypes(const Aws::Vector< InferredWorkloadType > &value)
InstanceRecommendation & WithEffectiveRecommendationPreferences(EffectiveRecommendationPreferences &&value)
void SetInstanceArn(const Aws::String &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)
bool LookBackPeriodInDaysHasBeenSet() const
void SetCurrentInstanceType(Aws::String &&value)
InstanceRecommendation & WithRecommendationOptions(const Aws::Vector< InstanceRecommendationOption > &value)
const Aws::Vector< Tag > & GetTags() const
bool FindingHasBeenSet() const
void SetRecommendationOptions(Aws::Vector< InstanceRecommendationOption > &&value)
void SetFindingReasonCodes(const Aws::Vector< InstanceRecommendationFindingReasonCode > &value)
bool UtilizationMetricsHasBeenSet() const
void SetFinding(const Finding &value)
InstanceRecommendation & WithTags(Aws::Vector< Tag > &&value)
void SetIdle(const InstanceIdle &value)
bool InstanceStateHasBeenSet() const
InstanceRecommendation & WithInstanceArn(const Aws::String &value)
InstanceRecommendation & WithInstanceState(InstanceState &&value)
InstanceRecommendation & AddRecommendationOptions(InstanceRecommendationOption &&value)
const Aws::Utils::DateTime & GetLastRefreshTimestamp() const
bool ExternalMetricStatusHasBeenSet() const
const Aws::Vector< RecommendationSource > & GetRecommendationSources() const
const InstanceState & GetInstanceState() 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)
void SetCurrentInstanceGpuInfo(GpuInfo &&value)
const Aws::Vector< InferredWorkloadType > & GetInferredWorkloadTypes() const
InstanceRecommendation & AddFindingReasonCodes(InstanceRecommendationFindingReasonCode &&value)
void SetAccountId(const char *value)
InstanceRecommendationFindingReasonCode
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue