AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
Expression.h
1
6#pragma once
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>
12#include <utility>
13
14namespace Aws
15{
16namespace Utils
17{
18namespace Json
19{
20 class JsonValue;
21 class JsonView;
22} // namespace Json
23} // namespace Utils
24namespace Budgets
25{
26namespace Model
27{
28
36 {
37 public:
38 AWS_BUDGETS_API Expression() = default;
39 AWS_BUDGETS_API Expression(Aws::Utils::Json::JsonView jsonValue);
40 AWS_BUDGETS_API Expression& operator=(Aws::Utils::Json::JsonView jsonValue);
41 AWS_BUDGETS_API Aws::Utils::Json::JsonValue Jsonize() const;
42
43
45
48 inline const Aws::Vector<Expression>& GetOr() const { return m_or; }
49 inline bool OrHasBeenSet() const { return m_orHasBeenSet; }
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>>
53 Expression& WithOr(OrT&& value) { SetOr(std::forward<OrT>(value)); return *this;}
54 template<typename OrT = Expression>
55 Expression& AddOr(OrT&& value) { m_orHasBeenSet = true; m_or.emplace_back(std::forward<OrT>(value)); return *this; }
57
59
62 inline const Aws::Vector<Expression>& GetAnd() const { return m_and; }
63 inline bool AndHasBeenSet() const { return m_andHasBeenSet; }
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>>
67 Expression& WithAnd(AndT&& value) { SetAnd(std::forward<AndT>(value)); return *this;}
68 template<typename AndT = Expression>
69 Expression& AddAnd(AndT&& value) { m_andHasBeenSet = true; m_and.emplace_back(std::forward<AndT>(value)); return *this; }
71
73
76 inline const Expression& GetNot() const{
77 return *m_not;
78 }
79 inline bool NotHasBeenSet() const { return m_notHasBeenSet; }
80 template<typename NotT = Expression>
81 void SetNot(NotT&& value) {
82 m_notHasBeenSet = true;
83 m_not = Aws::MakeShared<Expression>("Expression", std::forward<NotT>(value));
84 }
85 template<typename NotT = Expression>
86 Expression& WithNot(NotT&& value) { SetNot(std::forward<NotT>(value)); return *this;}
88
90
93 inline const ExpressionDimensionValues& GetDimensions() const { return m_dimensions; }
94 inline bool DimensionsHasBeenSet() const { return m_dimensionsHasBeenSet; }
95 template<typename DimensionsT = ExpressionDimensionValues>
96 void SetDimensions(DimensionsT&& value) { m_dimensionsHasBeenSet = true; m_dimensions = std::forward<DimensionsT>(value); }
97 template<typename DimensionsT = ExpressionDimensionValues>
98 Expression& WithDimensions(DimensionsT&& value) { SetDimensions(std::forward<DimensionsT>(value)); return *this;}
100
102
105 inline const TagValues& GetTags() const { return m_tags; }
106 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
107 template<typename TagsT = TagValues>
108 void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward<TagsT>(value); }
109 template<typename TagsT = TagValues>
110 Expression& WithTags(TagsT&& value) { SetTags(std::forward<TagsT>(value)); return *this;}
112
114
117 inline const CostCategoryValues& GetCostCategories() const { return m_costCategories; }
118 inline bool CostCategoriesHasBeenSet() const { return m_costCategoriesHasBeenSet; }
119 template<typename CostCategoriesT = CostCategoryValues>
120 void SetCostCategories(CostCategoriesT&& value) { m_costCategoriesHasBeenSet = true; m_costCategories = std::forward<CostCategoriesT>(value); }
121 template<typename CostCategoriesT = CostCategoryValues>
122 Expression& WithCostCategories(CostCategoriesT&& value) { SetCostCategories(std::forward<CostCategoriesT>(value)); return *this;}
124 private:
125
127 bool m_orHasBeenSet = false;
128
130 bool m_andHasBeenSet = false;
131
132 std::shared_ptr<Expression> m_not;
133 bool m_notHasBeenSet = false;
134
135 ExpressionDimensionValues m_dimensions;
136 bool m_dimensionsHasBeenSet = false;
137
138 TagValues m_tags;
139 bool m_tagsHasBeenSet = false;
140
141 CostCategoryValues m_costCategories;
142 bool m_costCategoriesHasBeenSet = false;
143 };
144
145} // namespace Model
146} // namespace Budgets
147} // namespace Aws
void SetDimensions(DimensionsT &&value)
Definition Expression.h:96
AWS_BUDGETS_API Expression(Aws::Utils::Json::JsonView jsonValue)
Expression & WithAnd(AndT &&value)
Definition Expression.h:67
Expression & AddAnd(AndT &&value)
Definition Expression.h:69
void SetCostCategories(CostCategoriesT &&value)
Definition Expression.h:120
Expression & WithTags(TagsT &&value)
Definition Expression.h:110
Expression & WithOr(OrT &&value)
Definition Expression.h:53
const Expression & GetNot() const
Definition Expression.h:76
AWS_BUDGETS_API Expression & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetNot(NotT &&value)
Definition Expression.h:81
const TagValues & GetTags() const
Definition Expression.h:105
const Aws::Vector< Expression > & GetOr() const
Definition Expression.h:48
Expression & WithCostCategories(CostCategoriesT &&value)
Definition Expression.h:122
const ExpressionDimensionValues & GetDimensions() const
Definition Expression.h:93
void SetAnd(AndT &&value)
Definition Expression.h:65
Expression & AddOr(OrT &&value)
Definition Expression.h:55
const Aws::Vector< Expression > & GetAnd() const
Definition Expression.h:62
AWS_BUDGETS_API Aws::Utils::Json::JsonValue Jsonize() const
Expression & WithNot(NotT &&value)
Definition Expression.h:86
Expression & WithDimensions(DimensionsT &&value)
Definition Expression.h:98
AWS_BUDGETS_API Expression()=default
void SetTags(TagsT &&value)
Definition Expression.h:108
const CostCategoryValues & GetCostCategories() const
Definition Expression.h:117
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue