7#include <aws/ce/CostExplorer_EXPORTS.h>
8#include <aws/ce/model/CostCategoryValues.h>
9#include <aws/ce/model/DimensionValues.h>
10#include <aws/ce/model/ProductAttributeValues.h>
11#include <aws/ce/model/TagValues.h>
12#include <aws/core/utils/memory/stl/AWSVector.h>
23namespace CostExplorer {
108 template <
typename OrT = Aws::Vector<Expression>>
110 m_orHasBeenSet =
true;
111 m_or = std::forward<OrT>(value);
113 template <
typename OrT = Aws::Vector<Expression>>
115 SetOr(std::forward<OrT>(value));
118 template <
typename OrT = Expression>
120 m_orHasBeenSet =
true;
121 m_or.emplace_back(std::forward<OrT>(value));
132 template <
typename AndT = Aws::Vector<Expression>>
134 m_andHasBeenSet =
true;
135 m_and = std::forward<AndT>(value);
137 template <
typename AndT = Aws::Vector<Expression>>
139 SetAnd(std::forward<AndT>(value));
142 template <
typename AndT = Expression>
144 m_andHasBeenSet =
true;
145 m_and.emplace_back(std::forward<AndT>(value));
156 template <
typename NotT = Expression>
158 m_notHasBeenSet =
true;
159 m_not = Aws::MakeShared<Expression>(
"Expression", std::forward<NotT>(value));
161 template <
typename NotT = Expression>
163 SetNot(std::forward<NotT>(value));
174 template <
typename DimensionsT = DimensionValues>
176 m_dimensionsHasBeenSet =
true;
177 m_dimensions = std::forward<DimensionsT>(value);
179 template <
typename DimensionsT = DimensionValues>
192 template <
typename TagsT = TagValues>
194 m_tagsHasBeenSet =
true;
195 m_tags = std::forward<TagsT>(value);
197 template <
typename TagsT = TagValues>
199 SetTags(std::forward<TagsT>(value));
210 template <
typename CostCategoriesT = CostCategoryValues>
212 m_costCategoriesHasBeenSet =
true;
213 m_costCategories = std::forward<CostCategoriesT>(value);
215 template <
typename CostCategoriesT = CostCategoryValues>
236 template <
typename ProductAttributesT = ProductAttributeValues>
238 m_productAttributesHasBeenSet =
true;
239 m_productAttributes = std::forward<ProductAttributesT>(value);
241 template <
typename ProductAttributesT = ProductAttributeValues>
252 std::shared_ptr<Expression> m_not;
261 bool m_orHasBeenSet =
false;
262 bool m_andHasBeenSet =
false;
263 bool m_notHasBeenSet =
false;
264 bool m_dimensionsHasBeenSet =
false;
265 bool m_tagsHasBeenSet =
false;
266 bool m_costCategoriesHasBeenSet =
false;
267 bool m_productAttributesHasBeenSet =
false;
AWS_COSTEXPLORER_API Aws::Utils::Json::JsonValue Jsonize() const
void SetAnd(AndT &&value)
const TagValues & GetTags() const
const ProductAttributeValues & GetProductAttributes() const
void SetProductAttributes(ProductAttributesT &&value)
bool TagsHasBeenSet() const
Expression & WithOr(OrT &&value)
Expression & WithProductAttributes(ProductAttributesT &&value)
AWS_COSTEXPLORER_API Expression & operator=(Aws::Utils::Json::JsonView jsonValue)
const Aws::Vector< Expression > & GetOr() const
bool AndHasBeenSet() const
bool OrHasBeenSet() const
Expression & WithCostCategories(CostCategoriesT &&value)
bool DimensionsHasBeenSet() const
Expression & WithNot(NotT &&value)
const DimensionValues & GetDimensions() const
const Expression & GetNot() const
AWS_COSTEXPLORER_API Expression(Aws::Utils::Json::JsonView jsonValue)
void SetNot(NotT &&value)
bool NotHasBeenSet() const
bool CostCategoriesHasBeenSet() const
const CostCategoryValues & GetCostCategories() const
void SetDimensions(DimensionsT &&value)
void SetCostCategories(CostCategoriesT &&value)
Expression & WithAnd(AndT &&value)
AWS_COSTEXPLORER_API Expression()=default
void SetTags(TagsT &&value)
Expression & WithTags(TagsT &&value)
Expression & WithDimensions(DimensionsT &&value)
Expression & AddOr(OrT &&value)
Expression & AddAnd(AndT &&value)
bool ProductAttributesHasBeenSet() const
const Aws::Vector< Expression > & GetAnd() const
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue