Function
This API is used to update information about a subnet.
URI
PUT /v1/{project_id}/vpcs/{vpc_id}/subnets/{subnet_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 of the subnet.
|
subnet_id
|
Yes
|
Specifies the subnet ID, which uniquely identifies the subnet.
If you use the management console, the value of this parameter is the Network ID value.
|
Request Parameters
Table 2 Request parameterName
|
Mandatory
|
Type
|
Description
|
subnet
|
Yes
|
subnet object
|
Specifies the subnet objects.
|
Table 3 subnet objectsName
|
Mandatory
|
Type
|
Description
|
name
|
Yes
|
String
|
- Specifies the subnet name.
- The value can contain 1 to 64 characters, including letters, digits, underscores (_), hyphens (-), and periods (.).
|
description
|
No
|
String
|
- Provides supplementary information about the subnet.
- The value can contain no more than 255 characters and cannot contain angle brackets (< or >).
|
ipv6_enable
|
No
|
Boolean
|
- Specifies whether an IPv6 subnet can be created.
- The value can be true (enabled) or false (disabled).
|
dhcp_enable
|
No
|
Boolean
|
- Specifies whether DHCP is enabled for the subnet.
- The value can be true (enabled) or false (disabled).
- If this parameter is left blank, the system automatically sets it to true by default. If this parameter is set to false, newly created ECSs cannot obtain IP addresses, and usernames and passwords cannot be injected using Cloud-init. Exercise caution when performing this operation.
|
primary_dns
|
No
|
String
|
- Specifies the IP address of DNS server 1 on the subnet.
- The value must be a valid IP address. IPv6 addresses are not supported.
|
secondary_dns
|
No
|
String
|
- Specifies the IP address of DNS server 2 on the subnet.
- The value must be a valid IP address. IPv6 addresses are not supported.
The value of secondary_dns must be different from that of primary_dns.
If there is only one DNS server address, only primary_dns is displayed.
|
dnsList
|
No
|
Array of strings
|
- Specifies the DNS server address list of a subnet. This field is required if you need to use more than two DNS servers.
- This parameter value is the superset of both DNS server address 1 and DNS server address 2. IPv6 addresses are not supported.
|
extra_dhcp_opts
|
No
|
Array of extra_dhcp_opt objects
|
Specifies the NTP server address configured for the subnet. For details, see Table 4.
|
Table 4 extra_dhcp_opt objectName
|
Mandatory
|
Type
|
Description
|
opt_value
|
No
|
String
|
- Specifies the NTP server address configured for the subnet.
- Constraints:
The option ntp for opt_name indicates the NTP server configured for the subnet. Currently, only IPv4 addresses are supported. A maximum of four IP addresses can be configured, and each address must be unique. Multiple IP addresses must be separated using commas (,). The option null for opt_name indicates that no NTP server is configured for the subnet. The parameter value cannot be an empty string.
|
opt_name
|
Yes
|
String
|
- Specifies the NTP server address name configured for the subnet.
- Currently, the value can only be set to ntp.
|
Example Request
- Change the name of the subnet whose ID is 4779ab1c-7c1a-44b1-a02e-93dfc361b32d to subnet02, and also change its DNS and DHCP configurations.
PUT https://{Endpoint}/v1/{project_id}/vpcs/{vpc_id}/subnets/4779ab1c-7c1a-44b1-a02e-93dfc361b32d
{
"subnet": {
"name": "subnet02",
"ipv6_enable": true,
"dhcp_enable": false,
"primary_dns": "114.xx.xx.115",
"secondary_dns": "114.xx.xx.116",
"extra_dhcp_opts": [
{
"opt_value": "10.100.0.33,10.100.0.34",
"opt_name": "ntp"
}
]
}
}
Response Parameters
Table 5 Response parameterName
|
Type
|
Description
|
subnet
|
subnet object
|
Specifies the subnet objects.
|
Table 6 subnet objectsName
|
Type
|
Description
|
id
|
String
|
Specifies a resource ID in UUID format.
|
status
|
String
|
- Specifies the status of the subnet.
- The value can be ACTIVE, UNKNOWN, or ERROR.
- ACTIVE: indicates that the subnet has been associated with a VPC.
- UNKNOWN: indicates that the subnet has not been associated with a VPC.
- ERROR: indicates that the subnet is abnormal.
|
Example Response
{
"subnet": {
"id": "4779ab1c-7c1a-44b1-a02e-93dfc361b32d",
"status": "ACTIVE"
}
}