NetworkAcl
- class aws_cdk.aws_ec2.NetworkAcl(scope, id, *, vpc, network_acl_name=None, subnet_selection=None)
Bases:
Resource
Define a new custom network ACL.
By default, will deny all inbound and outbound traffic unless entries are added explicitly allowing it.
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import aws_ec2 as ec2 # subnet: ec2.Subnet # subnet_filter: ec2.SubnetFilter # vpc: ec2.Vpc network_acl = ec2.NetworkAcl(self, "MyNetworkAcl", vpc=vpc, # the properties below are optional network_acl_name="networkAclName", subnet_selection=ec2.SubnetSelection( availability_zones=["availabilityZones"], one_per_az=False, subnet_filters=[subnet_filter], subnet_group_name="subnetGroupName", subnets=[subnet], subnet_type=ec2.SubnetType.PRIVATE_ISOLATED ) )
- Parameters:
scope (
Construct
) –id (
str
) –vpc (
IVpc
) – The VPC in which to create the NetworkACL.network_acl_name (
Optional
[str
]) – The name of the NetworkAcl. Since the NetworkAcl resource doesn’t support providing a physical name, the value provided here will be recorded in theName
tag. Default: CDK generated namesubnet_selection (
Union
[SubnetSelection
,Dict
[str
,Any
],None
]) – Subnets in the given VPC to associate the ACL with. More subnets can always be added later by callingassociateWithSubnets()
. Default: - No subnets associated
Methods
- add_entry(id, *, cidr, rule_number, traffic, direction=None, network_acl_entry_name=None, rule_action=None)
Add a new entry to the ACL.
- Parameters:
id (
str
) –cidr (
AclCidr
) – The CIDR range to allow or deny.rule_number (
Union
[int
,float
]) – Rule number to assign to the entry, such as 100. ACL entries are processed in ascending order by rule number. Entries can’t use the same rule number unless one is an egress rule and the other is an ingress rule.traffic (
AclTraffic
) – What kind of traffic this ACL rule applies to.direction (
Optional
[TrafficDirection
]) – Traffic direction, with respect to the subnet, this rule applies to. Default: TrafficDirection.INGRESSnetwork_acl_entry_name (
Optional
[str
]) – The name of the NetworkAclEntry. It is not recommended to use an explicit group name. Default: If you don’t specify a NetworkAclName, AWS CloudFormation generates a unique physical ID and uses that ID for the group name.rule_action (
Optional
[Action
]) – Whether to allow or deny traffic that matches the rule; valid values are “allow” or “deny”. Any traffic that is not explicitly allowed is automatically denied in a custom ACL, all traffic is automatically allowed in a default ACL. Default: ALLOW
- Return type:
- apply_removal_policy(policy)
Apply the given removal policy to this resource.
The Removal Policy controls what happens to this resource when it stops being managed by CloudFormation, either because you’ve removed it from the CDK application or because you’ve made a change that requires the resource to be replaced.
The resource can be deleted (
RemovalPolicy.DESTROY
), or left in your AWS account for data recovery and cleanup later (RemovalPolicy.RETAIN
).- Parameters:
policy (
RemovalPolicy
) –- Return type:
None
- associate_with_subnet(id, *, availability_zones=None, one_per_az=None, subnet_filters=None, subnet_group_name=None, subnets=None, subnet_type=None)
Associate the ACL with a given set of subnets.
- Parameters:
id (
str
) –availability_zones (
Optional
[Sequence
[str
]]) – Select subnets only in the given AZs. Default: no filtering on AZs is doneone_per_az (
Optional
[bool
]) – If true, return at most one subnet per AZ. Default: falsesubnet_filters (
Optional
[Sequence
[SubnetFilter
]]) – List of provided subnet filters. Default: - nonesubnet_group_name (
Optional
[str
]) – Select the subnet group with the given name. Select the subnet group with the given name. This only needs to be used if you have multiple subnet groups of the same type and you need to distinguish between them. Otherwise, prefersubnetType
. This field does not select individual subnets, it selects all subnets that share the given subnet group name. This is the name supplied insubnetConfiguration
. At most one ofsubnetType
andsubnetGroupName
can be supplied. Default: - Selection by type instead of by namesubnets (
Optional
[Sequence
[ISubnet
]]) – Explicitly select individual subnets. Use this if you don’t want to automatically use all subnets in a group, but have a need to control selection down to individual subnets. Cannot be specified together withsubnetType
orsubnetGroupName
. Default: - Use all subnets in a selected group (all private subnets by default)subnet_type (
Optional
[SubnetType
]) – Select all subnets of the given type. At most one ofsubnetType
andsubnetGroupName
can be supplied. Default: SubnetType.PRIVATE_WITH_EGRESS (or ISOLATED or PUBLIC if there are no PRIVATE_WITH_EGRESS subnets)
- Return type:
None
- to_string()
Returns a string representation of this construct.
- Return type:
str
Attributes
- env
The environment this resource belongs to.
For resources that are created and managed by the CDK (generally, those created by creating new class instances like Role, Bucket, etc.), this is always the same as the environment of the stack they belong to; however, for imported resources (those obtained from static methods like fromRoleArn, fromBucketName, etc.), that might be different than the stack they were imported into.
- network_acl_id
The ID of the NetworkACL.
- Attribute:
true
- network_acl_vpc_id
The VPC ID for this NetworkACL.
- Attribute:
true
- node
The tree node.
- stack
The stack in which this resource is defined.
Static Methods
- classmethod from_network_acl_id(scope, id, network_acl_id)
Import an existing NetworkAcl into this app.
- Parameters:
scope (
Construct
) –id (
str
) –network_acl_id (
str
) –
- Return type:
- classmethod is_construct(x)
Checks if
x
is a construct.Use this method instead of
instanceof
to properly detectConstruct
instances, even when the construct library is symlinked.Explanation: in JavaScript, multiple copies of the
constructs
library on disk are seen as independent, completely different libraries. As a consequence, the classConstruct
in each copy of theconstructs
library is seen as a different class, and an instance of one class will not test asinstanceof
the other class.npm install
will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of theconstructs
library can be accidentally installed, andinstanceof
will behave unpredictably. It is safest to avoid usinginstanceof
, and using this type-testing method instead.- Parameters:
x (
Any
) – Any object.- Return type:
bool
- Returns:
true if
x
is an object created from a class which extendsConstruct
.
- classmethod is_owned_resource(construct)
Returns true if the construct was created by CDK, and false otherwise.
- Parameters:
construct (
IConstruct
) –- Return type:
bool
- classmethod is_resource(construct)
Check whether the given construct is a Resource.
- Parameters:
construct (
IConstruct
) –- Return type:
bool