# 修改记录集 - UpdateRecordSet
#### 功能介绍
当您的记录集创建成功后，您可以通过调用此接口修改记录集的信息，包括域名、类型、记录值、TTL、描述等。
#### 调用方法
请参见[如何调用API](https://support.huaweicloud.com/api-dns/zh-cn_topic_0037134405.html)。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-dns/dns_api_70000.html)。
- 如果使用身份策略授权，需具备如下身份策略权限。
  
  | 授权项                  | 访问级别  | 资源类型（\*为必须） | 条件键                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | 别名 | 依赖的授权项 |
  |:---|:---|:---|:---|:---|:---|
  | dns:recordset:update | Write | zone \*     | - g:ResourceTag/\<tag-key\>   - g:EnterpriseProjectId    | -  | -      |
  | dns:recordset:update | Write | -           | - dns:RecordSetNames   - dns:RecordSetTypes              | -  | -      |
     
  
 
#### URI
PUT /v2/zones/{zone_id}/recordsets/{recordset_id}
表1路径参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
|:---|:---|:---|:---|
| zone_id      | 是    | String | **参数解释：** 域名ID。 获取方式：通过查询公网域名列表（ListPublicZones）或内网域名列表（ListPrivateZones）接口获取。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。 |
| recordset_id | 是    | String | **参数解释：** 记录集ID。 获取方式：通过查询域名下的记录集列表（ListRecordSetsByZone）接口获取。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                 |
   
#### 请求参数
表2请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | **参数解释：** 用户Token，用于用户身份认证，调用接口时需在请求头中携带该Token以验证用户身份。 通过调用IAM服务获取用户Token接口获取（响应消息头中X-Subject-Token的值）。 获取用户Token请参见[获取用户Token](https://support.huaweicloud.com/api-dns/dns_api_30003.html)。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。 |
   
表3请求Body参数 
| 参数          | 是否必选 | 参数类型             | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
|:---|:---|:---|:---|
| name        | 否    | String           | **参数解释：** 域名，后缀需以zone name结束且为FQDN（Fully Qualified Domain Name，全称域名），即以"."结束的完整主机名。 如"www.example.com."。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。  |
| description | 否    | String           | **参数解释：** 记录集的描述信息。 **约束限制：** 不涉及。 **取值范围：** 长度不超过255个字符。 **默认取值：** 默认为空，表示维持原值。                                                                                                                                       |
| type        | 否    | String           | **参数解释：** 记录集的类型。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                                                                         |
| ttl         | 否    | Integer          | **参数解释：** 解析记录在本地DNS服务器的缓存时间，缓存时间越长更新生效越慢，以秒为单位。 如果您的服务地址经常更换，建议TTL值设置相对小些，反之，建议设置相对大些。 **约束限制：** 不涉及。 **取值范围：** 1\~2147483647。 **默认取值：** 默认为空，表示维持原值。 |
| records     | 否    | Array of strings | **参数解释：** 解析记录的值。不同类型解析记录对应的值的规则不同。 该字段为字符串数组，每个元素为一条解析记录值。默认为空，表示维持原值。 **约束限制：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                 |
   
#### 响应参数
**状态码：202**
表4响应Body参数 
| 参数          | 参数类型                                                                                | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
|:---|:---|:---|
| id          | String                                                                              | **参数解释：** 记录集的ID。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| name        | String                                                                              | **参数解释：** 记录集的名称。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| description | String                                                                              | **参数解释：** 记录集的描述信息。 **取值范围：** 长度不超过255个字符。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| zone_id     | String                                                                              | **参数解释：** 托管该记录的域名ID。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| zone_name   | String                                                                              | **参数解释：** 托管该记录的域名。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| type        | String                                                                              | **参数解释：** 记录类型。 **取值范围：** - A：将域名解析到指定的IPv4地址。   - AAAA：将域名解析到指定的IPv6地址。   - MX：指定域名对应的邮件服务器。   - CNAME：将域名解析到另一域名，或者多个域名映射到同一域名上。   - TXT：用于对域名进行标识和说明。   - SRV：用于记录某台服务器对外提供了哪些服务。   - NS：指定域名的权威DNS服务器。   - SOA：提供域名的基本信息和权威服务器的详细信息。   - CAA：指定为域名颁发HTTPS证书的授权CA机构，仅支持公网域名解析。   - PTR：指定IP地址反向解析记录，仅支持内网域名解析。                                                                                                                                                                                                                                       |
| ttl         | Integer                                                                             | **参数解释：** 解析记录在本地DNS服务器的缓存时间，缓存时间越长更新生效越慢，以秒为单位。 **取值范围：** 1\~2147483647。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| records     | Array of strings                                                                    | **参数解释：** 域名解析后的值。 该字段为字符串数组，每个元素为一条解析记录值。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| create_at   | String                                                                              | **参数解释：** 记录集的创建时间。 使用UTC+0时间格式，格式为yyyy-MM-dd'T'HH:mm:ss.SSS，例如：2023-01-01T12:00:00.000。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| update_at   | String                                                                              | **参数解释：** 记录集的最近一次修改时间。 使用UTC+0时间格式，格式为yyyy-MM-dd'T'HH:mm:ss.SSS，例如：2023-01-01T12:00:00.000。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| status      | String                                                                              | **参数解释：** 记录集状态。 **取值范围：** - ACTIVE：正常   - PENDING_CREATE：创建中   - PENDING_UPDATE：更新中   - PENDING_DELETE：删除中   - PENDING_FREEZE：冻结中   - FREEZE：冻结   - ILLEGAL：违规冻结   - POLICE：公安冻结   - PENDING_DISABLE：暂停中   - DISABLE：暂停   - ERROR：失败    |
| default     | Boolean                                                                             | **参数解释：** 标识是否由系统默认生成，系统默认生成的记录集不能删除。 **取值范围：** - true：由系统默认生成，不能删除。   - false：非系统默认生成，可以删除。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| project_id  | String                                                                              | **参数解释：** 该记录集所属的项目ID。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| links       | [pageLink] object | **参数解释：** 指向当前页或者其他页的链接。当查询需要分页时，需要包含一个next链接指向下一页。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
   
 表5pageLink 
| 参数   | 参数类型   | 描述                                                                                                                                                                                                                                |
|:---|:---|:---|
| self | String | **参数解释：** 当前页面的链接。 **取值范围：** 不涉及。 |
| next | String | **参数解释：** 下一页的链接。 **取值范围：** 不涉及。  |
   
#### 请求示例
修改解析记录，设置类型为A，TTL为3600秒，解析记录值为 "192.168.10.1"、"192.168.10.2"。
```
PUT https://{Endpoint}/v2/zones/{zone_id}/recordsets/{recordset_id}
{
  "name" : "www.example.com.",
  "description" : "This is an example record set.",
  "type" : "A",
  "ttl" : 3600,
  "records" : [ "192.168.10.1", "192.168.10.2" ]
}
```
#### 响应示例
**状态码：202**
```
{
  "id" : "2c9eb155587228570158722b6ac30007",
  "name" : "www.example.com.",
  "description" : "This is an example record set.",
  "type" : "A",
  "ttl" : 3600,
  "records" : [ "192.168.10.1", "192.168.10.2" ],
  "status" : "PENDING_UPDATE",
  "links" : {
    "self" : "https://{Endpoint}/v2/zones/2c9eb155587194ec01587224c9f90149/recordsets/2c9eb155587228570158722b6ac30007"
  },
  "zone_id" : "2c9eb155587194ec01587224c9f90149",
  "zone_name" : "example.com.",
  "create_at" : "2016-11-17T12:03:17.827",
  "update_at" : "2016-11-17T12:56:03.827",
  "default" : false,
  "project_id" : "e55c6f3dc4e34c9f86353b664ae0e70c"
}
```
#### SDK代码示例
SDK代码示例如下。
- [Java]
  修改解析记录，设置类型为A，TTL为3600秒，解析记录值为 "192.168.10.1"、"192.168.10.2"。
  ```
  package com.huaweicloud.sdk.test;
  import com.huaweicloud.sdk.core.auth.ICredential;
  import com.huaweicloud.sdk.core.auth.BasicCredentials;
  import com.huaweicloud.sdk.core.exception.ConnectionException;
  import com.huaweicloud.sdk.core.exception.RequestTimeoutException;
  import com.huaweicloud.sdk.core.exception.ServiceResponseException;
  import com.huaweicloud.sdk.dns.v2.region.DnsRegion;
  import com.huaweicloud.sdk.dns.v2.*;
  import com.huaweicloud.sdk.dns.v2.model.*;
  import java.util.List;
  import java.util.ArrayList;
  public class UpdateRecordSetSolution {
      public static void main(String[] args) {
          // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
          // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
          String ak = System.getenv("CLOUD_SDK_AK");
          String sk = System.getenv("CLOUD_SDK_SK");
          ICredential auth = new BasicCredentials()
                  .withAk(ak)
                  .withSk(sk);
          DnsClient client = DnsClient.newBuilder()
                  .withCredential(auth)
                  .withRegion(DnsRegion.valueOf("<YOUR REGION>"))
                  .build();
          UpdateRecordSetRequest request = new UpdateRecordSetRequest();
          request.withZoneId("{zone_id}");
          request.withRecordsetId("{recordset_id}");
          UpdateRecordSetReq body = new UpdateRecordSetReq();
          List<String> listbodyRecords = new ArrayList<>();
          listbodyRecords.add("192.168.10.1");
          listbodyRecords.add("192.168.10.2");
          body.withRecords(listbodyRecords);
          body.withTtl(3600);
          body.withType("A");
          body.withDescription("This is an example record set.");
          body.withName("www.example.com.");
          request.withBody(body);
          try {
              UpdateRecordSetResponse response = client.updateRecordSet(request);
              System.out.println(response.toString());
          } catch (ConnectionException e) {
              e.printStackTrace();
          } catch (RequestTimeoutException e) {
              e.printStackTrace();
          } catch (ServiceResponseException e) {
              e.printStackTrace();
              System.out.println(e.getHttpStatusCode());
              System.out.println(e.getRequestId());
              System.out.println(e.getErrorCode());
              System.out.println(e.getErrorMsg());
          }
      }
  }
  ```
- [Python]
  修改解析记录，设置类型为A，TTL为3600秒，解析记录值为 "192.168.10.1"、"192.168.10.2"。
  ```
  # coding: utf-8
  import os
  from huaweicloudsdkcore.auth.credentials import BasicCredentials
  from huaweicloudsdkdns.v2.region.dns_region import DnsRegion
  from huaweicloudsdkcore.exceptions import exceptions
  from huaweicloudsdkdns.v2 import *
  if __name__ == "__main__":
      # The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
      # In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
      ak = os.environ["CLOUD_SDK_AK"]
      sk = os.environ["CLOUD_SDK_SK"]
      credentials = BasicCredentials(ak, sk)
      client = DnsClient.new_builder() \
          .with_credentials(credentials) \
          .with_region(DnsRegion.value_of("<YOUR REGION>")) \
          .build()
      try:
          request = UpdateRecordSetRequest()
          request.zone_id = "{zone_id}"
          request.recordset_id = "{recordset_id}"
          listRecordsbody = [
              "192.168.10.1",
              "192.168.10.2"
          ]
          request.body = UpdateRecordSetReq(
              records=listRecordsbody,
              ttl=3600,
              type="A",
              description="This is an example record set.",
              name="www.example.com."
          )
          response = client.update_record_set(request)
          print(response)
      except exceptions.ClientRequestException as e:
          print(e.status_code)
          print(e.request_id)
          print(e.error_code)
          print(e.error_msg)
  ```
- [Go]
  修改解析记录，设置类型为A，TTL为3600秒，解析记录值为 "192.168.10.1"、"192.168.10.2"。
  ```
  package main
  import (
  "fmt"
  "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic"
      dns "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/dns/v2"
  "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/dns/v2/model"
      region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/dns/v2/region"
  )
  func main() {
      // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
      // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
      ak := os.Getenv("CLOUD_SDK_AK")
      sk := os.Getenv("CLOUD_SDK_SK")
      auth, err := basic.NewCredentialsBuilder().
          WithAk(ak).
          WithSk(sk).
          SafeBuild()
      if err != nil {
          fmt.Println(err)
          return
      }
      hcClient, err := dns.DnsClientBuilder().
           WithRegion(region.ValueOf("<YOUR REGION>")).
           WithCredential(auth).
           SafeBuild()
      if err != nil {
          fmt.Println(err)
          return
      }
      client := dns.NewDnsClient(hcClient)
      request := &model.UpdateRecordSetRequest{}
  request.ZoneId = "{zone_id}"
  request.RecordsetId = "{recordset_id}"
  var listRecordsbody = []string{
          "192.168.10.1",
      "192.168.10.2",
      }
  ttlUpdateRecordSetReq:= int32(3600)
  typeUpdateRecordSetReq:= "A"
  descriptionUpdateRecordSetReq:= "This is an example record set."
  nameUpdateRecordSetReq:= "www.example.com."
  request.Body = &model.UpdateRecordSetReq{
  Records: &listRecordsbody,
  Ttl: &ttlUpdateRecordSetReq,
  Type: &typeUpdateRecordSetReq,
  Description: &descriptionUpdateRecordSetReq,
  Name: &nameUpdateRecordSetReq,
  }
  response, err := client.UpdateRecordSet(request)
  if err == nil {
          fmt.Printf("%+v\n", response)
      } else {
          fmt.Println(err)
      }
  }
  ```
- [更多]
  更多编程语言的SDK代码示例，请参见[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/DNS/sdk?api=UpdateRecordSet)的代码示例页签，可生成自动对应的SDK代码示例。
#### 状态码
| 状态码 | 描述       |
|:---|:---|
| 202 | 修改记录集响应。 |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-dns/ErrorCode.html)。
