/** * 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 { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace ComputeOptimizer { namespace Model { /** *

The estimated monthly savings after you adjust the configurations of your * instances running on the inferred workload types to the recommended * configurations. If the inferredWorkloadTypes list contains multiple * entries, then the savings are the sum of the monthly savings from instances that * run the exact combination of the inferred workload types.

See * Also:

AWS * API Reference

*/ class InferredWorkloadSaving { public: AWS_COMPUTEOPTIMIZER_API InferredWorkloadSaving(); AWS_COMPUTEOPTIMIZER_API InferredWorkloadSaving(Aws::Utils::Json::JsonView jsonValue); AWS_COMPUTEOPTIMIZER_API InferredWorkloadSaving& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_COMPUTEOPTIMIZER_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The applications that might be running on the instance as inferred by Compute * Optimizer.

Compute Optimizer can infer if one of the following * applications might be running on the instance:

  • * AmazonEmr - Infers that Amazon EMR might be running on the * instance.

  • ApacheCassandra - Infers that Apache * Cassandra might be running on the instance.

  • * ApacheHadoop - Infers that Apache Hadoop might be running on the * instance.

  • Memcached - Infers that Memcached * might be running on the instance.

  • NGINX - Infers * that NGINX might be running on the instance.

  • * PostgreSql - Infers that PostgreSQL might be running on the * instance.

  • Redis - Infers that Redis might be * running on the instance.

  • Kafka - Infers that * Kafka might be running on the instance.

  • * SQLServer - Infers that SQLServer might be running on the * instance.

*/ inline const Aws::Vector& GetInferredWorkloadTypes() const{ return m_inferredWorkloadTypes; } /** *

The applications that might be running on the instance as inferred by Compute * Optimizer.

Compute Optimizer can infer if one of the following * applications might be running on the instance:

  • * AmazonEmr - Infers that Amazon EMR might be running on the * instance.

  • ApacheCassandra - Infers that Apache * Cassandra might be running on the instance.

  • * ApacheHadoop - Infers that Apache Hadoop might be running on the * instance.

  • Memcached - Infers that Memcached * might be running on the instance.

  • NGINX - Infers * that NGINX might be running on the instance.

  • * PostgreSql - Infers that PostgreSQL might be running on the * instance.

  • Redis - Infers that Redis might be * running on the instance.

  • Kafka - Infers that * Kafka might be running on the instance.

  • * SQLServer - Infers that SQLServer might be running on the * instance.

*/ inline bool InferredWorkloadTypesHasBeenSet() const { return m_inferredWorkloadTypesHasBeenSet; } /** *

The applications that might be running on the instance as inferred by Compute * Optimizer.

Compute Optimizer can infer if one of the following * applications might be running on the instance:

  • * AmazonEmr - Infers that Amazon EMR might be running on the * instance.

  • ApacheCassandra - Infers that Apache * Cassandra might be running on the instance.

  • * ApacheHadoop - Infers that Apache Hadoop might be running on the * instance.

  • Memcached - Infers that Memcached * might be running on the instance.

  • NGINX - Infers * that NGINX might be running on the instance.

  • * PostgreSql - Infers that PostgreSQL might be running on the * instance.

  • Redis - Infers that Redis might be * running on the instance.

  • Kafka - Infers that * Kafka might be running on the instance.

  • * SQLServer - Infers that SQLServer might be running on the * instance.

*/ inline void SetInferredWorkloadTypes(const Aws::Vector& value) { m_inferredWorkloadTypesHasBeenSet = true; m_inferredWorkloadTypes = value; } /** *

The applications that might be running on the instance as inferred by Compute * Optimizer.

Compute Optimizer can infer if one of the following * applications might be running on the instance:

  • * AmazonEmr - Infers that Amazon EMR might be running on the * instance.

  • ApacheCassandra - Infers that Apache * Cassandra might be running on the instance.

  • * ApacheHadoop - Infers that Apache Hadoop might be running on the * instance.

  • Memcached - Infers that Memcached * might be running on the instance.

  • NGINX - Infers * that NGINX might be running on the instance.

  • * PostgreSql - Infers that PostgreSQL might be running on the * instance.

  • Redis - Infers that Redis might be * running on the instance.

  • Kafka - Infers that * Kafka might be running on the instance.

  • * SQLServer - Infers that SQLServer might be running on the * instance.

*/ inline void SetInferredWorkloadTypes(Aws::Vector&& value) { m_inferredWorkloadTypesHasBeenSet = true; m_inferredWorkloadTypes = std::move(value); } /** *

The applications that might be running on the instance as inferred by Compute * Optimizer.

Compute Optimizer can infer if one of the following * applications might be running on the instance:

  • * AmazonEmr - Infers that Amazon EMR might be running on the * instance.

  • ApacheCassandra - Infers that Apache * Cassandra might be running on the instance.

  • * ApacheHadoop - Infers that Apache Hadoop might be running on the * instance.

  • Memcached - Infers that Memcached * might be running on the instance.

  • NGINX - Infers * that NGINX might be running on the instance.

  • * PostgreSql - Infers that PostgreSQL might be running on the * instance.

  • Redis - Infers that Redis might be * running on the instance.

  • Kafka - Infers that * Kafka might be running on the instance.

  • * SQLServer - Infers that SQLServer might be running on the * instance.

*/ inline InferredWorkloadSaving& WithInferredWorkloadTypes(const Aws::Vector& value) { SetInferredWorkloadTypes(value); return *this;} /** *

The applications that might be running on the instance as inferred by Compute * Optimizer.

Compute Optimizer can infer if one of the following * applications might be running on the instance:

  • * AmazonEmr - Infers that Amazon EMR might be running on the * instance.

  • ApacheCassandra - Infers that Apache * Cassandra might be running on the instance.

  • * ApacheHadoop - Infers that Apache Hadoop might be running on the * instance.

  • Memcached - Infers that Memcached * might be running on the instance.

  • NGINX - Infers * that NGINX might be running on the instance.

  • * PostgreSql - Infers that PostgreSQL might be running on the * instance.

  • Redis - Infers that Redis might be * running on the instance.

  • Kafka - Infers that * Kafka might be running on the instance.

  • * SQLServer - Infers that SQLServer might be running on the * instance.

*/ inline InferredWorkloadSaving& WithInferredWorkloadTypes(Aws::Vector&& value) { SetInferredWorkloadTypes(std::move(value)); return *this;} /** *

The applications that might be running on the instance as inferred by Compute * Optimizer.

Compute Optimizer can infer if one of the following * applications might be running on the instance:

  • * AmazonEmr - Infers that Amazon EMR might be running on the * instance.

  • ApacheCassandra - Infers that Apache * Cassandra might be running on the instance.

  • * ApacheHadoop - Infers that Apache Hadoop might be running on the * instance.

  • Memcached - Infers that Memcached * might be running on the instance.

  • NGINX - Infers * that NGINX might be running on the instance.

  • * PostgreSql - Infers that PostgreSQL might be running on the * instance.

  • Redis - Infers that Redis might be * running on the instance.

  • Kafka - Infers that * Kafka might be running on the instance.

  • * SQLServer - Infers that SQLServer might be running on the * instance.

*/ inline InferredWorkloadSaving& AddInferredWorkloadTypes(const InferredWorkloadType& value) { m_inferredWorkloadTypesHasBeenSet = true; m_inferredWorkloadTypes.push_back(value); return *this; } /** *

The applications that might be running on the instance as inferred by Compute * Optimizer.

Compute Optimizer can infer if one of the following * applications might be running on the instance:

  • * AmazonEmr - Infers that Amazon EMR might be running on the * instance.

  • ApacheCassandra - Infers that Apache * Cassandra might be running on the instance.

  • * ApacheHadoop - Infers that Apache Hadoop might be running on the * instance.

  • Memcached - Infers that Memcached * might be running on the instance.

  • NGINX - Infers * that NGINX might be running on the instance.

  • * PostgreSql - Infers that PostgreSQL might be running on the * instance.

  • Redis - Infers that Redis might be * running on the instance.

  • Kafka - Infers that * Kafka might be running on the instance.

  • * SQLServer - Infers that SQLServer might be running on the * instance.

*/ inline InferredWorkloadSaving& AddInferredWorkloadTypes(InferredWorkloadType&& value) { m_inferredWorkloadTypesHasBeenSet = true; m_inferredWorkloadTypes.push_back(std::move(value)); return *this; } /** *

An object that describes the estimated monthly savings amount possible by * adopting Compute Optimizer recommendations for a given resource. This is based * on the On-Demand instance pricing.

*/ inline const EstimatedMonthlySavings& GetEstimatedMonthlySavings() const{ return m_estimatedMonthlySavings; } /** *

An object that describes the estimated monthly savings amount possible by * adopting Compute Optimizer recommendations for a given resource. This is based * on the On-Demand instance pricing.

*/ inline bool EstimatedMonthlySavingsHasBeenSet() const { return m_estimatedMonthlySavingsHasBeenSet; } /** *

An object that describes the estimated monthly savings amount possible by * adopting Compute Optimizer recommendations for a given resource. This is based * on the On-Demand instance pricing.

*/ inline void SetEstimatedMonthlySavings(const EstimatedMonthlySavings& value) { m_estimatedMonthlySavingsHasBeenSet = true; m_estimatedMonthlySavings = value; } /** *

An object that describes the estimated monthly savings amount possible by * adopting Compute Optimizer recommendations for a given resource. This is based * on the On-Demand instance pricing.

*/ inline void SetEstimatedMonthlySavings(EstimatedMonthlySavings&& value) { m_estimatedMonthlySavingsHasBeenSet = true; m_estimatedMonthlySavings = std::move(value); } /** *

An object that describes the estimated monthly savings amount possible by * adopting Compute Optimizer recommendations for a given resource. This is based * on the On-Demand instance pricing.

*/ inline InferredWorkloadSaving& WithEstimatedMonthlySavings(const EstimatedMonthlySavings& value) { SetEstimatedMonthlySavings(value); return *this;} /** *

An object that describes the estimated monthly savings amount possible by * adopting Compute Optimizer recommendations for a given resource. This is based * on the On-Demand instance pricing.

*/ inline InferredWorkloadSaving& WithEstimatedMonthlySavings(EstimatedMonthlySavings&& value) { SetEstimatedMonthlySavings(std::move(value)); return *this;} private: Aws::Vector m_inferredWorkloadTypes; bool m_inferredWorkloadTypesHasBeenSet = false; EstimatedMonthlySavings m_estimatedMonthlySavings; bool m_estimatedMonthlySavingsHasBeenSet = false; }; } // namespace Model } // namespace ComputeOptimizer } // namespace Aws