AWS SDK for C++

AWS SDK for C++ Version 1.11.744

Loading...
Searching...
No Matches
Expression.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSVector.h>
8#include <aws/freetier/FreeTier_EXPORTS.h>
9#include <aws/freetier/model/DimensionValues.h>
10
11#include <utility>
12
13namespace Aws {
14namespace Utils {
15namespace Json {
16class JsonValue;
17class JsonView;
18} // namespace Json
19} // namespace Utils
20namespace FreeTier {
21namespace Model {
22
54 public:
55 AWS_FREETIER_API Expression() = default;
56 AWS_FREETIER_API Expression(Aws::Utils::Json::JsonView jsonValue);
57 AWS_FREETIER_API Expression& operator=(Aws::Utils::Json::JsonView jsonValue);
58 AWS_FREETIER_API Aws::Utils::Json::JsonValue Jsonize() const;
59
61
65 inline const Aws::Vector<Expression>& GetOr() const { return m_or; }
66 inline bool OrHasBeenSet() const { return m_orHasBeenSet; }
67 template <typename OrT = Aws::Vector<Expression>>
68 void SetOr(OrT&& value) {
69 m_orHasBeenSet = true;
70 m_or = std::forward<OrT>(value);
71 }
72 template <typename OrT = Aws::Vector<Expression>>
73 Expression& WithOr(OrT&& value) {
74 SetOr(std::forward<OrT>(value));
75 return *this;
76 }
77 template <typename OrT = Expression>
78 Expression& AddOr(OrT&& value) {
79 m_orHasBeenSet = true;
80 m_or.emplace_back(std::forward<OrT>(value));
81 return *this;
82 }
84
86
90 inline const Aws::Vector<Expression>& GetAnd() const { return m_and; }
91 inline bool AndHasBeenSet() const { return m_andHasBeenSet; }
92 template <typename AndT = Aws::Vector<Expression>>
93 void SetAnd(AndT&& value) {
94 m_andHasBeenSet = true;
95 m_and = std::forward<AndT>(value);
96 }
97 template <typename AndT = Aws::Vector<Expression>>
98 Expression& WithAnd(AndT&& value) {
99 SetAnd(std::forward<AndT>(value));
100 return *this;
101 }
102 template <typename AndT = Expression>
103 Expression& AddAnd(AndT&& value) {
104 m_andHasBeenSet = true;
105 m_and.emplace_back(std::forward<AndT>(value));
106 return *this;
107 }
109
111
115 inline const Expression& GetNot() const { return *m_not; }
116 inline bool NotHasBeenSet() const { return m_notHasBeenSet; }
117 template <typename NotT = Expression>
118 void SetNot(NotT&& value) {
119 m_notHasBeenSet = true;
120 m_not = Aws::MakeShared<Expression>("Expression", std::forward<NotT>(value));
121 }
122 template <typename NotT = Expression>
123 Expression& WithNot(NotT&& value) {
124 SetNot(std::forward<NotT>(value));
125 return *this;
126 }
128
130
133 inline const DimensionValues& GetDimensions() const { return m_dimensions; }
134 inline bool DimensionsHasBeenSet() const { return m_dimensionsHasBeenSet; }
135 template <typename DimensionsT = DimensionValues>
136 void SetDimensions(DimensionsT&& value) {
137 m_dimensionsHasBeenSet = true;
138 m_dimensions = std::forward<DimensionsT>(value);
139 }
140 template <typename DimensionsT = DimensionValues>
141 Expression& WithDimensions(DimensionsT&& value) {
142 SetDimensions(std::forward<DimensionsT>(value));
143 return *this;
144 }
146 private:
148
150
151 std::shared_ptr<Expression> m_not;
152
153 DimensionValues m_dimensions;
154 bool m_orHasBeenSet = false;
155 bool m_andHasBeenSet = false;
156 bool m_notHasBeenSet = false;
157 bool m_dimensionsHasBeenSet = false;
158};
159
160} // namespace Model
161} // namespace FreeTier
162} // namespace Aws
AWS_FREETIER_API Expression(Aws::Utils::Json::JsonView jsonValue)
const DimensionValues & GetDimensions() const
Definition Expression.h:133
Expression & WithAnd(AndT &&value)
Definition Expression.h:98
const Aws::Vector< Expression > & GetAnd() const
Definition Expression.h:90
const Aws::Vector< Expression > & GetOr() const
Definition Expression.h:65
void SetDimensions(DimensionsT &&value)
Definition Expression.h:136
const Expression & GetNot() const
Definition Expression.h:115
AWS_FREETIER_API Expression & operator=(Aws::Utils::Json::JsonView jsonValue)
Expression & WithNot(NotT &&value)
Definition Expression.h:123
AWS_FREETIER_API Expression()=default
Expression & WithOr(OrT &&value)
Definition Expression.h:73
Expression & WithDimensions(DimensionsT &&value)
Definition Expression.h:141
Expression & AddOr(OrT &&value)
Definition Expression.h:78
Expression & AddAnd(AndT &&value)
Definition Expression.h:103
AWS_FREETIER_API Aws::Utils::Json::JsonValue Jsonize() const
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue