AWS SDK for C++  1.8.95
AWS SDK for C++
Expression.h
Go to the documentation of this file.
1 
6 #pragma once
11 #include <aws/ce/model/TagValues.h>
13 #include <utility>
14 
15 namespace Aws
16 {
17 namespace Utils
18 {
19 namespace Json
20 {
21  class JsonValue;
22  class JsonView;
23 } // namespace Json
24 } // namespace Utils
25 namespace CostExplorer
26 {
27 namespace Model
28 {
29 
66  {
67  public:
68  Expression();
70  Expression& operator=(Aws::Utils::Json::JsonView jsonValue);
71  Aws::Utils::Json::JsonValue Jsonize() const;
72 
73 
77  inline const Aws::Vector<Expression>& GetOr() const{ return m_or; }
78 
82  inline bool OrHasBeenSet() const { return m_orHasBeenSet; }
83 
87  inline void SetOr(const Aws::Vector<Expression>& value) { m_orHasBeenSet = true; m_or = value; }
88 
92  inline void SetOr(Aws::Vector<Expression>&& value) { m_orHasBeenSet = true; m_or = std::move(value); }
93 
97  inline Expression& WithOr(const Aws::Vector<Expression>& value) { SetOr(value); return *this;}
98 
102  inline Expression& WithOr(Aws::Vector<Expression>&& value) { SetOr(std::move(value)); return *this;}
103 
107  inline Expression& AddOr(const Expression& value) { m_orHasBeenSet = true; m_or.push_back(value); return *this; }
108 
112  inline Expression& AddOr(Expression&& value) { m_orHasBeenSet = true; m_or.push_back(std::move(value)); return *this; }
113 
114 
118  inline const Aws::Vector<Expression>& GetAnd() const{ return m_and; }
119 
123  inline bool AndHasBeenSet() const { return m_andHasBeenSet; }
124 
128  inline void SetAnd(const Aws::Vector<Expression>& value) { m_andHasBeenSet = true; m_and = value; }
129 
133  inline void SetAnd(Aws::Vector<Expression>&& value) { m_andHasBeenSet = true; m_and = std::move(value); }
134 
138  inline Expression& WithAnd(const Aws::Vector<Expression>& value) { SetAnd(value); return *this;}
139 
143  inline Expression& WithAnd(Aws::Vector<Expression>&& value) { SetAnd(std::move(value)); return *this;}
144 
148  inline Expression& AddAnd(const Expression& value) { m_andHasBeenSet = true; m_and.push_back(value); return *this; }
149 
153  inline Expression& AddAnd(Expression&& value) { m_andHasBeenSet = true; m_and.push_back(std::move(value)); return *this; }
154 
155 
159  inline const Expression& GetNot() const{ return m_not[0]; }
160 
164  inline bool NotHasBeenSet() const { return m_notHasBeenSet; }
165 
169  inline void SetNot(const Expression& value) { m_notHasBeenSet = true; m_not.resize(1); m_not[0] = value; }
170 
174  inline void SetNot(Expression&& value) { m_notHasBeenSet = true; m_not.resize(1); m_not[0] = std::move(value); }
175 
179  inline Expression& WithNot(const Expression& value) { SetNot(value); return *this;}
180 
184  inline Expression& WithNot(Expression&& value) { SetNot(std::move(value)); return *this;}
185 
186 
190  inline const DimensionValues& GetDimensions() const{ return m_dimensions; }
191 
195  inline bool DimensionsHasBeenSet() const { return m_dimensionsHasBeenSet; }
196 
200  inline void SetDimensions(const DimensionValues& value) { m_dimensionsHasBeenSet = true; m_dimensions = value; }
201 
205  inline void SetDimensions(DimensionValues&& value) { m_dimensionsHasBeenSet = true; m_dimensions = std::move(value); }
206 
210  inline Expression& WithDimensions(const DimensionValues& value) { SetDimensions(value); return *this;}
211 
215  inline Expression& WithDimensions(DimensionValues&& value) { SetDimensions(std::move(value)); return *this;}
216 
217 
221  inline const TagValues& GetTags() const{ return m_tags; }
222 
226  inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
227 
231  inline void SetTags(const TagValues& value) { m_tagsHasBeenSet = true; m_tags = value; }
232 
236  inline void SetTags(TagValues&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); }
237 
241  inline Expression& WithTags(const TagValues& value) { SetTags(value); return *this;}
242 
246  inline Expression& WithTags(TagValues&& value) { SetTags(std::move(value)); return *this;}
247 
248 
252  inline const CostCategoryValues& GetCostCategories() const{ return m_costCategories; }
253 
257  inline bool CostCategoriesHasBeenSet() const { return m_costCategoriesHasBeenSet; }
258 
262  inline void SetCostCategories(const CostCategoryValues& value) { m_costCategoriesHasBeenSet = true; m_costCategories = value; }
263 
267  inline void SetCostCategories(CostCategoryValues&& value) { m_costCategoriesHasBeenSet = true; m_costCategories = std::move(value); }
268 
272  inline Expression& WithCostCategories(const CostCategoryValues& value) { SetCostCategories(value); return *this;}
273 
277  inline Expression& WithCostCategories(CostCategoryValues&& value) { SetCostCategories(std::move(value)); return *this;}
278 
279  private:
280 
282  bool m_orHasBeenSet;
283 
285  bool m_andHasBeenSet;
286 
288  bool m_notHasBeenSet;
289 
290  DimensionValues m_dimensions;
291  bool m_dimensionsHasBeenSet;
292 
293  TagValues m_tags;
294  bool m_tagsHasBeenSet;
295 
296  CostCategoryValues m_costCategories;
297  bool m_costCategoriesHasBeenSet;
298  };
299 
300 } // namespace Model
301 } // namespace CostExplorer
302 } // namespace Aws
Expression & WithOr(const Aws::Vector< Expression > &value)
Definition: Expression.h:97
Expression & WithAnd(Aws::Vector< Expression > &&value)
Definition: Expression.h:143
Expression & WithAnd(const Aws::Vector< Expression > &value)
Definition: Expression.h:138
void SetNot(Expression &&value)
Definition: Expression.h:174
Expression & AddOr(Expression &&value)
Definition: Expression.h:112
const DimensionValues & GetDimensions() const
Definition: Expression.h:190
const CostCategoryValues & GetCostCategories() const
Definition: Expression.h:252
const TagValues & GetTags() const
Definition: Expression.h:221
Expression & WithCostCategories(CostCategoryValues &&value)
Definition: Expression.h:277
std::vector< T, Aws::Allocator< T > > Vector
Definition: AWSVector.h:17
const Aws::Vector< Expression > & GetOr() const
Definition: Expression.h:77
Expression & WithDimensions(const DimensionValues &value)
Definition: Expression.h:210
const Expression & GetNot() const
Definition: Expression.h:159
void SetNot(const Expression &value)
Definition: Expression.h:169
Expression & WithNot(Expression &&value)
Definition: Expression.h:184
void SetCostCategories(const CostCategoryValues &value)
Definition: Expression.h:262
Expression & AddAnd(const Expression &value)
Definition: Expression.h:148
void SetDimensions(DimensionValues &&value)
Definition: Expression.h:205
Expression & WithNot(const Expression &value)
Definition: Expression.h:179
void SetDimensions(const DimensionValues &value)
Definition: Expression.h:200
void SetCostCategories(CostCategoryValues &&value)
Definition: Expression.h:267
void SetTags(TagValues &&value)
Definition: Expression.h:236
Expression & WithCostCategories(const CostCategoryValues &value)
Definition: Expression.h:272
void SetOr(const Aws::Vector< Expression > &value)
Definition: Expression.h:87
Expression & WithTags(TagValues &&value)
Definition: Expression.h:246
void SetAnd(const Aws::Vector< Expression > &value)
Definition: Expression.h:128
Expression & WithTags(const TagValues &value)
Definition: Expression.h:241
Expression & WithOr(Aws::Vector< Expression > &&value)
Definition: Expression.h:102
void SetAnd(Aws::Vector< Expression > &&value)
Definition: Expression.h:133
#define AWS_COSTEXPLORER_API
const Aws::Vector< Expression > & GetAnd() const
Definition: Expression.h:118
Expression & WithDimensions(DimensionValues &&value)
Definition: Expression.h:215
void SetOr(Aws::Vector< Expression > &&value)
Definition: Expression.h:92
void SetTags(const TagValues &value)
Definition: Expression.h:231
Expression & AddAnd(Expression &&value)
Definition: Expression.h:153
Expression & AddOr(const Expression &value)
Definition: Expression.h:107