Class CfnSecurityGroupIngress
A CloudFormation AWS::EC2::SecurityGroupIngress
.
Inherited Members
Namespace: Amazon.CDK.AWS.EC2
Assembly: Amazon.CDK.AWS.EC2.dll
Syntax (csharp)
public class CfnSecurityGroupIngress : CfnResource, IConstruct, IDependable, IInspectable
Syntax (vb)
Public Class CfnSecurityGroupIngress
Inherits CfnResource
Implements IConstruct, IDependable, IInspectable
Remarks
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.
CloudformationResource: AWS::EC2::SecurityGroupIngress
ExampleMetadata: fixture=_generated
Examples
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
using Amazon.CDK.AWS.EC2;
var cfnSecurityGroupIngress = new CfnSecurityGroupIngress(this, "MyCfnSecurityGroupIngress", new CfnSecurityGroupIngressProps {
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
});
Synopsis
Constructors
CfnSecurityGroupIngress(Construct, String, ICfnSecurityGroupIngressProps) | Create a new |
CfnSecurityGroupIngress(ByRefValue) | Used by jsii to construct an instance of this class from a Javascript-owned object reference |
CfnSecurityGroupIngress(DeputyBase.DeputyProps) | Used by jsii to construct an instance of this class from DeputyProps |
Properties
CFN_RESOURCE_TYPE_NAME | The CloudFormation resource type name for this resource class. |
CfnProperties | |
CidrIp | The IPv4 address range, in CIDR format. |
CidrIpv6 | The IPv6 address range, in CIDR format. |
Description | Updates the description of an ingress (inbound) security group rule. |
FromPort | The start of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 type number. |
GroupId | The ID of the security group. |
GroupName | The name of the security group. |
IpProtocol | The IP protocol name ( |
SourcePrefixListId | The ID of a prefix list. |
SourceSecurityGroupId | The ID of the security group. |
SourceSecurityGroupName | [Default VPC] The name of the source security group. |
SourceSecurityGroupOwnerId | [nondefault VPC] The AWS account ID for the source security group, if the source security group is in a different account. |
ToPort | The end of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code. |
Methods
Inspect(TreeInspector) | Examines the CloudFormation resource and discloses attributes. |
RenderProperties(IDictionary<String, Object>) |
Constructors
CfnSecurityGroupIngress(Construct, String, ICfnSecurityGroupIngressProps)
Create a new AWS::EC2::SecurityGroupIngress
.
public CfnSecurityGroupIngress(Construct scope, string id, ICfnSecurityGroupIngressProps props)
Parameters
- scope Construct
- scope in which this resource is defined.
- id System.String
- scoped id of the resource.
- props ICfnSecurityGroupIngressProps
- resource properties.
CfnSecurityGroupIngress(ByRefValue)
Used by jsii to construct an instance of this class from a Javascript-owned object reference
protected CfnSecurityGroupIngress(ByRefValue reference)
Parameters
- reference Amazon.JSII.Runtime.Deputy.ByRefValue
The Javascript-owned object reference
CfnSecurityGroupIngress(DeputyBase.DeputyProps)
Used by jsii to construct an instance of this class from DeputyProps
protected CfnSecurityGroupIngress(DeputyBase.DeputyProps props)
Parameters
- props Amazon.JSII.Runtime.Deputy.DeputyBase.DeputyProps
The deputy props
Properties
CFN_RESOURCE_TYPE_NAME
The CloudFormation resource type name for this resource class.
public static string CFN_RESOURCE_TYPE_NAME { get; }
Property Value
System.String
CfnProperties
protected override IDictionary<string, object> CfnProperties { get; }
Property Value
System.Collections.Generic.IDictionary<System.String, System.Object>
Overrides
CidrIp
The IPv4 address range, in CIDR format.
public virtual string CidrIp { get; set; }
Property Value
System.String
Remarks
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 .
CidrIpv6
The IPv6 address range, in CIDR format.
public virtual string CidrIpv6 { get; set; }
Property Value
System.String
Remarks
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 .
Description
Updates the description of an ingress (inbound) security group rule.
public virtual string Description { get; set; }
Property Value
System.String
Remarks
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 ._-:/()#,@[]+=;{}!$*
FromPort
The start of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 type number.
public virtual Nullable<double> FromPort { get; set; }
Property Value
System.Nullable<System.Double>
Remarks
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.
GroupId
The ID of the security group.
public virtual string GroupId { get; set; }
Property Value
System.String
Remarks
GroupName
The name of the security group.
public virtual string GroupName { get; set; }
Property Value
System.String
Remarks
Constraints: Up to 255 characters in length. Cannot start with sg-
.
Valid characters: a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*
IpProtocol
The IP protocol name ( tcp
, udp
, icmp
, icmpv6
) or number (see Protocol Numbers ).
public virtual string IpProtocol { get; set; }
Property Value
System.String
Remarks
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.
SourcePrefixListId
The ID of a prefix list.
public virtual string SourcePrefixListId { get; set; }
Property Value
System.String
Remarks
SourceSecurityGroupId
The ID of the security group.
public virtual string SourceSecurityGroupId { get; set; }
Property Value
System.String
Remarks
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.
SourceSecurityGroupName
[Default VPC] The name of the source security group.
public virtual string SourceSecurityGroupName { get; set; }
Property Value
System.String
Remarks
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.
SourceSecurityGroupOwnerId
[nondefault VPC] The AWS account ID for the source security group, if the source security group is in a different account.
public virtual string SourceSecurityGroupOwnerId { get; set; }
Property Value
System.String
Remarks
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.
ToPort
The end of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code.
public virtual Nullable<double> ToPort { get; set; }
Property Value
System.Nullable<System.Double>
Remarks
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.
Methods
Inspect(TreeInspector)
Examines the CloudFormation resource and discloses attributes.
public virtual void Inspect(TreeInspector inspector)
Parameters
- inspector TreeInspector
- tree inspector to collect and process attributes.
RenderProperties(IDictionary<String, Object>)
protected override IDictionary<string, object> RenderProperties(IDictionary<string, object> props)
Parameters
- props System.Collections.Generic.IDictionary<System.String, System.Object>
Returns
System.Collections.Generic.IDictionary<System.String, System.Object>