AWS SDK for C++

AWS SDK for C++ Version 1.11.744

Loading...
Searching...
No Matches
InferredWorkloadSaving.h
1
6#pragma once
7#include <aws/compute-optimizer/ComputeOptimizer_EXPORTS.h>
8#include <aws/compute-optimizer/model/EstimatedMonthlySavings.h>
9#include <aws/compute-optimizer/model/InferredWorkloadType.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11
12#include <utility>
13
14namespace Aws {
15namespace Utils {
16namespace Json {
17class JsonValue;
18class JsonView;
19} // namespace Json
20} // namespace Utils
21namespace ComputeOptimizer {
22namespace Model {
23
35 public:
36 AWS_COMPUTEOPTIMIZER_API InferredWorkloadSaving() = default;
37 AWS_COMPUTEOPTIMIZER_API InferredWorkloadSaving(Aws::Utils::Json::JsonView jsonValue);
38 AWS_COMPUTEOPTIMIZER_API InferredWorkloadSaving& operator=(Aws::Utils::Json::JsonView jsonValue);
39 AWS_COMPUTEOPTIMIZER_API Aws::Utils::Json::JsonValue Jsonize() const;
40
42
60 inline const Aws::Vector<InferredWorkloadType>& GetInferredWorkloadTypes() const { return m_inferredWorkloadTypes; }
61 inline bool InferredWorkloadTypesHasBeenSet() const { return m_inferredWorkloadTypesHasBeenSet; }
62 template <typename InferredWorkloadTypesT = Aws::Vector<InferredWorkloadType>>
63 void SetInferredWorkloadTypes(InferredWorkloadTypesT&& value) {
64 m_inferredWorkloadTypesHasBeenSet = true;
65 m_inferredWorkloadTypes = std::forward<InferredWorkloadTypesT>(value);
66 }
67 template <typename InferredWorkloadTypesT = Aws::Vector<InferredWorkloadType>>
68 InferredWorkloadSaving& WithInferredWorkloadTypes(InferredWorkloadTypesT&& value) {
69 SetInferredWorkloadTypes(std::forward<InferredWorkloadTypesT>(value));
70 return *this;
71 }
73 m_inferredWorkloadTypesHasBeenSet = true;
74 m_inferredWorkloadTypes.push_back(value);
75 return *this;
76 }
78
80
85 inline const EstimatedMonthlySavings& GetEstimatedMonthlySavings() const { return m_estimatedMonthlySavings; }
86 inline bool EstimatedMonthlySavingsHasBeenSet() const { return m_estimatedMonthlySavingsHasBeenSet; }
87 template <typename EstimatedMonthlySavingsT = EstimatedMonthlySavings>
88 void SetEstimatedMonthlySavings(EstimatedMonthlySavingsT&& value) {
89 m_estimatedMonthlySavingsHasBeenSet = true;
90 m_estimatedMonthlySavings = std::forward<EstimatedMonthlySavingsT>(value);
91 }
92 template <typename EstimatedMonthlySavingsT = EstimatedMonthlySavings>
93 InferredWorkloadSaving& WithEstimatedMonthlySavings(EstimatedMonthlySavingsT&& value) {
94 SetEstimatedMonthlySavings(std::forward<EstimatedMonthlySavingsT>(value));
95 return *this;
96 }
98 private:
99 Aws::Vector<InferredWorkloadType> m_inferredWorkloadTypes;
100
101 EstimatedMonthlySavings m_estimatedMonthlySavings;
102 bool m_inferredWorkloadTypesHasBeenSet = false;
103 bool m_estimatedMonthlySavingsHasBeenSet = false;
104};
105
106} // namespace Model
107} // namespace ComputeOptimizer
108} // namespace Aws
InferredWorkloadSaving & WithEstimatedMonthlySavings(EstimatedMonthlySavingsT &&value)
AWS_COMPUTEOPTIMIZER_API InferredWorkloadSaving & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetInferredWorkloadTypes(InferredWorkloadTypesT &&value)
void SetEstimatedMonthlySavings(EstimatedMonthlySavingsT &&value)
InferredWorkloadSaving & AddInferredWorkloadTypes(InferredWorkloadType value)
const EstimatedMonthlySavings & GetEstimatedMonthlySavings() const
const Aws::Vector< InferredWorkloadType > & GetInferredWorkloadTypes() const
AWS_COMPUTEOPTIMIZER_API InferredWorkloadSaving()=default
AWS_COMPUTEOPTIMIZER_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_COMPUTEOPTIMIZER_API InferredWorkloadSaving(Aws::Utils::Json::JsonView jsonValue)
InferredWorkloadSaving & WithInferredWorkloadTypes(InferredWorkloadTypesT &&value)
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue