AWS SDK for C++

AWS SDK for C++ Version 1.11.744

Loading...
Searching...
No Matches
RuleCondition.h
1
6#pragma once
7#include <aws/mailmanager/MailManager_EXPORTS.h>
8#include <aws/mailmanager/model/RuleBooleanExpression.h>
9#include <aws/mailmanager/model/RuleDmarcExpression.h>
10#include <aws/mailmanager/model/RuleIpExpression.h>
11#include <aws/mailmanager/model/RuleNumberExpression.h>
12#include <aws/mailmanager/model/RuleStringExpression.h>
13#include <aws/mailmanager/model/RuleVerdictExpression.h>
14
15#include <utility>
16
17namespace Aws {
18namespace Utils {
19namespace Json {
20class JsonValue;
21class JsonView;
22} // namespace Json
23} // namespace Utils
24namespace MailManager {
25namespace Model {
26
34 public:
35 AWS_MAILMANAGER_API RuleCondition() = default;
36 AWS_MAILMANAGER_API RuleCondition(Aws::Utils::Json::JsonView jsonValue);
37 AWS_MAILMANAGER_API RuleCondition& operator=(Aws::Utils::Json::JsonView jsonValue);
38 AWS_MAILMANAGER_API Aws::Utils::Json::JsonValue Jsonize() const;
39
41
44 inline const RuleBooleanExpression& GetBooleanExpression() const { return m_booleanExpression; }
45 inline bool BooleanExpressionHasBeenSet() const { return m_booleanExpressionHasBeenSet; }
46 template <typename BooleanExpressionT = RuleBooleanExpression>
47 void SetBooleanExpression(BooleanExpressionT&& value) {
48 m_booleanExpressionHasBeenSet = true;
49 m_booleanExpression = std::forward<BooleanExpressionT>(value);
50 }
51 template <typename BooleanExpressionT = RuleBooleanExpression>
52 RuleCondition& WithBooleanExpression(BooleanExpressionT&& value) {
53 SetBooleanExpression(std::forward<BooleanExpressionT>(value));
54 return *this;
55 }
57
59
62 inline const RuleStringExpression& GetStringExpression() const { return m_stringExpression; }
63 inline bool StringExpressionHasBeenSet() const { return m_stringExpressionHasBeenSet; }
64 template <typename StringExpressionT = RuleStringExpression>
65 void SetStringExpression(StringExpressionT&& value) {
66 m_stringExpressionHasBeenSet = true;
67 m_stringExpression = std::forward<StringExpressionT>(value);
68 }
69 template <typename StringExpressionT = RuleStringExpression>
70 RuleCondition& WithStringExpression(StringExpressionT&& value) {
71 SetStringExpression(std::forward<StringExpressionT>(value));
72 return *this;
73 }
75
77
80 inline const RuleNumberExpression& GetNumberExpression() const { return m_numberExpression; }
81 inline bool NumberExpressionHasBeenSet() const { return m_numberExpressionHasBeenSet; }
82 template <typename NumberExpressionT = RuleNumberExpression>
83 void SetNumberExpression(NumberExpressionT&& value) {
84 m_numberExpressionHasBeenSet = true;
85 m_numberExpression = std::forward<NumberExpressionT>(value);
86 }
87 template <typename NumberExpressionT = RuleNumberExpression>
88 RuleCondition& WithNumberExpression(NumberExpressionT&& value) {
89 SetNumberExpression(std::forward<NumberExpressionT>(value));
90 return *this;
91 }
93
95
98 inline const RuleIpExpression& GetIpExpression() const { return m_ipExpression; }
99 inline bool IpExpressionHasBeenSet() const { return m_ipExpressionHasBeenSet; }
100 template <typename IpExpressionT = RuleIpExpression>
101 void SetIpExpression(IpExpressionT&& value) {
102 m_ipExpressionHasBeenSet = true;
103 m_ipExpression = std::forward<IpExpressionT>(value);
104 }
105 template <typename IpExpressionT = RuleIpExpression>
106 RuleCondition& WithIpExpression(IpExpressionT&& value) {
107 SetIpExpression(std::forward<IpExpressionT>(value));
108 return *this;
109 }
111
113
116 inline const RuleVerdictExpression& GetVerdictExpression() const { return m_verdictExpression; }
117 inline bool VerdictExpressionHasBeenSet() const { return m_verdictExpressionHasBeenSet; }
118 template <typename VerdictExpressionT = RuleVerdictExpression>
119 void SetVerdictExpression(VerdictExpressionT&& value) {
120 m_verdictExpressionHasBeenSet = true;
121 m_verdictExpression = std::forward<VerdictExpressionT>(value);
122 }
123 template <typename VerdictExpressionT = RuleVerdictExpression>
124 RuleCondition& WithVerdictExpression(VerdictExpressionT&& value) {
125 SetVerdictExpression(std::forward<VerdictExpressionT>(value));
126 return *this;
127 }
129
131
134 inline const RuleDmarcExpression& GetDmarcExpression() const { return m_dmarcExpression; }
135 inline bool DmarcExpressionHasBeenSet() const { return m_dmarcExpressionHasBeenSet; }
136 template <typename DmarcExpressionT = RuleDmarcExpression>
137 void SetDmarcExpression(DmarcExpressionT&& value) {
138 m_dmarcExpressionHasBeenSet = true;
139 m_dmarcExpression = std::forward<DmarcExpressionT>(value);
140 }
141 template <typename DmarcExpressionT = RuleDmarcExpression>
142 RuleCondition& WithDmarcExpression(DmarcExpressionT&& value) {
143 SetDmarcExpression(std::forward<DmarcExpressionT>(value));
144 return *this;
145 }
147 private:
148 RuleBooleanExpression m_booleanExpression;
149
150 RuleStringExpression m_stringExpression;
151
152 RuleNumberExpression m_numberExpression;
153
154 RuleIpExpression m_ipExpression;
155
156 RuleVerdictExpression m_verdictExpression;
157
158 RuleDmarcExpression m_dmarcExpression;
159 bool m_booleanExpressionHasBeenSet = false;
160 bool m_stringExpressionHasBeenSet = false;
161 bool m_numberExpressionHasBeenSet = false;
162 bool m_ipExpressionHasBeenSet = false;
163 bool m_verdictExpressionHasBeenSet = false;
164 bool m_dmarcExpressionHasBeenSet = false;
165};
166
167} // namespace Model
168} // namespace MailManager
169} // namespace Aws
AWS_MAILMANAGER_API RuleCondition & operator=(Aws::Utils::Json::JsonView jsonValue)
AWS_MAILMANAGER_API RuleCondition(Aws::Utils::Json::JsonView jsonValue)
void SetVerdictExpression(VerdictExpressionT &&value)
void SetDmarcExpression(DmarcExpressionT &&value)
void SetBooleanExpression(BooleanExpressionT &&value)
const RuleStringExpression & GetStringExpression() const
RuleCondition & WithDmarcExpression(DmarcExpressionT &&value)
AWS_MAILMANAGER_API RuleCondition()=default
const RuleVerdictExpression & GetVerdictExpression() const
void SetIpExpression(IpExpressionT &&value)
const RuleBooleanExpression & GetBooleanExpression() const
const RuleNumberExpression & GetNumberExpression() const
AWS_MAILMANAGER_API Aws::Utils::Json::JsonValue Jsonize() const
void SetNumberExpression(NumberExpressionT &&value)
void SetStringExpression(StringExpressionT &&value)
RuleCondition & WithVerdictExpression(VerdictExpressionT &&value)
const RuleIpExpression & GetIpExpression() const
RuleCondition & WithBooleanExpression(BooleanExpressionT &&value)
RuleCondition & WithNumberExpression(NumberExpressionT &&value)
const RuleDmarcExpression & GetDmarcExpression() const
RuleCondition & WithStringExpression(StringExpressionT &&value)
RuleCondition & WithIpExpression(IpExpressionT &&value)
Aws::Utils::Json::JsonValue JsonValue