AWS::EC2::SecurityGroup¶
Resource Type definition for AWS::EC2::SecurityGroup
Generated by cfn-typegen --out cfn_types AWS::EC2::SecurityGroup into cfn_types/ec2.py:
# Generated by cfn-typegen from the CloudFormation registry schemas. Do not edit.
# fmt: off
# ruff: noqa
"""AWS::EC2 resources."""
from collections.abc import Sequence
from typing import Any, Literal, NotRequired, Unpack
from typing_extensions import TypedDict
from cfn_typed.base import DeletionPolicy, DependsOn, ResourceAttrs, Tag, UpdateReplacePolicy, build
from cfn_typed.intrinsics import Expr
CONSTRAINTS:dict[str,Any]={
}
ATTRIBUTES:dict[str,Any]={"AWS::EC2::SecurityGroup":["GroupId","Id"]}
RULES:dict[str,Any]={}
Nested types (5)
These are defined above the properties in the generated module.
class SecurityGroupIngress(TypedDict, closed=True):
CidrIp: NotRequired[Expr[str]]
CidrIpv6: NotRequired[Expr[str]]
Description: NotRequired[Expr[str]]
FromPort: NotRequired[Expr[int]]
SourceSecurityGroupName: NotRequired[Expr[str]]
ToPort: NotRequired[Expr[int]]
SourceSecurityGroupOwnerId: NotRequired[Expr[str]]
IpProtocol: Expr[str]
SourceSecurityGroupId: NotRequired[Expr[str]]
SourcePrefixListId: NotRequired[Expr[str]]
class SecurityGroupEgress(TypedDict, closed=True):
CidrIp: NotRequired[Expr[str]]
CidrIpv6: NotRequired[Expr[str]]
Description: NotRequired[Expr[str]]
FromPort: NotRequired[Expr[int]]
ToPort: NotRequired[Expr[int]]
IpProtocol: Expr[str]
DestinationSecurityGroupId: NotRequired[Expr[str]]
DestinationPrefixListId: NotRequired[Expr[str]]
class SecurityGroupProps(TypedDict, closed=True):
'Resource Type definition for AWS::EC2::SecurityGroup'
GroupDescription: Expr[str]
'A description for the security group.'
GroupName: NotRequired[Expr[str]]
'The name of the security group.'
VpcId: NotRequired[Expr[str]]
'The ID of the VPC for the security group.'
SecurityGroupIngress: NotRequired[Expr[Sequence[Expr[SecurityGroupIngress]]]]
'The inbound rules associated with the security group.'
SecurityGroupEgress: NotRequired[Expr[Sequence[Expr[SecurityGroupEgress]]]]
'[VPC only] The outbound rules associated with the security group.'
Tags: NotRequired[Expr[Sequence[Expr[Tag]]]]
'Any tags assigned to the security group.'
class SecurityGroup(ResourceAttrs):
'Resource Type definition for AWS::EC2::SecurityGroup'
Type: Literal['AWS::EC2::SecurityGroup']
Properties: SecurityGroupProps
def security_group(
*,
depends_on: DependsOn | None = None,
deletion_policy: DeletionPolicy | None = None,
update_replace_policy: UpdateReplacePolicy | None = None,
condition: str | None = None,
metadata: dict[str, Any] | None = None,
**props: Unpack[SecurityGroupProps],
) -> SecurityGroup:
return build('AWS::EC2::SecurityGroup', props, depends_on, deletion_policy, update_replace_policy, condition, metadata)
Attributes¶
Read-only values for get_att(logical_id, attribute). They are not accepted as inputs.
GroupIdId