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/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() = default;
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>& GetOr() const { return m_or; }
72 inline bool OrHasBeenSet() const { return m_orHasBeenSet; }
73 template<typename OrT = Aws::Vector<Expression>>
74 void SetOr(OrT&& value) { m_orHasBeenSet = true; m_or = std::forward<OrT>(value); }
75 template<typename OrT = Aws::Vector<Expression>>
76 Expression& WithOr(OrT&& value) { SetOr(std::forward<OrT>(value)); return *this;}
77 template<typename OrT = Expression>
78 Expression& AddOr(OrT&& value) { m_orHasBeenSet = true; m_or.emplace_back(std::forward<OrT>(value)); return *this; }
80
82
86 inline const Aws::Vector<Expression>& GetAnd() const { return m_and; }
87 inline bool AndHasBeenSet() const { return m_andHasBeenSet; }
88 template<typename AndT = Aws::Vector<Expression>>
89 void SetAnd(AndT&& value) { m_andHasBeenSet = true; m_and = std::forward<AndT>(value); }
90 template<typename AndT = Aws::Vector<Expression>>
91 Expression& WithAnd(AndT&& value) { SetAnd(std::forward<AndT>(value)); return *this;}
92 template<typename AndT = Expression>
93 Expression& AddAnd(AndT&& value) { m_andHasBeenSet = true; m_and.emplace_back(std::forward<AndT>(value)); return *this; }
95
97
101 inline const Expression& GetNot() const{
102 return *m_not;
103 }
104 inline bool NotHasBeenSet() const { return m_notHasBeenSet; }
105 template<typename NotT = Expression>
106 void SetNot(NotT&& value) {
107 m_notHasBeenSet = true;
108 m_not = Aws::MakeShared<Expression>("Expression", std::forward<NotT>(value));
109 }
110 template<typename NotT = Expression>
111 Expression& WithNot(NotT&& value) { SetNot(std::forward<NotT>(value)); return *this;}
113
115
118 inline const DimensionValues& GetDimensions() const { return m_dimensions; }
119 inline bool DimensionsHasBeenSet() const { return m_dimensionsHasBeenSet; }
120 template<typename DimensionsT = DimensionValues>
121 void SetDimensions(DimensionsT&& value) { m_dimensionsHasBeenSet = true; m_dimensions = std::forward<DimensionsT>(value); }
122 template<typename DimensionsT = DimensionValues>
123 Expression& WithDimensions(DimensionsT&& value) { SetDimensions(std::forward<DimensionsT>(value)); return *this;}
125 private:
126
128 bool m_orHasBeenSet = false;
129
131 bool m_andHasBeenSet = false;
132
133 std::shared_ptr<Expression> m_not;
134 bool m_notHasBeenSet = false;
135
136 DimensionValues m_dimensions;
137 bool m_dimensionsHasBeenSet = false;
138 };
139
140} // namespace Model
141} // namespace FreeTier
142} // namespace Aws
AWS_FREETIER_API Expression(Aws::Utils::Json::JsonView jsonValue)
const DimensionValues & GetDimensions() const
Definition Expression.h:118
Expression & WithAnd(AndT &&value)
Definition Expression.h:91
const Aws::Vector< Expression > & GetAnd() const
Definition Expression.h:86
const Aws::Vector< Expression > & GetOr() const
Definition Expression.h:71
void SetDimensions(DimensionsT &&value)
Definition Expression.h:121
const Expression & GetNot() const
Definition Expression.h:101
AWS_FREETIER_API Expression & operator=(Aws::Utils::Json::JsonView jsonValue)
Expression & WithNot(NotT &&value)
Definition Expression.h:111
AWS_FREETIER_API Expression()=default
Expression & WithOr(OrT &&value)
Definition Expression.h:76
Expression & WithDimensions(DimensionsT &&value)
Definition Expression.h:123
Expression & AddOr(OrT &&value)
Definition Expression.h:78
Expression & AddAnd(AndT &&value)
Definition Expression.h:93
AWS_FREETIER_API Aws::Utils::Json::JsonValue Jsonize() const
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue