All Products
Search
Document Center

Virtual Private Cloud:CreateNetworkAcl

Last Updated:Dec 02, 2023

Creates a network access control list (ACL).

debugging

You can run this interface directly in OpenAPI Explorer, saving you the trouble of calculating signatures. After running successfully, OpenAPI Explorer can automatically generate SDK code samples.

debugging

Authorization information

The following table shows the authorization information corresponding to the API. The authorization information can be used in the Action policy element to grant a RAM user or RAM role the permissions to call this API operation. Description:

  • Operation: the value that you can use in the Action element to specify the operation on a resource.
  • Access level: the access level of each operation. The levels are read, write, and list.
  • Resource type: the type of the resource on which you can authorize the RAM user or the RAM role to perform the operation. Take note of the following items:
    • The required resource types are displayed in bold characters.
    • If the permissions cannot be granted at the resource level, All Resources is used in the Resource type column of the operation.
  • Condition Key: the condition key that is defined by the cloud service.
  • Associated operation: other operations that the RAM user or the RAM role must have permissions to perform to complete the operation. To complete the operation, the RAM user or the RAM role must have the permissions to perform the associated operations.
OperationAccess levelResource typeCondition keyAssociated operation
vpc:CreateNetworkAclWrite
  • NetworkAcl
    acs:vpc:{#regionId}:{#accountId}:networkacl/*
  • VPC
    acs:vpc:{#regionId}:{#accountId}:vpc/{#VpcId}
    none
none

Request parameters

ParameterTypeRequiredDescriptionExample
VpcIdstringYes

The ID of the virtual private cloud (VPC) to which the network ACL belongs.

If the VPC contains Elastic Compute Service (ECS) instances of the following instance families, you must upgrade the ECS instances or release the ECS instances. Otherwise, you cannot create a network ACL for the VPC.

ecs.c1, ecs.c2, ecs.c4, ecs.c5, ecs.ce4, ecs.cm4, ecs.d1, ecs.e3, ecs.e4, ecs.ga1, ecs.gn4, ecs.gn5, ecs.i1, ecs.m1, ecs.m2, ecs.mn4, ecs.n1, ecs.n2, ecs.n4, ecs.s1, ecs.s2, ecs.s3, ecs.se1, ecs.sn1, ecs.sn2, ecs.t1, and ecs.xn4.

Note If your VPC contains ECS instances of the preceding instance families and you create a network ACL for the VPC, you must upgrade the ECS instances. Otherwise, the network ACL cannot work as expected.
vpc-dsfd34356vdf****
NetworkAclNamestringNo

The name of the network ACL.

The name must be 1 to 128 characters in length and cannot start with http:// or https://.

acl-1
DescriptionstringNo

The description of the network ACL.

The description must be 1 to 256 characters in length and cannot start with http:// or https://.

This is my NetworkAcl.
RegionIdstringYes

The region ID of the network ACL.

You can call the DescribeRegions operation to query the most recent region list.

cn-hangzhou
ClientTokenstringNo

The client token that is used to ensure the idempotence of the request.

You can use the client to generate the value, but you must make sure that it is unique among different requests. The token can contain only ASCII characters.

Note If you do not specify this parameter, the system uses RequestId as ClientToken. RequestId may be different for each API request.
0c593ea1-3bea-11e9-b96b-88e9fe637760

Response parameters

ParameterTypeDescriptionExample
object
NetworkAclIdstring

The ID of the network ACL.

nacl-a2do9e413e0spzasx****
RequestIdstring

The ID of the request.

0ED8D006-F706-4D23-88ED-E11ED28DCAC0
NetworkAclAttributeobject

The attributes of the network ACL.

Statusstring

The status of the network ACL. Valid values:

  • Available: The network ACL is available.
  • Modifying: The network ACL is being configured.
Modifying
VpcIdstring

The ID of the VPC to which the network ACL belongs.

vpc-a2d33rfpl72k5xsscd****
CreationTimestring

The time when the network ACL was created.

2021-12-25 11:33:27
Descriptionstring

The description of the network ACL.

This is my NetworkAcl.
NetworkAclNamestring

The name of the network ACL.

acl-1
NetworkAclIdstring

The ID of the network ACL.

nacl-a2do9e413e0spdefr****
RegionIdstring

The region ID of the network ACL.

cn-hangzhou
IngressAclEntriesobject []

The details about the inbound rule.

NetworkAclEntryIdstring

The ID of the inbound rule.

nae-a2dk86arlydmexscd****
NetworkAclEntryNamestring

The name of the inbound rule.

acl-3
Policystring

The action that is performed on network traffic that matches the rule. Valid values:

  • accept: allows the network traffic.
  • drop: blocks the network traffic.
accept
Descriptionstring

The description of the inbound rule.

This is IngressAclEntries.
SourceCidrIpstring

The source CIDR block.

10.0.0.0/24
Protocolstring

The protocol type. Valid values:

  • icmp: ICMP
  • gre: GRE
  • tcp: TCP
  • udp: UDP
  • all: all protocols
all
Portstring

The destination port range of the inbound rule.

  • If Protocol of the inbound rule is set to all, icmp, or gre, the port range is -1/-1, which indicates all ports.
  • If Protocol of the inbound rule is set to tcp or udp, the port range is in the following format: 1/200 or 80/80. 1/200 indicates port 1 to port 200. 80/80 indicates port 80. Valid values for a port: 1 to 65535.
-1/-1
EgressAclEntriesobject []

The details about the outbound rule.

NetworkAclEntryIdstring

The ID of the outbound rule.

nae-a2d447uw4tillxsdc****
NetworkAclEntryNamestring

The name of the outbound rule.

acl-2
Policystring

The action that is performed on network traffic that matches the rule. Valid values:

  • accept: allows the network traffic.
  • drop: blocks the network traffic.
accept
Descriptionstring

The description of the outbound rule.

This is EgressAclEntries.
Protocolstring

The protocol type. Valid values:

  • icmp: ICMP
  • gre: GRE
  • tcp: TCP
  • udp: UDP
  • all: all protocols
all
DestinationCidrIpstring

The destination CIDR block.

10.0.0.0/24
Portstring

The destination port range of the outbound rule.

  • If Protocol of the outbound rule is set to all, icmp, or gre, the port range is -1/-1, which indicates all ports.
  • If Protocol of the outbound rule is set to tcp or udp, the port range is in the following format: 1/200 or 80/80. 1/200 indicates port 1 to port 200. 80/80 indicates port 80. Valid values for a port: 1 to 65535.
-1/-1
Resourcesobject []

The details about the resource that is associated with the network ACL.

Statusstring

The association status of the resource. Valid values:

  • BINDED: The resource is associated with the network ACL.
  • BINDING: The resource is being associated with the network ACL.
  • UNBINDING: The resource is disassociated from the network ACL.
BINDED
ResourceTypestring

The type of the associated resource.

VSwitch
ResourceIdstring

The ID of the associated resource.

vsw-bp1de348lntdwgthy****

Examples

Sample success responses

JSONformat

{
  "NetworkAclId": "nacl-a2do9e413e0spzasx****",
  "RequestId": "0ED8D006-F706-4D23-88ED-E11ED28DCAC0",
  "NetworkAclAttribute": {
    "Status": "Modifying",
    "VpcId": "vpc-a2d33rfpl72k5xsscd****",
    "CreationTime": "2021-12-25 11:33:27",
    "Description": "This is my NetworkAcl.",
    "NetworkAclName": "acl-1\t",
    "NetworkAclId": "nacl-a2do9e413e0spdefr****",
    "RegionId": "cn-hangzhou\t",
    "IngressAclEntries": {
      "IngressAclEntry": [
        {
          "NetworkAclEntryId": "nae-a2dk86arlydmexscd****",
          "NetworkAclEntryName": "acl-3\t",
          "Policy": "accept",
          "Description": "This is IngressAclEntries.\t",
          "SourceCidrIp": "10.0.0.0/24\t",
          "Protocol": "all",
          "Port": "-1/-1"
        }
      ]
    },
    "EgressAclEntries": {
      "EgressAclEntry": [
        {
          "NetworkAclEntryId": "nae-a2d447uw4tillxsdc****",
          "NetworkAclEntryName": "acl-2",
          "Policy": "accept",
          "Description": "This is EgressAclEntries.",
          "Protocol": "all",
          "DestinationCidrIp": "10.0.0.0/24",
          "Port": "-1/-1\t"
        }
      ]
    },
    "Resources": {
      "Resource": [
        {
          "Status": "BINDED",
          "ResourceType": "VSwitch",
          "ResourceId": "vsw-bp1de348lntdwgthy****"
        }
      ]
    }
  }
}

Error codes

HTTP status codeError codeError messageDescription
400ParameterMissing.AliUidParameterMissing.AliUid-
400ParameterMissing.BidParameterMissing.Bid-
400ParameterMissing.RegionIdParameterMissing.RegionId-
400ParameterEmpty.RegionIdParameterEmpty.RegionId-
400ParameterMissing.VpcIdParameterMissing.VpcId-
400ParameterLengthIllegal.NameParameterLengthIllegal.NameThe length of the rule name is invalid.
400ParameterIllegal.NameParameterIllegal.NameThe name of the entry is invalid.
400ParameterLengthIllegal.DescriptionParameterLengthIllegal.Description-
400ParameterIllegal.DescriptionParameterIllegal.Description-
400ParameterEmpty.VpcIdParameterEmpty.VpcId-
400InvalidVpcId.NotFoundThe vpc is not exist.-
400QuotaExceed.NetworkAclNetwork acl is over limit.-
400NotSupport.NetworkAclNetwork acl is not support now.-
500InternalErrorThe request processing has failed due to some unknown error.An unknown error occurred.

For a list of error codes, visit the Service error codes.

Change history

Change timeSummary of changesOperation
2023-11-24The error codes of the API operation change.,The input parameters of the API operation change.see changesets
Change itemChange content
Error CodesThe error codes of the API operation change.
    Error Codes 400 change
    delete Error Codes: 500
Input ParametersThe input parameters of the API operation change.
    Added Input Parameters: DryRun
2023-07-05The error codes of the API operation change.,The input parameters of the API operation change.see changesets
Change itemChange content
Error CodesThe error codes of the API operation change.
    delete Error Codes: 400
    delete Error Codes: 500
Input ParametersThe input parameters of the API operation change.
    Added Input Parameters: Tag
2023-05-09API Description Update,The error codes of the API operation change.see changesets
Change itemChange content
API DescriptionAPI Description Update
Error CodesThe error codes of the API operation change.
    delete Error Codes: 400
    delete Error Codes: 500