7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/crt/cbor/Cbor.h>
9#include <aws/fms/FMS_EXPORTS.h>
10#include <aws/fms/model/NetworkAclIcmpTypeCode.h>
11#include <aws/fms/model/NetworkAclPortRange.h>
12#include <aws/fms/model/NetworkAclRuleAction.h>
43 AWS_FMS_API
NetworkAclEntry(
const std::shared_ptr<Aws::Crt::Cbor::CborDecoder>& decoder);
45 AWS_FMS_API
void CborEncode(Aws::Crt::Cbor::CborEncoder& encoder)
const;
53 template <
typename IcmpTypeCodeT = NetworkAclIcmpTypeCode>
55 m_icmpTypeCodeHasBeenSet =
true;
56 m_icmpTypeCode = std::forward<IcmpTypeCodeT>(value);
58 template <
typename IcmpTypeCodeT = NetworkAclIcmpTypeCode>
71 template <
typename ProtocolT = Aws::String>
73 m_protocolHasBeenSet =
true;
74 m_protocol = std::forward<ProtocolT>(value);
76 template <
typename ProtocolT = Aws::String>
89 template <
typename PortRangeT = NetworkAclPortRange>
91 m_portRangeHasBeenSet =
true;
92 m_portRange = std::forward<PortRangeT>(value);
94 template <
typename PortRangeT = NetworkAclPortRange>
107 template <
typename C
idrBlockT = Aws::String>
109 m_cidrBlockHasBeenSet =
true;
110 m_cidrBlock = std::forward<CidrBlockT>(value);
112 template <
typename C
idrBlockT = Aws::String>
125 template <
typename Ipv6C
idrBlockT = Aws::String>
127 m_ipv6CidrBlockHasBeenSet =
true;
128 m_ipv6CidrBlock = std::forward<Ipv6CidrBlockT>(value);
130 template <
typename Ipv6C
idrBlockT = Aws::String>
144 m_ruleActionHasBeenSet =
true;
145 m_ruleAction = value;
162 m_egressHasBeenSet =
true;
183 bool m_egress{
false};
184 bool m_icmpTypeCodeHasBeenSet =
false;
185 bool m_protocolHasBeenSet =
false;
186 bool m_portRangeHasBeenSet =
false;
187 bool m_cidrBlockHasBeenSet =
false;
188 bool m_ipv6CidrBlockHasBeenSet =
false;
189 bool m_ruleActionHasBeenSet =
false;
190 bool m_egressHasBeenSet =
false;
bool EgressHasBeenSet() const
NetworkAclEntry & WithEgress(bool value)
NetworkAclEntry & WithCidrBlock(CidrBlockT &&value)
AWS_FMS_API NetworkAclEntry()=default
AWS_FMS_API NetworkAclEntry(const std::shared_ptr< Aws::Crt::Cbor::CborDecoder > &decoder)
void SetIcmpTypeCode(IcmpTypeCodeT &&value)
const Aws::String & GetProtocol() const
const Aws::String & GetIpv6CidrBlock() const
AWS_FMS_API void CborEncode(Aws::Crt::Cbor::CborEncoder &encoder) 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)
void SetRuleAction(NetworkAclRuleAction value)
void SetCidrBlock(CidrBlockT &&value)
AWS_FMS_API NetworkAclEntry & operator=(const std::shared_ptr< Aws::Crt::Cbor::CborDecoder > &decoder)
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