/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Indicates that the exported data must include EC2 instance type matches for
* on-premises servers that are discovered through Amazon Web Services Application
* Discovery Service. See Also:
AWS
* API Reference
If set to true, the export preferences
* is set to Ec2RecommendationsExportPreferences
.
If set to true, the export preferences
* is set to Ec2RecommendationsExportPreferences
.
If set to true, the export preferences
* is set to Ec2RecommendationsExportPreferences
.
If set to true, the export preferences
* is set to Ec2RecommendationsExportPreferences
.
The recommended EC2 instance type that matches the CPU usage metric of * server performance data.
*/ inline const UsageMetricBasis& GetCpuPerformanceMetricBasis() const{ return m_cpuPerformanceMetricBasis; } /** *The recommended EC2 instance type that matches the CPU usage metric of * server performance data.
*/ inline bool CpuPerformanceMetricBasisHasBeenSet() const { return m_cpuPerformanceMetricBasisHasBeenSet; } /** *The recommended EC2 instance type that matches the CPU usage metric of * server performance data.
*/ inline void SetCpuPerformanceMetricBasis(const UsageMetricBasis& value) { m_cpuPerformanceMetricBasisHasBeenSet = true; m_cpuPerformanceMetricBasis = value; } /** *The recommended EC2 instance type that matches the CPU usage metric of * server performance data.
*/ inline void SetCpuPerformanceMetricBasis(UsageMetricBasis&& value) { m_cpuPerformanceMetricBasisHasBeenSet = true; m_cpuPerformanceMetricBasis = std::move(value); } /** *The recommended EC2 instance type that matches the CPU usage metric of * server performance data.
*/ inline Ec2RecommendationsExportPreferences& WithCpuPerformanceMetricBasis(const UsageMetricBasis& value) { SetCpuPerformanceMetricBasis(value); return *this;} /** *The recommended EC2 instance type that matches the CPU usage metric of * server performance data.
*/ inline Ec2RecommendationsExportPreferences& WithCpuPerformanceMetricBasis(UsageMetricBasis&& value) { SetCpuPerformanceMetricBasis(std::move(value)); return *this;} /** *The recommended EC2 instance type that matches the Memory usage metric of * server performance data.
*/ inline const UsageMetricBasis& GetRamPerformanceMetricBasis() const{ return m_ramPerformanceMetricBasis; } /** *The recommended EC2 instance type that matches the Memory usage metric of * server performance data.
*/ inline bool RamPerformanceMetricBasisHasBeenSet() const { return m_ramPerformanceMetricBasisHasBeenSet; } /** *The recommended EC2 instance type that matches the Memory usage metric of * server performance data.
*/ inline void SetRamPerformanceMetricBasis(const UsageMetricBasis& value) { m_ramPerformanceMetricBasisHasBeenSet = true; m_ramPerformanceMetricBasis = value; } /** *The recommended EC2 instance type that matches the Memory usage metric of * server performance data.
*/ inline void SetRamPerformanceMetricBasis(UsageMetricBasis&& value) { m_ramPerformanceMetricBasisHasBeenSet = true; m_ramPerformanceMetricBasis = std::move(value); } /** *The recommended EC2 instance type that matches the Memory usage metric of * server performance data.
*/ inline Ec2RecommendationsExportPreferences& WithRamPerformanceMetricBasis(const UsageMetricBasis& value) { SetRamPerformanceMetricBasis(value); return *this;} /** *The recommended EC2 instance type that matches the Memory usage metric of * server performance data.
*/ inline Ec2RecommendationsExportPreferences& WithRamPerformanceMetricBasis(UsageMetricBasis&& value) { SetRamPerformanceMetricBasis(std::move(value)); return *this;} /** *The target tenancy to use for your recommended EC2 instances.
*/ inline const Tenancy& GetTenancy() const{ return m_tenancy; } /** *The target tenancy to use for your recommended EC2 instances.
*/ inline bool TenancyHasBeenSet() const { return m_tenancyHasBeenSet; } /** *The target tenancy to use for your recommended EC2 instances.
*/ inline void SetTenancy(const Tenancy& value) { m_tenancyHasBeenSet = true; m_tenancy = value; } /** *The target tenancy to use for your recommended EC2 instances.
*/ inline void SetTenancy(Tenancy&& value) { m_tenancyHasBeenSet = true; m_tenancy = std::move(value); } /** *The target tenancy to use for your recommended EC2 instances.
*/ inline Ec2RecommendationsExportPreferences& WithTenancy(const Tenancy& value) { SetTenancy(value); return *this;} /** *The target tenancy to use for your recommended EC2 instances.
*/ inline Ec2RecommendationsExportPreferences& WithTenancy(Tenancy&& value) { SetTenancy(std::move(value)); return *this;} /** *An array of instance types to exclude from recommendations.
*/ inline const Aws::VectorAn array of instance types to exclude from recommendations.
*/ inline bool ExcludedInstanceTypesHasBeenSet() const { return m_excludedInstanceTypesHasBeenSet; } /** *An array of instance types to exclude from recommendations.
*/ inline void SetExcludedInstanceTypes(const Aws::VectorAn array of instance types to exclude from recommendations.
*/ inline void SetExcludedInstanceTypes(Aws::VectorAn array of instance types to exclude from recommendations.
*/ inline Ec2RecommendationsExportPreferences& WithExcludedInstanceTypes(const Aws::VectorAn array of instance types to exclude from recommendations.
*/ inline Ec2RecommendationsExportPreferences& WithExcludedInstanceTypes(Aws::VectorAn array of instance types to exclude from recommendations.
*/ inline Ec2RecommendationsExportPreferences& AddExcludedInstanceTypes(const Aws::String& value) { m_excludedInstanceTypesHasBeenSet = true; m_excludedInstanceTypes.push_back(value); return *this; } /** *An array of instance types to exclude from recommendations.
*/ inline Ec2RecommendationsExportPreferences& AddExcludedInstanceTypes(Aws::String&& value) { m_excludedInstanceTypesHasBeenSet = true; m_excludedInstanceTypes.push_back(std::move(value)); return *this; } /** *An array of instance types to exclude from recommendations.
*/ inline Ec2RecommendationsExportPreferences& AddExcludedInstanceTypes(const char* value) { m_excludedInstanceTypesHasBeenSet = true; m_excludedInstanceTypes.push_back(value); return *this; } /** *The target Amazon Web Services Region for the recommendations. You can use * any of the Region codes available for the chosen service, as listed in Amazon Web * Services service endpoints in the Amazon Web Services General * Reference.
*/ inline const Aws::String& GetPreferredRegion() const{ return m_preferredRegion; } /** *The target Amazon Web Services Region for the recommendations. You can use * any of the Region codes available for the chosen service, as listed in Amazon Web * Services service endpoints in the Amazon Web Services General * Reference.
*/ inline bool PreferredRegionHasBeenSet() const { return m_preferredRegionHasBeenSet; } /** *The target Amazon Web Services Region for the recommendations. You can use * any of the Region codes available for the chosen service, as listed in Amazon Web * Services service endpoints in the Amazon Web Services General * Reference.
*/ inline void SetPreferredRegion(const Aws::String& value) { m_preferredRegionHasBeenSet = true; m_preferredRegion = value; } /** *The target Amazon Web Services Region for the recommendations. You can use * any of the Region codes available for the chosen service, as listed in Amazon Web * Services service endpoints in the Amazon Web Services General * Reference.
*/ inline void SetPreferredRegion(Aws::String&& value) { m_preferredRegionHasBeenSet = true; m_preferredRegion = std::move(value); } /** *The target Amazon Web Services Region for the recommendations. You can use * any of the Region codes available for the chosen service, as listed in Amazon Web * Services service endpoints in the Amazon Web Services General * Reference.
*/ inline void SetPreferredRegion(const char* value) { m_preferredRegionHasBeenSet = true; m_preferredRegion.assign(value); } /** *The target Amazon Web Services Region for the recommendations. You can use * any of the Region codes available for the chosen service, as listed in Amazon Web * Services service endpoints in the Amazon Web Services General * Reference.
*/ inline Ec2RecommendationsExportPreferences& WithPreferredRegion(const Aws::String& value) { SetPreferredRegion(value); return *this;} /** *The target Amazon Web Services Region for the recommendations. You can use * any of the Region codes available for the chosen service, as listed in Amazon Web * Services service endpoints in the Amazon Web Services General * Reference.
*/ inline Ec2RecommendationsExportPreferences& WithPreferredRegion(Aws::String&& value) { SetPreferredRegion(std::move(value)); return *this;} /** *The target Amazon Web Services Region for the recommendations. You can use * any of the Region codes available for the chosen service, as listed in Amazon Web * Services service endpoints in the Amazon Web Services General * Reference.
*/ inline Ec2RecommendationsExportPreferences& WithPreferredRegion(const char* value) { SetPreferredRegion(value); return *this;} /** *The contract type for a reserved instance. If blank, we assume an On-Demand * instance is preferred.
*/ inline const ReservedInstanceOptions& GetReservedInstanceOptions() const{ return m_reservedInstanceOptions; } /** *The contract type for a reserved instance. If blank, we assume an On-Demand * instance is preferred.
*/ inline bool ReservedInstanceOptionsHasBeenSet() const { return m_reservedInstanceOptionsHasBeenSet; } /** *The contract type for a reserved instance. If blank, we assume an On-Demand * instance is preferred.
*/ inline void SetReservedInstanceOptions(const ReservedInstanceOptions& value) { m_reservedInstanceOptionsHasBeenSet = true; m_reservedInstanceOptions = value; } /** *The contract type for a reserved instance. If blank, we assume an On-Demand * instance is preferred.
*/ inline void SetReservedInstanceOptions(ReservedInstanceOptions&& value) { m_reservedInstanceOptionsHasBeenSet = true; m_reservedInstanceOptions = std::move(value); } /** *The contract type for a reserved instance. If blank, we assume an On-Demand * instance is preferred.
*/ inline Ec2RecommendationsExportPreferences& WithReservedInstanceOptions(const ReservedInstanceOptions& value) { SetReservedInstanceOptions(value); return *this;} /** *The contract type for a reserved instance. If blank, we assume an On-Demand * instance is preferred.
*/ inline Ec2RecommendationsExportPreferences& WithReservedInstanceOptions(ReservedInstanceOptions&& value) { SetReservedInstanceOptions(std::move(value)); return *this;} private: bool m_enabled; bool m_enabledHasBeenSet = false; UsageMetricBasis m_cpuPerformanceMetricBasis; bool m_cpuPerformanceMetricBasisHasBeenSet = false; UsageMetricBasis m_ramPerformanceMetricBasis; bool m_ramPerformanceMetricBasisHasBeenSet = false; Tenancy m_tenancy; bool m_tenancyHasBeenSet = false; Aws::Vector