Class CfnSecurityGroupIngress

java.lang.Object
software.amazon.jsii.JsiiObject
All Implemented Interfaces:
IConstruct, IDependable, IInspectable, software.amazon.jsii.JsiiSerializable, software.constructs.IConstruct

@Generated(value="jsii-pacmak/1.84.0 (build 5404dcf)", date="2023-06-19T16:30:38.929Z") @Stability(Stable) public class CfnSecurityGroupIngress extends CfnResource implements IInspectable
A CloudFormation AWS::EC2::SecurityGroupIngress.

Adds an inbound rule to a security group.

An inbound rule permits instances to receive traffic from the specified IPv4 or IPv6 CIDR address range, or from the instances associated with the specified security group.

You must specify only one of the following properties: CidrIp , CidrIpv6 , SourcePrefixListId , SourceSecurityGroupId , or SourceSecurityGroupName .

You specify a protocol for each rule (for example, TCP). For TCP and UDP, you must also specify a port or port range. For ICMP/ICMPv6, you must also specify the ICMP/ICMPv6 type and code. You can use -1 to mean all types or all codes.

You must specify a source security group ( SourcePrefixListId , SourceSecurityGroupId , or SourceSecurityGroupName ) or a CIDR range ( CidrIp or CidrIpv6 ). If you do not specify one of these parameters, the stack will launch successfully but the rule will not be added to the security group.

Rule changes are propagated to instances within the security group as quickly as possible. However, a small delay might occur.

Example:

 // The code below shows an example of how to instantiate this type.
 // The values are placeholders you should change.
 import software.amazon.awscdk.services.ec2.*;
 CfnSecurityGroupIngress cfnSecurityGroupIngress = CfnSecurityGroupIngress.Builder.create(this, "MyCfnSecurityGroupIngress")
         .ipProtocol("ipProtocol")
         // the properties below are optional
         .cidrIp("cidrIp")
         .cidrIpv6("cidrIpv6")
         .description("description")
         .fromPort(123)
         .groupId("groupId")
         .groupName("groupName")
         .sourcePrefixListId("sourcePrefixListId")
         .sourceSecurityGroupId("sourceSecurityGroupId")
         .sourceSecurityGroupName("sourceSecurityGroupName")
         .sourceSecurityGroupOwnerId("sourceSecurityGroupOwnerId")
         .toPort(123)
         .build();
 
  • Field Details

    • CFN_RESOURCE_TYPE_NAME

      @Stability(Stable) public static final String CFN_RESOURCE_TYPE_NAME
      The CloudFormation resource type name for this resource class.
  • Constructor Details

    • CfnSecurityGroupIngress

      protected CfnSecurityGroupIngress(software.amazon.jsii.JsiiObjectRef objRef)
    • CfnSecurityGroupIngress

      protected CfnSecurityGroupIngress(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
    • CfnSecurityGroupIngress

      @Stability(Stable) public CfnSecurityGroupIngress(@NotNull Construct scope, @NotNull String id, @NotNull CfnSecurityGroupIngressProps props)
      Create a new AWS::EC2::SecurityGroupIngress.

      Parameters:
      scope -
      • scope in which this resource is defined.
      This parameter is required.
      id -
      • scoped id of the resource.
      This parameter is required.
      props -
      • resource properties.
      This parameter is required.
  • Method Details

    • inspect

      @Stability(Stable) public void inspect(@NotNull TreeInspector inspector)
      Examines the CloudFormation resource and discloses attributes.

      Specified by:
      inspect in interface IInspectable
      Parameters:
      inspector -
      • tree inspector to collect and process attributes.
      This parameter is required.
    • renderProperties

      @Stability(Stable) @NotNull protected Map<String,Object> renderProperties(@NotNull Map<String,Object> props)
      Overrides:
      renderProperties in class CfnResource
      Parameters:
      props - This parameter is required.
    • getCfnProperties

      @Stability(Stable) @NotNull protected Map<String,Object> getCfnProperties()
      Overrides:
      getCfnProperties in class CfnResource
    • getIpProtocol

      @Stability(Stable) @NotNull public String getIpProtocol()
      The IP protocol name ( tcp , udp , icmp , icmpv6 ) or number (see Protocol Numbers ).

      Use -1 to specify all protocols. When authorizing security group rules, specifying -1 or a protocol number other than tcp , udp , icmp , or icmpv6 allows traffic on all ports, regardless of any port range you specify. For tcp , udp , and icmp , you must specify a port range. For icmpv6 , the port range is optional; if you omit the port range, traffic for all types and codes is allowed.

    • setIpProtocol

      @Stability(Stable) public void setIpProtocol(@NotNull String value)
      The IP protocol name ( tcp , udp , icmp , icmpv6 ) or number (see Protocol Numbers ).

      Use -1 to specify all protocols. When authorizing security group rules, specifying -1 or a protocol number other than tcp , udp , icmp , or icmpv6 allows traffic on all ports, regardless of any port range you specify. For tcp , udp , and icmp , you must specify a port range. For icmpv6 , the port range is optional; if you omit the port range, traffic for all types and codes is allowed.

    • getCidrIp

      @Stability(Stable) @Nullable public String getCidrIp()
      The IPv4 address range, in CIDR format.

      You must specify a source security group ( SourcePrefixListId or SourceSecurityGroupId ) or a CIDR range ( CidrIp or CidrIpv6 ).

      For examples of rules that you can add to security groups for specific access scenarios, see Security group rules for different use cases in the Amazon EC2 User Guide .

    • setCidrIp

      @Stability(Stable) public void setCidrIp(@Nullable String value)
      The IPv4 address range, in CIDR format.

      You must specify a source security group ( SourcePrefixListId or SourceSecurityGroupId ) or a CIDR range ( CidrIp or CidrIpv6 ).

      For examples of rules that you can add to security groups for specific access scenarios, see Security group rules for different use cases in the Amazon EC2 User Guide .

    • getCidrIpv6

      @Stability(Stable) @Nullable public String getCidrIpv6()
      The IPv6 address range, in CIDR format.

      You must specify a source security group ( SourcePrefixListId or SourceSecurityGroupId ) or a CIDR range ( CidrIp or CidrIpv6 ).

      For examples of rules that you can add to security groups for specific access scenarios, see Security group rules for different use cases in the Amazon EC2 User Guide .

    • setCidrIpv6

      @Stability(Stable) public void setCidrIpv6(@Nullable String value)
      The IPv6 address range, in CIDR format.

      You must specify a source security group ( SourcePrefixListId or SourceSecurityGroupId ) or a CIDR range ( CidrIp or CidrIpv6 ).

      For examples of rules that you can add to security groups for specific access scenarios, see Security group rules for different use cases in the Amazon EC2 User Guide .

    • getDescription

      @Stability(Stable) @Nullable public String getDescription()
      Updates the description of an ingress (inbound) security group rule.

      You can replace an existing description, or add a description to a rule that did not have one previously.

      Constraints: Up to 255 characters in length. Allowed characters are a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=;{}!$*

    • setDescription

      @Stability(Stable) public void setDescription(@Nullable String value)
      Updates the description of an ingress (inbound) security group rule.

      You can replace an existing description, or add a description to a rule that did not have one previously.

      Constraints: Up to 255 characters in length. Allowed characters are a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=;{}!$*

    • getFromPort

      @Stability(Stable) @Nullable public Number getFromPort()
      The start of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 type number.

      A value of -1 indicates all ICMP/ICMPv6 types. If you specify all ICMP/ICMPv6 types, you must specify all codes.

      Use this for ICMP and any protocol that uses ports.

    • setFromPort

      @Stability(Stable) public void setFromPort(@Nullable Number value)
      The start of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 type number.

      A value of -1 indicates all ICMP/ICMPv6 types. If you specify all ICMP/ICMPv6 types, you must specify all codes.

      Use this for ICMP and any protocol that uses ports.

    • getGroupId

      @Stability(Stable) @Nullable public String getGroupId()
      The ID of the security group.
    • setGroupId

      @Stability(Stable) public void setGroupId(@Nullable String value)
      The ID of the security group.
    • getGroupName

      @Stability(Stable) @Nullable public String getGroupName()
      The name of the security group.

      Constraints: Up to 255 characters in length. Cannot start with sg- .

      Valid characters: a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*

    • setGroupName

      @Stability(Stable) public void setGroupName(@Nullable String value)
      The name of the security group.

      Constraints: Up to 255 characters in length. Cannot start with sg- .

      Valid characters: a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*

    • getSourcePrefixListId

      @Stability(Stable) @Nullable public String getSourcePrefixListId()
      The ID of a prefix list.
    • setSourcePrefixListId

      @Stability(Stable) public void setSourcePrefixListId(@Nullable String value)
      The ID of a prefix list.
    • getSourceSecurityGroupId

      @Stability(Stable) @Nullable public String getSourceSecurityGroupId()
      The ID of the security group.

      You must specify either the security group ID or the security group name. For security groups in a nondefault VPC, you must specify the security group ID.

    • setSourceSecurityGroupId

      @Stability(Stable) public void setSourceSecurityGroupId(@Nullable String value)
      The ID of the security group.

      You must specify either the security group ID or the security group name. For security groups in a nondefault VPC, you must specify the security group ID.

    • getSourceSecurityGroupName

      @Stability(Stable) @Nullable public String getSourceSecurityGroupName()
      [Default VPC] The name of the source security group.

      You must specify either the security group ID or the security group name. You can't specify the group name in combination with an IP address range. Creates rules that grant full ICMP, UDP, and TCP access.

      For security groups in a nondefault VPC, you must specify the group ID.

    • setSourceSecurityGroupName

      @Stability(Stable) public void setSourceSecurityGroupName(@Nullable String value)
      [Default VPC] The name of the source security group.

      You must specify either the security group ID or the security group name. You can't specify the group name in combination with an IP address range. Creates rules that grant full ICMP, UDP, and TCP access.

      For security groups in a nondefault VPC, you must specify the group ID.

    • getSourceSecurityGroupOwnerId

      @Stability(Stable) @Nullable public String getSourceSecurityGroupOwnerId()
      [nondefault VPC] The AWS account ID for the source security group, if the source security group is in a different account.

      You can't specify this property with an IP address range. Creates rules that grant full ICMP, UDP, and TCP access.

      If you specify SourceSecurityGroupName or SourceSecurityGroupId and that security group is owned by a different account than the account creating the stack, you must specify SourceSecurityGroupOwnerId ; otherwise, this property is optional.

    • setSourceSecurityGroupOwnerId

      @Stability(Stable) public void setSourceSecurityGroupOwnerId(@Nullable String value)
      [nondefault VPC] The AWS account ID for the source security group, if the source security group is in a different account.

      You can't specify this property with an IP address range. Creates rules that grant full ICMP, UDP, and TCP access.

      If you specify SourceSecurityGroupName or SourceSecurityGroupId and that security group is owned by a different account than the account creating the stack, you must specify SourceSecurityGroupOwnerId ; otherwise, this property is optional.

    • getToPort

      @Stability(Stable) @Nullable public Number getToPort()
      The end of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code.

      A value of -1 indicates all ICMP/ICMPv6 codes for the specified ICMP type. If you specify all ICMP/ICMPv6 types, you must specify all codes.

      Use this for ICMP and any protocol that uses ports.

    • setToPort

      @Stability(Stable) public void setToPort(@Nullable Number value)
      The end of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code.

      A value of -1 indicates all ICMP/ICMPv6 codes for the specified ICMP type. If you specify all ICMP/ICMPv6 types, you must specify all codes.

      Use this for ICMP and any protocol that uses ports.