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>
23namespace ComputeOptimizerAutomation {
37 AWS_COMPUTEOPTIMIZERAUTOMATION_API
Criteria() =
default;
49 template <
typename RegionT = Aws::Vector<StringCriteriaCondition>>
51 m_regionHasBeenSet =
true;
52 m_region = std::forward<RegionT>(value);
54 template <
typename RegionT = Aws::Vector<StringCriteriaCondition>>
59 template <
typename RegionT = StringCriteriaCondition>
61 m_regionHasBeenSet =
true;
62 m_region.emplace_back(std::forward<RegionT>(value));
73 template <
typename ResourceArnT = Aws::Vector<StringCriteriaCondition>>
75 m_resourceArnHasBeenSet =
true;
76 m_resourceArn = std::forward<ResourceArnT>(value);
78 template <
typename ResourceArnT = Aws::Vector<StringCriteriaCondition>>
83 template <
typename ResourceArnT = StringCriteriaCondition>
85 m_resourceArnHasBeenSet =
true;
86 m_resourceArn.emplace_back(std::forward<ResourceArnT>(value));
98 template <
typename EbsVolumeTypeT = Aws::Vector<StringCriteriaCondition>>
100 m_ebsVolumeTypeHasBeenSet =
true;
101 m_ebsVolumeType = std::forward<EbsVolumeTypeT>(value);
103 template <
typename EbsVolumeTypeT = Aws::Vector<StringCriteriaCondition>>
108 template <
typename EbsVolumeTypeT = StringCriteriaCondition>
110 m_ebsVolumeTypeHasBeenSet =
true;
111 m_ebsVolumeType.emplace_back(std::forward<EbsVolumeTypeT>(value));
122 template <
typename EbsVolumeSizeInGibT = Aws::Vector<IntegerCriteriaCondition>>
124 m_ebsVolumeSizeInGibHasBeenSet =
true;
125 m_ebsVolumeSizeInGib = std::forward<EbsVolumeSizeInGibT>(value);
127 template <
typename EbsVolumeSizeInGibT = Aws::Vector<IntegerCriteriaCondition>>
132 template <
typename EbsVolumeSizeInGibT = IntegerCriteriaCondition>
134 m_ebsVolumeSizeInGibHasBeenSet =
true;
135 m_ebsVolumeSizeInGib.emplace_back(std::forward<EbsVolumeSizeInGibT>(value));
147 template <
typename EstimatedMonthlySavingsT = Aws::Vector<DoubleCriteriaCondition>>
149 m_estimatedMonthlySavingsHasBeenSet =
true;
150 m_estimatedMonthlySavings = std::forward<EstimatedMonthlySavingsT>(value);
152 template <
typename EstimatedMonthlySavingsT = Aws::Vector<DoubleCriteriaCondition>>
157 template <
typename EstimatedMonthlySavingsT = DoubleCriteriaCondition>
159 m_estimatedMonthlySavingsHasBeenSet =
true;
160 m_estimatedMonthlySavings.emplace_back(std::forward<EstimatedMonthlySavingsT>(value));
172 template <
typename ResourceTagT = Aws::Vector<ResourceTagsCriteriaCondition>>
174 m_resourceTagHasBeenSet =
true;
175 m_resourceTag = std::forward<ResourceTagT>(value);
177 template <
typename ResourceTagT = Aws::Vector<ResourceTagsCriteriaCondition>>
182 template <
typename ResourceTagT = ResourceTagsCriteriaCondition>
184 m_resourceTagHasBeenSet =
true;
185 m_resourceTag.emplace_back(std::forward<ResourceTagT>(value));
197 template <
typename LookBackPeriodInDaysT = Aws::Vector<IntegerCriteriaCondition>>
199 m_lookBackPeriodInDaysHasBeenSet =
true;
200 m_lookBackPeriodInDays = std::forward<LookBackPeriodInDaysT>(value);
202 template <
typename LookBackPeriodInDaysT = Aws::Vector<IntegerCriteriaCondition>>
207 template <
typename LookBackPeriodInDaysT = IntegerCriteriaCondition>
209 m_lookBackPeriodInDaysHasBeenSet =
true;
210 m_lookBackPeriodInDays.emplace_back(std::forward<LookBackPeriodInDaysT>(value));
222 template <
typename RestartNeededT = Aws::Vector<StringCriteriaCondition>>
224 m_restartNeededHasBeenSet =
true;
225 m_restartNeeded = std::forward<RestartNeededT>(value);
227 template <
typename RestartNeededT = Aws::Vector<StringCriteriaCondition>>
232 template <
typename RestartNeededT = StringCriteriaCondition>
234 m_restartNeededHasBeenSet =
true;
235 m_restartNeeded.emplace_back(std::forward<RestartNeededT>(value));
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;
void SetRestartNeeded(RestartNeededT &&value)
Criteria & WithRestartNeeded(RestartNeededT &&value)
bool LookBackPeriodInDaysHasBeenSet() const
Criteria & WithRegion(RegionT &&value)
AWS_COMPUTEOPTIMIZERAUTOMATION_API Criteria(Aws::Utils::Json::JsonView jsonValue)
Criteria & AddEstimatedMonthlySavings(EstimatedMonthlySavingsT &&value)
bool EbsVolumeTypeHasBeenSet() const
Criteria & WithResourceTag(ResourceTagT &&value)
void SetEstimatedMonthlySavings(EstimatedMonthlySavingsT &&value)
bool RegionHasBeenSet() const
bool RestartNeededHasBeenSet() const
Criteria & WithLookBackPeriodInDays(LookBackPeriodInDaysT &&value)
const Aws::Vector< DoubleCriteriaCondition > & GetEstimatedMonthlySavings() const
Criteria & WithEbsVolumeSizeInGib(EbsVolumeSizeInGibT &&value)
Criteria & AddResourceTag(ResourceTagT &&value)
Criteria & AddEbsVolumeType(EbsVolumeTypeT &&value)
const Aws::Vector< StringCriteriaCondition > & GetRegion() const
AWS_COMPUTEOPTIMIZERAUTOMATION_API Criteria()=default
Criteria & AddRegion(RegionT &&value)
void SetEbsVolumeType(EbsVolumeTypeT &&value)
const Aws::Vector< StringCriteriaCondition > & GetResourceArn() const
AWS_COMPUTEOPTIMIZERAUTOMATION_API Criteria & operator=(Aws::Utils::Json::JsonView jsonValue)
Criteria & WithEbsVolumeType(EbsVolumeTypeT &&value)
void SetResourceTag(ResourceTagT &&value)
bool ResourceTagHasBeenSet() const
bool EbsVolumeSizeInGibHasBeenSet() const
const Aws::Vector< StringCriteriaCondition > & GetEbsVolumeType() const
Criteria & AddRestartNeeded(RestartNeededT &&value)
void SetLookBackPeriodInDays(LookBackPeriodInDaysT &&value)
Criteria & AddResourceArn(ResourceArnT &&value)
void SetRegion(RegionT &&value)
Criteria & WithEstimatedMonthlySavings(EstimatedMonthlySavingsT &&value)
Criteria & AddEbsVolumeSizeInGib(EbsVolumeSizeInGibT &&value)
Criteria & AddLookBackPeriodInDays(LookBackPeriodInDaysT &&value)
bool ResourceArnHasBeenSet() const
void SetResourceArn(ResourceArnT &&value)
bool EstimatedMonthlySavingsHasBeenSet() const
const Aws::Vector< IntegerCriteriaCondition > & GetEbsVolumeSizeInGib() const
const Aws::Vector< ResourceTagsCriteriaCondition > & GetResourceTag() const
const Aws::Vector< StringCriteriaCondition > & GetRestartNeeded() const
const Aws::Vector< IntegerCriteriaCondition > & GetLookBackPeriodInDays() const
Criteria & WithResourceArn(ResourceArnT &&value)
AWS_COMPUTEOPTIMIZERAUTOMATION_API Aws::Utils::Json::JsonValue Jsonize() const
void SetEbsVolumeSizeInGib(EbsVolumeSizeInGibT &&value)
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue