public static interface CfnSecurityGroup.IngressProperty
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.
The EC2 Security Group Rule is an embedded property of the AWS::EC2::SecurityGroup
type.
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.*; IngressProperty ingressProperty = IngressProperty.builder() .ipProtocol("ipProtocol") // the properties below are optional .cidrIp("cidrIp") .cidrIpv6("cidrIpv6") .description("description") .fromPort(123) .sourcePrefixListId("sourcePrefixListId") .sourceSecurityGroupId("sourceSecurityGroupId") .sourceSecurityGroupName("sourceSecurityGroupName") .sourceSecurityGroupOwnerId("sourceSecurityGroupOwnerId") .toPort(123) .build();
Modifier and Type | Interface and Description |
---|---|
static class |
CfnSecurityGroup.IngressProperty.Builder
A builder for
CfnSecurityGroup.IngressProperty |
static class |
CfnSecurityGroup.IngressProperty.Jsii$Proxy
An implementation for
CfnSecurityGroup.IngressProperty |
Modifier and Type | Method and Description |
---|---|
static CfnSecurityGroup.IngressProperty.Builder |
builder() |
default java.lang.String |
getCidrIp()
The IPv4 address range, in CIDR format.
|
default java.lang.String |
getCidrIpv6()
The IPv6 address range, in CIDR format.
|
default java.lang.String |
getDescription()
Updates the description of an ingress (inbound) security group rule.
|
default java.lang.Number |
getFromPort()
The start of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 type number.
|
java.lang.String |
getIpProtocol()
The IP protocol name ( `tcp` , `udp` , `icmp` , `icmpv6` ) or number (see [Protocol Numbers](https://docs.aws.amazon.com/http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml) ).
|
default java.lang.String |
getSourcePrefixListId()
[EC2-VPC only] The ID of a prefix list.
|
default java.lang.String |
getSourceSecurityGroupId()
The ID of the security group.
|
default java.lang.String |
getSourceSecurityGroupName()
[EC2-Classic, default VPC] The name of the source security group.
|
default java.lang.String |
getSourceSecurityGroupOwnerId()
[nondefault VPC] The AWS account ID for the source security group, if the source security group is in a different account.
|
default java.lang.Number |
getToPort()
The end of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code.
|
java.lang.String getIpProtocol()
[VPC only] 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.
default java.lang.String getCidrIp()
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 .
default java.lang.String getCidrIpv6()
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 .
default java.lang.String getDescription()
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 ._-:/()#,@[]+=;{}!$*
default java.lang.Number getFromPort()
A value of -1
indicates all ICMP/ICMPv6 types. If you specify all ICMP/ICMPv6 types, you must specify all codes.
default java.lang.String getSourcePrefixListId()
default java.lang.String getSourceSecurityGroupId()
You must specify either the security group ID or the security group name in the request. For security groups in a nondefault VPC, you must specify the security group ID.
default java.lang.String getSourceSecurityGroupName()
You can't specify this parameter in combination with an IP address range. Creates rules that grant full ICMP, UDP, and TCP access.
You must specify the GroupName
property or the GroupId
property. For security groups that are in a VPC, you must use the GroupId
property.
default java.lang.String getSourceSecurityGroupOwnerId()
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 the SourceSecurityGroupOwnerId
; otherwise, this property is optional.
default java.lang.Number getToPort()
A value of -1
indicates all ICMP/ICMPv6 codes. If you specify all ICMP/ICMPv6 types, you must specify all codes.
static CfnSecurityGroup.IngressProperty.Builder builder()