7#include <aws/budgets/Budgets_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/budgets/model/ExpressionDimensionValues.h>
10#include <aws/budgets/model/TagValues.h>
11#include <aws/budgets/model/CostCategoryValues.h>
50 template<
typename OrT = Aws::Vector<Expression>>
51 void SetOr(OrT&& value) { m_orHasBeenSet =
true; m_or = std::forward<OrT>(value); }
52 template<
typename OrT = Aws::Vector<Expression>>
54 template<
typename OrT = Expression>
55 Expression&
AddOr(OrT&& value) { m_orHasBeenSet =
true; m_or.emplace_back(std::forward<OrT>(value));
return *
this; }
64 template<
typename AndT = Aws::Vector<Expression>>
65 void SetAnd(AndT&& value) { m_andHasBeenSet =
true; m_and = std::forward<AndT>(value); }
66 template<
typename AndT = Aws::Vector<Expression>>
68 template<
typename AndT = Expression>
69 Expression&
AddAnd(AndT&& value) { m_andHasBeenSet =
true; m_and.emplace_back(std::forward<AndT>(value));
return *
this; }
80 template<
typename NotT = Expression>
82 m_notHasBeenSet =
true;
83 m_not = Aws::MakeShared<Expression>(
"Expression", std::forward<NotT>(value));
85 template<
typename NotT = Expression>
95 template<
typename DimensionsT = ExpressionDimensionValues>
96 void SetDimensions(DimensionsT&& value) { m_dimensionsHasBeenSet =
true; m_dimensions = std::forward<DimensionsT>(value); }
97 template<
typename DimensionsT = ExpressionDimensionValues>
107 template<
typename TagsT = TagValues>
108 void SetTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags = std::forward<TagsT>(value); }
109 template<
typename TagsT = TagValues>
119 template<
typename CostCategoriesT = CostCategoryValues>
120 void SetCostCategories(CostCategoriesT&& value) { m_costCategoriesHasBeenSet =
true; m_costCategories = std::forward<CostCategoriesT>(value); }
121 template<
typename CostCategoriesT = CostCategoryValues>
127 bool m_orHasBeenSet =
false;
130 bool m_andHasBeenSet =
false;
132 std::shared_ptr<Expression> m_not;
133 bool m_notHasBeenSet =
false;
136 bool m_dimensionsHasBeenSet =
false;
139 bool m_tagsHasBeenSet =
false;
142 bool m_costCategoriesHasBeenSet =
false;
void SetDimensions(DimensionsT &&value)
AWS_BUDGETS_API Expression(Aws::Utils::Json::JsonView jsonValue)
Expression & WithAnd(AndT &&value)
Expression & AddAnd(AndT &&value)
bool NotHasBeenSet() const
bool OrHasBeenSet() const
void SetCostCategories(CostCategoriesT &&value)
Expression & WithTags(TagsT &&value)
Expression & WithOr(OrT &&value)
const Expression & GetNot() const
bool AndHasBeenSet() const
AWS_BUDGETS_API Expression & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetNot(NotT &&value)
const TagValues & GetTags() const
bool TagsHasBeenSet() const
const Aws::Vector< Expression > & GetOr() const
Expression & WithCostCategories(CostCategoriesT &&value)
bool DimensionsHasBeenSet() const
const ExpressionDimensionValues & GetDimensions() const
void SetAnd(AndT &&value)
Expression & AddOr(OrT &&value)
const Aws::Vector< Expression > & GetAnd() const
AWS_BUDGETS_API Aws::Utils::Json::JsonValue Jsonize() const
Expression & WithNot(NotT &&value)
Expression & WithDimensions(DimensionsT &&value)
AWS_BUDGETS_API Expression()=default
void SetTags(TagsT &&value)
bool CostCategoriesHasBeenSet() const
const CostCategoryValues & GetCostCategories() const
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue