修改弹性公网IP的反向解析记录 - UpdatePtrRecord
功能介绍
修改弹性公网IP的反向解析记录。
调用方法
请参见如何调用API。
授权信息
账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权,具体权限要求请参见权限和授权项。
- 如果使用身份策略授权,需具备如下身份策略权限。
URI
PATCH /v2/reverse/floatingips/{region}:{floatingip_id}
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| region | 是 | String | 参数解释: 域名所属的区域。 获取方式:通过查询区域列表接口或参见地区和终端节点获取。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| floatingip_id | 是 | String | 参数解释: 弹性公网IP(EIP)的ID。 获取方式:通过查询弹性公网IP列表接口获取。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
请求参数
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| X-Auth-Token | 是 | String | 参数解释: 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 获取用户Token请参见获取用户Token。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| ptrdname | 是 | String | 参数解释: 反向解析记录对应的域名。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| description | 否 | String | 参数解释: 对反向解析记录的描述。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| ttl | 否 | Integer | 参数解释: 反向解析记录在本地DNS服务器的缓存时间,缓存时间越长更新生效越慢,以秒为单位。 约束限制: 不涉及。 取值范围: 1~2147483647。 默认取值: 不涉及。 |
| tags | 否 | Array of tagReq objects | 参数解释: 资源标签。 该字段为数组,每个元素包含标签键和标签值,用于资源标签的分类管理与筛选。 约束限制: 不涉及。 |
响应参数
状态码:202
| 参数 | 参数类型 | 描述 |
|---|---|---|
| id | String | 参数解释: 反向解析记录的ID。 取值范围: 格式形如{region}:{floatingip_id}。 |
| ptrdname | String | 参数解释: 反向解析记录对应的域名。 取值范围: 不涉及。 |
| description | String | 参数解释: 对反向解析记录的描述。 取值范围: 不涉及。 |
| ttl | Integer | 参数解释: 反向解析记录在本地DNS服务器的缓存时间,缓存时间越长更新生效越慢,以秒为单位。 取值范围: 1~2147483647。 |
| address | String | 参数解释: 弹性公网IP的IP地址。 取值范围: 不涉及。 |
| status | String | 参数解释: 资源状态。 取值范围: |
| action | String | 参数解释: 对该资源的当前操作。 取值范围: |
| links | pageLink object | 参数解释: 指向当前页和下一页的链接。分页查询需要分页时,需要使用一个next字段指向下一页。 |
请求示例
修改弹性公网IP的反向解析记录对应的域名和描述信息,设置TTL为300秒。
PATCH https://{Endpoint}/v2/reverse/floatingips/{region}:{floatingip_id}
{
"ptrdname" : "www.example.com",
"description" : "Description for this PTR record",
"ttl" : 300
} 响应示例
状态码:202
修改弹性公网IP的反向解析记录响应。
{
"id" : "{region_id}:c5504932-bf23-4171-b655-b87a6bc59334",
"ptrdname" : "www.example.com.",
"description" : "Description for this PTR record",
"address" : "10.154.52.138",
"action" : "UPDATE",
"ttl" : 300,
"status" : "PENDING_UPDATE",
"links" : {
"self" : "https://{Endpoint}/v2/reverse/floatingips/{region_id}:c5504932-bf23-4171-b655-b87a6bc59334"
}
} SDK代码示例
SDK代码示例如下。
修改弹性公网IP的反向解析记录对应的域名和描述信息,设置TTL为300秒。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | 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.*; public class UpdatePtrRecordSolution { 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(); UpdatePtrRecordRequest request = new UpdatePtrRecordRequest(); request.withRegion("{region}"); request.withFloatingipId("{floatingip_id}"); UpdatePtrReq body = new UpdatePtrReq(); body.withTtl(300); body.withDescription("Description for this PTR record"); body.withPtrdname("www.example.com"); request.withBody(body); try { UpdatePtrRecordResponse response = client.updatePtrRecord(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()); } } } |
修改弹性公网IP的反向解析记录对应的域名和描述信息,设置TTL为300秒。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | # 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 = UpdatePtrRecordRequest() request.region = "{region}" request.floatingip_id = "{floatingip_id}" request.body = UpdatePtrReq( ttl=300, description="Description for this PTR record", ptrdname="www.example.com" ) response = client.update_ptr_record(request) print(response) except exceptions.ClientRequestException as e: print(e.status_code) print(e.request_id) print(e.error_code) print(e.error_msg) |
修改弹性公网IP的反向解析记录对应的域名和描述信息,设置TTL为300秒。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | 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.UpdatePtrRecordRequest{} request.Region = "{region}" request.FloatingipId = "{floatingip_id}" ttlUpdatePtrReq:= int32(300) descriptionUpdatePtrReq:= "Description for this PTR record" request.Body = &model.UpdatePtrReq{ Ttl: &ttlUpdatePtrReq, Description: &descriptionUpdatePtrReq, Ptrdname: "www.example.com", } response, err := client.UpdatePtrRecord(request) if err == nil { fmt.Printf("%+v\n", response) } else { fmt.Println(err) } } |
更多编程语言的SDK代码示例,请参见API Explorer的代码示例页签,可生成自动对应的SDK代码示例。
状态码
| 状态码 | 描述 |
|---|---|
| 202 | 修改弹性公网IP的反向解析记录响应。 |
错误码
请参见错误码。