:original_name: vpc_subnet01_0004.html
.. _vpc_subnet01_0004:
Updating Subnet Information
===========================
Function
--------
This API is used to update information about a subnet.
URI
---
PUT /v1/{project_id}/vpcs/{vpc_id}/subnets/{subnet_id}
:ref:`Table 1 ` describes the parameters.
.. _vpc_subnet01_0004__table27806533:
.. table:: **Table 1** Parameter description
+-----------------------+-----------------------+---------------------------------------------------------------------------------------------+
| Name | 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 Message
---------------
- Request parameter
.. table:: **Table 2** Request parameter
+--------+-----------+---------------------------------------------------------+-------------------------------------------------------------------------+
| Name | Mandatory | Type | Description |
+========+===========+=========================================================+=========================================================================+
| subnet | Yes | :ref:`subnet ` object | Specifies the :ref:`subnet objects `. |
+--------+-----------+---------------------------------------------------------+-------------------------------------------------------------------------+
.. _vpc_subnet01_0004__table45027976:
.. table:: **Table 3** **subnet** objects
+-----------------+-----------------+-------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Name | 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 >). |
+-----------------+-----------------+-------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| 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. |
+-----------------+-----------------+-------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| secondary_dns | No | String | - Specifies the IP address of DNS server 2 on the subnet. |
| | | | - The value must be a valid IP address. |
+-----------------+-----------------+-------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| 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. |
+-----------------+-----------------+-------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| extra_dhcp_opts | No | Array of :ref:`extra_dhcp_opt ` objects | Specifies the NTP server address configured for the subnet. For details, see :ref:`Table 4 `. |
+-----------------+-----------------+-------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
.. _vpc_subnet01_0004__table019517383270:
.. table:: **Table 4** **extra_dhcp_opt** object
+-----------------+-----------------+-----------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Name | 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
.. code-block:: text
PUT https://{Endpoint}/v1/{project_id}/vpcs/{vpc_id}/subnets/4779ab1c-7c1a-44b1-a02e-93dfc361b32d
{
"subnet": {
"name": "subnetqq",
"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 Message
----------------
- Response parameter
.. table:: **Table 5** Response parameter
+--------+--------------------------------------------------------+-----------------------------------+
| Name | Type | Description |
+========+========================================================+===================================+
| subnet | :ref:`subnet ` object | Specifies the **subnet** objects. |
+--------+--------------------------------------------------------+-----------------------------------+
.. _vpc_subnet01_0004__table1210700:
.. table:: **Table 6** **subnet** objects
+-----------------------+-----------------------+----------------------------------------------------------------------------------+
| Name | 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
.. code-block::
{
"subnet": {
"id": "4779ab1c-7c1a-44b1-a02e-93dfc361b32d",
"status": "ACTIVE"
}
}
Status Code
-----------
See :ref:`Status Codes `.
Error Code
----------
See :ref:`Error Codes `.