AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
NetworkAclEntry.h
1
6#pragma once
7#include <aws/fms/FMS_EXPORTS.h>
8#include <aws/fms/model/NetworkAclIcmpTypeCode.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/fms/model/NetworkAclPortRange.h>
11#include <aws/fms/model/NetworkAclRuleAction.h>
12#include <utility>
13
14namespace Aws
15{
16namespace Utils
17{
18namespace Json
19{
20 class JsonValue;
21 class JsonView;
22} // namespace Json
23} // namespace Utils
24namespace FMS
25{
26namespace Model
27{
28
45 {
46 public:
47 AWS_FMS_API NetworkAclEntry() = default;
51
52
54
57 inline const NetworkAclIcmpTypeCode& GetIcmpTypeCode() const { return m_icmpTypeCode; }
58 inline bool IcmpTypeCodeHasBeenSet() const { return m_icmpTypeCodeHasBeenSet; }
59 template<typename IcmpTypeCodeT = NetworkAclIcmpTypeCode>
60 void SetIcmpTypeCode(IcmpTypeCodeT&& value) { m_icmpTypeCodeHasBeenSet = true; m_icmpTypeCode = std::forward<IcmpTypeCodeT>(value); }
61 template<typename IcmpTypeCodeT = NetworkAclIcmpTypeCode>
62 NetworkAclEntry& WithIcmpTypeCode(IcmpTypeCodeT&& value) { SetIcmpTypeCode(std::forward<IcmpTypeCodeT>(value)); return *this;}
64
66
69 inline const Aws::String& GetProtocol() const { return m_protocol; }
70 inline bool ProtocolHasBeenSet() const { return m_protocolHasBeenSet; }
71 template<typename ProtocolT = Aws::String>
72 void SetProtocol(ProtocolT&& value) { m_protocolHasBeenSet = true; m_protocol = std::forward<ProtocolT>(value); }
73 template<typename ProtocolT = Aws::String>
74 NetworkAclEntry& WithProtocol(ProtocolT&& value) { SetProtocol(std::forward<ProtocolT>(value)); return *this;}
76
78
81 inline const NetworkAclPortRange& GetPortRange() const { return m_portRange; }
82 inline bool PortRangeHasBeenSet() const { return m_portRangeHasBeenSet; }
83 template<typename PortRangeT = NetworkAclPortRange>
84 void SetPortRange(PortRangeT&& value) { m_portRangeHasBeenSet = true; m_portRange = std::forward<PortRangeT>(value); }
85 template<typename PortRangeT = NetworkAclPortRange>
86 NetworkAclEntry& WithPortRange(PortRangeT&& value) { SetPortRange(std::forward<PortRangeT>(value)); return *this;}
88
90
93 inline const Aws::String& GetCidrBlock() const { return m_cidrBlock; }
94 inline bool CidrBlockHasBeenSet() const { return m_cidrBlockHasBeenSet; }
95 template<typename CidrBlockT = Aws::String>
96 void SetCidrBlock(CidrBlockT&& value) { m_cidrBlockHasBeenSet = true; m_cidrBlock = std::forward<CidrBlockT>(value); }
97 template<typename CidrBlockT = Aws::String>
98 NetworkAclEntry& WithCidrBlock(CidrBlockT&& value) { SetCidrBlock(std::forward<CidrBlockT>(value)); return *this;}
100
102
105 inline const Aws::String& GetIpv6CidrBlock() const { return m_ipv6CidrBlock; }
106 inline bool Ipv6CidrBlockHasBeenSet() const { return m_ipv6CidrBlockHasBeenSet; }
107 template<typename Ipv6CidrBlockT = Aws::String>
108 void SetIpv6CidrBlock(Ipv6CidrBlockT&& value) { m_ipv6CidrBlockHasBeenSet = true; m_ipv6CidrBlock = std::forward<Ipv6CidrBlockT>(value); }
109 template<typename Ipv6CidrBlockT = Aws::String>
110 NetworkAclEntry& WithIpv6CidrBlock(Ipv6CidrBlockT&& value) { SetIpv6CidrBlock(std::forward<Ipv6CidrBlockT>(value)); return *this;}
112
114
117 inline NetworkAclRuleAction GetRuleAction() const { return m_ruleAction; }
118 inline bool RuleActionHasBeenSet() const { return m_ruleActionHasBeenSet; }
119 inline void SetRuleAction(NetworkAclRuleAction value) { m_ruleActionHasBeenSet = true; m_ruleAction = value; }
120 inline NetworkAclEntry& WithRuleAction(NetworkAclRuleAction value) { SetRuleAction(value); return *this;}
122
124
129 inline bool GetEgress() const { return m_egress; }
130 inline bool EgressHasBeenSet() const { return m_egressHasBeenSet; }
131 inline void SetEgress(bool value) { m_egressHasBeenSet = true; m_egress = value; }
132 inline NetworkAclEntry& WithEgress(bool value) { SetEgress(value); return *this;}
134 private:
135
136 NetworkAclIcmpTypeCode m_icmpTypeCode;
137 bool m_icmpTypeCodeHasBeenSet = false;
138
139 Aws::String m_protocol;
140 bool m_protocolHasBeenSet = false;
141
142 NetworkAclPortRange m_portRange;
143 bool m_portRangeHasBeenSet = false;
144
145 Aws::String m_cidrBlock;
146 bool m_cidrBlockHasBeenSet = false;
147
148 Aws::String m_ipv6CidrBlock;
149 bool m_ipv6CidrBlockHasBeenSet = false;
150
152 bool m_ruleActionHasBeenSet = false;
153
154 bool m_egress{false};
155 bool m_egressHasBeenSet = false;
156 };
157
158} // namespace Model
159} // namespace FMS
160} // namespace Aws
bool EgressHasBeenSet() const
NetworkAclEntry & WithEgress(bool value)
NetworkAclEntry & WithCidrBlock(CidrBlockT &&value)
AWS_FMS_API NetworkAclEntry()=default
bool GetEgress() const
void SetIcmpTypeCode(IcmpTypeCodeT &&value)
const Aws::String & GetProtocol() const
const Aws::String & GetIpv6CidrBlock() const
NetworkAclEntry & WithIcmpTypeCode(IcmpTypeCodeT &&value)
void SetPortRange(PortRangeT &&value)
void SetIpv6CidrBlock(Ipv6CidrBlockT &&value)
NetworkAclEntry & WithProtocol(ProtocolT &&value)
bool RuleActionHasBeenSet() const
const NetworkAclPortRange & GetPortRange() const
const NetworkAclIcmpTypeCode & GetIcmpTypeCode() const
bool Ipv6CidrBlockHasBeenSet() const
void SetEgress(bool value)
NetworkAclEntry & WithIpv6CidrBlock(Ipv6CidrBlockT &&value)
NetworkAclEntry & WithRuleAction(NetworkAclRuleAction value)
void SetProtocol(ProtocolT &&value)
AWS_FMS_API Aws::Utils::Json::JsonValue Jsonize() const
void SetRuleAction(NetworkAclRuleAction value)
AWS_FMS_API NetworkAclEntry & operator=(Aws::Utils::Json::JsonView jsonValue)
AWS_FMS_API NetworkAclEntry(Aws::Utils::Json::JsonView jsonValue)
void SetCidrBlock(CidrBlockT &&value)
bool IcmpTypeCodeHasBeenSet() const
NetworkAclEntry & WithPortRange(PortRangeT &&value)
bool CidrBlockHasBeenSet() const
bool ProtocolHasBeenSet() const
bool PortRangeHasBeenSet() const
const Aws::String & GetCidrBlock() const
NetworkAclRuleAction GetRuleAction() const
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Aws::Utils::Json::JsonValue JsonValue