AWS SDK for C++

AWS SDK for C++ Version 1.11.770

Loading...
Searching...
No Matches
Criteria.h
1
6#pragma once
7#include <aws/compute-optimizer-automation/ComputeOptimizerAutomation_EXPORTS.h>
8#include <aws/compute-optimizer-automation/model/DoubleCriteriaCondition.h>
9#include <aws/compute-optimizer-automation/model/IntegerCriteriaCondition.h>
10#include <aws/compute-optimizer-automation/model/ResourceTagsCriteriaCondition.h>
11#include <aws/compute-optimizer-automation/model/StringCriteriaCondition.h>
12#include <aws/core/utils/memory/stl/AWSVector.h>
13
14#include <utility>
15
16namespace Aws {
17namespace Utils {
18namespace Json {
19class JsonValue;
20class JsonView;
21} // namespace Json
22} // namespace Utils
23namespace ComputeOptimizerAutomation {
24namespace Model {
25
35class Criteria {
36 public:
37 AWS_COMPUTEOPTIMIZERAUTOMATION_API Criteria() = default;
38 AWS_COMPUTEOPTIMIZERAUTOMATION_API Criteria(Aws::Utils::Json::JsonView jsonValue);
39 AWS_COMPUTEOPTIMIZERAUTOMATION_API Criteria& operator=(Aws::Utils::Json::JsonView jsonValue);
40 AWS_COMPUTEOPTIMIZERAUTOMATION_API Aws::Utils::Json::JsonValue Jsonize() const;
41
43
47 inline const Aws::Vector<StringCriteriaCondition>& GetRegion() const { return m_region; }
48 inline bool RegionHasBeenSet() const { return m_regionHasBeenSet; }
49 template <typename RegionT = Aws::Vector<StringCriteriaCondition>>
50 void SetRegion(RegionT&& value) {
51 m_regionHasBeenSet = true;
52 m_region = std::forward<RegionT>(value);
53 }
54 template <typename RegionT = Aws::Vector<StringCriteriaCondition>>
55 Criteria& WithRegion(RegionT&& value) {
56 SetRegion(std::forward<RegionT>(value));
57 return *this;
58 }
59 template <typename RegionT = StringCriteriaCondition>
60 Criteria& AddRegion(RegionT&& value) {
61 m_regionHasBeenSet = true;
62 m_region.emplace_back(std::forward<RegionT>(value));
63 return *this;
64 }
66
68
71 inline const Aws::Vector<StringCriteriaCondition>& GetResourceArn() const { return m_resourceArn; }
72 inline bool ResourceArnHasBeenSet() const { return m_resourceArnHasBeenSet; }
73 template <typename ResourceArnT = Aws::Vector<StringCriteriaCondition>>
74 void SetResourceArn(ResourceArnT&& value) {
75 m_resourceArnHasBeenSet = true;
76 m_resourceArn = std::forward<ResourceArnT>(value);
77 }
78 template <typename ResourceArnT = Aws::Vector<StringCriteriaCondition>>
79 Criteria& WithResourceArn(ResourceArnT&& value) {
80 SetResourceArn(std::forward<ResourceArnT>(value));
81 return *this;
82 }
83 template <typename ResourceArnT = StringCriteriaCondition>
84 Criteria& AddResourceArn(ResourceArnT&& value) {
85 m_resourceArnHasBeenSet = true;
86 m_resourceArn.emplace_back(std::forward<ResourceArnT>(value));
87 return *this;
88 }
90
92
96 inline const Aws::Vector<StringCriteriaCondition>& GetEbsVolumeType() const { return m_ebsVolumeType; }
97 inline bool EbsVolumeTypeHasBeenSet() const { return m_ebsVolumeTypeHasBeenSet; }
98 template <typename EbsVolumeTypeT = Aws::Vector<StringCriteriaCondition>>
99 void SetEbsVolumeType(EbsVolumeTypeT&& value) {
100 m_ebsVolumeTypeHasBeenSet = true;
101 m_ebsVolumeType = std::forward<EbsVolumeTypeT>(value);
102 }
103 template <typename EbsVolumeTypeT = Aws::Vector<StringCriteriaCondition>>
104 Criteria& WithEbsVolumeType(EbsVolumeTypeT&& value) {
105 SetEbsVolumeType(std::forward<EbsVolumeTypeT>(value));
106 return *this;
107 }
108 template <typename EbsVolumeTypeT = StringCriteriaCondition>
109 Criteria& AddEbsVolumeType(EbsVolumeTypeT&& value) {
110 m_ebsVolumeTypeHasBeenSet = true;
111 m_ebsVolumeType.emplace_back(std::forward<EbsVolumeTypeT>(value));
112 return *this;
113 }
115
117
120 inline const Aws::Vector<IntegerCriteriaCondition>& GetEbsVolumeSizeInGib() const { return m_ebsVolumeSizeInGib; }
121 inline bool EbsVolumeSizeInGibHasBeenSet() const { return m_ebsVolumeSizeInGibHasBeenSet; }
122 template <typename EbsVolumeSizeInGibT = Aws::Vector<IntegerCriteriaCondition>>
123 void SetEbsVolumeSizeInGib(EbsVolumeSizeInGibT&& value) {
124 m_ebsVolumeSizeInGibHasBeenSet = true;
125 m_ebsVolumeSizeInGib = std::forward<EbsVolumeSizeInGibT>(value);
126 }
127 template <typename EbsVolumeSizeInGibT = Aws::Vector<IntegerCriteriaCondition>>
128 Criteria& WithEbsVolumeSizeInGib(EbsVolumeSizeInGibT&& value) {
129 SetEbsVolumeSizeInGib(std::forward<EbsVolumeSizeInGibT>(value));
130 return *this;
131 }
132 template <typename EbsVolumeSizeInGibT = IntegerCriteriaCondition>
133 Criteria& AddEbsVolumeSizeInGib(EbsVolumeSizeInGibT&& value) {
134 m_ebsVolumeSizeInGibHasBeenSet = true;
135 m_ebsVolumeSizeInGib.emplace_back(std::forward<EbsVolumeSizeInGibT>(value));
136 return *this;
137 }
139
141
145 inline const Aws::Vector<DoubleCriteriaCondition>& GetEstimatedMonthlySavings() const { return m_estimatedMonthlySavings; }
146 inline bool EstimatedMonthlySavingsHasBeenSet() const { return m_estimatedMonthlySavingsHasBeenSet; }
147 template <typename EstimatedMonthlySavingsT = Aws::Vector<DoubleCriteriaCondition>>
148 void SetEstimatedMonthlySavings(EstimatedMonthlySavingsT&& value) {
149 m_estimatedMonthlySavingsHasBeenSet = true;
150 m_estimatedMonthlySavings = std::forward<EstimatedMonthlySavingsT>(value);
151 }
152 template <typename EstimatedMonthlySavingsT = Aws::Vector<DoubleCriteriaCondition>>
153 Criteria& WithEstimatedMonthlySavings(EstimatedMonthlySavingsT&& value) {
154 SetEstimatedMonthlySavings(std::forward<EstimatedMonthlySavingsT>(value));
155 return *this;
156 }
157 template <typename EstimatedMonthlySavingsT = DoubleCriteriaCondition>
158 Criteria& AddEstimatedMonthlySavings(EstimatedMonthlySavingsT&& value) {
159 m_estimatedMonthlySavingsHasBeenSet = true;
160 m_estimatedMonthlySavings.emplace_back(std::forward<EstimatedMonthlySavingsT>(value));
161 return *this;
162 }
164
166
170 inline const Aws::Vector<ResourceTagsCriteriaCondition>& GetResourceTag() const { return m_resourceTag; }
171 inline bool ResourceTagHasBeenSet() const { return m_resourceTagHasBeenSet; }
172 template <typename ResourceTagT = Aws::Vector<ResourceTagsCriteriaCondition>>
173 void SetResourceTag(ResourceTagT&& value) {
174 m_resourceTagHasBeenSet = true;
175 m_resourceTag = std::forward<ResourceTagT>(value);
176 }
177 template <typename ResourceTagT = Aws::Vector<ResourceTagsCriteriaCondition>>
178 Criteria& WithResourceTag(ResourceTagT&& value) {
179 SetResourceTag(std::forward<ResourceTagT>(value));
180 return *this;
181 }
182 template <typename ResourceTagT = ResourceTagsCriteriaCondition>
183 Criteria& AddResourceTag(ResourceTagT&& value) {
184 m_resourceTagHasBeenSet = true;
185 m_resourceTag.emplace_back(std::forward<ResourceTagT>(value));
186 return *this;
187 }
189
191
195 inline const Aws::Vector<IntegerCriteriaCondition>& GetLookBackPeriodInDays() const { return m_lookBackPeriodInDays; }
196 inline bool LookBackPeriodInDaysHasBeenSet() const { return m_lookBackPeriodInDaysHasBeenSet; }
197 template <typename LookBackPeriodInDaysT = Aws::Vector<IntegerCriteriaCondition>>
198 void SetLookBackPeriodInDays(LookBackPeriodInDaysT&& value) {
199 m_lookBackPeriodInDaysHasBeenSet = true;
200 m_lookBackPeriodInDays = std::forward<LookBackPeriodInDaysT>(value);
201 }
202 template <typename LookBackPeriodInDaysT = Aws::Vector<IntegerCriteriaCondition>>
203 Criteria& WithLookBackPeriodInDays(LookBackPeriodInDaysT&& value) {
204 SetLookBackPeriodInDays(std::forward<LookBackPeriodInDaysT>(value));
205 return *this;
206 }
207 template <typename LookBackPeriodInDaysT = IntegerCriteriaCondition>
208 Criteria& AddLookBackPeriodInDays(LookBackPeriodInDaysT&& value) {
209 m_lookBackPeriodInDaysHasBeenSet = true;
210 m_lookBackPeriodInDays.emplace_back(std::forward<LookBackPeriodInDaysT>(value));
211 return *this;
212 }
214
216
220 inline const Aws::Vector<StringCriteriaCondition>& GetRestartNeeded() const { return m_restartNeeded; }
221 inline bool RestartNeededHasBeenSet() const { return m_restartNeededHasBeenSet; }
222 template <typename RestartNeededT = Aws::Vector<StringCriteriaCondition>>
223 void SetRestartNeeded(RestartNeededT&& value) {
224 m_restartNeededHasBeenSet = true;
225 m_restartNeeded = std::forward<RestartNeededT>(value);
226 }
227 template <typename RestartNeededT = Aws::Vector<StringCriteriaCondition>>
228 Criteria& WithRestartNeeded(RestartNeededT&& value) {
229 SetRestartNeeded(std::forward<RestartNeededT>(value));
230 return *this;
231 }
232 template <typename RestartNeededT = StringCriteriaCondition>
233 Criteria& AddRestartNeeded(RestartNeededT&& value) {
234 m_restartNeededHasBeenSet = true;
235 m_restartNeeded.emplace_back(std::forward<RestartNeededT>(value));
236 return *this;
237 }
239 private:
241
243
245
246 Aws::Vector<IntegerCriteriaCondition> m_ebsVolumeSizeInGib;
247
248 Aws::Vector<DoubleCriteriaCondition> m_estimatedMonthlySavings;
249
251
252 Aws::Vector<IntegerCriteriaCondition> m_lookBackPeriodInDays;
253
255 bool m_regionHasBeenSet = false;
256 bool m_resourceArnHasBeenSet = false;
257 bool m_ebsVolumeTypeHasBeenSet = false;
258 bool m_ebsVolumeSizeInGibHasBeenSet = false;
259 bool m_estimatedMonthlySavingsHasBeenSet = false;
260 bool m_resourceTagHasBeenSet = false;
261 bool m_lookBackPeriodInDaysHasBeenSet = false;
262 bool m_restartNeededHasBeenSet = false;
263};
264
265} // namespace Model
266} // namespace ComputeOptimizerAutomation
267} // namespace Aws
void SetRestartNeeded(RestartNeededT &&value)
Definition Criteria.h:223
Criteria & WithRestartNeeded(RestartNeededT &&value)
Definition Criteria.h:228
Criteria & WithRegion(RegionT &&value)
Definition Criteria.h:55
AWS_COMPUTEOPTIMIZERAUTOMATION_API Criteria(Aws::Utils::Json::JsonView jsonValue)
Criteria & AddEstimatedMonthlySavings(EstimatedMonthlySavingsT &&value)
Definition Criteria.h:158
Criteria & WithResourceTag(ResourceTagT &&value)
Definition Criteria.h:178
void SetEstimatedMonthlySavings(EstimatedMonthlySavingsT &&value)
Definition Criteria.h:148
Criteria & WithLookBackPeriodInDays(LookBackPeriodInDaysT &&value)
Definition Criteria.h:203
const Aws::Vector< DoubleCriteriaCondition > & GetEstimatedMonthlySavings() const
Definition Criteria.h:145
Criteria & WithEbsVolumeSizeInGib(EbsVolumeSizeInGibT &&value)
Definition Criteria.h:128
Criteria & AddResourceTag(ResourceTagT &&value)
Definition Criteria.h:183
Criteria & AddEbsVolumeType(EbsVolumeTypeT &&value)
Definition Criteria.h:109
const Aws::Vector< StringCriteriaCondition > & GetRegion() const
Definition Criteria.h:47
AWS_COMPUTEOPTIMIZERAUTOMATION_API Criteria()=default
Criteria & AddRegion(RegionT &&value)
Definition Criteria.h:60
void SetEbsVolumeType(EbsVolumeTypeT &&value)
Definition Criteria.h:99
const Aws::Vector< StringCriteriaCondition > & GetResourceArn() const
Definition Criteria.h:71
AWS_COMPUTEOPTIMIZERAUTOMATION_API Criteria & operator=(Aws::Utils::Json::JsonView jsonValue)
Criteria & WithEbsVolumeType(EbsVolumeTypeT &&value)
Definition Criteria.h:104
void SetResourceTag(ResourceTagT &&value)
Definition Criteria.h:173
const Aws::Vector< StringCriteriaCondition > & GetEbsVolumeType() const
Definition Criteria.h:96
Criteria & AddRestartNeeded(RestartNeededT &&value)
Definition Criteria.h:233
void SetLookBackPeriodInDays(LookBackPeriodInDaysT &&value)
Definition Criteria.h:198
Criteria & AddResourceArn(ResourceArnT &&value)
Definition Criteria.h:84
Criteria & WithEstimatedMonthlySavings(EstimatedMonthlySavingsT &&value)
Definition Criteria.h:153
Criteria & AddEbsVolumeSizeInGib(EbsVolumeSizeInGibT &&value)
Definition Criteria.h:133
Criteria & AddLookBackPeriodInDays(LookBackPeriodInDaysT &&value)
Definition Criteria.h:208
void SetResourceArn(ResourceArnT &&value)
Definition Criteria.h:74
const Aws::Vector< IntegerCriteriaCondition > & GetEbsVolumeSizeInGib() const
Definition Criteria.h:120
const Aws::Vector< ResourceTagsCriteriaCondition > & GetResourceTag() const
Definition Criteria.h:170
const Aws::Vector< StringCriteriaCondition > & GetRestartNeeded() const
Definition Criteria.h:220
const Aws::Vector< IntegerCriteriaCondition > & GetLookBackPeriodInDays() const
Definition Criteria.h:195
Criteria & WithResourceArn(ResourceArnT &&value)
Definition Criteria.h:79
AWS_COMPUTEOPTIMIZERAUTOMATION_API Aws::Utils::Json::JsonValue Jsonize() const
void SetEbsVolumeSizeInGib(EbsVolumeSizeInGibT &&value)
Definition Criteria.h:123
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue