/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { template class AmazonWebServiceResult; namespace Utils { namespace Json { class JsonValue; } // namespace Json } // namespace Utils namespace ComputeOptimizer { namespace Model { class GetEffectiveRecommendationPreferencesResult { public: AWS_COMPUTEOPTIMIZER_API GetEffectiveRecommendationPreferencesResult(); AWS_COMPUTEOPTIMIZER_API GetEffectiveRecommendationPreferencesResult(const Aws::AmazonWebServiceResult& result); AWS_COMPUTEOPTIMIZER_API GetEffectiveRecommendationPreferencesResult& operator=(const Aws::AmazonWebServiceResult& result); /** *

The status of the enhanced infrastructure metrics recommendation preference. * Considers all applicable preferences that you might have set at the resource, * account, and organization level.

A status of Active confirms * that the preference is applied in the latest recommendation refresh, and a * status of Inactive confirms that it's not yet applied to * recommendations.

To validate whether the preference is applied to your * last generated set of recommendations, review the * effectiveRecommendationPreferences value in the response of the * GetAutoScalingGroupRecommendations and * GetEC2InstanceRecommendations actions.

For more information, see * Enhanced * infrastructure metrics in the Compute Optimizer User Guide.

*/ inline const EnhancedInfrastructureMetrics& GetEnhancedInfrastructureMetrics() const{ return m_enhancedInfrastructureMetrics; } /** *

The status of the enhanced infrastructure metrics recommendation preference. * Considers all applicable preferences that you might have set at the resource, * account, and organization level.

A status of Active confirms * that the preference is applied in the latest recommendation refresh, and a * status of Inactive confirms that it's not yet applied to * recommendations.

To validate whether the preference is applied to your * last generated set of recommendations, review the * effectiveRecommendationPreferences value in the response of the * GetAutoScalingGroupRecommendations and * GetEC2InstanceRecommendations actions.

For more information, see * Enhanced * infrastructure metrics in the Compute Optimizer User Guide.

*/ inline void SetEnhancedInfrastructureMetrics(const EnhancedInfrastructureMetrics& value) { m_enhancedInfrastructureMetrics = value; } /** *

The status of the enhanced infrastructure metrics recommendation preference. * Considers all applicable preferences that you might have set at the resource, * account, and organization level.

A status of Active confirms * that the preference is applied in the latest recommendation refresh, and a * status of Inactive confirms that it's not yet applied to * recommendations.

To validate whether the preference is applied to your * last generated set of recommendations, review the * effectiveRecommendationPreferences value in the response of the * GetAutoScalingGroupRecommendations and * GetEC2InstanceRecommendations actions.

For more information, see * Enhanced * infrastructure metrics in the Compute Optimizer User Guide.

*/ inline void SetEnhancedInfrastructureMetrics(EnhancedInfrastructureMetrics&& value) { m_enhancedInfrastructureMetrics = std::move(value); } /** *

The status of the enhanced infrastructure metrics recommendation preference. * Considers all applicable preferences that you might have set at the resource, * account, and organization level.

A status of Active confirms * that the preference is applied in the latest recommendation refresh, and a * status of Inactive confirms that it's not yet applied to * recommendations.

To validate whether the preference is applied to your * last generated set of recommendations, review the * effectiveRecommendationPreferences value in the response of the * GetAutoScalingGroupRecommendations and * GetEC2InstanceRecommendations actions.

For more information, see * Enhanced * infrastructure metrics in the Compute Optimizer User Guide.

*/ inline GetEffectiveRecommendationPreferencesResult& WithEnhancedInfrastructureMetrics(const EnhancedInfrastructureMetrics& value) { SetEnhancedInfrastructureMetrics(value); return *this;} /** *

The status of the enhanced infrastructure metrics recommendation preference. * Considers all applicable preferences that you might have set at the resource, * account, and organization level.

A status of Active confirms * that the preference is applied in the latest recommendation refresh, and a * status of Inactive confirms that it's not yet applied to * recommendations.

To validate whether the preference is applied to your * last generated set of recommendations, review the * effectiveRecommendationPreferences value in the response of the * GetAutoScalingGroupRecommendations and * GetEC2InstanceRecommendations actions.

For more information, see * Enhanced * infrastructure metrics in the Compute Optimizer User Guide.

*/ inline GetEffectiveRecommendationPreferencesResult& WithEnhancedInfrastructureMetrics(EnhancedInfrastructureMetrics&& value) { SetEnhancedInfrastructureMetrics(std::move(value)); return *this;} /** *

The provider of the external metrics recommendation preference. Considers all * applicable preferences that you might have set at the account and organization * level.

If the preference is applied in the latest recommendation refresh, * an object with a valid source value appears in the response. If the * preference isn't applied to the recommendations already, then this object * doesn't appear in the response.

To validate whether the preference is * applied to your last generated set of recommendations, review the * effectiveRecommendationPreferences value in the response of the * GetEC2InstanceRecommendations actions.

For more information, see * Enhanced * infrastructure metrics in the Compute Optimizer User Guide.

*/ inline const ExternalMetricsPreference& GetExternalMetricsPreference() const{ return m_externalMetricsPreference; } /** *

The provider of the external metrics recommendation preference. Considers all * applicable preferences that you might have set at the account and organization * level.

If the preference is applied in the latest recommendation refresh, * an object with a valid source value appears in the response. If the * preference isn't applied to the recommendations already, then this object * doesn't appear in the response.

To validate whether the preference is * applied to your last generated set of recommendations, review the * effectiveRecommendationPreferences value in the response of the * GetEC2InstanceRecommendations actions.

For more information, see * Enhanced * infrastructure metrics in the Compute Optimizer User Guide.

*/ inline void SetExternalMetricsPreference(const ExternalMetricsPreference& value) { m_externalMetricsPreference = value; } /** *

The provider of the external metrics recommendation preference. Considers all * applicable preferences that you might have set at the account and organization * level.

If the preference is applied in the latest recommendation refresh, * an object with a valid source value appears in the response. If the * preference isn't applied to the recommendations already, then this object * doesn't appear in the response.

To validate whether the preference is * applied to your last generated set of recommendations, review the * effectiveRecommendationPreferences value in the response of the * GetEC2InstanceRecommendations actions.

For more information, see * Enhanced * infrastructure metrics in the Compute Optimizer User Guide.

*/ inline void SetExternalMetricsPreference(ExternalMetricsPreference&& value) { m_externalMetricsPreference = std::move(value); } /** *

The provider of the external metrics recommendation preference. Considers all * applicable preferences that you might have set at the account and organization * level.

If the preference is applied in the latest recommendation refresh, * an object with a valid source value appears in the response. If the * preference isn't applied to the recommendations already, then this object * doesn't appear in the response.

To validate whether the preference is * applied to your last generated set of recommendations, review the * effectiveRecommendationPreferences value in the response of the * GetEC2InstanceRecommendations actions.

For more information, see * Enhanced * infrastructure metrics in the Compute Optimizer User Guide.

*/ inline GetEffectiveRecommendationPreferencesResult& WithExternalMetricsPreference(const ExternalMetricsPreference& value) { SetExternalMetricsPreference(value); return *this;} /** *

The provider of the external metrics recommendation preference. Considers all * applicable preferences that you might have set at the account and organization * level.

If the preference is applied in the latest recommendation refresh, * an object with a valid source value appears in the response. If the * preference isn't applied to the recommendations already, then this object * doesn't appear in the response.

To validate whether the preference is * applied to your last generated set of recommendations, review the * effectiveRecommendationPreferences value in the response of the * GetEC2InstanceRecommendations actions.

For more information, see * Enhanced * infrastructure metrics in the Compute Optimizer User Guide.

*/ inline GetEffectiveRecommendationPreferencesResult& WithExternalMetricsPreference(ExternalMetricsPreference&& value) { SetExternalMetricsPreference(std::move(value)); return *this;} inline const Aws::String& GetRequestId() const{ return m_requestId; } inline void SetRequestId(const Aws::String& value) { m_requestId = value; } inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } inline void SetRequestId(const char* value) { m_requestId.assign(value); } inline GetEffectiveRecommendationPreferencesResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} inline GetEffectiveRecommendationPreferencesResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} inline GetEffectiveRecommendationPreferencesResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} private: EnhancedInfrastructureMetrics m_enhancedInfrastructureMetrics; ExternalMetricsPreference m_externalMetricsPreference; Aws::String m_requestId; }; } // namespace Model } // namespace ComputeOptimizer } // namespace Aws