/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include The basic rule criteria for Network Firewall to use to inspect packet headers
* in stateful traffic flow inspection. Traffic flows that match the criteria are a
* match for the corresponding StatefulRule. See Also:
AWS
* API Reference
The protocol to inspect for. To specify all, you can use IP
,
* because all traffic on Amazon Web Services and on the internet is IP.
The protocol to inspect for. To specify all, you can use IP
,
* because all traffic on Amazon Web Services and on the internet is IP.
The protocol to inspect for. To specify all, you can use IP
,
* because all traffic on Amazon Web Services and on the internet is IP.
The protocol to inspect for. To specify all, you can use IP
,
* because all traffic on Amazon Web Services and on the internet is IP.
The protocol to inspect for. To specify all, you can use IP
,
* because all traffic on Amazon Web Services and on the internet is IP.
The protocol to inspect for. To specify all, you can use IP
,
* because all traffic on Amazon Web Services and on the internet is IP.
The source IP address or address range to inspect for, in CIDR notation. To
* match with any address, specify ANY
.
Specify an IP address * or a block of IP addresses in Classless Inter-Domain Routing (CIDR) notation. * Network Firewall supports all address ranges for IPv4 and IPv6.
*Examples:
To configure Network Firewall to inspect for the
* IP address 192.0.2.44, specify 192.0.2.44/32
.
To
* configure Network Firewall to inspect for IP addresses from 192.0.2.0 to
* 192.0.2.255, specify 192.0.2.0/24
.
To configure
* Network Firewall to inspect for the IP address
* 1111:0000:0000:0000:0000:0000:0000:0111, specify
* 1111:0000:0000:0000:0000:0000:0000:0111/128
.
To
* configure Network Firewall to inspect for IP addresses from
* 1111:0000:0000:0000:0000:0000:0000:0000 to
* 1111:0000:0000:0000:ffff:ffff:ffff:ffff, specify
* 1111:0000:0000:0000:0000:0000:0000:0000/64
.
For * more information about CIDR notation, see the Wikipedia entry Classless * Inter-Domain Routing.
*/ inline const Aws::String& GetSource() const{ return m_source; } /** *The source IP address or address range to inspect for, in CIDR notation. To
* match with any address, specify ANY
.
Specify an IP address * or a block of IP addresses in Classless Inter-Domain Routing (CIDR) notation. * Network Firewall supports all address ranges for IPv4 and IPv6.
*Examples:
To configure Network Firewall to inspect for the
* IP address 192.0.2.44, specify 192.0.2.44/32
.
To
* configure Network Firewall to inspect for IP addresses from 192.0.2.0 to
* 192.0.2.255, specify 192.0.2.0/24
.
To configure
* Network Firewall to inspect for the IP address
* 1111:0000:0000:0000:0000:0000:0000:0111, specify
* 1111:0000:0000:0000:0000:0000:0000:0111/128
.
To
* configure Network Firewall to inspect for IP addresses from
* 1111:0000:0000:0000:0000:0000:0000:0000 to
* 1111:0000:0000:0000:ffff:ffff:ffff:ffff, specify
* 1111:0000:0000:0000:0000:0000:0000:0000/64
.
For * more information about CIDR notation, see the Wikipedia entry Classless * Inter-Domain Routing.
*/ inline bool SourceHasBeenSet() const { return m_sourceHasBeenSet; } /** *The source IP address or address range to inspect for, in CIDR notation. To
* match with any address, specify ANY
.
Specify an IP address * or a block of IP addresses in Classless Inter-Domain Routing (CIDR) notation. * Network Firewall supports all address ranges for IPv4 and IPv6.
*Examples:
To configure Network Firewall to inspect for the
* IP address 192.0.2.44, specify 192.0.2.44/32
.
To
* configure Network Firewall to inspect for IP addresses from 192.0.2.0 to
* 192.0.2.255, specify 192.0.2.0/24
.
To configure
* Network Firewall to inspect for the IP address
* 1111:0000:0000:0000:0000:0000:0000:0111, specify
* 1111:0000:0000:0000:0000:0000:0000:0111/128
.
To
* configure Network Firewall to inspect for IP addresses from
* 1111:0000:0000:0000:0000:0000:0000:0000 to
* 1111:0000:0000:0000:ffff:ffff:ffff:ffff, specify
* 1111:0000:0000:0000:0000:0000:0000:0000/64
.
For * more information about CIDR notation, see the Wikipedia entry Classless * Inter-Domain Routing.
*/ inline void SetSource(const Aws::String& value) { m_sourceHasBeenSet = true; m_source = value; } /** *The source IP address or address range to inspect for, in CIDR notation. To
* match with any address, specify ANY
.
Specify an IP address * or a block of IP addresses in Classless Inter-Domain Routing (CIDR) notation. * Network Firewall supports all address ranges for IPv4 and IPv6.
*Examples:
To configure Network Firewall to inspect for the
* IP address 192.0.2.44, specify 192.0.2.44/32
.
To
* configure Network Firewall to inspect for IP addresses from 192.0.2.0 to
* 192.0.2.255, specify 192.0.2.0/24
.
To configure
* Network Firewall to inspect for the IP address
* 1111:0000:0000:0000:0000:0000:0000:0111, specify
* 1111:0000:0000:0000:0000:0000:0000:0111/128
.
To
* configure Network Firewall to inspect for IP addresses from
* 1111:0000:0000:0000:0000:0000:0000:0000 to
* 1111:0000:0000:0000:ffff:ffff:ffff:ffff, specify
* 1111:0000:0000:0000:0000:0000:0000:0000/64
.
For * more information about CIDR notation, see the Wikipedia entry Classless * Inter-Domain Routing.
*/ inline void SetSource(Aws::String&& value) { m_sourceHasBeenSet = true; m_source = std::move(value); } /** *The source IP address or address range to inspect for, in CIDR notation. To
* match with any address, specify ANY
.
Specify an IP address * or a block of IP addresses in Classless Inter-Domain Routing (CIDR) notation. * Network Firewall supports all address ranges for IPv4 and IPv6.
*Examples:
To configure Network Firewall to inspect for the
* IP address 192.0.2.44, specify 192.0.2.44/32
.
To
* configure Network Firewall to inspect for IP addresses from 192.0.2.0 to
* 192.0.2.255, specify 192.0.2.0/24
.
To configure
* Network Firewall to inspect for the IP address
* 1111:0000:0000:0000:0000:0000:0000:0111, specify
* 1111:0000:0000:0000:0000:0000:0000:0111/128
.
To
* configure Network Firewall to inspect for IP addresses from
* 1111:0000:0000:0000:0000:0000:0000:0000 to
* 1111:0000:0000:0000:ffff:ffff:ffff:ffff, specify
* 1111:0000:0000:0000:0000:0000:0000:0000/64
.
For * more information about CIDR notation, see the Wikipedia entry Classless * Inter-Domain Routing.
*/ inline void SetSource(const char* value) { m_sourceHasBeenSet = true; m_source.assign(value); } /** *The source IP address or address range to inspect for, in CIDR notation. To
* match with any address, specify ANY
.
Specify an IP address * or a block of IP addresses in Classless Inter-Domain Routing (CIDR) notation. * Network Firewall supports all address ranges for IPv4 and IPv6.
*Examples:
To configure Network Firewall to inspect for the
* IP address 192.0.2.44, specify 192.0.2.44/32
.
To
* configure Network Firewall to inspect for IP addresses from 192.0.2.0 to
* 192.0.2.255, specify 192.0.2.0/24
.
To configure
* Network Firewall to inspect for the IP address
* 1111:0000:0000:0000:0000:0000:0000:0111, specify
* 1111:0000:0000:0000:0000:0000:0000:0111/128
.
To
* configure Network Firewall to inspect for IP addresses from
* 1111:0000:0000:0000:0000:0000:0000:0000 to
* 1111:0000:0000:0000:ffff:ffff:ffff:ffff, specify
* 1111:0000:0000:0000:0000:0000:0000:0000/64
.
For * more information about CIDR notation, see the Wikipedia entry Classless * Inter-Domain Routing.
*/ inline Header& WithSource(const Aws::String& value) { SetSource(value); return *this;} /** *The source IP address or address range to inspect for, in CIDR notation. To
* match with any address, specify ANY
.
Specify an IP address * or a block of IP addresses in Classless Inter-Domain Routing (CIDR) notation. * Network Firewall supports all address ranges for IPv4 and IPv6.
*Examples:
To configure Network Firewall to inspect for the
* IP address 192.0.2.44, specify 192.0.2.44/32
.
To
* configure Network Firewall to inspect for IP addresses from 192.0.2.0 to
* 192.0.2.255, specify 192.0.2.0/24
.
To configure
* Network Firewall to inspect for the IP address
* 1111:0000:0000:0000:0000:0000:0000:0111, specify
* 1111:0000:0000:0000:0000:0000:0000:0111/128
.
To
* configure Network Firewall to inspect for IP addresses from
* 1111:0000:0000:0000:0000:0000:0000:0000 to
* 1111:0000:0000:0000:ffff:ffff:ffff:ffff, specify
* 1111:0000:0000:0000:0000:0000:0000:0000/64
.
For * more information about CIDR notation, see the Wikipedia entry Classless * Inter-Domain Routing.
*/ inline Header& WithSource(Aws::String&& value) { SetSource(std::move(value)); return *this;} /** *The source IP address or address range to inspect for, in CIDR notation. To
* match with any address, specify ANY
.
Specify an IP address * or a block of IP addresses in Classless Inter-Domain Routing (CIDR) notation. * Network Firewall supports all address ranges for IPv4 and IPv6.
*Examples:
To configure Network Firewall to inspect for the
* IP address 192.0.2.44, specify 192.0.2.44/32
.
To
* configure Network Firewall to inspect for IP addresses from 192.0.2.0 to
* 192.0.2.255, specify 192.0.2.0/24
.
To configure
* Network Firewall to inspect for the IP address
* 1111:0000:0000:0000:0000:0000:0000:0111, specify
* 1111:0000:0000:0000:0000:0000:0000:0111/128
.
To
* configure Network Firewall to inspect for IP addresses from
* 1111:0000:0000:0000:0000:0000:0000:0000 to
* 1111:0000:0000:0000:ffff:ffff:ffff:ffff, specify
* 1111:0000:0000:0000:0000:0000:0000:0000/64
.
For * more information about CIDR notation, see the Wikipedia entry Classless * Inter-Domain Routing.
*/ inline Header& WithSource(const char* value) { SetSource(value); return *this;} /** *The source port to inspect for. You can specify an individual port, for
* example 1994
and you can specify a port range, for example
* 1990:1994
. To match with any port, specify ANY
.
The source port to inspect for. You can specify an individual port, for
* example 1994
and you can specify a port range, for example
* 1990:1994
. To match with any port, specify ANY
.
The source port to inspect for. You can specify an individual port, for
* example 1994
and you can specify a port range, for example
* 1990:1994
. To match with any port, specify ANY
.
The source port to inspect for. You can specify an individual port, for
* example 1994
and you can specify a port range, for example
* 1990:1994
. To match with any port, specify ANY
.
The source port to inspect for. You can specify an individual port, for
* example 1994
and you can specify a port range, for example
* 1990:1994
. To match with any port, specify ANY
.
The source port to inspect for. You can specify an individual port, for
* example 1994
and you can specify a port range, for example
* 1990:1994
. To match with any port, specify ANY
.
The source port to inspect for. You can specify an individual port, for
* example 1994
and you can specify a port range, for example
* 1990:1994
. To match with any port, specify ANY
.
The source port to inspect for. You can specify an individual port, for
* example 1994
and you can specify a port range, for example
* 1990:1994
. To match with any port, specify ANY
.
The direction of traffic flow to inspect. If set to ANY
, the
* inspection matches bidirectional traffic, both from the source to the
* destination and from the destination to the source. If set to
* FORWARD
, the inspection only matches traffic going from the source
* to the destination.
The direction of traffic flow to inspect. If set to ANY
, the
* inspection matches bidirectional traffic, both from the source to the
* destination and from the destination to the source. If set to
* FORWARD
, the inspection only matches traffic going from the source
* to the destination.
The direction of traffic flow to inspect. If set to ANY
, the
* inspection matches bidirectional traffic, both from the source to the
* destination and from the destination to the source. If set to
* FORWARD
, the inspection only matches traffic going from the source
* to the destination.
The direction of traffic flow to inspect. If set to ANY
, the
* inspection matches bidirectional traffic, both from the source to the
* destination and from the destination to the source. If set to
* FORWARD
, the inspection only matches traffic going from the source
* to the destination.
The direction of traffic flow to inspect. If set to ANY
, the
* inspection matches bidirectional traffic, both from the source to the
* destination and from the destination to the source. If set to
* FORWARD
, the inspection only matches traffic going from the source
* to the destination.
The direction of traffic flow to inspect. If set to ANY
, the
* inspection matches bidirectional traffic, both from the source to the
* destination and from the destination to the source. If set to
* FORWARD
, the inspection only matches traffic going from the source
* to the destination.
The destination IP address or address range to inspect for, in CIDR notation.
* To match with any address, specify ANY
.
Specify an IP * address or a block of IP addresses in Classless Inter-Domain Routing (CIDR) * notation. Network Firewall supports all address ranges for IPv4 and IPv6.
*Examples:
To configure Network Firewall to inspect for the
* IP address 192.0.2.44, specify 192.0.2.44/32
.
To
* configure Network Firewall to inspect for IP addresses from 192.0.2.0 to
* 192.0.2.255, specify 192.0.2.0/24
.
To configure
* Network Firewall to inspect for the IP address
* 1111:0000:0000:0000:0000:0000:0000:0111, specify
* 1111:0000:0000:0000:0000:0000:0000:0111/128
.
To
* configure Network Firewall to inspect for IP addresses from
* 1111:0000:0000:0000:0000:0000:0000:0000 to
* 1111:0000:0000:0000:ffff:ffff:ffff:ffff, specify
* 1111:0000:0000:0000:0000:0000:0000:0000/64
.
For * more information about CIDR notation, see the Wikipedia entry Classless * Inter-Domain Routing.
*/ inline const Aws::String& GetDestination() const{ return m_destination; } /** *The destination IP address or address range to inspect for, in CIDR notation.
* To match with any address, specify ANY
.
Specify an IP * address or a block of IP addresses in Classless Inter-Domain Routing (CIDR) * notation. Network Firewall supports all address ranges for IPv4 and IPv6.
*Examples:
To configure Network Firewall to inspect for the
* IP address 192.0.2.44, specify 192.0.2.44/32
.
To
* configure Network Firewall to inspect for IP addresses from 192.0.2.0 to
* 192.0.2.255, specify 192.0.2.0/24
.
To configure
* Network Firewall to inspect for the IP address
* 1111:0000:0000:0000:0000:0000:0000:0111, specify
* 1111:0000:0000:0000:0000:0000:0000:0111/128
.
To
* configure Network Firewall to inspect for IP addresses from
* 1111:0000:0000:0000:0000:0000:0000:0000 to
* 1111:0000:0000:0000:ffff:ffff:ffff:ffff, specify
* 1111:0000:0000:0000:0000:0000:0000:0000/64
.
For * more information about CIDR notation, see the Wikipedia entry Classless * Inter-Domain Routing.
*/ inline bool DestinationHasBeenSet() const { return m_destinationHasBeenSet; } /** *The destination IP address or address range to inspect for, in CIDR notation.
* To match with any address, specify ANY
.
Specify an IP * address or a block of IP addresses in Classless Inter-Domain Routing (CIDR) * notation. Network Firewall supports all address ranges for IPv4 and IPv6.
*Examples:
To configure Network Firewall to inspect for the
* IP address 192.0.2.44, specify 192.0.2.44/32
.
To
* configure Network Firewall to inspect for IP addresses from 192.0.2.0 to
* 192.0.2.255, specify 192.0.2.0/24
.
To configure
* Network Firewall to inspect for the IP address
* 1111:0000:0000:0000:0000:0000:0000:0111, specify
* 1111:0000:0000:0000:0000:0000:0000:0111/128
.
To
* configure Network Firewall to inspect for IP addresses from
* 1111:0000:0000:0000:0000:0000:0000:0000 to
* 1111:0000:0000:0000:ffff:ffff:ffff:ffff, specify
* 1111:0000:0000:0000:0000:0000:0000:0000/64
.
For * more information about CIDR notation, see the Wikipedia entry Classless * Inter-Domain Routing.
*/ inline void SetDestination(const Aws::String& value) { m_destinationHasBeenSet = true; m_destination = value; } /** *The destination IP address or address range to inspect for, in CIDR notation.
* To match with any address, specify ANY
.
Specify an IP * address or a block of IP addresses in Classless Inter-Domain Routing (CIDR) * notation. Network Firewall supports all address ranges for IPv4 and IPv6.
*Examples:
To configure Network Firewall to inspect for the
* IP address 192.0.2.44, specify 192.0.2.44/32
.
To
* configure Network Firewall to inspect for IP addresses from 192.0.2.0 to
* 192.0.2.255, specify 192.0.2.0/24
.
To configure
* Network Firewall to inspect for the IP address
* 1111:0000:0000:0000:0000:0000:0000:0111, specify
* 1111:0000:0000:0000:0000:0000:0000:0111/128
.
To
* configure Network Firewall to inspect for IP addresses from
* 1111:0000:0000:0000:0000:0000:0000:0000 to
* 1111:0000:0000:0000:ffff:ffff:ffff:ffff, specify
* 1111:0000:0000:0000:0000:0000:0000:0000/64
.
For * more information about CIDR notation, see the Wikipedia entry Classless * Inter-Domain Routing.
*/ inline void SetDestination(Aws::String&& value) { m_destinationHasBeenSet = true; m_destination = std::move(value); } /** *The destination IP address or address range to inspect for, in CIDR notation.
* To match with any address, specify ANY
.
Specify an IP * address or a block of IP addresses in Classless Inter-Domain Routing (CIDR) * notation. Network Firewall supports all address ranges for IPv4 and IPv6.
*Examples:
To configure Network Firewall to inspect for the
* IP address 192.0.2.44, specify 192.0.2.44/32
.
To
* configure Network Firewall to inspect for IP addresses from 192.0.2.0 to
* 192.0.2.255, specify 192.0.2.0/24
.
To configure
* Network Firewall to inspect for the IP address
* 1111:0000:0000:0000:0000:0000:0000:0111, specify
* 1111:0000:0000:0000:0000:0000:0000:0111/128
.
To
* configure Network Firewall to inspect for IP addresses from
* 1111:0000:0000:0000:0000:0000:0000:0000 to
* 1111:0000:0000:0000:ffff:ffff:ffff:ffff, specify
* 1111:0000:0000:0000:0000:0000:0000:0000/64
.
For * more information about CIDR notation, see the Wikipedia entry Classless * Inter-Domain Routing.
*/ inline void SetDestination(const char* value) { m_destinationHasBeenSet = true; m_destination.assign(value); } /** *The destination IP address or address range to inspect for, in CIDR notation.
* To match with any address, specify ANY
.
Specify an IP * address or a block of IP addresses in Classless Inter-Domain Routing (CIDR) * notation. Network Firewall supports all address ranges for IPv4 and IPv6.
*Examples:
To configure Network Firewall to inspect for the
* IP address 192.0.2.44, specify 192.0.2.44/32
.
To
* configure Network Firewall to inspect for IP addresses from 192.0.2.0 to
* 192.0.2.255, specify 192.0.2.0/24
.
To configure
* Network Firewall to inspect for the IP address
* 1111:0000:0000:0000:0000:0000:0000:0111, specify
* 1111:0000:0000:0000:0000:0000:0000:0111/128
.
To
* configure Network Firewall to inspect for IP addresses from
* 1111:0000:0000:0000:0000:0000:0000:0000 to
* 1111:0000:0000:0000:ffff:ffff:ffff:ffff, specify
* 1111:0000:0000:0000:0000:0000:0000:0000/64
.
For * more information about CIDR notation, see the Wikipedia entry Classless * Inter-Domain Routing.
*/ inline Header& WithDestination(const Aws::String& value) { SetDestination(value); return *this;} /** *The destination IP address or address range to inspect for, in CIDR notation.
* To match with any address, specify ANY
.
Specify an IP * address or a block of IP addresses in Classless Inter-Domain Routing (CIDR) * notation. Network Firewall supports all address ranges for IPv4 and IPv6.
*Examples:
To configure Network Firewall to inspect for the
* IP address 192.0.2.44, specify 192.0.2.44/32
.
To
* configure Network Firewall to inspect for IP addresses from 192.0.2.0 to
* 192.0.2.255, specify 192.0.2.0/24
.
To configure
* Network Firewall to inspect for the IP address
* 1111:0000:0000:0000:0000:0000:0000:0111, specify
* 1111:0000:0000:0000:0000:0000:0000:0111/128
.
To
* configure Network Firewall to inspect for IP addresses from
* 1111:0000:0000:0000:0000:0000:0000:0000 to
* 1111:0000:0000:0000:ffff:ffff:ffff:ffff, specify
* 1111:0000:0000:0000:0000:0000:0000:0000/64
.
For * more information about CIDR notation, see the Wikipedia entry Classless * Inter-Domain Routing.
*/ inline Header& WithDestination(Aws::String&& value) { SetDestination(std::move(value)); return *this;} /** *The destination IP address or address range to inspect for, in CIDR notation.
* To match with any address, specify ANY
.
Specify an IP * address or a block of IP addresses in Classless Inter-Domain Routing (CIDR) * notation. Network Firewall supports all address ranges for IPv4 and IPv6.
*Examples:
To configure Network Firewall to inspect for the
* IP address 192.0.2.44, specify 192.0.2.44/32
.
To
* configure Network Firewall to inspect for IP addresses from 192.0.2.0 to
* 192.0.2.255, specify 192.0.2.0/24
.
To configure
* Network Firewall to inspect for the IP address
* 1111:0000:0000:0000:0000:0000:0000:0111, specify
* 1111:0000:0000:0000:0000:0000:0000:0111/128
.
To
* configure Network Firewall to inspect for IP addresses from
* 1111:0000:0000:0000:0000:0000:0000:0000 to
* 1111:0000:0000:0000:ffff:ffff:ffff:ffff, specify
* 1111:0000:0000:0000:0000:0000:0000:0000/64
.
For * more information about CIDR notation, see the Wikipedia entry Classless * Inter-Domain Routing.
*/ inline Header& WithDestination(const char* value) { SetDestination(value); return *this;} /** *The destination port to inspect for. You can specify an individual port, for
* example 1994
and you can specify a port range, for example
* 1990:1994
. To match with any port, specify ANY
.
The destination port to inspect for. You can specify an individual port, for
* example 1994
and you can specify a port range, for example
* 1990:1994
. To match with any port, specify ANY
.
The destination port to inspect for. You can specify an individual port, for
* example 1994
and you can specify a port range, for example
* 1990:1994
. To match with any port, specify ANY
.
The destination port to inspect for. You can specify an individual port, for
* example 1994
and you can specify a port range, for example
* 1990:1994
. To match with any port, specify ANY
.
The destination port to inspect for. You can specify an individual port, for
* example 1994
and you can specify a port range, for example
* 1990:1994
. To match with any port, specify ANY
.
The destination port to inspect for. You can specify an individual port, for
* example 1994
and you can specify a port range, for example
* 1990:1994
. To match with any port, specify ANY
.
The destination port to inspect for. You can specify an individual port, for
* example 1994
and you can specify a port range, for example
* 1990:1994
. To match with any port, specify ANY
.
The destination port to inspect for. You can specify an individual port, for
* example 1994
and you can specify a port range, for example
* 1990:1994
. To match with any port, specify ANY
.