AWS SDK for C++

AWS SDK for C++ Version 1.11.744

Loading...
Searching...
No Matches
PolicyCondition.h
1
6#pragma once
7#include <aws/mailmanager/MailManager_EXPORTS.h>
8#include <aws/mailmanager/model/IngressBooleanExpression.h>
9#include <aws/mailmanager/model/IngressIpv4Expression.h>
10#include <aws/mailmanager/model/IngressIpv6Expression.h>
11#include <aws/mailmanager/model/IngressStringExpression.h>
12#include <aws/mailmanager/model/IngressTlsProtocolExpression.h>
13
14#include <utility>
15
16namespace Aws {
17namespace Utils {
18namespace Json {
19class JsonValue;
20class JsonView;
21} // namespace Json
22} // namespace Utils
23namespace MailManager {
24namespace Model {
25
33 public:
34 AWS_MAILMANAGER_API PolicyCondition() = default;
35 AWS_MAILMANAGER_API PolicyCondition(Aws::Utils::Json::JsonView jsonValue);
36 AWS_MAILMANAGER_API PolicyCondition& operator=(Aws::Utils::Json::JsonView jsonValue);
37 AWS_MAILMANAGER_API Aws::Utils::Json::JsonValue Jsonize() const;
38
40
45 inline const IngressStringExpression& GetStringExpression() const { return m_stringExpression; }
46 inline bool StringExpressionHasBeenSet() const { return m_stringExpressionHasBeenSet; }
47 template <typename StringExpressionT = IngressStringExpression>
48 void SetStringExpression(StringExpressionT&& value) {
49 m_stringExpressionHasBeenSet = true;
50 m_stringExpression = std::forward<StringExpressionT>(value);
51 }
52 template <typename StringExpressionT = IngressStringExpression>
53 PolicyCondition& WithStringExpression(StringExpressionT&& value) {
54 SetStringExpression(std::forward<StringExpressionT>(value));
55 return *this;
56 }
58
60
65 inline const IngressIpv4Expression& GetIpExpression() const { return m_ipExpression; }
66 inline bool IpExpressionHasBeenSet() const { return m_ipExpressionHasBeenSet; }
67 template <typename IpExpressionT = IngressIpv4Expression>
68 void SetIpExpression(IpExpressionT&& value) {
69 m_ipExpressionHasBeenSet = true;
70 m_ipExpression = std::forward<IpExpressionT>(value);
71 }
72 template <typename IpExpressionT = IngressIpv4Expression>
73 PolicyCondition& WithIpExpression(IpExpressionT&& value) {
74 SetIpExpression(std::forward<IpExpressionT>(value));
75 return *this;
76 }
78
80
85 inline const IngressIpv6Expression& GetIpv6Expression() const { return m_ipv6Expression; }
86 inline bool Ipv6ExpressionHasBeenSet() const { return m_ipv6ExpressionHasBeenSet; }
87 template <typename Ipv6ExpressionT = IngressIpv6Expression>
88 void SetIpv6Expression(Ipv6ExpressionT&& value) {
89 m_ipv6ExpressionHasBeenSet = true;
90 m_ipv6Expression = std::forward<Ipv6ExpressionT>(value);
91 }
92 template <typename Ipv6ExpressionT = IngressIpv6Expression>
93 PolicyCondition& WithIpv6Expression(Ipv6ExpressionT&& value) {
94 SetIpv6Expression(std::forward<Ipv6ExpressionT>(value));
95 return *this;
96 }
98
100
105 inline const IngressTlsProtocolExpression& GetTlsExpression() const { return m_tlsExpression; }
106 inline bool TlsExpressionHasBeenSet() const { return m_tlsExpressionHasBeenSet; }
107 template <typename TlsExpressionT = IngressTlsProtocolExpression>
108 void SetTlsExpression(TlsExpressionT&& value) {
109 m_tlsExpressionHasBeenSet = true;
110 m_tlsExpression = std::forward<TlsExpressionT>(value);
111 }
112 template <typename TlsExpressionT = IngressTlsProtocolExpression>
113 PolicyCondition& WithTlsExpression(TlsExpressionT&& value) {
114 SetTlsExpression(std::forward<TlsExpressionT>(value));
115 return *this;
116 }
118
120
125 inline const IngressBooleanExpression& GetBooleanExpression() const { return m_booleanExpression; }
126 inline bool BooleanExpressionHasBeenSet() const { return m_booleanExpressionHasBeenSet; }
127 template <typename BooleanExpressionT = IngressBooleanExpression>
128 void SetBooleanExpression(BooleanExpressionT&& value) {
129 m_booleanExpressionHasBeenSet = true;
130 m_booleanExpression = std::forward<BooleanExpressionT>(value);
131 }
132 template <typename BooleanExpressionT = IngressBooleanExpression>
133 PolicyCondition& WithBooleanExpression(BooleanExpressionT&& value) {
134 SetBooleanExpression(std::forward<BooleanExpressionT>(value));
135 return *this;
136 }
138 private:
139 IngressStringExpression m_stringExpression;
140
141 IngressIpv4Expression m_ipExpression;
142
143 IngressIpv6Expression m_ipv6Expression;
144
145 IngressTlsProtocolExpression m_tlsExpression;
146
147 IngressBooleanExpression m_booleanExpression;
148 bool m_stringExpressionHasBeenSet = false;
149 bool m_ipExpressionHasBeenSet = false;
150 bool m_ipv6ExpressionHasBeenSet = false;
151 bool m_tlsExpressionHasBeenSet = false;
152 bool m_booleanExpressionHasBeenSet = false;
153};
154
155} // namespace Model
156} // namespace MailManager
157} // namespace Aws
void SetIpExpression(IpExpressionT &&value)
const IngressBooleanExpression & GetBooleanExpression() const
PolicyCondition & WithIpExpression(IpExpressionT &&value)
PolicyCondition & WithStringExpression(StringExpressionT &&value)
const IngressIpv6Expression & GetIpv6Expression() const
void SetStringExpression(StringExpressionT &&value)
AWS_MAILMANAGER_API PolicyCondition(Aws::Utils::Json::JsonView jsonValue)
PolicyCondition & WithBooleanExpression(BooleanExpressionT &&value)
void SetTlsExpression(TlsExpressionT &&value)
PolicyCondition & WithTlsExpression(TlsExpressionT &&value)
PolicyCondition & WithIpv6Expression(Ipv6ExpressionT &&value)
void SetBooleanExpression(BooleanExpressionT &&value)
void SetIpv6Expression(Ipv6ExpressionT &&value)
AWS_MAILMANAGER_API PolicyCondition()=default
const IngressTlsProtocolExpression & GetTlsExpression() const
const IngressStringExpression & GetStringExpression() const
AWS_MAILMANAGER_API PolicyCondition & operator=(Aws::Utils::Json::JsonView jsonValue)
AWS_MAILMANAGER_API Aws::Utils::Json::JsonValue Jsonize() const
const IngressIpv4Expression & GetIpExpression() const
Aws::Utils::Json::JsonValue JsonValue