Class: Aws::EC2::Types::SecurityGroupRuleRequest

Inherits:
Struct
  • Object
show all
Includes:
Structure
Defined in:
lib/aws-sdk-ec2/types.rb

Overview

Describes a security group rule.

You must specify exactly one of the following parameters, based on the rule type:

  • CidrIpv4

  • CidrIpv6

  • PrefixListId

  • ReferencedGroupId

<note markdown=“1”> Amazon Web Services [canonicalizes] IPv4 and IPv6 CIDRs. For example, if you specify 100.68.0.18/18 for the CIDR block, Amazon Web Services canonicalizes the CIDR block to 100.68.0.0/18. Any subsequent DescribeSecurityGroups and DescribeSecurityGroupRules calls will return the canonicalized form of the CIDR block. Additionally, if you attempt to add another rule with the non-canonical form of the CIDR (such as 100.68.0.18/18) and there is already a rule for the canonicalized form of the CIDR block (such as 100.68.0.0/18), the API throws an duplicate rule error.

</note>

When you modify a rule, you cannot change the rule type. For example, if the rule uses an IPv4 address range, you must use ‘CidrIpv4` to specify a new IPv4 address range.

[1]: en.wikipedia.org/wiki/Canonicalization

Constant Summary collapse

SENSITIVE =
[]

Instance Attribute Summary collapse

Instance Attribute Details

#cidr_ipv_4String

The IPv4 CIDR range. To specify a single IPv4 address, use the /32 prefix length.

Returns:

  • (String)


65735
65736
65737
65738
65739
65740
65741
65742
65743
65744
65745
65746
# File 'lib/aws-sdk-ec2/types.rb', line 65735

class SecurityGroupRuleRequest < Struct.new(
  :ip_protocol,
  :from_port,
  :to_port,
  :cidr_ipv_4,
  :cidr_ipv_6,
  :prefix_list_id,
  :referenced_group_id,
  :description)
  SENSITIVE = []
  include Aws::Structure
end

#cidr_ipv_6String

The IPv6 CIDR range. To specify a single IPv6 address, use the /128 prefix length.

Returns:

  • (String)


65735
65736
65737
65738
65739
65740
65741
65742
65743
65744
65745
65746
# File 'lib/aws-sdk-ec2/types.rb', line 65735

class SecurityGroupRuleRequest < Struct.new(
  :ip_protocol,
  :from_port,
  :to_port,
  :cidr_ipv_4,
  :cidr_ipv_6,
  :prefix_list_id,
  :referenced_group_id,
  :description)
  SENSITIVE = []
  include Aws::Structure
end

#descriptionString

The description of the security group rule.

Returns:

  • (String)


65735
65736
65737
65738
65739
65740
65741
65742
65743
65744
65745
65746
# File 'lib/aws-sdk-ec2/types.rb', line 65735

class SecurityGroupRuleRequest < Struct.new(
  :ip_protocol,
  :from_port,
  :to_port,
  :cidr_ipv_4,
  :cidr_ipv_6,
  :prefix_list_id,
  :referenced_group_id,
  :description)
  SENSITIVE = []
  include Aws::Structure
end

#from_portInteger

If the protocol is TCP or UDP, this is the start of the port range. If the protocol is ICMP or ICMPv6, this is the ICMP type or -1 (all ICMP types).

Returns:

  • (Integer)


65735
65736
65737
65738
65739
65740
65741
65742
65743
65744
65745
65746
# File 'lib/aws-sdk-ec2/types.rb', line 65735

class SecurityGroupRuleRequest < Struct.new(
  :ip_protocol,
  :from_port,
  :to_port,
  :cidr_ipv_4,
  :cidr_ipv_6,
  :prefix_list_id,
  :referenced_group_id,
  :description)
  SENSITIVE = []
  include Aws::Structure
end

#ip_protocolString

The IP protocol name (‘tcp`, `udp`, `icmp`, `icmpv6`) or number (see [Protocol Numbers]).

Use ‘-1` to specify all protocols.

[1]: www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml

Returns:

  • (String)


65735
65736
65737
65738
65739
65740
65741
65742
65743
65744
65745
65746
# File 'lib/aws-sdk-ec2/types.rb', line 65735

class SecurityGroupRuleRequest < Struct.new(
  :ip_protocol,
  :from_port,
  :to_port,
  :cidr_ipv_4,
  :cidr_ipv_6,
  :prefix_list_id,
  :referenced_group_id,
  :description)
  SENSITIVE = []
  include Aws::Structure
end

#prefix_list_idString

The ID of the prefix list.

Returns:

  • (String)


65735
65736
65737
65738
65739
65740
65741
65742
65743
65744
65745
65746
# File 'lib/aws-sdk-ec2/types.rb', line 65735

class SecurityGroupRuleRequest < Struct.new(
  :ip_protocol,
  :from_port,
  :to_port,
  :cidr_ipv_4,
  :cidr_ipv_6,
  :prefix_list_id,
  :referenced_group_id,
  :description)
  SENSITIVE = []
  include Aws::Structure
end

#referenced_group_idString

The ID of the security group that is referenced in the security group rule.

Returns:

  • (String)


65735
65736
65737
65738
65739
65740
65741
65742
65743
65744
65745
65746
# File 'lib/aws-sdk-ec2/types.rb', line 65735

class SecurityGroupRuleRequest < Struct.new(
  :ip_protocol,
  :from_port,
  :to_port,
  :cidr_ipv_4,
  :cidr_ipv_6,
  :prefix_list_id,
  :referenced_group_id,
  :description)
  SENSITIVE = []
  include Aws::Structure
end

#to_portInteger

If the protocol is TCP or UDP, this is the end of the port range. If the protocol is ICMP or ICMPv6, this is the ICMP code or -1 (all ICMP codes). If the start port is -1 (all ICMP types), then the end port must be -1 (all ICMP codes).

Returns:

  • (Integer)


65735
65736
65737
65738
65739
65740
65741
65742
65743
65744
65745
65746
# File 'lib/aws-sdk-ec2/types.rb', line 65735

class SecurityGroupRuleRequest < Struct.new(
  :ip_protocol,
  :from_port,
  :to_port,
  :cidr_ipv_4,
  :cidr_ipv_6,
  :prefix_list_id,
  :referenced_group_id,
  :description)
  SENSITIVE = []
  include Aws::Structure
end