Function
This API is used to update information about a VPC.
URI
PUT /v1/{project_id}/vpcs/{vpc_id}
Table 1 describes the parameters.
Table 1 Parameter descriptionName
|
Mandatory
|
Description
|
project_id
|
Yes
|
Specifies the project ID.
|
vpc_id
|
Yes
|
Specifies the VPC ID, which uniquely identifies the VPC.
|
Request Parameters
Table 3 VPC objectsName
|
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.
- Constraints:
The value must be in CIDR format, for example, 192.168.0.0/16.
If you want to update the CIDR block of the VPC, the new CIDR block must contain all subnets in the VPC.
|
routes
|
No
|
Array of route objects
|
- Specifies the route list. For details, see Table 4.
|
enable_shared_snat
|
No
|
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.
|
Table 4 route objectsName
|
Mandatory
|
Type
|
Description
|
destination
|
No
|
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
|
No
|
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 Request
- Change the name, description, and CIDR block of the VPC whose ID is 99d9d709-8478-4b46-9f3f-2206b1023fd3 to vpc1, test1, and 192.168.0.0/16, respectively.
PUT https://{Endpoint}/v1/{project_id}/vpcs/99d9d709-8478-4b46-9f3f-2206b1023fd3
{
"vpc": {
"name": "vpc1",
"description": "test1",
"cidr": "192.168.0.0/16",
"enable_shared_snat": true
}
}
Response Parameters
Table 6 VPC objectsName
|
Type
|
Description
|
id
|
String
|
Specifies a resource ID in UUID format.
|
name
|
String
|
Specifies the VPC name.
|
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.
|
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.
|
routes
|
Array of route objects
|
- Specifies the route information.
- For details, see the description of the route objects.
|
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.
|
Table 7 route objectsName
|
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": "vpc1",
"description": "test1",
"cidr": "192.168.0.0/16",
"status": "OK",
"enterprise_project_id": "0",
"routes": [],
"enable_shared_snat": true
}
}