Creating a Network ACL
Function
A network ACL is an optional layer of security for your subnets. You can add inbound and outbound rules to a network ACL and associate subnets with it to control traffic in and out of the subnets.
Calling Method
For details, see Calling APIs.
URI
POST /v3/{project_id}/vpc/firewalls
|
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
|
project_id |
Yes |
String |
Definition: ID of the project that the network ACL belongs to. For details about how to obtain a project ID, see Obtaining a Project ID. Range: N/A |
Request Parameters
|
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
|
firewall |
Yes |
CreateFirewallOption object |
Definition: Request body for creating a network ACL. Constraints: N/A Range: N/A Default Value: N/A |
|
dry_run |
No |
Boolean |
Definition: Whether to only check the request. Constraints: N/A Range:
Default Value: false |
|
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
|
name |
Yes |
String |
Definition: Name of the network ACL. Constraints: The value can contain 1 to 64 characters, including letters, digits, underscores (_), hyphens (-), and periods. Range: N/A Default Value: N/A |
|
description |
No |
String |
Definition: Supplementary information about the network ACL. Constraints: The value can contain 0 to 255 characters and cannot contain angle brackets (< or >). Range: N/A Default Value: N/A |
|
enterprise_project_id |
No |
String |
Definition: ID of the enterprise project that the network ACL belongs to. Constraints:
Range: N/A Default Value: 0 indicates the default enterprise project. |
|
tags |
No |
Array of RequestTag objects |
Definition: Tags of a network ACL, including tag keys and tag values, which can be used to classify and identify resources. For details, see the tag objects. Constraints: A maximum of 20 tag key-value pairs are supported. Range: N/A Default Value: N/A |
|
admin_state_up |
No |
Boolean |
Definition: Network ACL administrative status. Constraints: N/A Range:
Default Value: true |
|
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
|
key |
Yes |
String |
Definition: Tag key. Constraints: N/A Range:
Default Value: N/A |
|
value |
Yes |
String |
Definition: Tag value. Constraints: N/A Range:
Default Value: N/A |
Response Parameters
Status code: 201
|
Parameter |
Type |
Description |
|---|---|---|
|
firewall |
FirewallDetail object |
Definition: Response body for creating a network ACL. Range: N/A |
|
request_id |
String |
Definition: Request ID. Range: N/A |
|
Parameter |
Type |
Description |
|---|---|---|
|
id |
String |
Definition: Network ACL ID. Each network ACL comes with an ID, which uniquely identifies the network ACL. Range: The value is in UUID format with hyphens (-). |
|
name |
String |
Definition: Name of the network ACL. Range: The value can contain 1 to 64 characters, including letters, digits, underscores (_), hyphens (-), and periods. |
|
description |
String |
Definition: Supplementary information about the network ACL. Range: The value can contain 0 to 255 characters and cannot contain angle brackets (< or >). |
|
project_id |
String |
Definition: ID of the project that the network ACL belongs to. Range: N/A |
|
created_at |
String |
Definition: Time when the network ACL was created. The value is automatically generated by the system. Range: The value is a UTC time in the format of yyyy-MM-ddTHH:mm:ssZ. |
|
updated_at |
String |
Definition: Time when the network ACL was last updated. The value is automatically generated by the system. Range: The value is a UTC time in the format of yyyy-MM-ddTHH:mm:ssZ. |
|
admin_state_up |
Boolean |
Definition: Network ACL administrative status. Range
|
|
status |
String |
Definition: Network ACL status. Range
|
|
enterprise_project_id |
String |
Definition: ID of the enterprise project that the network ACL belongs to. Range: The value is 0 or a string that contains a maximum of 36 characters in UUID format with hyphens (-). 0 indicates the default enterprise project. |
|
tags |
Array of ResponseTag objects |
Definition: Tags of a network ACL, including tag keys and tag values, which can be used to classify and identify resources. For details, see the tag objects. Range: N/A |
|
associations |
Array of FirewallAssociation objects |
Definition: Subnets associated with the network ACL. Range: N/A |
|
ingress_rules |
Array of FirewallRuleDetail objects |
Definition: Network ACL inbound rules. Range: N/A |
|
egress_rules |
Array of FirewallRuleDetail objects |
Definition: Network ACL outbound rules. Range: N/A |
|
Parameter |
Type |
Description |
|---|---|---|
|
key |
String |
Definition: Tag key. Range:
|
|
value |
String |
Definition: Tag value. Range:
|
|
Parameter |
Type |
Description |
|---|---|---|
|
virsubnet_id |
String |
Definition: ID of the subnet associated with the network ACL. Range:
|
|
Parameter |
Type |
Description |
|---|---|---|
|
id |
String |
Definition: Network ACL rule ID. Each network ACL rule comes with an ID, which uniquely identifies the network ACL rule. Range: The value is in UUID format with hyphens (-). |
|
name |
String |
Definition: Network ACL rule name. Range: The value can contain 0 to 255 characters, including letters, digits, underscores (_), hyphens (-), and periods. |
|
description |
String |
Definition: Supplementary information about the network ACL rule. Range: The value can contain 0 to 255 characters and cannot contain angle brackets (< or >). |
|
action |
String |
Definition: Whether a network ACL rule allows or denies traffic. Range:
|
|
project_id |
String |
Definition: ID of the project that the network ACL rule belongs to. Range: N/A |
|
protocol |
String |
Definition: Communication protocol of a network ACL rule. Range:
|
|
ip_version |
Integer |
Definition: IP address version of a network ACL rule. Range:
|
|
source_ip_address |
String |
Definition: Source IP address or source IP address range of a network ACL rule. Range: source_ip_address and source_address_group_id cannot be specified at the same time. |
|
destination_ip_address |
String |
Definition: Destination IP address or destination IP address range of a network ACL rule. Range: destination_ip_address and destination_address_group_id cannot be specified at the same time. |
|
source_port |
String |
Definition: Source port of a network ACL rule. Range:
|
|
destination_port |
String |
Definition: Destination port of a network ACL rule. Range:
|
|
source_address_group_id |
String |
Definition: ID of the source IP address group of a network ACL rule. Range: source_ip_address and source_address_group_id cannot be specified at the same time. |
|
destination_address_group_id |
String |
Definition: ID of the destination IP address group of a network ACL rule. Range: destination_ip_address and destination_address_group_id cannot be specified at the same time. |
|
enabled |
Boolean |
Definition: Whether a network ACL rule is enabled. Range:
|
Example Requests
Create a network ACL named network_acl_test1.
POST https://{Endpoint}/v3/{project_id}/vpc/firewalls
{
"firewall" : {
"name" : "network_acl_test1",
"description" : "network_acl_test1",
"enterprise_project_id" : "158ad39a-dab7-45a3-9b5a-2836b3cf93f9"
}
}
Example Responses
Status code: 201
Normal response to the POST operation. For more status codes, see Status Codes.
{
"firewall" : {
"id" : "e9a7731d-5bd9-4250-a524-b9a076fd5629",
"name" : "network_acl_test1",
"description" : "network_acl_test1",
"project_id" : "9476ea5a8a9849c38358e43c0c3a9e12",
"created_at" : "2022-04-07T07:30:46.000+00:00",
"updated_at" : "2022-04-07T07:30:46.000+00:00",
"admin_state_up" : true,
"enterprise_project_id" : "158ad39a-dab7-45a3-9b5a-2836b3cf93f9",
"status" : "ACTIVE",
"tags" : [ ],
"ingress_rules" : [ ],
"egress_rules" : [ ],
"associations" : [ ]
}
}
Status Codes
|
Status Code |
Description |
|---|---|
|
201 |
Normal response to the POST operation. For more status codes, see Status Codes. |
Error Codes
See Error Codes.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.