- original_name
vpc_api01_0001.html
Creating a VPC
Function
This API is used to create a VPC.
URI
POST /v1/{project_id}/vpcs
Table 1 <vpc_api01_0001__table3672032>
describes the parameters.
Table 1 Parameter description
Name |
Mandatory |
Description |
project_id |
Yes |
Specifies the project ID. |
Request Parameters
Table 2 Request parameter
Name |
Mandatory |
Type |
Description |
vpc |
Yes |
vpc <vpc_api01_0001__table33750194> object |
Specifies the VPC objects. <vpc_api01_0001__table33750194> |
Table 3 VPC objects
Name |
Mandatory |
Type |
Description |
name |
No |
String |
- Specifies the VPC name.
- The value can contain no more than 64 characters, including letters, digits, underscores (_), hyphens (-), and periods (.).
- Each VPC name of a tenant must be unique if the VPC name is not left blank.
|
description |
No |
String |
- Provides supplementary information about the VPC.
- The value can contain no more than 255 characters and cannot contain angle brackets (< or >).
|
cidr |
No |
String |
- Specifies the available IP address ranges for subnets in the VPC.
- Possible values are as follows:
- 10.0.0.0/8-24
- 172.16.0.0/12-24
- 192.168.0.0/16-24
- If cidr is not specified, the default value is left blank.
- The value must be in CIDR format, for example, 192.168.0.0/16.
|
enterprise_project_id |
No |
String |
- Specifies the enterprise project ID. When creating a VPC, you can associate an enterprise project ID with the VPC.
- The value is 0 or a string that contains a maximum of 36 characters in UUID format with hyphens (-). Value 0 indicates the default enterprise project.
|
Example Request
Create a VPC named vpc and set its CIDR block to 192.168.0.0/16.
POST https://{Endpoint}/v1/{project_id}/vpcs
{
"vpc": {
"name": "vpc",
"description": "test",
"cidr": "192.168.0.0/16",
"enterprise_project_id": "0aad99bc-f5f6-4f78-8404-c598d76b0ed2"
}
}
Response Parameters
Table 4 Response parameter
Name |
Type |
Description |
vpc |
vpc <vpc_api01_0001__table39714111> object |
Specifies the VPC objects. <vpc_api01_0001__table39714111> |
Table 5 VPC objects
Name |
Type |
Description |
id |
String |
Specifies a resource ID in UUID format. |
name |
String |
- Specifies the VPC name.
- The value can contain no more than 64 characters, including letters, digits, underscores (_), hyphens (-), and periods (.).
- Each VPC name of a tenant must be unique if the VPC name is not left blank.
|
description |
String |
- Provides supplementary information about the VPC.
- The value can contain no more than 255 characters and cannot contain angle brackets (< or >).
|
cidr |
String |
- Specifies the available IP address ranges for subnets in the VPC.
- Possible values are as follows:
- 10.0.0.0/8-24
- 172.16.0.0/12-24
- 192.168.0.0/16-24
- If cidr is not specified, the default value is left blank.
- The value must be in CIDR format, for example, 192.168.0.0/16.
|
status |
String |
- Specifies the VPC status.
- Possible values are as follows:
- CREATING: The VPC is being created.
- OK: The VPC is created successfully.
|
routes |
Array of route <vpc_api01_0001__table3576833291556> objects |
- Specifies the route information.
- For details, see the description of the
route objects <vpc_api01_0001__table3576833291556> .
|
enable_shared_snat |
Boolean |
Specifies whether the shared SNAT function is enabled. The value true indicates that the function is enabled, and the value false indicates that the function is not enabled. |
enterprise_project_id |
String |
- Specifies the enterprise project ID.
- The value is 0 or a string that contains a maximum of 36 characters in UUID format with hyphens (-). Value 0 indicates the default enterprise project.
|
Table 6 route objects
Name |
Type |
Description |
destination |
String |
- Specifies the destination network segment of a route.
- The value must be in the CIDR format. Currently, only the value 0.0.0.0/0 is supported.
|
nexthop |
String |
- Specifies the next hop of a route.
- The value must be an IP address and must belong to the subnet in the VPC. Otherwise, this value does not take effect.
|
Example Response
{
"vpc":
{
"id": "99d9d709-8478-4b46-9f3f-2206b1023fd3",
"name": "vpc",
"description": "test",
"cidr": "192.168.0.0/16",
"status": "CREATING",
"enterprise_project_id": "0aad99bc-f5f6-4f78-8404-c598d76b0ed2",
"routes": []
}
}
Status Code
See Status Codes <vpc_api_0002>
.
Error Code
See Error Codes <vpc_api_0003>
.