@Generated(value="jsii-pacmak/1.58.0 (build f8ba112)", date="2022-05-13T01:13:32.558Z") public class CfnSecurityGroupIngress extends CfnResource implements IInspectable
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();
Modifier and Type | Class and Description |
---|---|
static class |
CfnSecurityGroupIngress.Builder
A fluent builder for
CfnSecurityGroupIngress . |
IInspectable.Jsii$Default, IInspectable.Jsii$Proxy
IConstruct.Jsii$Default
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
CFN_RESOURCE_TYPE_NAME
The CloudFormation resource type name for this resource class.
|
Modifier | Constructor and Description |
---|---|
|
CfnSecurityGroupIngress(Construct scope,
java.lang.String id,
CfnSecurityGroupIngressProps props)
Create a new `AWS::EC2::SecurityGroupIngress`.
|
protected |
CfnSecurityGroupIngress(software.amazon.jsii.JsiiObject.InitializationMode initializationMode) |
protected |
CfnSecurityGroupIngress(software.amazon.jsii.JsiiObjectRef objRef) |
Modifier and Type | Method and Description |
---|---|
protected java.util.Map<java.lang.String,java.lang.Object> |
getCfnProperties() |
java.lang.String |
getCidrIp()
The IPv4 address range, in CIDR format.
|
java.lang.String |
getCidrIpv6()
The IPv6 address range, in CIDR format.
|
java.lang.String |
getDescription()
Updates the description of an ingress (inbound) security group rule.
|
java.lang.Number |
getFromPort()
The start of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 type number.
|
java.lang.String |
getGroupId()
The ID of the security group.
|
java.lang.String |
getGroupName()
The name of the security group.
|
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) ).
|
java.lang.String |
getSourcePrefixListId()
[EC2-VPC only] The ID of a prefix list.
|
java.lang.String |
getSourceSecurityGroupId()
The ID of the security group.
|
java.lang.String |
getSourceSecurityGroupName()
[EC2-Classic, default VPC] The name of the source security group.
|
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.
|
java.lang.Number |
getToPort()
The end of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code.
|
void |
inspect(TreeInspector inspector)
Examines the CloudFormation resource and discloses attributes.
|
protected java.util.Map<java.lang.String,java.lang.Object> |
renderProperties(java.util.Map<java.lang.String,java.lang.Object> props) |
void |
setCidrIp(java.lang.String value)
The IPv4 address range, in CIDR format.
|
void |
setCidrIpv6(java.lang.String value)
The IPv6 address range, in CIDR format.
|
void |
setDescription(java.lang.String value)
Updates the description of an ingress (inbound) security group rule.
|
void |
setFromPort(java.lang.Number value)
The start of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 type number.
|
void |
setGroupId(java.lang.String value)
The ID of the security group.
|
void |
setGroupName(java.lang.String value)
The name of the security group.
|
void |
setIpProtocol(java.lang.String value)
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) ).
|
void |
setSourcePrefixListId(java.lang.String value)
[EC2-VPC only] The ID of a prefix list.
|
void |
setSourceSecurityGroupId(java.lang.String value)
The ID of the security group.
|
void |
setSourceSecurityGroupName(java.lang.String value)
[EC2-Classic, default VPC] The name of the source security group.
|
void |
setSourceSecurityGroupOwnerId(java.lang.String value)
[nondefault VPC] The AWS account ID for the source security group, if the source security group is in a different account.
|
void |
setToPort(java.lang.Number value)
The end of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code.
|
addDeletionOverride, addDependsOn, addMetadata, addOverride, addPropertyDeletionOverride, addPropertyOverride, applyRemovalPolicy, applyRemovalPolicy, applyRemovalPolicy, getAtt, getCfnOptions, getCfnResourceType, getMetadata, getUpdatedProperites, isCfnResource, shouldSynthesize, toString, validateProperties
getRef
getCreationStack, getLogicalId, getStack, isCfnElement, overrideLogicalId
getNode, isConstruct, onPrepare, onSynthesize, onValidate, prepare, synthesize, validate
public static final java.lang.String CFN_RESOURCE_TYPE_NAME
protected CfnSecurityGroupIngress(software.amazon.jsii.JsiiObjectRef objRef)
protected CfnSecurityGroupIngress(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
public CfnSecurityGroupIngress(Construct scope, java.lang.String id, CfnSecurityGroupIngressProps props)
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.public void inspect(TreeInspector inspector)
inspect
in interface IInspectable
inspector
- - tree inspector to collect and process attributes. This parameter is required.protected java.util.Map<java.lang.String,java.lang.Object> renderProperties(java.util.Map<java.lang.String,java.lang.Object> props)
renderProperties
in class CfnResource
props
- This parameter is required.protected java.util.Map<java.lang.String,java.lang.Object> getCfnProperties()
getCfnProperties
in class CfnResource
public 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.
public void setIpProtocol(java.lang.String value)
[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.
public 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 .
public void setCidrIp(java.lang.String value)
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 .
public 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 .
public void setCidrIpv6(java.lang.String value)
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 .
public 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 ._-:/()#,@[]+=;{}!$*
public void setDescription(java.lang.String value)
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 ._-:/()#,@[]+=;{}!$*
public 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.
Use this for ICMP and any protocol that uses ports.
public void setFromPort(java.lang.Number value)
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.
public java.lang.String getGroupId()
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.
You must specify the GroupName
property or the GroupId
property. For security groups that are in a VPC, you must use the GroupId
property.
public void setGroupId(java.lang.String value)
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.
You must specify the GroupName
property or the GroupId
property. For security groups that are in a VPC, you must use the GroupId
property.
public java.lang.String getGroupName()
Constraints: Up to 255 characters in length. Cannot start with sg-
.
Constraints for EC2-Classic: ASCII characters
Constraints for EC2-VPC: a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*
public void setGroupName(java.lang.String value)
Constraints: Up to 255 characters in length. Cannot start with sg-
.
Constraints for EC2-Classic: ASCII characters
Constraints for EC2-VPC: a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*
public java.lang.String getSourcePrefixListId()
public void setSourcePrefixListId(java.lang.String value)
public java.lang.String getSourceSecurityGroupId()
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.
public void setSourceSecurityGroupId(java.lang.String value)
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.
public 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.
public void setSourceSecurityGroupName(java.lang.String value)
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.
public 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.
public void setSourceSecurityGroupOwnerId(java.lang.String value)
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.
public java.lang.Number getToPort()
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.
public void setToPort(java.lang.Number value)
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.