AWS SDK for C++

AWS SDK for C++ Version 1.11.440

Loading...
Searching...
No Matches
Expression.h
1
6#pragma once
7#include <aws/freetier/FreeTier_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/freetier/model/DimensionValues.h>
10#include <utility>
11
12namespace Aws
13{
14namespace Utils
15{
16namespace Json
17{
18 class JsonValue;
19 class JsonView;
20} // namespace Json
21} // namespace Utils
22namespace FreeTier
23{
24namespace Model
25{
26
58 {
59 public:
60 AWS_FREETIER_API Expression();
61 AWS_FREETIER_API Expression(Aws::Utils::Json::JsonView jsonValue);
62 AWS_FREETIER_API Expression& operator=(Aws::Utils::Json::JsonView jsonValue);
63 AWS_FREETIER_API Aws::Utils::Json::JsonValue Jsonize() const;
64
65
67
71 inline const Aws::Vector<Expression>& GetAnd() const{ return m_and; }
72 inline bool AndHasBeenSet() const { return m_andHasBeenSet; }
73 inline void SetAnd(const Aws::Vector<Expression>& value) { m_andHasBeenSet = true; m_and = value; }
74 inline void SetAnd(Aws::Vector<Expression>&& value) { m_andHasBeenSet = true; m_and = std::move(value); }
75 inline Expression& WithAnd(const Aws::Vector<Expression>& value) { SetAnd(value); return *this;}
76 inline Expression& WithAnd(Aws::Vector<Expression>&& value) { SetAnd(std::move(value)); return *this;}
77 inline Expression& AddAnd(const Expression& value) { m_andHasBeenSet = true; m_and.push_back(value); return *this; }
78 inline Expression& AddAnd(Expression&& value) { m_andHasBeenSet = true; m_and.push_back(std::move(value)); return *this; }
80
82
85 inline const DimensionValues& GetDimensions() const{ return m_dimensions; }
86 inline bool DimensionsHasBeenSet() const { return m_dimensionsHasBeenSet; }
87 inline void SetDimensions(const DimensionValues& value) { m_dimensionsHasBeenSet = true; m_dimensions = value; }
88 inline void SetDimensions(DimensionValues&& value) { m_dimensionsHasBeenSet = true; m_dimensions = std::move(value); }
89 inline Expression& WithDimensions(const DimensionValues& value) { SetDimensions(value); return *this;}
90 inline Expression& WithDimensions(DimensionValues&& value) { SetDimensions(std::move(value)); return *this;}
92
94
98 AWS_FREETIER_API const Expression& GetNot() const;
99 AWS_FREETIER_API bool NotHasBeenSet() const;
100 AWS_FREETIER_API void SetNot(const Expression& value);
101 AWS_FREETIER_API void SetNot(Expression&& value);
102 AWS_FREETIER_API Expression& WithNot(const Expression& value);
103 AWS_FREETIER_API Expression& WithNot(Expression&& value);
105
107
111 inline const Aws::Vector<Expression>& GetOr() const{ return m_or; }
112 inline bool OrHasBeenSet() const { return m_orHasBeenSet; }
113 inline void SetOr(const Aws::Vector<Expression>& value) { m_orHasBeenSet = true; m_or = value; }
114 inline void SetOr(Aws::Vector<Expression>&& value) { m_orHasBeenSet = true; m_or = std::move(value); }
115 inline Expression& WithOr(const Aws::Vector<Expression>& value) { SetOr(value); return *this;}
116 inline Expression& WithOr(Aws::Vector<Expression>&& value) { SetOr(std::move(value)); return *this;}
117 inline Expression& AddOr(const Expression& value) { m_orHasBeenSet = true; m_or.push_back(value); return *this; }
118 inline Expression& AddOr(Expression&& value) { m_orHasBeenSet = true; m_or.push_back(std::move(value)); return *this; }
120 private:
121
123 bool m_andHasBeenSet = false;
124
125 DimensionValues m_dimensions;
126 bool m_dimensionsHasBeenSet = false;
127
128 std::shared_ptr<Expression> m_not;
129 bool m_notHasBeenSet = false;
130
132 bool m_orHasBeenSet = false;
133 };
134
135} // namespace Model
136} // namespace FreeTier
137} // namespace Aws
AWS_FREETIER_API Expression(Aws::Utils::Json::JsonView jsonValue)
const DimensionValues & GetDimensions() const
Definition Expression.h:85
AWS_FREETIER_API Expression & WithNot(Expression &&value)
Expression & WithAnd(const Aws::Vector< Expression > &value)
Definition Expression.h:75
void SetOr(Aws::Vector< Expression > &&value)
Definition Expression.h:114
AWS_FREETIER_API void SetNot(Expression &&value)
AWS_FREETIER_API bool NotHasBeenSet() const
AWS_FREETIER_API Expression & WithNot(const Expression &value)
const Aws::Vector< Expression > & GetAnd() const
Definition Expression.h:71
AWS_FREETIER_API void SetNot(const Expression &value)
void SetOr(const Aws::Vector< Expression > &value)
Definition Expression.h:113
const Aws::Vector< Expression > & GetOr() const
Definition Expression.h:111
Expression & AddAnd(const Expression &value)
Definition Expression.h:77
Expression & WithOr(Aws::Vector< Expression > &&value)
Definition Expression.h:116
AWS_FREETIER_API Expression & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetDimensions(DimensionValues &&value)
Definition Expression.h:88
void SetAnd(Aws::Vector< Expression > &&value)
Definition Expression.h:74
void SetDimensions(const DimensionValues &value)
Definition Expression.h:87
Expression & WithOr(const Aws::Vector< Expression > &value)
Definition Expression.h:115
Expression & WithDimensions(const DimensionValues &value)
Definition Expression.h:89
AWS_FREETIER_API Aws::Utils::Json::JsonValue Jsonize() const
Expression & AddAnd(Expression &&value)
Definition Expression.h:78
void SetAnd(const Aws::Vector< Expression > &value)
Definition Expression.h:73
Expression & WithAnd(Aws::Vector< Expression > &&value)
Definition Expression.h:76
Expression & WithDimensions(DimensionValues &&value)
Definition Expression.h:90
AWS_FREETIER_API const Expression & GetNot() const
Expression & AddOr(Expression &&value)
Definition Expression.h:118
Expression & AddOr(const Expression &value)
Definition Expression.h:117
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue