Class: AWSCDK::NetworkFirewall::CfnRuleGroup::HeaderProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
network_firewall/cfn_rule_group.rb

Overview

The 5-tuple criteria for AWS 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 stateful rule.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(destination:, destination_port:, direction:, protocol:, source:, source_port:) ⇒ HeaderProperty

Returns a new instance of HeaderProperty.

Parameters:

  • destination (String)

    The destination IP address or address range to inspect for, in CIDR notation.

  • destination_port (String)

    The destination port to inspect for.

  • direction (String)

    The direction of traffic flow to inspect.

  • protocol (String)

    The protocol to inspect for.

  • source (String)

    The source IP address or address range to inspect for, in CIDR notation.

  • source_port (String)

    The source port to inspect for.



788
789
790
791
792
793
794
795
796
797
798
799
800
801
# File 'network_firewall/cfn_rule_group.rb', line 788

def initialize(destination:, destination_port:, direction:, protocol:, source:, source_port:)
  @destination = destination
  Jsii::Type.check_type(@destination, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "destination")
  @destination_port = destination_port
  Jsii::Type.check_type(@destination_port, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "destinationPort")
  @direction = direction
  Jsii::Type.check_type(@direction, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "direction")
  @protocol = protocol
  Jsii::Type.check_type(@protocol, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "protocol")
  @source = source
  Jsii::Type.check_type(@source, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "source")
  @source_port = source_port
  Jsii::Type.check_type(@source_port, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "sourcePort")
end

Instance Attribute Details

#destinationString (readonly)

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 .



820
821
822
# File 'network_firewall/cfn_rule_group.rb', line 820

def destination
  @destination
end

#destination_portString (readonly)

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 .



827
828
829
# File 'network_firewall/cfn_rule_group.rb', line 827

def destination_port
  @destination_port
end

#directionString (readonly)

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.



834
835
836
# File 'network_firewall/cfn_rule_group.rb', line 834

def direction
  @direction
end

#protocolString (readonly)

The protocol to inspect for.

To specify all, you can use IP , because all traffic on AWS and on the internet is IP.



841
842
843
# File 'network_firewall/cfn_rule_group.rb', line 841

def protocol
  @protocol
end

#sourceString (readonly)

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 .



859
860
861
# File 'network_firewall/cfn_rule_group.rb', line 859

def source
  @source
end

#source_portString (readonly)

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 .



866
867
868
# File 'network_firewall/cfn_rule_group.rb', line 866

def source_port
  @source_port
end

Class Method Details

.jsii_propertiesObject



868
869
870
871
872
873
874
875
876
877
# File 'network_firewall/cfn_rule_group.rb', line 868

def self.jsii_properties
  {
    :destination => "destination",
    :destination_port => "destinationPort",
    :direction => "direction",
    :protocol => "protocol",
    :source => "source",
    :source_port => "sourcePort",
  }
end

Instance Method Details

#to_jsiiObject



879
880
881
882
883
884
885
886
887
888
889
890
# File 'network_firewall/cfn_rule_group.rb', line 879

def to_jsii
  result = {}
  result.merge!({
    "destination" => @destination,
    "destinationPort" => @destination_port,
    "direction" => @direction,
    "protocol" => @protocol,
    "source" => @source,
    "sourcePort" => @source_port,
  })
  result.compact
end