AWS SDK for C++

AWS SDK for C++ Version 1.11.440

Loading...
Searching...
No Matches
ECSServiceRecommendationOption.h
1
6#pragma once
7#include <aws/compute-optimizer/ComputeOptimizer_EXPORTS.h>
8#include <aws/compute-optimizer/model/SavingsOpportunity.h>
9#include <aws/compute-optimizer/model/ECSSavingsOpportunityAfterDiscounts.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/compute-optimizer/model/ECSServiceProjectedUtilizationMetric.h>
12#include <aws/compute-optimizer/model/ContainerRecommendation.h>
13#include <utility>
14
15namespace Aws
16{
17namespace Utils
18{
19namespace Json
20{
21 class JsonValue;
22 class JsonView;
23} // namespace Json
24} // namespace Utils
25namespace ComputeOptimizer
26{
27namespace Model
28{
29
37 {
38 public:
39 AWS_COMPUTEOPTIMIZER_API ECSServiceRecommendationOption();
42 AWS_COMPUTEOPTIMIZER_API Aws::Utils::Json::JsonValue Jsonize() const;
43
44
46
49 inline int GetMemory() const{ return m_memory; }
50 inline bool MemoryHasBeenSet() const { return m_memoryHasBeenSet; }
51 inline void SetMemory(int value) { m_memoryHasBeenSet = true; m_memory = value; }
52 inline ECSServiceRecommendationOption& WithMemory(int value) { SetMemory(value); return *this;}
54
56
59 inline int GetCpu() const{ return m_cpu; }
60 inline bool CpuHasBeenSet() const { return m_cpuHasBeenSet; }
61 inline void SetCpu(int value) { m_cpuHasBeenSet = true; m_cpu = value; }
62 inline ECSServiceRecommendationOption& WithCpu(int value) { SetCpu(value); return *this;}
64
66
67 inline const SavingsOpportunity& GetSavingsOpportunity() const{ return m_savingsOpportunity; }
68 inline bool SavingsOpportunityHasBeenSet() const { return m_savingsOpportunityHasBeenSet; }
69 inline void SetSavingsOpportunity(const SavingsOpportunity& value) { m_savingsOpportunityHasBeenSet = true; m_savingsOpportunity = value; }
70 inline void SetSavingsOpportunity(SavingsOpportunity&& value) { m_savingsOpportunityHasBeenSet = true; m_savingsOpportunity = std::move(value); }
74
76
82 inline const ECSSavingsOpportunityAfterDiscounts& GetSavingsOpportunityAfterDiscounts() const{ return m_savingsOpportunityAfterDiscounts; }
83 inline bool SavingsOpportunityAfterDiscountsHasBeenSet() const { return m_savingsOpportunityAfterDiscountsHasBeenSet; }
84 inline void SetSavingsOpportunityAfterDiscounts(const ECSSavingsOpportunityAfterDiscounts& value) { m_savingsOpportunityAfterDiscountsHasBeenSet = true; m_savingsOpportunityAfterDiscounts = value; }
85 inline void SetSavingsOpportunityAfterDiscounts(ECSSavingsOpportunityAfterDiscounts&& value) { m_savingsOpportunityAfterDiscountsHasBeenSet = true; m_savingsOpportunityAfterDiscounts = std::move(value); }
89
91
95 inline const Aws::Vector<ECSServiceProjectedUtilizationMetric>& GetProjectedUtilizationMetrics() const{ return m_projectedUtilizationMetrics; }
96 inline bool ProjectedUtilizationMetricsHasBeenSet() const { return m_projectedUtilizationMetricsHasBeenSet; }
97 inline void SetProjectedUtilizationMetrics(const Aws::Vector<ECSServiceProjectedUtilizationMetric>& value) { m_projectedUtilizationMetricsHasBeenSet = true; m_projectedUtilizationMetrics = value; }
98 inline void SetProjectedUtilizationMetrics(Aws::Vector<ECSServiceProjectedUtilizationMetric>&& value) { m_projectedUtilizationMetricsHasBeenSet = true; m_projectedUtilizationMetrics = std::move(value); }
101 inline ECSServiceRecommendationOption& AddProjectedUtilizationMetrics(const ECSServiceProjectedUtilizationMetric& value) { m_projectedUtilizationMetricsHasBeenSet = true; m_projectedUtilizationMetrics.push_back(value); return *this; }
102 inline ECSServiceRecommendationOption& AddProjectedUtilizationMetrics(ECSServiceProjectedUtilizationMetric&& value) { m_projectedUtilizationMetricsHasBeenSet = true; m_projectedUtilizationMetrics.push_back(std::move(value)); return *this; }
104
106
110 inline const Aws::Vector<ContainerRecommendation>& GetContainerRecommendations() const{ return m_containerRecommendations; }
111 inline bool ContainerRecommendationsHasBeenSet() const { return m_containerRecommendationsHasBeenSet; }
112 inline void SetContainerRecommendations(const Aws::Vector<ContainerRecommendation>& value) { m_containerRecommendationsHasBeenSet = true; m_containerRecommendations = value; }
113 inline void SetContainerRecommendations(Aws::Vector<ContainerRecommendation>&& value) { m_containerRecommendationsHasBeenSet = true; m_containerRecommendations = std::move(value); }
116 inline ECSServiceRecommendationOption& AddContainerRecommendations(const ContainerRecommendation& value) { m_containerRecommendationsHasBeenSet = true; m_containerRecommendations.push_back(value); return *this; }
117 inline ECSServiceRecommendationOption& AddContainerRecommendations(ContainerRecommendation&& value) { m_containerRecommendationsHasBeenSet = true; m_containerRecommendations.push_back(std::move(value)); return *this; }
119 private:
120
121 int m_memory;
122 bool m_memoryHasBeenSet = false;
123
124 int m_cpu;
125 bool m_cpuHasBeenSet = false;
126
127 SavingsOpportunity m_savingsOpportunity;
128 bool m_savingsOpportunityHasBeenSet = false;
129
130 ECSSavingsOpportunityAfterDiscounts m_savingsOpportunityAfterDiscounts;
131 bool m_savingsOpportunityAfterDiscountsHasBeenSet = false;
132
133 Aws::Vector<ECSServiceProjectedUtilizationMetric> m_projectedUtilizationMetrics;
134 bool m_projectedUtilizationMetricsHasBeenSet = false;
135
136 Aws::Vector<ContainerRecommendation> m_containerRecommendations;
137 bool m_containerRecommendationsHasBeenSet = false;
138 };
139
140} // namespace Model
141} // namespace ComputeOptimizer
142} // namespace Aws
ECSServiceRecommendationOption & WithProjectedUtilizationMetrics(Aws::Vector< ECSServiceProjectedUtilizationMetric > &&value)
const Aws::Vector< ECSServiceProjectedUtilizationMetric > & GetProjectedUtilizationMetrics() const
ECSServiceRecommendationOption & WithContainerRecommendations(const Aws::Vector< ContainerRecommendation > &value)
AWS_COMPUTEOPTIMIZER_API Aws::Utils::Json::JsonValue Jsonize() const
void SetContainerRecommendations(Aws::Vector< ContainerRecommendation > &&value)
void SetProjectedUtilizationMetrics(Aws::Vector< ECSServiceProjectedUtilizationMetric > &&value)
AWS_COMPUTEOPTIMIZER_API ECSServiceRecommendationOption(Aws::Utils::Json::JsonView jsonValue)
const Aws::Vector< ContainerRecommendation > & GetContainerRecommendations() const
ECSServiceRecommendationOption & AddContainerRecommendations(ContainerRecommendation &&value)
AWS_COMPUTEOPTIMIZER_API ECSServiceRecommendationOption & operator=(Aws::Utils::Json::JsonView jsonValue)
ECSServiceRecommendationOption & AddProjectedUtilizationMetrics(const ECSServiceProjectedUtilizationMetric &value)
ECSServiceRecommendationOption & WithContainerRecommendations(Aws::Vector< ContainerRecommendation > &&value)
void SetSavingsOpportunityAfterDiscounts(const ECSSavingsOpportunityAfterDiscounts &value)
void SetSavingsOpportunityAfterDiscounts(ECSSavingsOpportunityAfterDiscounts &&value)
ECSServiceRecommendationOption & WithSavingsOpportunityAfterDiscounts(ECSSavingsOpportunityAfterDiscounts &&value)
ECSServiceRecommendationOption & AddProjectedUtilizationMetrics(ECSServiceProjectedUtilizationMetric &&value)
void SetContainerRecommendations(const Aws::Vector< ContainerRecommendation > &value)
ECSServiceRecommendationOption & WithSavingsOpportunityAfterDiscounts(const ECSSavingsOpportunityAfterDiscounts &value)
ECSServiceRecommendationOption & AddContainerRecommendations(const ContainerRecommendation &value)
ECSServiceRecommendationOption & WithProjectedUtilizationMetrics(const Aws::Vector< ECSServiceProjectedUtilizationMetric > &value)
ECSServiceRecommendationOption & WithSavingsOpportunity(const SavingsOpportunity &value)
void SetProjectedUtilizationMetrics(const Aws::Vector< ECSServiceProjectedUtilizationMetric > &value)
ECSServiceRecommendationOption & WithSavingsOpportunity(SavingsOpportunity &&value)
const ECSSavingsOpportunityAfterDiscounts & GetSavingsOpportunityAfterDiscounts() const
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue