: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 or DHCP lease time 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 or DHCP lease expiration time 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. | | | | | | | | | | The option **addresstime** for **opt_name** indicates the DHCP lease expiration time. The value can be **-1**, which indicates unlimited lease time, or *Number*\ **+h**. The number ranges from 1 to 30,000. For example, the value can be **5h**. The default value is **24h**. | +-----------------+-----------------+-----------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | opt_name | Yes | String | - Specifies the NTP server address name or DHCP lease expiration time name configured for the subnet. | | | | | - Currently, the value can only be set to **ntp** or **addresstime**. | +-----------------+-----------------+-----------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - 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 `.