Переглянути джерело

Supported API UpdateDomainRemark for Update Domain Remark.

sdk-team 6 роки тому
батько
коміт
b8e978be1f
99 змінених файлів з 1799 додано та 828 видалено
  1. 5 0
      ChangeLog.txt
  2. 2 2
      services/alidns/add_domain.go
  3. 2 2
      services/alidns/add_domain_group.go
  4. 5 5
      services/alidns/add_domain_record.go
  5. 3 3
      services/alidns/add_gtm_access_strategy.go
  6. 24 10
      services/alidns/add_gtm_address_pool.go
  7. 2 3
      services/alidns/add_gtm_monitor.go
  8. 108 0
      services/alidns/add_gtm_recovery_plan.go
  9. 2 2
      services/alidns/change_domain_group.go
  10. 1 1
      services/alidns/change_domain_of_dns_product.go
  11. 0 109
      services/alidns/check_domain_record.go
  12. 25 0
      services/alidns/client.go
  13. 0 111
      services/alidns/create_instance.go
  14. 2 2
      services/alidns/delete_domain.go
  15. 1 1
      services/alidns/delete_domain_group.go
  16. 1 1
      services/alidns/delete_domain_record.go
  17. 1 1
      services/alidns/delete_gtm_access_strategy.go
  18. 1 1
      services/alidns/delete_gtm_address_pool.go
  19. 105 0
      services/alidns/delete_gtm_recovery_plan.go
  20. 3 3
      services/alidns/delete_sub_domain_records.go
  21. 1 1
      services/alidns/describe_batch_result_count.go
  22. 2 2
      services/alidns/describe_batch_result_detail.go
  23. 1 1
      services/alidns/describe_dns_product_instance.go
  24. 2 2
      services/alidns/describe_dns_product_instances.go
  25. 3 3
      services/alidns/describe_dnsslb_sub_domains.go
  26. 0 108
      services/alidns/describe_domain_dns_statistics.go
  27. 2 2
      services/alidns/describe_domain_groups.go
  28. 2 2
      services/alidns/describe_domain_info.go
  29. 5 5
      services/alidns/describe_domain_logs.go
  30. 2 2
      services/alidns/describe_domain_ns.go
  31. 1 1
      services/alidns/describe_domain_record_info.go
  32. 7 7
      services/alidns/describe_domain_records.go
  33. 3 3
      services/alidns/describe_domain_statistics.go
  34. 8 8
      services/alidns/describe_domain_statistics_summary.go
  35. 8 5
      services/alidns/describe_domains.go
  36. 2 2
      services/alidns/describe_gtm_access_strategies.go
  37. 17 13
      services/alidns/describe_gtm_access_strategy.go
  38. 1 1
      services/alidns/describe_gtm_access_strategy_available_config.go
  39. 1 1
      services/alidns/describe_gtm_available_alert_group.go
  40. 21 18
      services/alidns/describe_gtm_instance.go
  41. 15 15
      services/alidns/describe_gtm_instance_address_pool.go
  42. 2 2
      services/alidns/describe_gtm_instance_address_pools.go
  43. 6 4
      services/alidns/describe_gtm_instance_status.go
  44. 1 1
      services/alidns/describe_gtm_instance_system_cname.go
  45. 8 7
      services/alidns/describe_gtm_instances.go
  46. 4 4
      services/alidns/describe_gtm_logs.go
  47. 1 1
      services/alidns/describe_gtm_monitor_available_config.go
  48. 2 3
      services/alidns/describe_gtm_monitor_config.go
  49. 119 0
      services/alidns/describe_gtm_recovery_plan.go
  50. 105 0
      services/alidns/describe_gtm_recovery_plan_available_config.go
  51. 112 0
      services/alidns/describe_gtm_recovery_plans.go
  52. 4 4
      services/alidns/describe_record_logs.go
  53. 3 3
      services/alidns/describe_record_statistics.go
  54. 0 109
      services/alidns/describe_record_statistics_history.go
  55. 9 9
      services/alidns/describe_record_statistics_summary.go
  56. 4 3
      services/alidns/describe_sub_domain_records.go
  57. 2 2
      services/alidns/describe_support_lines.go
  58. 74 0
      services/alidns/endpoint.go
  59. 105 0
      services/alidns/execute_gtm_recovery_plan.go
  60. 1 1
      services/alidns/get_main_domain_name.go
  61. 2 2
      services/alidns/modify_hichina_domain_dns.go
  62. 3 3
      services/alidns/operate_batch_domain.go
  63. 112 0
      services/alidns/preview_gtm_recovery_plan.go
  64. 0 112
      services/alidns/query_create_instance_price.go
  65. 105 0
      services/alidns/rollback_gtm_recovery_plan.go
  66. 3 1
      services/alidns/set_dnsslb_status.go
  67. 1 1
      services/alidns/set_domain_record_status.go
  68. 1 1
      services/alidns/set_gtm_access_mode.go
  69. 2 2
      services/alidns/set_gtm_monitor_status.go
  70. 6 5
      services/alidns/struct_addr.go
  71. 21 0
      services/alidns/struct_addr_pools_in_describe_gtm_recovery_plan_available_config.go
  72. 3 5
      services/alidns/struct_addrs_in_describe_gtm_instance_address_pool.go
  73. 2 2
      services/alidns/struct_addrs_in_describe_gtm_recovery_plan.go
  74. 1 0
      services/alidns/struct_domain.go
  75. 24 0
      services/alidns/struct_fault_addr_pool.go
  76. 3 3
      services/alidns/struct_fault_addr_pools.go
  77. 15 13
      services/alidns/struct_gtm_instance.go
  78. 23 0
      services/alidns/struct_instance.go
  79. 21 0
      services/alidns/struct_instances.go
  80. 2 0
      services/alidns/struct_isp_city_node.go
  81. 6 5
      services/alidns/struct_line.go
  82. 24 0
      services/alidns/struct_preview.go
  83. 3 3
      services/alidns/struct_previews.go
  84. 33 0
      services/alidns/struct_recovery_plan.go
  85. 21 0
      services/alidns/struct_recovery_plans.go
  86. 0 21
      services/alidns/struct_statistics_in_describe_record_statistics_history.go
  87. 17 13
      services/alidns/struct_strategy.go
  88. 22 0
      services/alidns/struct_switch_info.go
  89. 21 0
      services/alidns/struct_switch_infos.go
  90. 2 2
      services/alidns/update_dnsslb_weight.go
  91. 2 2
      services/alidns/update_domain_group.go
  92. 5 5
      services/alidns/update_domain_record.go
  93. 106 0
      services/alidns/update_domain_record_remark.go
  94. 106 0
      services/alidns/update_domain_remark.go
  95. 3 3
      services/alidns/update_gtm_access_strategy.go
  96. 3 3
      services/alidns/update_gtm_address_pool.go
  97. 5 5
      services/alidns/update_gtm_instance_global_config.go
  98. 3 4
      services/alidns/update_gtm_monitor.go
  99. 108 0
      services/alidns/update_gtm_recovery_plan.go

+ 5 - 0
ChangeLog.txt

@@ -1,3 +1,8 @@
+2019-11-13 Version: 1.60.233
+- Supported API UpdateDomainRemark for Update Domain Remark.
+- Supported API UpdateDomainRecordRemark for Update Record Remark.
+- Unsupported API CheckDomainRecord.
+
 2019-11-13 Version: 1.60.232
 - Support Go SDK.
 - Support C SDK.

+ 2 - 2
services/alidns/add_domain.go

@@ -76,9 +76,9 @@ func (client *Client) AddDomainWithCallback(request *AddDomainRequest, callback
 // AddDomainRequest is the request struct for api AddDomain
 type AddDomainRequest struct {
 	*requests.RpcRequest
-	ResourceGroupId string `position:"Query" name:"ResourceGroupId"`
 	GroupId         string `position:"Query" name:"GroupId"`
 	DomainName      string `position:"Query" name:"DomainName"`
+	ResourceGroupId string `position:"Query" name:"ResourceGroupId"`
 	UserClientIp    string `position:"Query" name:"UserClientIp"`
 	Lang            string `position:"Query" name:"Lang"`
 }
@@ -100,7 +100,7 @@ func CreateAddDomainRequest() (request *AddDomainRequest) {
 	request = &AddDomainRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "AddDomain", "Alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "AddDomain", "alidns", "openAPI")
 	return
 }
 

+ 2 - 2
services/alidns/add_domain_group.go

@@ -76,9 +76,9 @@ func (client *Client) AddDomainGroupWithCallback(request *AddDomainGroupRequest,
 // AddDomainGroupRequest is the request struct for api AddDomainGroup
 type AddDomainGroupRequest struct {
 	*requests.RpcRequest
+	GroupName    string `position:"Query" name:"GroupName"`
 	UserClientIp string `position:"Query" name:"UserClientIp"`
 	Lang         string `position:"Query" name:"Lang"`
-	GroupName    string `position:"Query" name:"GroupName"`
 }
 
 // AddDomainGroupResponse is the response struct for api AddDomainGroup
@@ -94,7 +94,7 @@ func CreateAddDomainGroupRequest() (request *AddDomainGroupRequest) {
 	request = &AddDomainGroupRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "AddDomainGroup", "Alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "AddDomainGroup", "alidns", "openAPI")
 	return
 }
 

+ 5 - 5
services/alidns/add_domain_record.go

@@ -78,13 +78,13 @@ type AddDomainRecordRequest struct {
 	*requests.RpcRequest
 	RR           string           `position:"Query" name:"RR"`
 	Line         string           `position:"Query" name:"Line"`
-	UserClientIp string           `position:"Query" name:"UserClientIp"`
-	DomainName   string           `position:"Query" name:"DomainName"`
-	Lang         string           `position:"Query" name:"Lang"`
 	Type         string           `position:"Query" name:"Type"`
-	Priority     requests.Integer `position:"Query" name:"Priority"`
+	Lang         string           `position:"Query" name:"Lang"`
 	Value        string           `position:"Query" name:"Value"`
+	DomainName   string           `position:"Query" name:"DomainName"`
+	Priority     requests.Integer `position:"Query" name:"Priority"`
 	TTL          requests.Integer `position:"Query" name:"TTL"`
+	UserClientIp string           `position:"Query" name:"UserClientIp"`
 }
 
 // AddDomainRecordResponse is the response struct for api AddDomainRecord
@@ -99,7 +99,7 @@ func CreateAddDomainRecordRequest() (request *AddDomainRecordRequest) {
 	request = &AddDomainRecordRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "AddDomainRecord", "Alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "AddDomainRecord", "alidns", "openAPI")
 	return
 }
 

+ 3 - 3
services/alidns/add_gtm_access_strategy.go

@@ -76,11 +76,11 @@ func (client *Client) AddGtmAccessStrategyWithCallback(request *AddGtmAccessStra
 // AddGtmAccessStrategyRequest is the request struct for api AddGtmAccessStrategy
 type AddGtmAccessStrategyRequest struct {
 	*requests.RpcRequest
-	StrategyName       string `position:"Query" name:"StrategyName"`
 	DefaultAddrPoolId  string `position:"Query" name:"DefaultAddrPoolId"`
+	FailoverAddrPoolId string `position:"Query" name:"FailoverAddrPoolId"`
+	StrategyName       string `position:"Query" name:"StrategyName"`
 	AccessLines        string `position:"Query" name:"AccessLines"`
 	InstanceId         string `position:"Query" name:"InstanceId"`
-	FailoverAddrPoolId string `position:"Query" name:"FailoverAddrPoolId"`
 	UserClientIp       string `position:"Query" name:"UserClientIp"`
 	Lang               string `position:"Query" name:"Lang"`
 }
@@ -97,7 +97,7 @@ func CreateAddGtmAccessStrategyRequest() (request *AddGtmAccessStrategyRequest)
 	request = &AddGtmAccessStrategyRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "AddGtmAccessStrategy", "Alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "AddGtmAccessStrategy", "alidns", "openAPI")
 	return
 }
 

+ 24 - 10
services/alidns/add_gtm_address_pool.go

@@ -76,13 +76,20 @@ func (client *Client) AddGtmAddressPoolWithCallback(request *AddGtmAddressPoolRe
 // AddGtmAddressPoolRequest is the request struct for api AddGtmAddressPool
 type AddGtmAddressPoolRequest struct {
 	*requests.RpcRequest
-	InstanceId          string                   `position:"Query" name:"InstanceId"`
-	UserClientIp        string                   `position:"Query" name:"UserClientIp"`
-	Name                string                   `position:"Query" name:"Name"`
-	Lang                string                   `position:"Query" name:"Lang"`
-	Type                string                   `position:"Query" name:"Type"`
-	Addr                *[]AddGtmAddressPoolAddr `position:"Query" name:"Addr"  type:"Repeated"`
-	MinAvailableAddrNum requests.Integer         `position:"Query" name:"MinAvailableAddrNum"`
+	MonitorExtendInfo   string                          `position:"Query" name:"MonitorExtendInfo"`
+	Type                string                          `position:"Query" name:"Type"`
+	Timeout             requests.Integer                `position:"Query" name:"Timeout"`
+	MinAvailableAddrNum requests.Integer                `position:"Query" name:"MinAvailableAddrNum"`
+	EvaluationCount     requests.Integer                `position:"Query" name:"EvaluationCount"`
+	Lang                string                          `position:"Query" name:"Lang"`
+	Addr                *[]AddGtmAddressPoolAddr        `position:"Query" name:"Addr"  type:"Repeated"`
+	MonitorStatus       string                          `position:"Query" name:"MonitorStatus"`
+	InstanceId          string                          `position:"Query" name:"InstanceId"`
+	UserClientIp        string                          `position:"Query" name:"UserClientIp"`
+	Name                string                          `position:"Query" name:"Name"`
+	ProtocolType        string                          `position:"Query" name:"ProtocolType"`
+	Interval            requests.Integer                `position:"Query" name:"Interval"`
+	IspCityNode         *[]AddGtmAddressPoolIspCityNode `position:"Query" name:"IspCityNode"  type:"Repeated"`
 }
 
 // AddGtmAddressPoolAddr is a repeated param struct in AddGtmAddressPoolRequest
@@ -92,11 +99,18 @@ type AddGtmAddressPoolAddr struct {
 	Value     string `name:"Value"`
 }
 
+// AddGtmAddressPoolIspCityNode is a repeated param struct in AddGtmAddressPoolRequest
+type AddGtmAddressPoolIspCityNode struct {
+	CityCode string `name:"CityCode"`
+	IspCode  string `name:"IspCode"`
+}
+
 // AddGtmAddressPoolResponse is the response struct for api AddGtmAddressPool
 type AddGtmAddressPoolResponse struct {
 	*responses.BaseResponse
-	RequestId  string `json:"RequestId" xml:"RequestId"`
-	AddrPoolId string `json:"AddrPoolId" xml:"AddrPoolId"`
+	RequestId       string `json:"RequestId" xml:"RequestId"`
+	AddrPoolId      string `json:"AddrPoolId" xml:"AddrPoolId"`
+	MonitorConfigId string `json:"MonitorConfigId" xml:"MonitorConfigId"`
 }
 
 // CreateAddGtmAddressPoolRequest creates a request to invoke AddGtmAddressPool API
@@ -104,7 +118,7 @@ func CreateAddGtmAddressPoolRequest() (request *AddGtmAddressPoolRequest) {
 	request = &AddGtmAddressPoolRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "AddGtmAddressPool", "Alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "AddGtmAddressPool", "alidns", "openAPI")
 	return
 }
 

+ 2 - 3
services/alidns/add_gtm_monitor.go

@@ -77,14 +77,13 @@ func (client *Client) AddGtmMonitorWithCallback(request *AddGtmMonitorRequest, c
 type AddGtmMonitorRequest struct {
 	*requests.RpcRequest
 	MonitorExtendInfo string                      `position:"Query" name:"MonitorExtendInfo"`
+	Timeout           requests.Integer            `position:"Query" name:"Timeout"`
 	AddrPoolId        string                      `position:"Query" name:"AddrPoolId"`
 	UserClientIp      string                      `position:"Query" name:"UserClientIp"`
-	Name              string                      `position:"Query" name:"Name"`
 	EvaluationCount   requests.Integer            `position:"Query" name:"EvaluationCount"`
 	ProtocolType      string                      `position:"Query" name:"ProtocolType"`
 	Interval          requests.Integer            `position:"Query" name:"Interval"`
 	Lang              string                      `position:"Query" name:"Lang"`
-	Timeout           requests.Integer            `position:"Query" name:"Timeout"`
 	IspCityNode       *[]AddGtmMonitorIspCityNode `position:"Query" name:"IspCityNode"  type:"Repeated"`
 }
 
@@ -106,7 +105,7 @@ func CreateAddGtmMonitorRequest() (request *AddGtmMonitorRequest) {
 	request = &AddGtmMonitorRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "AddGtmMonitor", "Alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "AddGtmMonitor", "alidns", "openAPI")
 	return
 }
 

+ 108 - 0
services/alidns/add_gtm_recovery_plan.go

@@ -0,0 +1,108 @@
+package alidns
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// AddGtmRecoveryPlan invokes the alidns.AddGtmRecoveryPlan API synchronously
+// api document: https://help.aliyun.com/api/alidns/addgtmrecoveryplan.html
+func (client *Client) AddGtmRecoveryPlan(request *AddGtmRecoveryPlanRequest) (response *AddGtmRecoveryPlanResponse, err error) {
+	response = CreateAddGtmRecoveryPlanResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// AddGtmRecoveryPlanWithChan invokes the alidns.AddGtmRecoveryPlan API asynchronously
+// api document: https://help.aliyun.com/api/alidns/addgtmrecoveryplan.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) AddGtmRecoveryPlanWithChan(request *AddGtmRecoveryPlanRequest) (<-chan *AddGtmRecoveryPlanResponse, <-chan error) {
+	responseChan := make(chan *AddGtmRecoveryPlanResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.AddGtmRecoveryPlan(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// AddGtmRecoveryPlanWithCallback invokes the alidns.AddGtmRecoveryPlan API asynchronously
+// api document: https://help.aliyun.com/api/alidns/addgtmrecoveryplan.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) AddGtmRecoveryPlanWithCallback(request *AddGtmRecoveryPlanRequest, callback func(response *AddGtmRecoveryPlanResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *AddGtmRecoveryPlanResponse
+		var err error
+		defer close(result)
+		response, err = client.AddGtmRecoveryPlan(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// AddGtmRecoveryPlanRequest is the request struct for api AddGtmRecoveryPlan
+type AddGtmRecoveryPlanRequest struct {
+	*requests.RpcRequest
+	FaultAddrPool string `position:"Query" name:"FaultAddrPool"`
+	Remark        string `position:"Query" name:"Remark"`
+	UserClientIp  string `position:"Query" name:"UserClientIp"`
+	Name          string `position:"Query" name:"Name"`
+	Lang          string `position:"Query" name:"Lang"`
+}
+
+// AddGtmRecoveryPlanResponse is the response struct for api AddGtmRecoveryPlan
+type AddGtmRecoveryPlanResponse struct {
+	*responses.BaseResponse
+	RequestId      string `json:"RequestId" xml:"RequestId"`
+	RecoveryPlanId string `json:"RecoveryPlanId" xml:"RecoveryPlanId"`
+}
+
+// CreateAddGtmRecoveryPlanRequest creates a request to invoke AddGtmRecoveryPlan API
+func CreateAddGtmRecoveryPlanRequest() (request *AddGtmRecoveryPlanRequest) {
+	request = &AddGtmRecoveryPlanRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Alidns", "2015-01-09", "AddGtmRecoveryPlan", "alidns", "openAPI")
+	return
+}
+
+// CreateAddGtmRecoveryPlanResponse creates a response to parse from AddGtmRecoveryPlan response
+func CreateAddGtmRecoveryPlanResponse() (response *AddGtmRecoveryPlanResponse) {
+	response = &AddGtmRecoveryPlanResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 2 - 2
services/alidns/change_domain_group.go

@@ -77,8 +77,8 @@ func (client *Client) ChangeDomainGroupWithCallback(request *ChangeDomainGroupRe
 type ChangeDomainGroupRequest struct {
 	*requests.RpcRequest
 	GroupId      string `position:"Query" name:"GroupId"`
-	UserClientIp string `position:"Query" name:"UserClientIp"`
 	DomainName   string `position:"Query" name:"DomainName"`
+	UserClientIp string `position:"Query" name:"UserClientIp"`
 	Lang         string `position:"Query" name:"Lang"`
 }
 
@@ -95,7 +95,7 @@ func CreateChangeDomainGroupRequest() (request *ChangeDomainGroupRequest) {
 	request = &ChangeDomainGroupRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "ChangeDomainGroup", "Alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "ChangeDomainGroup", "alidns", "openAPI")
 	return
 }
 

+ 1 - 1
services/alidns/change_domain_of_dns_product.go

@@ -95,7 +95,7 @@ func CreateChangeDomainOfDnsProductRequest() (request *ChangeDomainOfDnsProductR
 	request = &ChangeDomainOfDnsProductRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "ChangeDomainOfDnsProduct", "Alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "ChangeDomainOfDnsProduct", "alidns", "openAPI")
 	return
 }
 

+ 0 - 109
services/alidns/check_domain_record.go

@@ -1,109 +0,0 @@
-package alidns
-
-//Licensed under the Apache License, Version 2.0 (the "License");
-//you may not use this file except in compliance with the License.
-//You may obtain a copy of the License at
-//
-//http://www.apache.org/licenses/LICENSE-2.0
-//
-//Unless required by applicable law or agreed to in writing, software
-//distributed under the License is distributed on an "AS IS" BASIS,
-//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//See the License for the specific language governing permissions and
-//limitations under the License.
-//
-// Code generated by Alibaba Cloud SDK Code Generator.
-// Changes may cause incorrect behavior and will be lost if the code is regenerated.
-
-import (
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
-)
-
-// CheckDomainRecord invokes the alidns.CheckDomainRecord API synchronously
-// api document: https://help.aliyun.com/api/alidns/checkdomainrecord.html
-func (client *Client) CheckDomainRecord(request *CheckDomainRecordRequest) (response *CheckDomainRecordResponse, err error) {
-	response = CreateCheckDomainRecordResponse()
-	err = client.DoAction(request, response)
-	return
-}
-
-// CheckDomainRecordWithChan invokes the alidns.CheckDomainRecord API asynchronously
-// api document: https://help.aliyun.com/api/alidns/checkdomainrecord.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) CheckDomainRecordWithChan(request *CheckDomainRecordRequest) (<-chan *CheckDomainRecordResponse, <-chan error) {
-	responseChan := make(chan *CheckDomainRecordResponse, 1)
-	errChan := make(chan error, 1)
-	err := client.AddAsyncTask(func() {
-		defer close(responseChan)
-		defer close(errChan)
-		response, err := client.CheckDomainRecord(request)
-		if err != nil {
-			errChan <- err
-		} else {
-			responseChan <- response
-		}
-	})
-	if err != nil {
-		errChan <- err
-		close(responseChan)
-		close(errChan)
-	}
-	return responseChan, errChan
-}
-
-// CheckDomainRecordWithCallback invokes the alidns.CheckDomainRecord API asynchronously
-// api document: https://help.aliyun.com/api/alidns/checkdomainrecord.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) CheckDomainRecordWithCallback(request *CheckDomainRecordRequest, callback func(response *CheckDomainRecordResponse, err error)) <-chan int {
-	result := make(chan int, 1)
-	err := client.AddAsyncTask(func() {
-		var response *CheckDomainRecordResponse
-		var err error
-		defer close(result)
-		response, err = client.CheckDomainRecord(request)
-		callback(response, err)
-		result <- 1
-	})
-	if err != nil {
-		defer close(result)
-		callback(nil, err)
-		result <- 0
-	}
-	return result
-}
-
-// CheckDomainRecordRequest is the request struct for api CheckDomainRecord
-type CheckDomainRecordRequest struct {
-	*requests.RpcRequest
-	RR           string `position:"Query" name:"RR"`
-	UserClientIp string `position:"Query" name:"UserClientIp"`
-	DomainName   string `position:"Query" name:"DomainName"`
-	Lang         string `position:"Query" name:"Lang"`
-	Type         string `position:"Query" name:"Type"`
-	Value        string `position:"Query" name:"Value"`
-}
-
-// CheckDomainRecordResponse is the response struct for api CheckDomainRecord
-type CheckDomainRecordResponse struct {
-	*responses.BaseResponse
-	RequestId string `json:"RequestId" xml:"RequestId"`
-	IsExist   bool   `json:"IsExist" xml:"IsExist"`
-}
-
-// CreateCheckDomainRecordRequest creates a request to invoke CheckDomainRecord API
-func CreateCheckDomainRecordRequest() (request *CheckDomainRecordRequest) {
-	request = &CheckDomainRecordRequest{
-		RpcRequest: &requests.RpcRequest{},
-	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "CheckDomainRecord", "Alidns", "openAPI")
-	return
-}
-
-// CreateCheckDomainRecordResponse creates a response to parse from CheckDomainRecord response
-func CreateCheckDomainRecordResponse() (response *CheckDomainRecordResponse) {
-	response = &CheckDomainRecordResponse{
-		BaseResponse: &responses.BaseResponse{},
-	}
-	return
-}

+ 25 - 0
services/alidns/client.go

@@ -16,6 +16,8 @@ package alidns
 // Changes may cause incorrect behavior and will be lost if the code is regenerated.
 
 import (
+	"reflect"
+
 	"github.com/aliyun/alibaba-cloud-sdk-go/sdk"
 	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/auth"
 	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/auth/credentials/provider"
@@ -26,10 +28,25 @@ type Client struct {
 	sdk.Client
 }
 
+// SetClientProperty Set Property by Reflect
+func SetClientProperty(client *Client, propertyName string, propertyValue interface{}) {
+	v := reflect.ValueOf(client).Elem()
+	if v.FieldByName(propertyName).IsValid() && v.FieldByName(propertyName).CanSet() {
+		v.FieldByName(propertyName).Set(reflect.ValueOf(propertyValue))
+	}
+}
+
+// SetEndpointDataToClient Set EndpointMap and ENdpointType
+func SetEndpointDataToClient(client *Client) {
+	SetClientProperty(client, "EndpointMap", GetEndpointMap())
+	SetClientProperty(client, "EndpointType", GetEndpointType())
+}
+
 // NewClient creates a sdk client with environment variables
 func NewClient() (client *Client, err error) {
 	client = &Client{}
 	err = client.Init()
+	SetEndpointDataToClient(client)
 	return
 }
 
@@ -44,6 +61,7 @@ func NewClientWithProvider(regionId string, providers ...provider.Provider) (cli
 		pc = provider.NewProviderChain(providers)
 	}
 	err = client.InitWithProviderChain(regionId, pc)
+	SetEndpointDataToClient(client)
 	return
 }
 
@@ -52,6 +70,7 @@ func NewClientWithProvider(regionId string, providers ...provider.Provider) (cli
 func NewClientWithOptions(regionId string, config *sdk.Config, credential auth.Credential) (client *Client, err error) {
 	client = &Client{}
 	err = client.InitWithOptions(regionId, config, credential)
+	SetEndpointDataToClient(client)
 	return
 }
 
@@ -60,6 +79,7 @@ func NewClientWithOptions(regionId string, config *sdk.Config, credential auth.C
 func NewClientWithAccessKey(regionId, accessKeyId, accessKeySecret string) (client *Client, err error) {
 	client = &Client{}
 	err = client.InitWithAccessKey(regionId, accessKeyId, accessKeySecret)
+	SetEndpointDataToClient(client)
 	return
 }
 
@@ -68,6 +88,7 @@ func NewClientWithAccessKey(regionId, accessKeyId, accessKeySecret string) (clie
 func NewClientWithStsToken(regionId, stsAccessKeyId, stsAccessKeySecret, stsToken string) (client *Client, err error) {
 	client = &Client{}
 	err = client.InitWithStsToken(regionId, stsAccessKeyId, stsAccessKeySecret, stsToken)
+	SetEndpointDataToClient(client)
 	return
 }
 
@@ -76,6 +97,7 @@ func NewClientWithStsToken(regionId, stsAccessKeyId, stsAccessKeySecret, stsToke
 func NewClientWithRamRoleArn(regionId string, accessKeyId, accessKeySecret, roleArn, roleSessionName string) (client *Client, err error) {
 	client = &Client{}
 	err = client.InitWithRamRoleArn(regionId, accessKeyId, accessKeySecret, roleArn, roleSessionName)
+	SetEndpointDataToClient(client)
 	return
 }
 
@@ -84,6 +106,7 @@ func NewClientWithRamRoleArn(regionId string, accessKeyId, accessKeySecret, role
 func NewClientWithRamRoleArnAndPolicy(regionId string, accessKeyId, accessKeySecret, roleArn, roleSessionName, policy string) (client *Client, err error) {
 	client = &Client{}
 	err = client.InitWithRamRoleArnAndPolicy(regionId, accessKeyId, accessKeySecret, roleArn, roleSessionName, policy)
+	SetEndpointDataToClient(client)
 	return
 }
 
@@ -92,6 +115,7 @@ func NewClientWithRamRoleArnAndPolicy(regionId string, accessKeyId, accessKeySec
 func NewClientWithEcsRamRole(regionId string, roleName string) (client *Client, err error) {
 	client = &Client{}
 	err = client.InitWithEcsRamRole(regionId, roleName)
+	SetEndpointDataToClient(client)
 	return
 }
 
@@ -100,5 +124,6 @@ func NewClientWithEcsRamRole(regionId string, roleName string) (client *Client,
 func NewClientWithRsaKeyPair(regionId string, publicKeyId, privateKey string, sessionExpiration int) (client *Client, err error) {
 	client = &Client{}
 	err = client.InitWithRsaKeyPair(regionId, publicKeyId, privateKey, sessionExpiration)
+	SetEndpointDataToClient(client)
 	return
 }

+ 0 - 111
services/alidns/create_instance.go

@@ -1,111 +0,0 @@
-package alidns
-
-//Licensed under the Apache License, Version 2.0 (the "License");
-//you may not use this file except in compliance with the License.
-//You may obtain a copy of the License at
-//
-//http://www.apache.org/licenses/LICENSE-2.0
-//
-//Unless required by applicable law or agreed to in writing, software
-//distributed under the License is distributed on an "AS IS" BASIS,
-//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//See the License for the specific language governing permissions and
-//limitations under the License.
-//
-// Code generated by Alibaba Cloud SDK Code Generator.
-// Changes may cause incorrect behavior and will be lost if the code is regenerated.
-
-import (
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
-)
-
-// CreateInstance invokes the alidns.CreateInstance API synchronously
-// api document: https://help.aliyun.com/api/alidns/createinstance.html
-func (client *Client) CreateInstance(request *CreateInstanceRequest) (response *CreateInstanceResponse, err error) {
-	response = CreateCreateInstanceResponse()
-	err = client.DoAction(request, response)
-	return
-}
-
-// CreateInstanceWithChan invokes the alidns.CreateInstance API asynchronously
-// api document: https://help.aliyun.com/api/alidns/createinstance.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) CreateInstanceWithChan(request *CreateInstanceRequest) (<-chan *CreateInstanceResponse, <-chan error) {
-	responseChan := make(chan *CreateInstanceResponse, 1)
-	errChan := make(chan error, 1)
-	err := client.AddAsyncTask(func() {
-		defer close(responseChan)
-		defer close(errChan)
-		response, err := client.CreateInstance(request)
-		if err != nil {
-			errChan <- err
-		} else {
-			responseChan <- response
-		}
-	})
-	if err != nil {
-		errChan <- err
-		close(responseChan)
-		close(errChan)
-	}
-	return responseChan, errChan
-}
-
-// CreateInstanceWithCallback invokes the alidns.CreateInstance API asynchronously
-// api document: https://help.aliyun.com/api/alidns/createinstance.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) CreateInstanceWithCallback(request *CreateInstanceRequest, callback func(response *CreateInstanceResponse, err error)) <-chan int {
-	result := make(chan int, 1)
-	err := client.AddAsyncTask(func() {
-		var response *CreateInstanceResponse
-		var err error
-		defer close(result)
-		response, err = client.CreateInstance(request)
-		callback(response, err)
-		result <- 1
-	})
-	if err != nil {
-		defer close(result)
-		callback(nil, err)
-		result <- 0
-	}
-	return result
-}
-
-// CreateInstanceRequest is the request struct for api CreateInstance
-type CreateInstanceRequest struct {
-	*requests.RpcRequest
-	Month           requests.Integer `position:"Query" name:"Month"`
-	UserClientIp    string           `position:"Query" name:"UserClientIp"`
-	DomainName      string           `position:"Query" name:"DomainName"`
-	Lang            string           `position:"Query" name:"Lang"`
-	InstanceVersion string           `position:"Query" name:"InstanceVersion"`
-	OwnerId         requests.Integer `position:"Query" name:"OwnerId"`
-	Token           string           `position:"Query" name:"Token"`
-}
-
-// CreateInstanceResponse is the response struct for api CreateInstance
-type CreateInstanceResponse struct {
-	*responses.BaseResponse
-	RequestId  string `json:"RequestId" xml:"RequestId"`
-	OrderId    string `json:"OrderId" xml:"OrderId"`
-	InstanceId string `json:"InstanceId" xml:"InstanceId"`
-}
-
-// CreateCreateInstanceRequest creates a request to invoke CreateInstance API
-func CreateCreateInstanceRequest() (request *CreateInstanceRequest) {
-	request = &CreateInstanceRequest{
-		RpcRequest: &requests.RpcRequest{},
-	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "CreateInstance", "Alidns", "openAPI")
-	return
-}
-
-// CreateCreateInstanceResponse creates a response to parse from CreateInstance response
-func CreateCreateInstanceResponse() (response *CreateInstanceResponse) {
-	response = &CreateInstanceResponse{
-		BaseResponse: &responses.BaseResponse{},
-	}
-	return
-}

+ 2 - 2
services/alidns/delete_domain.go

@@ -76,8 +76,8 @@ func (client *Client) DeleteDomainWithCallback(request *DeleteDomainRequest, cal
 // DeleteDomainRequest is the request struct for api DeleteDomain
 type DeleteDomainRequest struct {
 	*requests.RpcRequest
-	UserClientIp string `position:"Query" name:"UserClientIp"`
 	DomainName   string `position:"Query" name:"DomainName"`
+	UserClientIp string `position:"Query" name:"UserClientIp"`
 	Lang         string `position:"Query" name:"Lang"`
 }
 
@@ -93,7 +93,7 @@ func CreateDeleteDomainRequest() (request *DeleteDomainRequest) {
 	request = &DeleteDomainRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "DeleteDomain", "Alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DeleteDomain", "alidns", "openAPI")
 	return
 }
 

+ 1 - 1
services/alidns/delete_domain_group.go

@@ -93,7 +93,7 @@ func CreateDeleteDomainGroupRequest() (request *DeleteDomainGroupRequest) {
 	request = &DeleteDomainGroupRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "DeleteDomainGroup", "Alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DeleteDomainGroup", "alidns", "openAPI")
 	return
 }
 

+ 1 - 1
services/alidns/delete_domain_record.go

@@ -93,7 +93,7 @@ func CreateDeleteDomainRecordRequest() (request *DeleteDomainRecordRequest) {
 	request = &DeleteDomainRecordRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "DeleteDomainRecord", "Alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DeleteDomainRecord", "alidns", "openAPI")
 	return
 }
 

+ 1 - 1
services/alidns/delete_gtm_access_strategy.go

@@ -92,7 +92,7 @@ func CreateDeleteGtmAccessStrategyRequest() (request *DeleteGtmAccessStrategyReq
 	request = &DeleteGtmAccessStrategyRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "DeleteGtmAccessStrategy", "Alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DeleteGtmAccessStrategy", "alidns", "openAPI")
 	return
 }
 

+ 1 - 1
services/alidns/delete_gtm_address_pool.go

@@ -92,7 +92,7 @@ func CreateDeleteGtmAddressPoolRequest() (request *DeleteGtmAddressPoolRequest)
 	request = &DeleteGtmAddressPoolRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "DeleteGtmAddressPool", "Alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DeleteGtmAddressPool", "alidns", "openAPI")
 	return
 }
 

+ 105 - 0
services/alidns/delete_gtm_recovery_plan.go

@@ -0,0 +1,105 @@
+package alidns
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// DeleteGtmRecoveryPlan invokes the alidns.DeleteGtmRecoveryPlan API synchronously
+// api document: https://help.aliyun.com/api/alidns/deletegtmrecoveryplan.html
+func (client *Client) DeleteGtmRecoveryPlan(request *DeleteGtmRecoveryPlanRequest) (response *DeleteGtmRecoveryPlanResponse, err error) {
+	response = CreateDeleteGtmRecoveryPlanResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteGtmRecoveryPlanWithChan invokes the alidns.DeleteGtmRecoveryPlan API asynchronously
+// api document: https://help.aliyun.com/api/alidns/deletegtmrecoveryplan.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteGtmRecoveryPlanWithChan(request *DeleteGtmRecoveryPlanRequest) (<-chan *DeleteGtmRecoveryPlanResponse, <-chan error) {
+	responseChan := make(chan *DeleteGtmRecoveryPlanResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteGtmRecoveryPlan(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteGtmRecoveryPlanWithCallback invokes the alidns.DeleteGtmRecoveryPlan API asynchronously
+// api document: https://help.aliyun.com/api/alidns/deletegtmrecoveryplan.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteGtmRecoveryPlanWithCallback(request *DeleteGtmRecoveryPlanRequest, callback func(response *DeleteGtmRecoveryPlanResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteGtmRecoveryPlanResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteGtmRecoveryPlan(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteGtmRecoveryPlanRequest is the request struct for api DeleteGtmRecoveryPlan
+type DeleteGtmRecoveryPlanRequest struct {
+	*requests.RpcRequest
+	UserClientIp   string           `position:"Query" name:"UserClientIp"`
+	RecoveryPlanId requests.Integer `position:"Query" name:"RecoveryPlanId"`
+	Lang           string           `position:"Query" name:"Lang"`
+}
+
+// DeleteGtmRecoveryPlanResponse is the response struct for api DeleteGtmRecoveryPlan
+type DeleteGtmRecoveryPlanResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDeleteGtmRecoveryPlanRequest creates a request to invoke DeleteGtmRecoveryPlan API
+func CreateDeleteGtmRecoveryPlanRequest() (request *DeleteGtmRecoveryPlanRequest) {
+	request = &DeleteGtmRecoveryPlanRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DeleteGtmRecoveryPlan", "alidns", "openAPI")
+	return
+}
+
+// CreateDeleteGtmRecoveryPlanResponse creates a response to parse from DeleteGtmRecoveryPlan response
+func CreateDeleteGtmRecoveryPlanResponse() (response *DeleteGtmRecoveryPlanResponse) {
+	response = &DeleteGtmRecoveryPlanResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 3 - 3
services/alidns/delete_sub_domain_records.go

@@ -77,10 +77,10 @@ func (client *Client) DeleteSubDomainRecordsWithCallback(request *DeleteSubDomai
 type DeleteSubDomainRecordsRequest struct {
 	*requests.RpcRequest
 	RR           string `position:"Query" name:"RR"`
-	UserClientIp string `position:"Query" name:"UserClientIp"`
 	DomainName   string `position:"Query" name:"DomainName"`
-	Lang         string `position:"Query" name:"Lang"`
 	Type         string `position:"Query" name:"Type"`
+	UserClientIp string `position:"Query" name:"UserClientIp"`
+	Lang         string `position:"Query" name:"Lang"`
 }
 
 // DeleteSubDomainRecordsResponse is the response struct for api DeleteSubDomainRecords
@@ -96,7 +96,7 @@ func CreateDeleteSubDomainRecordsRequest() (request *DeleteSubDomainRecordsReque
 	request = &DeleteSubDomainRecordsRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "DeleteSubDomainRecords", "Alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DeleteSubDomainRecords", "alidns", "openAPI")
 	return
 }
 

+ 1 - 1
services/alidns/describe_batch_result_count.go

@@ -100,7 +100,7 @@ func CreateDescribeBatchResultCountRequest() (request *DescribeBatchResultCountR
 	request = &DescribeBatchResultCountRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeBatchResultCount", "Alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeBatchResultCount", "alidns", "openAPI")
 	return
 }
 

+ 2 - 2
services/alidns/describe_batch_result_detail.go

@@ -77,10 +77,10 @@ func (client *Client) DescribeBatchResultDetailWithCallback(request *DescribeBat
 type DescribeBatchResultDetailRequest struct {
 	*requests.RpcRequest
 	BatchType    string           `position:"Query" name:"BatchType"`
+	PageNumber   requests.Integer `position:"Query" name:"PageNumber"`
 	UserClientIp string           `position:"Query" name:"UserClientIp"`
 	PageSize     requests.Integer `position:"Query" name:"PageSize"`
 	Lang         string           `position:"Query" name:"Lang"`
-	PageNumber   requests.Integer `position:"Query" name:"PageNumber"`
 	TaskId       requests.Integer `position:"Query" name:"TaskId"`
 }
 
@@ -99,7 +99,7 @@ func CreateDescribeBatchResultDetailRequest() (request *DescribeBatchResultDetai
 	request = &DescribeBatchResultDetailRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeBatchResultDetail", "Alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeBatchResultDetail", "alidns", "openAPI")
 	return
 }
 

+ 1 - 1
services/alidns/describe_dns_product_instance.go

@@ -124,7 +124,7 @@ func CreateDescribeDnsProductInstanceRequest() (request *DescribeDnsProductInsta
 	request = &DescribeDnsProductInstanceRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeDnsProductInstance", "Alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeDnsProductInstance", "alidns", "openAPI")
 	return
 }
 

+ 2 - 2
services/alidns/describe_dns_product_instances.go

@@ -76,11 +76,11 @@ func (client *Client) DescribeDnsProductInstancesWithCallback(request *DescribeD
 // DescribeDnsProductInstancesRequest is the request struct for api DescribeDnsProductInstances
 type DescribeDnsProductInstancesRequest struct {
 	*requests.RpcRequest
+	PageNumber   requests.Integer `position:"Query" name:"PageNumber"`
 	UserClientIp string           `position:"Query" name:"UserClientIp"`
 	PageSize     requests.Integer `position:"Query" name:"PageSize"`
 	Lang         string           `position:"Query" name:"Lang"`
 	VersionCode  string           `position:"Query" name:"VersionCode"`
-	PageNumber   requests.Integer `position:"Query" name:"PageNumber"`
 }
 
 // DescribeDnsProductInstancesResponse is the response struct for api DescribeDnsProductInstances
@@ -98,7 +98,7 @@ func CreateDescribeDnsProductInstancesRequest() (request *DescribeDnsProductInst
 	request = &DescribeDnsProductInstancesRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeDnsProductInstances", "Alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeDnsProductInstances", "alidns", "openAPI")
 	return
 }
 

+ 3 - 3
services/alidns/describe_dnsslb_sub_domains.go

@@ -76,11 +76,11 @@ func (client *Client) DescribeDNSSLBSubDomainsWithCallback(request *DescribeDNSS
 // DescribeDNSSLBSubDomainsRequest is the request struct for api DescribeDNSSLBSubDomains
 type DescribeDNSSLBSubDomainsRequest struct {
 	*requests.RpcRequest
-	UserClientIp string           `position:"Query" name:"UserClientIp"`
 	DomainName   string           `position:"Query" name:"DomainName"`
+	PageNumber   requests.Integer `position:"Query" name:"PageNumber"`
+	UserClientIp string           `position:"Query" name:"UserClientIp"`
 	PageSize     requests.Integer `position:"Query" name:"PageSize"`
 	Lang         string           `position:"Query" name:"Lang"`
-	PageNumber   requests.Integer `position:"Query" name:"PageNumber"`
 }
 
 // DescribeDNSSLBSubDomainsResponse is the response struct for api DescribeDNSSLBSubDomains
@@ -98,7 +98,7 @@ func CreateDescribeDNSSLBSubDomainsRequest() (request *DescribeDNSSLBSubDomainsR
 	request = &DescribeDNSSLBSubDomainsRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeDNSSLBSubDomains", "Alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeDNSSLBSubDomains", "alidns", "openAPI")
 	return
 }
 

+ 0 - 108
services/alidns/describe_domain_dns_statistics.go

@@ -1,108 +0,0 @@
-package alidns
-
-//Licensed under the Apache License, Version 2.0 (the "License");
-//you may not use this file except in compliance with the License.
-//You may obtain a copy of the License at
-//
-//http://www.apache.org/licenses/LICENSE-2.0
-//
-//Unless required by applicable law or agreed to in writing, software
-//distributed under the License is distributed on an "AS IS" BASIS,
-//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//See the License for the specific language governing permissions and
-//limitations under the License.
-//
-// Code generated by Alibaba Cloud SDK Code Generator.
-// Changes may cause incorrect behavior and will be lost if the code is regenerated.
-
-import (
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
-)
-
-// DescribeDomainDnsStatistics invokes the alidns.DescribeDomainDnsStatistics API synchronously
-// api document: https://help.aliyun.com/api/alidns/describedomaindnsstatistics.html
-func (client *Client) DescribeDomainDnsStatistics(request *DescribeDomainDnsStatisticsRequest) (response *DescribeDomainDnsStatisticsResponse, err error) {
-	response = CreateDescribeDomainDnsStatisticsResponse()
-	err = client.DoAction(request, response)
-	return
-}
-
-// DescribeDomainDnsStatisticsWithChan invokes the alidns.DescribeDomainDnsStatistics API asynchronously
-// api document: https://help.aliyun.com/api/alidns/describedomaindnsstatistics.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) DescribeDomainDnsStatisticsWithChan(request *DescribeDomainDnsStatisticsRequest) (<-chan *DescribeDomainDnsStatisticsResponse, <-chan error) {
-	responseChan := make(chan *DescribeDomainDnsStatisticsResponse, 1)
-	errChan := make(chan error, 1)
-	err := client.AddAsyncTask(func() {
-		defer close(responseChan)
-		defer close(errChan)
-		response, err := client.DescribeDomainDnsStatistics(request)
-		if err != nil {
-			errChan <- err
-		} else {
-			responseChan <- response
-		}
-	})
-	if err != nil {
-		errChan <- err
-		close(responseChan)
-		close(errChan)
-	}
-	return responseChan, errChan
-}
-
-// DescribeDomainDnsStatisticsWithCallback invokes the alidns.DescribeDomainDnsStatistics API asynchronously
-// api document: https://help.aliyun.com/api/alidns/describedomaindnsstatistics.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) DescribeDomainDnsStatisticsWithCallback(request *DescribeDomainDnsStatisticsRequest, callback func(response *DescribeDomainDnsStatisticsResponse, err error)) <-chan int {
-	result := make(chan int, 1)
-	err := client.AddAsyncTask(func() {
-		var response *DescribeDomainDnsStatisticsResponse
-		var err error
-		defer close(result)
-		response, err = client.DescribeDomainDnsStatistics(request)
-		callback(response, err)
-		result <- 1
-	})
-	if err != nil {
-		defer close(result)
-		callback(nil, err)
-		result <- 0
-	}
-	return result
-}
-
-// DescribeDomainDnsStatisticsRequest is the request struct for api DescribeDomainDnsStatistics
-type DescribeDomainDnsStatisticsRequest struct {
-	*requests.RpcRequest
-	EndDate      string `position:"Query" name:"EndDate"`
-	UserClientIp string `position:"Query" name:"UserClientIp"`
-	DomainName   string `position:"Query" name:"DomainName"`
-	Lang         string `position:"Query" name:"Lang"`
-	StartDate    string `position:"Query" name:"StartDate"`
-}
-
-// DescribeDomainDnsStatisticsResponse is the response struct for api DescribeDomainDnsStatistics
-type DescribeDomainDnsStatisticsResponse struct {
-	*responses.BaseResponse
-	RequestId  string                                  `json:"RequestId" xml:"RequestId"`
-	Statistics StatisticsInDescribeDomainDnsStatistics `json:"Statistics" xml:"Statistics"`
-}
-
-// CreateDescribeDomainDnsStatisticsRequest creates a request to invoke DescribeDomainDnsStatistics API
-func CreateDescribeDomainDnsStatisticsRequest() (request *DescribeDomainDnsStatisticsRequest) {
-	request = &DescribeDomainDnsStatisticsRequest{
-		RpcRequest: &requests.RpcRequest{},
-	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeDomainDnsStatistics", "Alidns", "openAPI")
-	return
-}
-
-// CreateDescribeDomainDnsStatisticsResponse creates a response to parse from DescribeDomainDnsStatistics response
-func CreateDescribeDomainDnsStatisticsResponse() (response *DescribeDomainDnsStatisticsResponse) {
-	response = &DescribeDomainDnsStatisticsResponse{
-		BaseResponse: &responses.BaseResponse{},
-	}
-	return
-}

+ 2 - 2
services/alidns/describe_domain_groups.go

@@ -76,11 +76,11 @@ func (client *Client) DescribeDomainGroupsWithCallback(request *DescribeDomainGr
 // DescribeDomainGroupsRequest is the request struct for api DescribeDomainGroups
 type DescribeDomainGroupsRequest struct {
 	*requests.RpcRequest
+	PageNumber   requests.Integer `position:"Query" name:"PageNumber"`
 	UserClientIp string           `position:"Query" name:"UserClientIp"`
 	PageSize     requests.Integer `position:"Query" name:"PageSize"`
 	Lang         string           `position:"Query" name:"Lang"`
 	KeyWord      string           `position:"Query" name:"KeyWord"`
-	PageNumber   requests.Integer `position:"Query" name:"PageNumber"`
 }
 
 // DescribeDomainGroupsResponse is the response struct for api DescribeDomainGroups
@@ -98,7 +98,7 @@ func CreateDescribeDomainGroupsRequest() (request *DescribeDomainGroupsRequest)
 	request = &DescribeDomainGroupsRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeDomainGroups", "Alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeDomainGroups", "alidns", "openAPI")
 	return
 }
 

+ 2 - 2
services/alidns/describe_domain_info.go

@@ -76,8 +76,8 @@ func (client *Client) DescribeDomainInfoWithCallback(request *DescribeDomainInfo
 // DescribeDomainInfoRequest is the request struct for api DescribeDomainInfo
 type DescribeDomainInfoRequest struct {
 	*requests.RpcRequest
-	UserClientIp         string           `position:"Query" name:"UserClientIp"`
 	DomainName           string           `position:"Query" name:"DomainName"`
+	UserClientIp         string           `position:"Query" name:"UserClientIp"`
 	Lang                 string           `position:"Query" name:"Lang"`
 	NeedDetailAttributes requests.Boolean `position:"Query" name:"NeedDetailAttributes"`
 }
@@ -113,7 +113,7 @@ func CreateDescribeDomainInfoRequest() (request *DescribeDomainInfoRequest) {
 	request = &DescribeDomainInfoRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeDomainInfo", "Alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeDomainInfo", "alidns", "openAPI")
 	return
 }
 

+ 5 - 5
services/alidns/describe_domain_logs.go

@@ -76,15 +76,15 @@ func (client *Client) DescribeDomainLogsWithCallback(request *DescribeDomainLogs
 // DescribeDomainLogsRequest is the request struct for api DescribeDomainLogs
 type DescribeDomainLogsRequest struct {
 	*requests.RpcRequest
-	EndDate      string           `position:"Query" name:"endDate"`
 	GroupId      string           `position:"Query" name:"GroupId"`
+	StartDate    string           `position:"Query" name:"StartDate"`
+	Type         string           `position:"Query" name:"Type"`
+	PageNumber   requests.Integer `position:"Query" name:"PageNumber"`
+	EndDate      string           `position:"Query" name:"endDate"`
 	UserClientIp string           `position:"Query" name:"UserClientIp"`
 	PageSize     requests.Integer `position:"Query" name:"PageSize"`
 	Lang         string           `position:"Query" name:"Lang"`
 	KeyWord      string           `position:"Query" name:"KeyWord"`
-	StartDate    string           `position:"Query" name:"StartDate"`
-	Type         string           `position:"Query" name:"Type"`
-	PageNumber   requests.Integer `position:"Query" name:"PageNumber"`
 }
 
 // DescribeDomainLogsResponse is the response struct for api DescribeDomainLogs
@@ -102,7 +102,7 @@ func CreateDescribeDomainLogsRequest() (request *DescribeDomainLogsRequest) {
 	request = &DescribeDomainLogsRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeDomainLogs", "Alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeDomainLogs", "alidns", "openAPI")
 	return
 }
 

+ 2 - 2
services/alidns/describe_domain_ns.go

@@ -76,8 +76,8 @@ func (client *Client) DescribeDomainNsWithCallback(request *DescribeDomainNsRequ
 // DescribeDomainNsRequest is the request struct for api DescribeDomainNs
 type DescribeDomainNsRequest struct {
 	*requests.RpcRequest
-	UserClientIp string `position:"Query" name:"UserClientIp"`
 	DomainName   string `position:"Query" name:"DomainName"`
+	UserClientIp string `position:"Query" name:"UserClientIp"`
 	Lang         string `position:"Query" name:"Lang"`
 }
 
@@ -96,7 +96,7 @@ func CreateDescribeDomainNsRequest() (request *DescribeDomainNsRequest) {
 	request = &DescribeDomainNsRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeDomainNs", "Alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeDomainNs", "alidns", "openAPI")
 	return
 }
 

+ 1 - 1
services/alidns/describe_domain_record_info.go

@@ -106,7 +106,7 @@ func CreateDescribeDomainRecordInfoRequest() (request *DescribeDomainRecordInfoR
 	request = &DescribeDomainRecordInfoRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeDomainRecordInfo", "Alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeDomainRecordInfo", "alidns", "openAPI")
 	return
 }
 

+ 7 - 7
services/alidns/describe_domain_records.go

@@ -78,19 +78,19 @@ type DescribeDomainRecordsRequest struct {
 	*requests.RpcRequest
 	ValueKeyWord string           `position:"Query" name:"ValueKeyWord"`
 	Line         string           `position:"Query" name:"Line"`
-	GroupId      requests.Integer `position:"Query" name:"GroupId"`
-	DomainName   string           `position:"Query" name:"DomainName"`
-	OrderBy      string           `position:"Query" name:"OrderBy"`
 	Type         string           `position:"Query" name:"Type"`
 	PageNumber   requests.Integer `position:"Query" name:"PageNumber"`
-	UserClientIp string           `position:"Query" name:"UserClientIp"`
 	PageSize     requests.Integer `position:"Query" name:"PageSize"`
-	SearchMode   string           `position:"Query" name:"SearchMode"`
 	Lang         string           `position:"Query" name:"Lang"`
 	KeyWord      string           `position:"Query" name:"KeyWord"`
-	TypeKeyWord  string           `position:"Query" name:"TypeKeyWord"`
 	RRKeyWord    string           `position:"Query" name:"RRKeyWord"`
 	Direction    string           `position:"Query" name:"Direction"`
+	GroupId      requests.Integer `position:"Query" name:"GroupId"`
+	DomainName   string           `position:"Query" name:"DomainName"`
+	OrderBy      string           `position:"Query" name:"OrderBy"`
+	UserClientIp string           `position:"Query" name:"UserClientIp"`
+	SearchMode   string           `position:"Query" name:"SearchMode"`
+	TypeKeyWord  string           `position:"Query" name:"TypeKeyWord"`
 	Status       string           `position:"Query" name:"Status"`
 }
 
@@ -109,7 +109,7 @@ func CreateDescribeDomainRecordsRequest() (request *DescribeDomainRecordsRequest
 	request = &DescribeDomainRecordsRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeDomainRecords", "Alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeDomainRecords", "alidns", "openAPI")
 	return
 }
 

+ 3 - 3
services/alidns/describe_domain_statistics.go

@@ -76,11 +76,11 @@ func (client *Client) DescribeDomainStatisticsWithCallback(request *DescribeDoma
 // DescribeDomainStatisticsRequest is the request struct for api DescribeDomainStatistics
 type DescribeDomainStatisticsRequest struct {
 	*requests.RpcRequest
+	DomainName   string `position:"Query" name:"DomainName"`
+	StartDate    string `position:"Query" name:"StartDate"`
 	EndDate      string `position:"Query" name:"EndDate"`
 	UserClientIp string `position:"Query" name:"UserClientIp"`
-	DomainName   string `position:"Query" name:"DomainName"`
 	Lang         string `position:"Query" name:"Lang"`
-	StartDate    string `position:"Query" name:"StartDate"`
 }
 
 // DescribeDomainStatisticsResponse is the response struct for api DescribeDomainStatistics
@@ -95,7 +95,7 @@ func CreateDescribeDomainStatisticsRequest() (request *DescribeDomainStatisticsR
 	request = &DescribeDomainStatisticsRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeDomainStatistics", "Alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeDomainStatistics", "alidns", "openAPI")
 	return
 }
 

+ 8 - 8
services/alidns/describe_domain_statistics_summary.go

@@ -76,17 +76,17 @@ func (client *Client) DescribeDomainStatisticsSummaryWithCallback(request *Descr
 // DescribeDomainStatisticsSummaryRequest is the request struct for api DescribeDomainStatisticsSummary
 type DescribeDomainStatisticsSummaryRequest struct {
 	*requests.RpcRequest
-	EndDate      string           `position:"Query" name:"EndDate"`
-	UserClientIp string           `position:"Query" name:"UserClientIp"`
-	PageSize     requests.Integer `position:"Query" name:"PageSize"`
-	OrderBy      string           `position:"Query" name:"OrderBy"`
-	SearchMode   string           `position:"Query" name:"SearchMode"`
 	Threshold    requests.Integer `position:"Query" name:"Threshold"`
-	Lang         string           `position:"Query" name:"Lang"`
 	StartDate    string           `position:"Query" name:"StartDate"`
-	Keyword      string           `position:"Query" name:"Keyword"`
 	PageNumber   requests.Integer `position:"Query" name:"PageNumber"`
+	PageSize     requests.Integer `position:"Query" name:"PageSize"`
+	Lang         string           `position:"Query" name:"Lang"`
+	Keyword      string           `position:"Query" name:"Keyword"`
 	Direction    string           `position:"Query" name:"Direction"`
+	OrderBy      string           `position:"Query" name:"OrderBy"`
+	EndDate      string           `position:"Query" name:"EndDate"`
+	UserClientIp string           `position:"Query" name:"UserClientIp"`
+	SearchMode   string           `position:"Query" name:"SearchMode"`
 }
 
 // DescribeDomainStatisticsSummaryResponse is the response struct for api DescribeDomainStatisticsSummary
@@ -105,7 +105,7 @@ func CreateDescribeDomainStatisticsSummaryRequest() (request *DescribeDomainStat
 	request = &DescribeDomainStatisticsSummaryRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeDomainStatisticsSummary", "Alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeDomainStatisticsSummary", "alidns", "openAPI")
 	return
 }
 

+ 8 - 5
services/alidns/describe_domains.go

@@ -76,14 +76,17 @@ func (client *Client) DescribeDomainsWithCallback(request *DescribeDomainsReques
 // DescribeDomainsRequest is the request struct for api DescribeDomains
 type DescribeDomainsRequest struct {
 	*requests.RpcRequest
+	PageNumber      requests.Integer `position:"Query" name:"PageNumber"`
 	ResourceGroupId string           `position:"Query" name:"ResourceGroupId"`
-	GroupId         string           `position:"Query" name:"GroupId"`
-	UserClientIp    string           `position:"Query" name:"UserClientIp"`
 	PageSize        requests.Integer `position:"Query" name:"PageSize"`
-	SearchMode      string           `position:"Query" name:"SearchMode"`
 	Lang            string           `position:"Query" name:"Lang"`
 	KeyWord         string           `position:"Query" name:"KeyWord"`
-	PageNumber      requests.Integer `position:"Query" name:"PageNumber"`
+	Direction       string           `position:"Query" name:"Direction"`
+	Starmark        requests.Boolean `position:"Query" name:"Starmark"`
+	GroupId         string           `position:"Query" name:"GroupId"`
+	OrderBy         string           `position:"Query" name:"OrderBy"`
+	UserClientIp    string           `position:"Query" name:"UserClientIp"`
+	SearchMode      string           `position:"Query" name:"SearchMode"`
 }
 
 // DescribeDomainsResponse is the response struct for api DescribeDomains
@@ -101,7 +104,7 @@ func CreateDescribeDomainsRequest() (request *DescribeDomainsRequest) {
 	request = &DescribeDomainsRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeDomains", "Alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeDomains", "alidns", "openAPI")
 	return
 }
 

+ 2 - 2
services/alidns/describe_gtm_access_strategies.go

@@ -76,11 +76,11 @@ func (client *Client) DescribeGtmAccessStrategiesWithCallback(request *DescribeG
 // DescribeGtmAccessStrategiesRequest is the request struct for api DescribeGtmAccessStrategies
 type DescribeGtmAccessStrategiesRequest struct {
 	*requests.RpcRequest
+	PageNumber   requests.Integer `position:"Query" name:"PageNumber"`
 	InstanceId   string           `position:"Query" name:"InstanceId"`
 	UserClientIp string           `position:"Query" name:"UserClientIp"`
 	PageSize     requests.Integer `position:"Query" name:"PageSize"`
 	Lang         string           `position:"Query" name:"Lang"`
-	PageNumber   requests.Integer `position:"Query" name:"PageNumber"`
 }
 
 // DescribeGtmAccessStrategiesResponse is the response struct for api DescribeGtmAccessStrategies
@@ -99,7 +99,7 @@ func CreateDescribeGtmAccessStrategiesRequest() (request *DescribeGtmAccessStrat
 	request = &DescribeGtmAccessStrategiesRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeGtmAccessStrategies", "Alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeGtmAccessStrategies", "alidns", "openAPI")
 	return
 }
 

+ 17 - 13
services/alidns/describe_gtm_access_strategy.go

@@ -84,18 +84,22 @@ type DescribeGtmAccessStrategyRequest struct {
 // DescribeGtmAccessStrategyResponse is the response struct for api DescribeGtmAccessStrategy
 type DescribeGtmAccessStrategyResponse struct {
 	*responses.BaseResponse
-	RequestId            string                           `json:"RequestId" xml:"RequestId"`
-	StrategyId           string                           `json:"StrategyId" xml:"StrategyId"`
-	StrategyName         string                           `json:"StrategyName" xml:"StrategyName"`
-	DefultAddrPoolId     string                           `json:"DefultAddrPoolId" xml:"DefultAddrPoolId"`
-	DefaultAddrPoolName  string                           `json:"DefaultAddrPoolName" xml:"DefaultAddrPoolName"`
-	FailoverAddrPoolId   string                           `json:"FailoverAddrPoolId" xml:"FailoverAddrPoolId"`
-	FailoverAddrPoolName string                           `json:"FailoverAddrPoolName" xml:"FailoverAddrPoolName"`
-	StrategyMode         string                           `json:"StrategyMode" xml:"StrategyMode"`
-	AccessMode           string                           `json:"AccessMode" xml:"AccessMode"`
-	AccessStatus         string                           `json:"AccessStatus" xml:"AccessStatus"`
-	InstanceId           string                           `json:"InstanceId" xml:"InstanceId"`
-	Lines                LinesInDescribeGtmAccessStrategy `json:"Lines" xml:"Lines"`
+	RequestId                     string                           `json:"RequestId" xml:"RequestId"`
+	StrategyId                    string                           `json:"StrategyId" xml:"StrategyId"`
+	StrategyName                  string                           `json:"StrategyName" xml:"StrategyName"`
+	DefultAddrPoolId              string                           `json:"DefultAddrPoolId" xml:"DefultAddrPoolId"`
+	DefaultAddrPoolName           string                           `json:"DefaultAddrPoolName" xml:"DefaultAddrPoolName"`
+	FailoverAddrPoolId            string                           `json:"FailoverAddrPoolId" xml:"FailoverAddrPoolId"`
+	FailoverAddrPoolName          string                           `json:"FailoverAddrPoolName" xml:"FailoverAddrPoolName"`
+	StrategyMode                  string                           `json:"StrategyMode" xml:"StrategyMode"`
+	AccessMode                    string                           `json:"AccessMode" xml:"AccessMode"`
+	AccessStatus                  string                           `json:"AccessStatus" xml:"AccessStatus"`
+	InstanceId                    string                           `json:"InstanceId" xml:"InstanceId"`
+	DefaultAddrPoolStatus         string                           `json:"DefaultAddrPoolStatus" xml:"DefaultAddrPoolStatus"`
+	FailoverAddrPoolStatus        string                           `json:"FailoverAddrPoolStatus" xml:"FailoverAddrPoolStatus"`
+	DefaultAddrPoolMonitorStatus  string                           `json:"DefaultAddrPoolMonitorStatus" xml:"DefaultAddrPoolMonitorStatus"`
+	FailoverAddrPoolMonitorStatus string                           `json:"FailoverAddrPoolMonitorStatus" xml:"FailoverAddrPoolMonitorStatus"`
+	Lines                         LinesInDescribeGtmAccessStrategy `json:"Lines" xml:"Lines"`
 }
 
 // CreateDescribeGtmAccessStrategyRequest creates a request to invoke DescribeGtmAccessStrategy API
@@ -103,7 +107,7 @@ func CreateDescribeGtmAccessStrategyRequest() (request *DescribeGtmAccessStrateg
 	request = &DescribeGtmAccessStrategyRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeGtmAccessStrategy", "Alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeGtmAccessStrategy", "alidns", "openAPI")
 	return
 }
 

+ 1 - 1
services/alidns/describe_gtm_access_strategy_available_config.go

@@ -94,7 +94,7 @@ func CreateDescribeGtmAccessStrategyAvailableConfigRequest() (request *DescribeG
 	request = &DescribeGtmAccessStrategyAvailableConfigRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeGtmAccessStrategyAvailableConfig", "Alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeGtmAccessStrategyAvailableConfig", "alidns", "openAPI")
 	return
 }
 

+ 1 - 1
services/alidns/describe_gtm_available_alert_group.go

@@ -92,7 +92,7 @@ func CreateDescribeGtmAvailableAlertGroupRequest() (request *DescribeGtmAvailabl
 	request = &DescribeGtmAvailableAlertGroupRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeGtmAvailableAlertGroup", "Alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeGtmAvailableAlertGroup", "alidns", "openAPI")
 	return
 }
 

+ 21 - 18
services/alidns/describe_gtm_instance.go

@@ -76,28 +76,31 @@ func (client *Client) DescribeGtmInstanceWithCallback(request *DescribeGtmInstan
 // DescribeGtmInstanceRequest is the request struct for api DescribeGtmInstance
 type DescribeGtmInstanceRequest struct {
 	*requests.RpcRequest
-	InstanceId   string `position:"Query" name:"InstanceId"`
-	UserClientIp string `position:"Query" name:"UserClientIp"`
-	Lang         string `position:"Query" name:"Lang"`
+	InstanceId           string           `position:"Query" name:"InstanceId"`
+	UserClientIp         string           `position:"Query" name:"UserClientIp"`
+	Lang                 string           `position:"Query" name:"Lang"`
+	NeedDetailAttributes requests.Boolean `position:"Query" name:"NeedDetailAttributes"`
 }
 
 // DescribeGtmInstanceResponse is the response struct for api DescribeGtmInstance
 type DescribeGtmInstanceResponse struct {
 	*responses.BaseResponse
-	RequestId       string `json:"RequestId" xml:"RequestId"`
-	InstanceId      string `json:"InstanceId" xml:"InstanceId"`
-	InstanceName    string `json:"InstanceName" xml:"InstanceName"`
-	VersionCode     string `json:"VersionCode" xml:"VersionCode"`
-	ExpireTime      string `json:"ExpireTime" xml:"ExpireTime"`
-	ExpireTimestamp int64  `json:"ExpireTimestamp" xml:"ExpireTimestamp"`
-	Cname           string `json:"Cname" xml:"Cname"`
-	UserDomainName  string `json:"UserDomainName" xml:"UserDomainName"`
-	Ttl             int    `json:"Ttl" xml:"Ttl"`
-	LbaStrategy     string `json:"LbaStrategy" xml:"LbaStrategy"`
-	CreateTime      string `json:"CreateTime" xml:"CreateTime"`
-	CreateTimestamp int64  `json:"CreateTimestamp" xml:"CreateTimestamp"`
-	AlertGroup      string `json:"AlertGroup" xml:"AlertGroup"`
-	CnameMode       string `json:"CnameMode" xml:"CnameMode"`
+	RequestId         string `json:"RequestId" xml:"RequestId"`
+	InstanceId        string `json:"InstanceId" xml:"InstanceId"`
+	InstanceName      string `json:"InstanceName" xml:"InstanceName"`
+	VersionCode       string `json:"VersionCode" xml:"VersionCode"`
+	ExpireTime        string `json:"ExpireTime" xml:"ExpireTime"`
+	ExpireTimestamp   int64  `json:"ExpireTimestamp" xml:"ExpireTimestamp"`
+	Cname             string `json:"Cname" xml:"Cname"`
+	UserDomainName    string `json:"UserDomainName" xml:"UserDomainName"`
+	Ttl               int    `json:"Ttl" xml:"Ttl"`
+	LbaStrategy       string `json:"LbaStrategy" xml:"LbaStrategy"`
+	CreateTime        string `json:"CreateTime" xml:"CreateTime"`
+	CreateTimestamp   int64  `json:"CreateTimestamp" xml:"CreateTimestamp"`
+	AlertGroup        string `json:"AlertGroup" xml:"AlertGroup"`
+	CnameMode         string `json:"CnameMode" xml:"CnameMode"`
+	AccessStrategyNum int    `json:"AccessStrategyNum" xml:"AccessStrategyNum"`
+	AddressPoolNum    int    `json:"AddressPoolNum" xml:"AddressPoolNum"`
 }
 
 // CreateDescribeGtmInstanceRequest creates a request to invoke DescribeGtmInstance API
@@ -105,7 +108,7 @@ func CreateDescribeGtmInstanceRequest() (request *DescribeGtmInstanceRequest) {
 	request = &DescribeGtmInstanceRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeGtmInstance", "Alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeGtmInstance", "alidns", "openAPI")
 	return
 }
 

+ 15 - 15
services/alidns/describe_gtm_instance_address_pool.go

@@ -84,20 +84,20 @@ type DescribeGtmInstanceAddressPoolRequest struct {
 // DescribeGtmInstanceAddressPoolResponse is the response struct for api DescribeGtmInstanceAddressPool
 type DescribeGtmInstanceAddressPoolResponse struct {
 	*responses.BaseResponse
-	RequestId           string `json:"RequestId" xml:"RequestId"`
-	AddrPoolId          string `json:"AddrPoolId" xml:"AddrPoolId"`
-	CreateTime          string `json:"CreateTime" xml:"CreateTime"`
-	CreateTimestamp     int64  `json:"CreateTimestamp" xml:"CreateTimestamp"`
-	UpdateTime          string `json:"UpdateTime" xml:"UpdateTime"`
-	UpdateTimestamp     int64  `json:"UpdateTimestamp" xml:"UpdateTimestamp"`
-	AddrCount           int    `json:"AddrCount" xml:"AddrCount"`
-	MinAvailableAddrNum int    `json:"MinAvailableAddrNum" xml:"MinAvailableAddrNum"`
-	MonitorConfigId     string `json:"MonitorConfigId" xml:"MonitorConfigId"`
-	MonitorStatus       string `json:"MonitorStatus" xml:"MonitorStatus"`
-	Name                string `json:"Name" xml:"Name"`
-	Status              string `json:"Status" xml:"Status"`
-	Type                string `json:"Type" xml:"Type"`
-	Addrs               Addrs  `json:"Addrs" xml:"Addrs"`
+	RequestId           string                                `json:"RequestId" xml:"RequestId"`
+	AddrPoolId          string                                `json:"AddrPoolId" xml:"AddrPoolId"`
+	CreateTime          string                                `json:"CreateTime" xml:"CreateTime"`
+	CreateTimestamp     int64                                 `json:"CreateTimestamp" xml:"CreateTimestamp"`
+	UpdateTime          string                                `json:"UpdateTime" xml:"UpdateTime"`
+	UpdateTimestamp     int64                                 `json:"UpdateTimestamp" xml:"UpdateTimestamp"`
+	AddrCount           int                                   `json:"AddrCount" xml:"AddrCount"`
+	MinAvailableAddrNum int                                   `json:"MinAvailableAddrNum" xml:"MinAvailableAddrNum"`
+	MonitorConfigId     string                                `json:"MonitorConfigId" xml:"MonitorConfigId"`
+	MonitorStatus       string                                `json:"MonitorStatus" xml:"MonitorStatus"`
+	Name                string                                `json:"Name" xml:"Name"`
+	Status              string                                `json:"Status" xml:"Status"`
+	Type                string                                `json:"Type" xml:"Type"`
+	Addrs               AddrsInDescribeGtmInstanceAddressPool `json:"Addrs" xml:"Addrs"`
 }
 
 // CreateDescribeGtmInstanceAddressPoolRequest creates a request to invoke DescribeGtmInstanceAddressPool API
@@ -105,7 +105,7 @@ func CreateDescribeGtmInstanceAddressPoolRequest() (request *DescribeGtmInstance
 	request = &DescribeGtmInstanceAddressPoolRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeGtmInstanceAddressPool", "Alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeGtmInstanceAddressPool", "alidns", "openAPI")
 	return
 }
 

+ 2 - 2
services/alidns/describe_gtm_instance_address_pools.go

@@ -76,11 +76,11 @@ func (client *Client) DescribeGtmInstanceAddressPoolsWithCallback(request *Descr
 // DescribeGtmInstanceAddressPoolsRequest is the request struct for api DescribeGtmInstanceAddressPools
 type DescribeGtmInstanceAddressPoolsRequest struct {
 	*requests.RpcRequest
+	PageNumber   requests.Integer `position:"Query" name:"PageNumber"`
 	InstanceId   string           `position:"Query" name:"InstanceId"`
 	UserClientIp string           `position:"Query" name:"UserClientIp"`
 	PageSize     requests.Integer `position:"Query" name:"PageSize"`
 	Lang         string           `position:"Query" name:"Lang"`
-	PageNumber   requests.Integer `position:"Query" name:"PageNumber"`
 }
 
 // DescribeGtmInstanceAddressPoolsResponse is the response struct for api DescribeGtmInstanceAddressPools
@@ -99,7 +99,7 @@ func CreateDescribeGtmInstanceAddressPoolsRequest() (request *DescribeGtmInstanc
 	request = &DescribeGtmInstanceAddressPoolsRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeGtmInstanceAddressPools", "Alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeGtmInstanceAddressPools", "alidns", "openAPI")
 	return
 }
 

+ 6 - 4
services/alidns/describe_gtm_instance_status.go

@@ -84,9 +84,11 @@ type DescribeGtmInstanceStatusRequest struct {
 // DescribeGtmInstanceStatusResponse is the response struct for api DescribeGtmInstanceStatus
 type DescribeGtmInstanceStatusResponse struct {
 	*responses.BaseResponse
-	RequestId    string `json:"RequestId" xml:"RequestId"`
-	AccessStatus string `json:"AccessStatus" xml:"AccessStatus"`
-	AlertStatus  string `json:"AlertStatus" xml:"AlertStatus"`
+	RequestId                   string `json:"RequestId" xml:"RequestId"`
+	AddrNotAvailableNum         int    `json:"AddrNotAvailableNum" xml:"AddrNotAvailableNum"`
+	AddrPoolNotAvailableNum     int    `json:"AddrPoolNotAvailableNum" xml:"AddrPoolNotAvailableNum"`
+	SwitchToFailoverStrategyNum int    `json:"SwitchToFailoverStrategyNum" xml:"SwitchToFailoverStrategyNum"`
+	StrategyNotAvailableNum     int    `json:"StrategyNotAvailableNum" xml:"StrategyNotAvailableNum"`
 }
 
 // CreateDescribeGtmInstanceStatusRequest creates a request to invoke DescribeGtmInstanceStatus API
@@ -94,7 +96,7 @@ func CreateDescribeGtmInstanceStatusRequest() (request *DescribeGtmInstanceStatu
 	request = &DescribeGtmInstanceStatusRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeGtmInstanceStatus", "Alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeGtmInstanceStatus", "alidns", "openAPI")
 	return
 }
 

+ 1 - 1
services/alidns/describe_gtm_instance_system_cname.go

@@ -93,7 +93,7 @@ func CreateDescribeGtmInstanceSystemCnameRequest() (request *DescribeGtmInstance
 	request = &DescribeGtmInstanceSystemCnameRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeGtmInstanceSystemCname", "Alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeGtmInstanceSystemCname", "alidns", "openAPI")
 	return
 }
 

+ 8 - 7
services/alidns/describe_gtm_instances.go

@@ -76,12 +76,13 @@ func (client *Client) DescribeGtmInstancesWithCallback(request *DescribeGtmInsta
 // DescribeGtmInstancesRequest is the request struct for api DescribeGtmInstances
 type DescribeGtmInstancesRequest struct {
 	*requests.RpcRequest
-	ResourceGroupId string           `position:"Query" name:"ResourceGroupId"`
-	UserClientIp    string           `position:"Query" name:"UserClientIp"`
-	PageSize        requests.Integer `position:"Query" name:"PageSize"`
-	Lang            string           `position:"Query" name:"Lang"`
-	Keyword         string           `position:"Query" name:"Keyword"`
-	PageNumber      requests.Integer `position:"Query" name:"PageNumber"`
+	PageNumber           requests.Integer `position:"Query" name:"PageNumber"`
+	ResourceGroupId      string           `position:"Query" name:"ResourceGroupId"`
+	UserClientIp         string           `position:"Query" name:"UserClientIp"`
+	PageSize             requests.Integer `position:"Query" name:"PageSize"`
+	Lang                 string           `position:"Query" name:"Lang"`
+	Keyword              string           `position:"Query" name:"Keyword"`
+	NeedDetailAttributes requests.Boolean `position:"Query" name:"NeedDetailAttributes"`
 }
 
 // DescribeGtmInstancesResponse is the response struct for api DescribeGtmInstances
@@ -100,7 +101,7 @@ func CreateDescribeGtmInstancesRequest() (request *DescribeGtmInstancesRequest)
 	request = &DescribeGtmInstancesRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeGtmInstances", "Alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeGtmInstances", "alidns", "openAPI")
 	return
 }
 

+ 4 - 4
services/alidns/describe_gtm_logs.go

@@ -76,14 +76,14 @@ func (client *Client) DescribeGtmLogsWithCallback(request *DescribeGtmLogsReques
 // DescribeGtmLogsRequest is the request struct for api DescribeGtmLogs
 type DescribeGtmLogsRequest struct {
 	*requests.RpcRequest
+	StartTimestamp requests.Integer `position:"Query" name:"StartTimestamp"`
+	PageNumber     requests.Integer `position:"Query" name:"PageNumber"`
+	EndTimestamp   requests.Integer `position:"Query" name:"EndTimestamp"`
 	InstanceId     string           `position:"Query" name:"InstanceId"`
 	UserClientIp   string           `position:"Query" name:"UserClientIp"`
 	PageSize       requests.Integer `position:"Query" name:"PageSize"`
 	Lang           string           `position:"Query" name:"Lang"`
 	Keyword        string           `position:"Query" name:"Keyword"`
-	StartTimestamp requests.Integer `position:"Query" name:"StartTimestamp"`
-	PageNumber     requests.Integer `position:"Query" name:"PageNumber"`
-	EndTimestamp   requests.Integer `position:"Query" name:"EndTimestamp"`
 }
 
 // DescribeGtmLogsResponse is the response struct for api DescribeGtmLogs
@@ -102,7 +102,7 @@ func CreateDescribeGtmLogsRequest() (request *DescribeGtmLogsRequest) {
 	request = &DescribeGtmLogsRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeGtmLogs", "Alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeGtmLogs", "alidns", "openAPI")
 	return
 }
 

+ 1 - 1
services/alidns/describe_gtm_monitor_available_config.go

@@ -92,7 +92,7 @@ func CreateDescribeGtmMonitorAvailableConfigRequest() (request *DescribeGtmMonit
 	request = &DescribeGtmMonitorAvailableConfigRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeGtmMonitorAvailableConfig", "Alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeGtmMonitorAvailableConfig", "alidns", "openAPI")
 	return
 }
 

+ 2 - 3
services/alidns/describe_gtm_monitor_config.go

@@ -76,8 +76,8 @@ func (client *Client) DescribeGtmMonitorConfigWithCallback(request *DescribeGtmM
 // DescribeGtmMonitorConfigRequest is the request struct for api DescribeGtmMonitorConfig
 type DescribeGtmMonitorConfigRequest struct {
 	*requests.RpcRequest
-	UserClientIp    string `position:"Query" name:"UserClientIp"`
 	MonitorConfigId string `position:"Query" name:"MonitorConfigId"`
+	UserClientIp    string `position:"Query" name:"UserClientIp"`
 	Lang            string `position:"Query" name:"Lang"`
 }
 
@@ -90,7 +90,6 @@ type DescribeGtmMonitorConfigResponse struct {
 	CreateTimestamp   int64                                  `json:"CreateTimestamp" xml:"CreateTimestamp"`
 	UpdateTime        string                                 `json:"UpdateTime" xml:"UpdateTime"`
 	UpdateTimestamp   int64                                  `json:"UpdateTimestamp" xml:"UpdateTimestamp"`
-	Name              string                                 `json:"Name" xml:"Name"`
 	ProtocolType      string                                 `json:"ProtocolType" xml:"ProtocolType"`
 	Interval          int                                    `json:"Interval" xml:"Interval"`
 	EvaluationCount   int                                    `json:"EvaluationCount" xml:"EvaluationCount"`
@@ -104,7 +103,7 @@ func CreateDescribeGtmMonitorConfigRequest() (request *DescribeGtmMonitorConfigR
 	request = &DescribeGtmMonitorConfigRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeGtmMonitorConfig", "Alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeGtmMonitorConfig", "alidns", "openAPI")
 	return
 }
 

+ 119 - 0
services/alidns/describe_gtm_recovery_plan.go

@@ -0,0 +1,119 @@
+package alidns
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// DescribeGtmRecoveryPlan invokes the alidns.DescribeGtmRecoveryPlan API synchronously
+// api document: https://help.aliyun.com/api/alidns/describegtmrecoveryplan.html
+func (client *Client) DescribeGtmRecoveryPlan(request *DescribeGtmRecoveryPlanRequest) (response *DescribeGtmRecoveryPlanResponse, err error) {
+	response = CreateDescribeGtmRecoveryPlanResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeGtmRecoveryPlanWithChan invokes the alidns.DescribeGtmRecoveryPlan API asynchronously
+// api document: https://help.aliyun.com/api/alidns/describegtmrecoveryplan.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeGtmRecoveryPlanWithChan(request *DescribeGtmRecoveryPlanRequest) (<-chan *DescribeGtmRecoveryPlanResponse, <-chan error) {
+	responseChan := make(chan *DescribeGtmRecoveryPlanResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeGtmRecoveryPlan(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeGtmRecoveryPlanWithCallback invokes the alidns.DescribeGtmRecoveryPlan API asynchronously
+// api document: https://help.aliyun.com/api/alidns/describegtmrecoveryplan.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeGtmRecoveryPlanWithCallback(request *DescribeGtmRecoveryPlanRequest, callback func(response *DescribeGtmRecoveryPlanResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeGtmRecoveryPlanResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeGtmRecoveryPlan(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeGtmRecoveryPlanRequest is the request struct for api DescribeGtmRecoveryPlan
+type DescribeGtmRecoveryPlanRequest struct {
+	*requests.RpcRequest
+	UserClientIp   string           `position:"Query" name:"UserClientIp"`
+	RecoveryPlanId requests.Integer `position:"Query" name:"RecoveryPlanId"`
+	Lang           string           `position:"Query" name:"Lang"`
+}
+
+// DescribeGtmRecoveryPlanResponse is the response struct for api DescribeGtmRecoveryPlan
+type DescribeGtmRecoveryPlanResponse struct {
+	*responses.BaseResponse
+	RequestId             string         `json:"RequestId" xml:"RequestId"`
+	RecoveryPlanId        int64          `json:"RecoveryPlanId" xml:"RecoveryPlanId"`
+	Name                  string         `json:"Name" xml:"Name"`
+	Remark                string         `json:"Remark" xml:"Remark"`
+	FaultAddrPoolNum      int            `json:"FaultAddrPoolNum" xml:"FaultAddrPoolNum"`
+	Status                string         `json:"Status" xml:"Status"`
+	LastExecuteTime       string         `json:"LastExecuteTime" xml:"LastExecuteTime"`
+	LastExecuteTimestamp  int64          `json:"LastExecuteTimestamp" xml:"LastExecuteTimestamp"`
+	LastRollbackTime      string         `json:"LastRollbackTime" xml:"LastRollbackTime"`
+	LastRollbackTimestamp int64          `json:"LastRollbackTimestamp" xml:"LastRollbackTimestamp"`
+	CreateTime            string         `json:"CreateTime" xml:"CreateTime"`
+	CreateTimestamp       int64          `json:"CreateTimestamp" xml:"CreateTimestamp"`
+	UpdateTime            string         `json:"UpdateTime" xml:"UpdateTime"`
+	UpdateTimestamp       int64          `json:"UpdateTimestamp" xml:"UpdateTimestamp"`
+	FaultAddrPools        FaultAddrPools `json:"FaultAddrPools" xml:"FaultAddrPools"`
+}
+
+// CreateDescribeGtmRecoveryPlanRequest creates a request to invoke DescribeGtmRecoveryPlan API
+func CreateDescribeGtmRecoveryPlanRequest() (request *DescribeGtmRecoveryPlanRequest) {
+	request = &DescribeGtmRecoveryPlanRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeGtmRecoveryPlan", "alidns", "openAPI")
+	return
+}
+
+// CreateDescribeGtmRecoveryPlanResponse creates a response to parse from DescribeGtmRecoveryPlan response
+func CreateDescribeGtmRecoveryPlanResponse() (response *DescribeGtmRecoveryPlanResponse) {
+	response = &DescribeGtmRecoveryPlanResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 105 - 0
services/alidns/describe_gtm_recovery_plan_available_config.go

@@ -0,0 +1,105 @@
+package alidns
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// DescribeGtmRecoveryPlanAvailableConfig invokes the alidns.DescribeGtmRecoveryPlanAvailableConfig API synchronously
+// api document: https://help.aliyun.com/api/alidns/describegtmrecoveryplanavailableconfig.html
+func (client *Client) DescribeGtmRecoveryPlanAvailableConfig(request *DescribeGtmRecoveryPlanAvailableConfigRequest) (response *DescribeGtmRecoveryPlanAvailableConfigResponse, err error) {
+	response = CreateDescribeGtmRecoveryPlanAvailableConfigResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeGtmRecoveryPlanAvailableConfigWithChan invokes the alidns.DescribeGtmRecoveryPlanAvailableConfig API asynchronously
+// api document: https://help.aliyun.com/api/alidns/describegtmrecoveryplanavailableconfig.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeGtmRecoveryPlanAvailableConfigWithChan(request *DescribeGtmRecoveryPlanAvailableConfigRequest) (<-chan *DescribeGtmRecoveryPlanAvailableConfigResponse, <-chan error) {
+	responseChan := make(chan *DescribeGtmRecoveryPlanAvailableConfigResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeGtmRecoveryPlanAvailableConfig(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeGtmRecoveryPlanAvailableConfigWithCallback invokes the alidns.DescribeGtmRecoveryPlanAvailableConfig API asynchronously
+// api document: https://help.aliyun.com/api/alidns/describegtmrecoveryplanavailableconfig.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeGtmRecoveryPlanAvailableConfigWithCallback(request *DescribeGtmRecoveryPlanAvailableConfigRequest, callback func(response *DescribeGtmRecoveryPlanAvailableConfigResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeGtmRecoveryPlanAvailableConfigResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeGtmRecoveryPlanAvailableConfig(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeGtmRecoveryPlanAvailableConfigRequest is the request struct for api DescribeGtmRecoveryPlanAvailableConfig
+type DescribeGtmRecoveryPlanAvailableConfigRequest struct {
+	*requests.RpcRequest
+	UserClientIp string `position:"Query" name:"UserClientIp"`
+	Lang         string `position:"Query" name:"Lang"`
+}
+
+// DescribeGtmRecoveryPlanAvailableConfigResponse is the response struct for api DescribeGtmRecoveryPlanAvailableConfig
+type DescribeGtmRecoveryPlanAvailableConfigResponse struct {
+	*responses.BaseResponse
+	RequestId string    `json:"RequestId" xml:"RequestId"`
+	Instances Instances `json:"Instances" xml:"Instances"`
+}
+
+// CreateDescribeGtmRecoveryPlanAvailableConfigRequest creates a request to invoke DescribeGtmRecoveryPlanAvailableConfig API
+func CreateDescribeGtmRecoveryPlanAvailableConfigRequest() (request *DescribeGtmRecoveryPlanAvailableConfigRequest) {
+	request = &DescribeGtmRecoveryPlanAvailableConfigRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeGtmRecoveryPlanAvailableConfig", "alidns", "openAPI")
+	return
+}
+
+// CreateDescribeGtmRecoveryPlanAvailableConfigResponse creates a response to parse from DescribeGtmRecoveryPlanAvailableConfig response
+func CreateDescribeGtmRecoveryPlanAvailableConfigResponse() (response *DescribeGtmRecoveryPlanAvailableConfigResponse) {
+	response = &DescribeGtmRecoveryPlanAvailableConfigResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 112 - 0
services/alidns/describe_gtm_recovery_plans.go

@@ -0,0 +1,112 @@
+package alidns
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// DescribeGtmRecoveryPlans invokes the alidns.DescribeGtmRecoveryPlans API synchronously
+// api document: https://help.aliyun.com/api/alidns/describegtmrecoveryplans.html
+func (client *Client) DescribeGtmRecoveryPlans(request *DescribeGtmRecoveryPlansRequest) (response *DescribeGtmRecoveryPlansResponse, err error) {
+	response = CreateDescribeGtmRecoveryPlansResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeGtmRecoveryPlansWithChan invokes the alidns.DescribeGtmRecoveryPlans API asynchronously
+// api document: https://help.aliyun.com/api/alidns/describegtmrecoveryplans.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeGtmRecoveryPlansWithChan(request *DescribeGtmRecoveryPlansRequest) (<-chan *DescribeGtmRecoveryPlansResponse, <-chan error) {
+	responseChan := make(chan *DescribeGtmRecoveryPlansResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeGtmRecoveryPlans(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeGtmRecoveryPlansWithCallback invokes the alidns.DescribeGtmRecoveryPlans API asynchronously
+// api document: https://help.aliyun.com/api/alidns/describegtmrecoveryplans.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeGtmRecoveryPlansWithCallback(request *DescribeGtmRecoveryPlansRequest, callback func(response *DescribeGtmRecoveryPlansResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeGtmRecoveryPlansResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeGtmRecoveryPlans(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeGtmRecoveryPlansRequest is the request struct for api DescribeGtmRecoveryPlans
+type DescribeGtmRecoveryPlansRequest struct {
+	*requests.RpcRequest
+	PageNumber   requests.Integer `position:"Query" name:"PageNumber"`
+	UserClientIp string           `position:"Query" name:"UserClientIp"`
+	PageSize     requests.Integer `position:"Query" name:"PageSize"`
+	Lang         string           `position:"Query" name:"Lang"`
+	Keyword      string           `position:"Query" name:"Keyword"`
+}
+
+// DescribeGtmRecoveryPlansResponse is the response struct for api DescribeGtmRecoveryPlans
+type DescribeGtmRecoveryPlansResponse struct {
+	*responses.BaseResponse
+	RequestId     string        `json:"RequestId" xml:"RequestId"`
+	TotalItems    int           `json:"TotalItems" xml:"TotalItems"`
+	TotalPages    int           `json:"TotalPages" xml:"TotalPages"`
+	PageNumber    int           `json:"PageNumber" xml:"PageNumber"`
+	PageSize      int           `json:"PageSize" xml:"PageSize"`
+	RecoveryPlans RecoveryPlans `json:"RecoveryPlans" xml:"RecoveryPlans"`
+}
+
+// CreateDescribeGtmRecoveryPlansRequest creates a request to invoke DescribeGtmRecoveryPlans API
+func CreateDescribeGtmRecoveryPlansRequest() (request *DescribeGtmRecoveryPlansRequest) {
+	request = &DescribeGtmRecoveryPlansRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeGtmRecoveryPlans", "alidns", "openAPI")
+	return
+}
+
+// CreateDescribeGtmRecoveryPlansResponse creates a response to parse from DescribeGtmRecoveryPlans response
+func CreateDescribeGtmRecoveryPlansResponse() (response *DescribeGtmRecoveryPlansResponse) {
+	response = &DescribeGtmRecoveryPlansResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 4 - 4
services/alidns/describe_record_logs.go

@@ -76,14 +76,14 @@ func (client *Client) DescribeRecordLogsWithCallback(request *DescribeRecordLogs
 // DescribeRecordLogsRequest is the request struct for api DescribeRecordLogs
 type DescribeRecordLogsRequest struct {
 	*requests.RpcRequest
+	DomainName   string           `position:"Query" name:"DomainName"`
+	StartDate    string           `position:"Query" name:"StartDate"`
+	PageNumber   requests.Integer `position:"Query" name:"PageNumber"`
 	EndDate      string           `position:"Query" name:"endDate"`
 	UserClientIp string           `position:"Query" name:"UserClientIp"`
-	DomainName   string           `position:"Query" name:"DomainName"`
 	PageSize     requests.Integer `position:"Query" name:"PageSize"`
 	Lang         string           `position:"Query" name:"Lang"`
 	KeyWord      string           `position:"Query" name:"KeyWord"`
-	StartDate    string           `position:"Query" name:"StartDate"`
-	PageNumber   requests.Integer `position:"Query" name:"PageNumber"`
 }
 
 // DescribeRecordLogsResponse is the response struct for api DescribeRecordLogs
@@ -101,7 +101,7 @@ func CreateDescribeRecordLogsRequest() (request *DescribeRecordLogsRequest) {
 	request = &DescribeRecordLogsRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeRecordLogs", "Alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeRecordLogs", "alidns", "openAPI")
 	return
 }
 

+ 3 - 3
services/alidns/describe_record_statistics.go

@@ -77,11 +77,11 @@ func (client *Client) DescribeRecordStatisticsWithCallback(request *DescribeReco
 type DescribeRecordStatisticsRequest struct {
 	*requests.RpcRequest
 	Rr           string `position:"Query" name:"Rr"`
+	DomainName   string `position:"Query" name:"DomainName"`
+	StartDate    string `position:"Query" name:"StartDate"`
 	EndDate      string `position:"Query" name:"EndDate"`
 	UserClientIp string `position:"Query" name:"UserClientIp"`
-	DomainName   string `position:"Query" name:"DomainName"`
 	Lang         string `position:"Query" name:"Lang"`
-	StartDate    string `position:"Query" name:"StartDate"`
 }
 
 // DescribeRecordStatisticsResponse is the response struct for api DescribeRecordStatistics
@@ -96,7 +96,7 @@ func CreateDescribeRecordStatisticsRequest() (request *DescribeRecordStatisticsR
 	request = &DescribeRecordStatisticsRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeRecordStatistics", "Alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeRecordStatistics", "alidns", "openAPI")
 	return
 }
 

+ 0 - 109
services/alidns/describe_record_statistics_history.go

@@ -1,109 +0,0 @@
-package alidns
-
-//Licensed under the Apache License, Version 2.0 (the "License");
-//you may not use this file except in compliance with the License.
-//You may obtain a copy of the License at
-//
-//http://www.apache.org/licenses/LICENSE-2.0
-//
-//Unless required by applicable law or agreed to in writing, software
-//distributed under the License is distributed on an "AS IS" BASIS,
-//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//See the License for the specific language governing permissions and
-//limitations under the License.
-//
-// Code generated by Alibaba Cloud SDK Code Generator.
-// Changes may cause incorrect behavior and will be lost if the code is regenerated.
-
-import (
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
-)
-
-// DescribeRecordStatisticsHistory invokes the alidns.DescribeRecordStatisticsHistory API synchronously
-// api document: https://help.aliyun.com/api/alidns/describerecordstatisticshistory.html
-func (client *Client) DescribeRecordStatisticsHistory(request *DescribeRecordStatisticsHistoryRequest) (response *DescribeRecordStatisticsHistoryResponse, err error) {
-	response = CreateDescribeRecordStatisticsHistoryResponse()
-	err = client.DoAction(request, response)
-	return
-}
-
-// DescribeRecordStatisticsHistoryWithChan invokes the alidns.DescribeRecordStatisticsHistory API asynchronously
-// api document: https://help.aliyun.com/api/alidns/describerecordstatisticshistory.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) DescribeRecordStatisticsHistoryWithChan(request *DescribeRecordStatisticsHistoryRequest) (<-chan *DescribeRecordStatisticsHistoryResponse, <-chan error) {
-	responseChan := make(chan *DescribeRecordStatisticsHistoryResponse, 1)
-	errChan := make(chan error, 1)
-	err := client.AddAsyncTask(func() {
-		defer close(responseChan)
-		defer close(errChan)
-		response, err := client.DescribeRecordStatisticsHistory(request)
-		if err != nil {
-			errChan <- err
-		} else {
-			responseChan <- response
-		}
-	})
-	if err != nil {
-		errChan <- err
-		close(responseChan)
-		close(errChan)
-	}
-	return responseChan, errChan
-}
-
-// DescribeRecordStatisticsHistoryWithCallback invokes the alidns.DescribeRecordStatisticsHistory API asynchronously
-// api document: https://help.aliyun.com/api/alidns/describerecordstatisticshistory.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) DescribeRecordStatisticsHistoryWithCallback(request *DescribeRecordStatisticsHistoryRequest, callback func(response *DescribeRecordStatisticsHistoryResponse, err error)) <-chan int {
-	result := make(chan int, 1)
-	err := client.AddAsyncTask(func() {
-		var response *DescribeRecordStatisticsHistoryResponse
-		var err error
-		defer close(result)
-		response, err = client.DescribeRecordStatisticsHistory(request)
-		callback(response, err)
-		result <- 1
-	})
-	if err != nil {
-		defer close(result)
-		callback(nil, err)
-		result <- 0
-	}
-	return result
-}
-
-// DescribeRecordStatisticsHistoryRequest is the request struct for api DescribeRecordStatisticsHistory
-type DescribeRecordStatisticsHistoryRequest struct {
-	*requests.RpcRequest
-	Rr           string `position:"Query" name:"Rr"`
-	EndDate      string `position:"Query" name:"EndDate"`
-	UserClientIp string `position:"Query" name:"UserClientIp"`
-	DomainName   string `position:"Query" name:"DomainName"`
-	Lang         string `position:"Query" name:"Lang"`
-	StartDate    string `position:"Query" name:"StartDate"`
-}
-
-// DescribeRecordStatisticsHistoryResponse is the response struct for api DescribeRecordStatisticsHistory
-type DescribeRecordStatisticsHistoryResponse struct {
-	*responses.BaseResponse
-	RequestId  string                                      `json:"RequestId" xml:"RequestId"`
-	Statistics StatisticsInDescribeRecordStatisticsHistory `json:"Statistics" xml:"Statistics"`
-}
-
-// CreateDescribeRecordStatisticsHistoryRequest creates a request to invoke DescribeRecordStatisticsHistory API
-func CreateDescribeRecordStatisticsHistoryRequest() (request *DescribeRecordStatisticsHistoryRequest) {
-	request = &DescribeRecordStatisticsHistoryRequest{
-		RpcRequest: &requests.RpcRequest{},
-	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeRecordStatisticsHistory", "Alidns", "openAPI")
-	return
-}
-
-// CreateDescribeRecordStatisticsHistoryResponse creates a response to parse from DescribeRecordStatisticsHistory response
-func CreateDescribeRecordStatisticsHistoryResponse() (response *DescribeRecordStatisticsHistoryResponse) {
-	response = &DescribeRecordStatisticsHistoryResponse{
-		BaseResponse: &responses.BaseResponse{},
-	}
-	return
-}

+ 9 - 9
services/alidns/describe_record_statistics_summary.go

@@ -76,18 +76,18 @@ func (client *Client) DescribeRecordStatisticsSummaryWithCallback(request *Descr
 // DescribeRecordStatisticsSummaryRequest is the request struct for api DescribeRecordStatisticsSummary
 type DescribeRecordStatisticsSummaryRequest struct {
 	*requests.RpcRequest
-	EndDate      string           `position:"Query" name:"EndDate"`
-	UserClientIp string           `position:"Query" name:"UserClientIp"`
-	PageSize     requests.Integer `position:"Query" name:"PageSize"`
-	DomainName   string           `position:"Query" name:"DomainName"`
-	OrderBy      string           `position:"Query" name:"OrderBy"`
-	SearchMode   string           `position:"Query" name:"SearchMode"`
 	Threshold    requests.Integer `position:"Query" name:"Threshold"`
-	Lang         string           `position:"Query" name:"Lang"`
 	StartDate    string           `position:"Query" name:"StartDate"`
-	Keyword      string           `position:"Query" name:"Keyword"`
 	PageNumber   requests.Integer `position:"Query" name:"PageNumber"`
+	PageSize     requests.Integer `position:"Query" name:"PageSize"`
+	Lang         string           `position:"Query" name:"Lang"`
+	Keyword      string           `position:"Query" name:"Keyword"`
 	Direction    string           `position:"Query" name:"Direction"`
+	DomainName   string           `position:"Query" name:"DomainName"`
+	OrderBy      string           `position:"Query" name:"OrderBy"`
+	EndDate      string           `position:"Query" name:"EndDate"`
+	UserClientIp string           `position:"Query" name:"UserClientIp"`
+	SearchMode   string           `position:"Query" name:"SearchMode"`
 }
 
 // DescribeRecordStatisticsSummaryResponse is the response struct for api DescribeRecordStatisticsSummary
@@ -106,7 +106,7 @@ func CreateDescribeRecordStatisticsSummaryRequest() (request *DescribeRecordStat
 	request = &DescribeRecordStatisticsSummaryRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeRecordStatisticsSummary", "Alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeRecordStatisticsSummary", "alidns", "openAPI")
 	return
 }
 

+ 4 - 3
services/alidns/describe_sub_domain_records.go

@@ -77,12 +77,13 @@ func (client *Client) DescribeSubDomainRecordsWithCallback(request *DescribeSubD
 type DescribeSubDomainRecordsRequest struct {
 	*requests.RpcRequest
 	Line         string           `position:"Query" name:"Line"`
+	DomainName   string           `position:"Query" name:"DomainName"`
+	Type         string           `position:"Query" name:"Type"`
+	PageNumber   requests.Integer `position:"Query" name:"PageNumber"`
 	UserClientIp string           `position:"Query" name:"UserClientIp"`
 	PageSize     requests.Integer `position:"Query" name:"PageSize"`
 	SubDomain    string           `position:"Query" name:"SubDomain"`
 	Lang         string           `position:"Query" name:"Lang"`
-	Type         string           `position:"Query" name:"Type"`
-	PageNumber   requests.Integer `position:"Query" name:"PageNumber"`
 }
 
 // DescribeSubDomainRecordsResponse is the response struct for api DescribeSubDomainRecords
@@ -100,7 +101,7 @@ func CreateDescribeSubDomainRecordsRequest() (request *DescribeSubDomainRecordsR
 	request = &DescribeSubDomainRecordsRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeSubDomainRecords", "Alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeSubDomainRecords", "alidns", "openAPI")
 	return
 }
 

+ 2 - 2
services/alidns/describe_support_lines.go

@@ -76,8 +76,8 @@ func (client *Client) DescribeSupportLinesWithCallback(request *DescribeSupportL
 // DescribeSupportLinesRequest is the request struct for api DescribeSupportLines
 type DescribeSupportLinesRequest struct {
 	*requests.RpcRequest
-	UserClientIp string `position:"Query" name:"UserClientIp"`
 	DomainName   string `position:"Query" name:"DomainName"`
+	UserClientIp string `position:"Query" name:"UserClientIp"`
 	Lang         string `position:"Query" name:"Lang"`
 }
 
@@ -93,7 +93,7 @@ func CreateDescribeSupportLinesRequest() (request *DescribeSupportLinesRequest)
 	request = &DescribeSupportLinesRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeSupportLines", "Alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeSupportLines", "alidns", "openAPI")
 	return
 }
 

+ 74 - 0
services/alidns/endpoint.go

@@ -0,0 +1,74 @@
+package alidns
+
+// EndpointMap Endpoint Data
+var EndpointMap map[string]string
+
+// EndpointType regional or central
+var EndpointType = "central"
+
+// GetEndpointMap Get Endpoint Data Map
+func GetEndpointMap() map[string]string {
+	if EndpointMap == nil {
+		EndpointMap = map[string]string{
+			"cn-shanghai-internal-test-1": "dns.aliyuncs.com",
+			"cn-shenzhen-su18-b01":        "dns.aliyuncs.com",
+			"cn-beijing":                  "alidns.cn-beijing.aliyuncs.com",
+			"cn-shanghai-inner":           "dns.aliyuncs.com",
+			"cn-hangzhou-internal-prod-1": "dns.aliyuncs.com",
+			"cn-north-2-gov-1":            "dns.aliyuncs.com",
+			"cn-yushanfang":               "dns.aliyuncs.com",
+			"cn-qingdao-nebula":           "dns.aliyuncs.com",
+			"cn-beijing-finance-pop":      "dns.aliyuncs.com",
+			"cn-wuhan":                    "dns.aliyuncs.com",
+			"cn-zhangjiakou":              "alidns.cn-zhangjiakou.aliyuncs.com",
+			"us-west-1":                   "alidns.ap-southeast-1.aliyuncs.com",
+			"rus-west-1-pop":              "alidns.ap-southeast-1.aliyuncs.com",
+			"cn-shanghai-et15-b01":        "dns.aliyuncs.com",
+			"cn-hangzhou-bj-b01":          "dns.aliyuncs.com",
+			"cn-zhangbei-na61-b01":        "dns.aliyuncs.com",
+			"ap-northeast-1":              "alidns.ap-southeast-1.aliyuncs.com",
+			"cn-shanghai-et2-b01":         "dns.aliyuncs.com",
+			"ap-southeast-1":              "alidns.ap-southeast-1.aliyuncs.com",
+			"ap-southeast-2":              "alidns.ap-southeast-1.aliyuncs.com",
+			"ap-southeast-3":              "alidns.ap-southeast-1.aliyuncs.com",
+			"ap-southeast-5":              "alidns.ap-southeast-1.aliyuncs.com",
+			"us-east-1":                   "alidns.ap-southeast-1.aliyuncs.com",
+			"cn-shenzhen-inner":           "dns.aliyuncs.com",
+			"cn-zhangjiakou-na62-a01":     "dns.aliyuncs.com",
+			"cn-beijing-gov-1":            "dns.aliyuncs.com",
+			"ap-south-1":                  "alidns.ap-southeast-1.aliyuncs.com",
+			"cn-shenzhen-st4-d01":         "dns.aliyuncs.com",
+			"cn-haidian-cm12-c01":         "dns.aliyuncs.com",
+			"cn-qingdao":                  "dns.aliyuncs.com",
+			"cn-hongkong-finance-pop":     "dns.aliyuncs.com",
+			"cn-shanghai":                 "alidns.cn-shanghai.aliyuncs.com",
+			"cn-shanghai-finance-1":       "dns.aliyuncs.com",
+			"cn-hongkong":                 "alidns.cn-hongkong.aliyuncs.com",
+			"eu-central-1":                "alidns.eu-central-1.aliyuncs.com",
+			"cn-shenzhen":                 "alidns.cn-shenzhen.aliyuncs.com",
+			"cn-zhengzhou-nebula-1":       "dns.aliyuncs.com",
+			"eu-west-1":                   "alidns.ap-southeast-1.aliyuncs.com",
+			"cn-hangzhou-internal-test-1": "dns.aliyuncs.com",
+			"eu-west-1-oxs":               "alidns.ap-southeast-1.aliyuncs.com",
+			"cn-beijing-finance-1":        "dns.aliyuncs.com",
+			"cn-hangzhou-internal-test-3": "dns.aliyuncs.com",
+			"cn-hangzhou-internal-test-2": "dns.aliyuncs.com",
+			"cn-shenzhen-finance-1":       "dns.aliyuncs.com",
+			"me-east-1":                   "alidns.ap-southeast-1.aliyuncs.com",
+			"cn-chengdu":                  "dns.aliyuncs.com",
+			"cn-hangzhou-test-306":        "dns.aliyuncs.com",
+			"cn-hangzhou-finance":         "dns.aliyuncs.com",
+			"cn-beijing-nu16-b01":         "dns.aliyuncs.com",
+			"cn-edge-1":                   "dns.aliyuncs.com",
+			"cn-huhehaote":                "alidns.cn-huhehaote.aliyuncs.com",
+			"cn-fujian":                   "dns.aliyuncs.com",
+			"ap-northeast-2-pop":          "alidns.ap-southeast-1.aliyuncs.com",
+		}
+	}
+	return EndpointMap
+}
+
+// GetEndpointType Get Endpoint Type Value
+func GetEndpointType() string {
+	return EndpointType
+}

+ 105 - 0
services/alidns/execute_gtm_recovery_plan.go

@@ -0,0 +1,105 @@
+package alidns
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// ExecuteGtmRecoveryPlan invokes the alidns.ExecuteGtmRecoveryPlan API synchronously
+// api document: https://help.aliyun.com/api/alidns/executegtmrecoveryplan.html
+func (client *Client) ExecuteGtmRecoveryPlan(request *ExecuteGtmRecoveryPlanRequest) (response *ExecuteGtmRecoveryPlanResponse, err error) {
+	response = CreateExecuteGtmRecoveryPlanResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ExecuteGtmRecoveryPlanWithChan invokes the alidns.ExecuteGtmRecoveryPlan API asynchronously
+// api document: https://help.aliyun.com/api/alidns/executegtmrecoveryplan.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ExecuteGtmRecoveryPlanWithChan(request *ExecuteGtmRecoveryPlanRequest) (<-chan *ExecuteGtmRecoveryPlanResponse, <-chan error) {
+	responseChan := make(chan *ExecuteGtmRecoveryPlanResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ExecuteGtmRecoveryPlan(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ExecuteGtmRecoveryPlanWithCallback invokes the alidns.ExecuteGtmRecoveryPlan API asynchronously
+// api document: https://help.aliyun.com/api/alidns/executegtmrecoveryplan.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ExecuteGtmRecoveryPlanWithCallback(request *ExecuteGtmRecoveryPlanRequest, callback func(response *ExecuteGtmRecoveryPlanResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ExecuteGtmRecoveryPlanResponse
+		var err error
+		defer close(result)
+		response, err = client.ExecuteGtmRecoveryPlan(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ExecuteGtmRecoveryPlanRequest is the request struct for api ExecuteGtmRecoveryPlan
+type ExecuteGtmRecoveryPlanRequest struct {
+	*requests.RpcRequest
+	UserClientIp   string           `position:"Query" name:"UserClientIp"`
+	RecoveryPlanId requests.Integer `position:"Query" name:"RecoveryPlanId"`
+	Lang           string           `position:"Query" name:"Lang"`
+}
+
+// ExecuteGtmRecoveryPlanResponse is the response struct for api ExecuteGtmRecoveryPlan
+type ExecuteGtmRecoveryPlanResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateExecuteGtmRecoveryPlanRequest creates a request to invoke ExecuteGtmRecoveryPlan API
+func CreateExecuteGtmRecoveryPlanRequest() (request *ExecuteGtmRecoveryPlanRequest) {
+	request = &ExecuteGtmRecoveryPlanRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Alidns", "2015-01-09", "ExecuteGtmRecoveryPlan", "alidns", "openAPI")
+	return
+}
+
+// CreateExecuteGtmRecoveryPlanResponse creates a response to parse from ExecuteGtmRecoveryPlan response
+func CreateExecuteGtmRecoveryPlanResponse() (response *ExecuteGtmRecoveryPlanResponse) {
+	response = &ExecuteGtmRecoveryPlanResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 1 - 1
services/alidns/get_main_domain_name.go

@@ -95,7 +95,7 @@ func CreateGetMainDomainNameRequest() (request *GetMainDomainNameRequest) {
 	request = &GetMainDomainNameRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "GetMainDomainName", "Alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "GetMainDomainName", "alidns", "openAPI")
 	return
 }
 

+ 2 - 2
services/alidns/modify_hichina_domain_dns.go

@@ -76,8 +76,8 @@ func (client *Client) ModifyHichinaDomainDNSWithCallback(request *ModifyHichinaD
 // ModifyHichinaDomainDNSRequest is the request struct for api ModifyHichinaDomainDNS
 type ModifyHichinaDomainDNSRequest struct {
 	*requests.RpcRequest
-	UserClientIp string `position:"Query" name:"UserClientIp"`
 	DomainName   string `position:"Query" name:"DomainName"`
+	UserClientIp string `position:"Query" name:"UserClientIp"`
 	Lang         string `position:"Query" name:"Lang"`
 }
 
@@ -94,7 +94,7 @@ func CreateModifyHichinaDomainDNSRequest() (request *ModifyHichinaDomainDNSReque
 	request = &ModifyHichinaDomainDNSRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "ModifyHichinaDomainDNS", "Alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "ModifyHichinaDomainDNS", "alidns", "openAPI")
 	return
 }
 

+ 3 - 3
services/alidns/operate_batch_domain.go

@@ -76,10 +76,10 @@ func (client *Client) OperateBatchDomainWithCallback(request *OperateBatchDomain
 // OperateBatchDomainRequest is the request struct for api OperateBatchDomain
 type OperateBatchDomainRequest struct {
 	*requests.RpcRequest
-	UserClientIp     string                                `position:"Query" name:"UserClientIp"`
 	DomainRecordInfo *[]OperateBatchDomainDomainRecordInfo `position:"Query" name:"DomainRecordInfo"  type:"Repeated"`
-	Lang             string                                `position:"Query" name:"Lang"`
 	Type             string                                `position:"Query" name:"Type"`
+	UserClientIp     string                                `position:"Query" name:"UserClientIp"`
+	Lang             string                                `position:"Query" name:"Lang"`
 }
 
 // OperateBatchDomainDomainRecordInfo is a repeated param struct in OperateBatchDomainRequest
@@ -108,7 +108,7 @@ func CreateOperateBatchDomainRequest() (request *OperateBatchDomainRequest) {
 	request = &OperateBatchDomainRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "OperateBatchDomain", "Alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "OperateBatchDomain", "alidns", "openAPI")
 	return
 }
 

+ 112 - 0
services/alidns/preview_gtm_recovery_plan.go

@@ -0,0 +1,112 @@
+package alidns
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// PreviewGtmRecoveryPlan invokes the alidns.PreviewGtmRecoveryPlan API synchronously
+// api document: https://help.aliyun.com/api/alidns/previewgtmrecoveryplan.html
+func (client *Client) PreviewGtmRecoveryPlan(request *PreviewGtmRecoveryPlanRequest) (response *PreviewGtmRecoveryPlanResponse, err error) {
+	response = CreatePreviewGtmRecoveryPlanResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// PreviewGtmRecoveryPlanWithChan invokes the alidns.PreviewGtmRecoveryPlan API asynchronously
+// api document: https://help.aliyun.com/api/alidns/previewgtmrecoveryplan.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) PreviewGtmRecoveryPlanWithChan(request *PreviewGtmRecoveryPlanRequest) (<-chan *PreviewGtmRecoveryPlanResponse, <-chan error) {
+	responseChan := make(chan *PreviewGtmRecoveryPlanResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.PreviewGtmRecoveryPlan(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// PreviewGtmRecoveryPlanWithCallback invokes the alidns.PreviewGtmRecoveryPlan API asynchronously
+// api document: https://help.aliyun.com/api/alidns/previewgtmrecoveryplan.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) PreviewGtmRecoveryPlanWithCallback(request *PreviewGtmRecoveryPlanRequest, callback func(response *PreviewGtmRecoveryPlanResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *PreviewGtmRecoveryPlanResponse
+		var err error
+		defer close(result)
+		response, err = client.PreviewGtmRecoveryPlan(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// PreviewGtmRecoveryPlanRequest is the request struct for api PreviewGtmRecoveryPlan
+type PreviewGtmRecoveryPlanRequest struct {
+	*requests.RpcRequest
+	PageNumber     requests.Integer `position:"Query" name:"PageNumber"`
+	UserClientIp   string           `position:"Query" name:"UserClientIp"`
+	PageSize       requests.Integer `position:"Query" name:"PageSize"`
+	RecoveryPlanId requests.Integer `position:"Query" name:"RecoveryPlanId"`
+	Lang           string           `position:"Query" name:"Lang"`
+}
+
+// PreviewGtmRecoveryPlanResponse is the response struct for api PreviewGtmRecoveryPlan
+type PreviewGtmRecoveryPlanResponse struct {
+	*responses.BaseResponse
+	RequestId  string   `json:"RequestId" xml:"RequestId"`
+	TotalItems int      `json:"TotalItems" xml:"TotalItems"`
+	TotalPages int      `json:"TotalPages" xml:"TotalPages"`
+	PageSize   int      `json:"PageSize" xml:"PageSize"`
+	PageNumber int      `json:"PageNumber" xml:"PageNumber"`
+	Previews   Previews `json:"Previews" xml:"Previews"`
+}
+
+// CreatePreviewGtmRecoveryPlanRequest creates a request to invoke PreviewGtmRecoveryPlan API
+func CreatePreviewGtmRecoveryPlanRequest() (request *PreviewGtmRecoveryPlanRequest) {
+	request = &PreviewGtmRecoveryPlanRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Alidns", "2015-01-09", "PreviewGtmRecoveryPlan", "alidns", "openAPI")
+	return
+}
+
+// CreatePreviewGtmRecoveryPlanResponse creates a response to parse from PreviewGtmRecoveryPlan response
+func CreatePreviewGtmRecoveryPlanResponse() (response *PreviewGtmRecoveryPlanResponse) {
+	response = &PreviewGtmRecoveryPlanResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 0 - 112
services/alidns/query_create_instance_price.go

@@ -1,112 +0,0 @@
-package alidns
-
-//Licensed under the Apache License, Version 2.0 (the "License");
-//you may not use this file except in compliance with the License.
-//You may obtain a copy of the License at
-//
-//http://www.apache.org/licenses/LICENSE-2.0
-//
-//Unless required by applicable law or agreed to in writing, software
-//distributed under the License is distributed on an "AS IS" BASIS,
-//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//See the License for the specific language governing permissions and
-//limitations under the License.
-//
-// Code generated by Alibaba Cloud SDK Code Generator.
-// Changes may cause incorrect behavior and will be lost if the code is regenerated.
-
-import (
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
-)
-
-// QueryCreateInstancePrice invokes the alidns.QueryCreateInstancePrice API synchronously
-// api document: https://help.aliyun.com/api/alidns/querycreateinstanceprice.html
-func (client *Client) QueryCreateInstancePrice(request *QueryCreateInstancePriceRequest) (response *QueryCreateInstancePriceResponse, err error) {
-	response = CreateQueryCreateInstancePriceResponse()
-	err = client.DoAction(request, response)
-	return
-}
-
-// QueryCreateInstancePriceWithChan invokes the alidns.QueryCreateInstancePrice API asynchronously
-// api document: https://help.aliyun.com/api/alidns/querycreateinstanceprice.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) QueryCreateInstancePriceWithChan(request *QueryCreateInstancePriceRequest) (<-chan *QueryCreateInstancePriceResponse, <-chan error) {
-	responseChan := make(chan *QueryCreateInstancePriceResponse, 1)
-	errChan := make(chan error, 1)
-	err := client.AddAsyncTask(func() {
-		defer close(responseChan)
-		defer close(errChan)
-		response, err := client.QueryCreateInstancePrice(request)
-		if err != nil {
-			errChan <- err
-		} else {
-			responseChan <- response
-		}
-	})
-	if err != nil {
-		errChan <- err
-		close(responseChan)
-		close(errChan)
-	}
-	return responseChan, errChan
-}
-
-// QueryCreateInstancePriceWithCallback invokes the alidns.QueryCreateInstancePrice API asynchronously
-// api document: https://help.aliyun.com/api/alidns/querycreateinstanceprice.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) QueryCreateInstancePriceWithCallback(request *QueryCreateInstancePriceRequest, callback func(response *QueryCreateInstancePriceResponse, err error)) <-chan int {
-	result := make(chan int, 1)
-	err := client.AddAsyncTask(func() {
-		var response *QueryCreateInstancePriceResponse
-		var err error
-		defer close(result)
-		response, err = client.QueryCreateInstancePrice(request)
-		callback(response, err)
-		result <- 1
-	})
-	if err != nil {
-		defer close(result)
-		callback(nil, err)
-		result <- 0
-	}
-	return result
-}
-
-// QueryCreateInstancePriceRequest is the request struct for api QueryCreateInstancePrice
-type QueryCreateInstancePriceRequest struct {
-	*requests.RpcRequest
-	Month           requests.Integer `position:"Query" name:"Month"`
-	UserClientIp    string           `position:"Query" name:"UserClientIp"`
-	Lang            string           `position:"Query" name:"Lang"`
-	InstanceVersion string           `position:"Query" name:"InstanceVersion"`
-	OwnerId         requests.Integer `position:"Query" name:"OwnerId"`
-}
-
-// QueryCreateInstancePriceResponse is the response struct for api QueryCreateInstancePrice
-type QueryCreateInstancePriceResponse struct {
-	*responses.BaseResponse
-	RequestId string `json:"RequestId" xml:"RequestId"`
-	Origin    string `json:"Origin" xml:"Origin"`
-	Discount  string `json:"Discount" xml:"Discount"`
-	Amount    string `json:"Amount" xml:"Amount"`
-	Currency  string `json:"Currency" xml:"Currency"`
-	Rules     Rules  `json:"Rules" xml:"Rules"`
-}
-
-// CreateQueryCreateInstancePriceRequest creates a request to invoke QueryCreateInstancePrice API
-func CreateQueryCreateInstancePriceRequest() (request *QueryCreateInstancePriceRequest) {
-	request = &QueryCreateInstancePriceRequest{
-		RpcRequest: &requests.RpcRequest{},
-	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "QueryCreateInstancePrice", "Alidns", "openAPI")
-	return
-}
-
-// CreateQueryCreateInstancePriceResponse creates a response to parse from QueryCreateInstancePrice response
-func CreateQueryCreateInstancePriceResponse() (response *QueryCreateInstancePriceResponse) {
-	response = &QueryCreateInstancePriceResponse{
-		BaseResponse: &responses.BaseResponse{},
-	}
-	return
-}

+ 105 - 0
services/alidns/rollback_gtm_recovery_plan.go

@@ -0,0 +1,105 @@
+package alidns
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// RollbackGtmRecoveryPlan invokes the alidns.RollbackGtmRecoveryPlan API synchronously
+// api document: https://help.aliyun.com/api/alidns/rollbackgtmrecoveryplan.html
+func (client *Client) RollbackGtmRecoveryPlan(request *RollbackGtmRecoveryPlanRequest) (response *RollbackGtmRecoveryPlanResponse, err error) {
+	response = CreateRollbackGtmRecoveryPlanResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// RollbackGtmRecoveryPlanWithChan invokes the alidns.RollbackGtmRecoveryPlan API asynchronously
+// api document: https://help.aliyun.com/api/alidns/rollbackgtmrecoveryplan.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) RollbackGtmRecoveryPlanWithChan(request *RollbackGtmRecoveryPlanRequest) (<-chan *RollbackGtmRecoveryPlanResponse, <-chan error) {
+	responseChan := make(chan *RollbackGtmRecoveryPlanResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.RollbackGtmRecoveryPlan(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// RollbackGtmRecoveryPlanWithCallback invokes the alidns.RollbackGtmRecoveryPlan API asynchronously
+// api document: https://help.aliyun.com/api/alidns/rollbackgtmrecoveryplan.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) RollbackGtmRecoveryPlanWithCallback(request *RollbackGtmRecoveryPlanRequest, callback func(response *RollbackGtmRecoveryPlanResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *RollbackGtmRecoveryPlanResponse
+		var err error
+		defer close(result)
+		response, err = client.RollbackGtmRecoveryPlan(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// RollbackGtmRecoveryPlanRequest is the request struct for api RollbackGtmRecoveryPlan
+type RollbackGtmRecoveryPlanRequest struct {
+	*requests.RpcRequest
+	UserClientIp   string           `position:"Query" name:"UserClientIp"`
+	RecoveryPlanId requests.Integer `position:"Query" name:"RecoveryPlanId"`
+	Lang           string           `position:"Query" name:"Lang"`
+}
+
+// RollbackGtmRecoveryPlanResponse is the response struct for api RollbackGtmRecoveryPlan
+type RollbackGtmRecoveryPlanResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateRollbackGtmRecoveryPlanRequest creates a request to invoke RollbackGtmRecoveryPlan API
+func CreateRollbackGtmRecoveryPlanRequest() (request *RollbackGtmRecoveryPlanRequest) {
+	request = &RollbackGtmRecoveryPlanRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Alidns", "2015-01-09", "RollbackGtmRecoveryPlan", "alidns", "openAPI")
+	return
+}
+
+// CreateRollbackGtmRecoveryPlanResponse creates a response to parse from RollbackGtmRecoveryPlan response
+func CreateRollbackGtmRecoveryPlanResponse() (response *RollbackGtmRecoveryPlanResponse) {
+	response = &RollbackGtmRecoveryPlanResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 3 - 1
services/alidns/set_dnsslb_status.go

@@ -76,6 +76,8 @@ func (client *Client) SetDNSSLBStatusWithCallback(request *SetDNSSLBStatusReques
 // SetDNSSLBStatusRequest is the request struct for api SetDNSSLBStatus
 type SetDNSSLBStatusRequest struct {
 	*requests.RpcRequest
+	DomainName   string           `position:"Query" name:"DomainName"`
+	Type         string           `position:"Query" name:"Type"`
 	UserClientIp string           `position:"Query" name:"UserClientIp"`
 	SubDomain    string           `position:"Query" name:"SubDomain"`
 	Lang         string           `position:"Query" name:"Lang"`
@@ -95,7 +97,7 @@ func CreateSetDNSSLBStatusRequest() (request *SetDNSSLBStatusRequest) {
 	request = &SetDNSSLBStatusRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "SetDNSSLBStatus", "Alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "SetDNSSLBStatus", "alidns", "openAPI")
 	return
 }
 

+ 1 - 1
services/alidns/set_domain_record_status.go

@@ -95,7 +95,7 @@ func CreateSetDomainRecordStatusRequest() (request *SetDomainRecordStatusRequest
 	request = &SetDomainRecordStatusRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "SetDomainRecordStatus", "Alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "SetDomainRecordStatus", "alidns", "openAPI")
 	return
 }
 

+ 1 - 1
services/alidns/set_gtm_access_mode.go

@@ -93,7 +93,7 @@ func CreateSetGtmAccessModeRequest() (request *SetGtmAccessModeRequest) {
 	request = &SetGtmAccessModeRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "SetGtmAccessMode", "Alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "SetGtmAccessMode", "alidns", "openAPI")
 	return
 }
 

+ 2 - 2
services/alidns/set_gtm_monitor_status.go

@@ -76,8 +76,8 @@ func (client *Client) SetGtmMonitorStatusWithCallback(request *SetGtmMonitorStat
 // SetGtmMonitorStatusRequest is the request struct for api SetGtmMonitorStatus
 type SetGtmMonitorStatusRequest struct {
 	*requests.RpcRequest
-	UserClientIp    string `position:"Query" name:"UserClientIp"`
 	MonitorConfigId string `position:"Query" name:"MonitorConfigId"`
+	UserClientIp    string `position:"Query" name:"UserClientIp"`
 	Lang            string `position:"Query" name:"Lang"`
 	Status          string `position:"Query" name:"Status"`
 }
@@ -93,7 +93,7 @@ func CreateSetGtmMonitorStatusRequest() (request *SetGtmMonitorStatusRequest) {
 	request = &SetGtmMonitorStatusRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "SetGtmMonitorStatus", "Alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "SetGtmMonitorStatus", "alidns", "openAPI")
 	return
 }
 

+ 6 - 5
services/alidns/struct_addr.go

@@ -17,13 +17,14 @@ package alidns
 
 // Addr is a nested struct in alidns response
 type Addr struct {
-	AddrId          int64  `json:"AddrId" xml:"AddrId"`
-	CreateTime      string `json:"CreateTime" xml:"CreateTime"`
-	CreateTimestamp int64  `json:"CreateTimestamp" xml:"CreateTimestamp"`
+	Value           string `json:"Value" xml:"Value"`
 	UpdateTime      string `json:"UpdateTime" xml:"UpdateTime"`
+	AlertStatus     string `json:"AlertStatus" xml:"AlertStatus"`
+	CreateTimestamp int64  `json:"CreateTimestamp" xml:"CreateTimestamp"`
+	CreateTime      string `json:"CreateTime" xml:"CreateTime"`
+	AddrId          int64  `json:"AddrId" xml:"AddrId"`
+	Id              int64  `json:"Id" xml:"Id"`
 	UpdateTimestamp int64  `json:"UpdateTimestamp" xml:"UpdateTimestamp"`
-	Value           string `json:"Value" xml:"Value"`
 	LbaWeight       int    `json:"LbaWeight" xml:"LbaWeight"`
 	Mode            string `json:"Mode" xml:"Mode"`
-	AlertStatus     string `json:"AlertStatus" xml:"AlertStatus"`
 }

+ 21 - 0
services/alidns/struct_addr_pools_in_describe_gtm_recovery_plan_available_config.go

@@ -0,0 +1,21 @@
+package alidns
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// AddrPoolsInDescribeGtmRecoveryPlanAvailableConfig is a nested struct in alidns response
+type AddrPoolsInDescribeGtmRecoveryPlanAvailableConfig struct {
+	AddrPool []AddrPool `json:"AddrPool" xml:"AddrPool"`
+}

+ 3 - 5
services/alidns/struct_rule.go → services/alidns/struct_addrs_in_describe_gtm_instance_address_pool.go

@@ -15,9 +15,7 @@ package alidns
 // Code generated by Alibaba Cloud SDK Code Generator.
 // Changes may cause incorrect behavior and will be lost if the code is regenerated.
 
-// Rule is a nested struct in alidns response
-type Rule struct {
-	RuleId int64  `json:"RuleId" xml:"RuleId"`
-	Name   string `json:"Name" xml:"Name"`
-	Title  string `json:"Title" xml:"Title"`
+// AddrsInDescribeGtmInstanceAddressPool is a nested struct in alidns response
+type AddrsInDescribeGtmInstanceAddressPool struct {
+	Addr []Addr `json:"Addr" xml:"Addr"`
 }

+ 2 - 2
services/alidns/struct_addrs.go → services/alidns/struct_addrs_in_describe_gtm_recovery_plan.go

@@ -15,7 +15,7 @@ package alidns
 // Code generated by Alibaba Cloud SDK Code Generator.
 // Changes may cause incorrect behavior and will be lost if the code is regenerated.
 
-// Addrs is a nested struct in alidns response
-type Addrs struct {
+// AddrsInDescribeGtmRecoveryPlan is a nested struct in alidns response
+type AddrsInDescribeGtmRecoveryPlan struct {
 	Addr []Addr `json:"Addr" xml:"Addr"`
 }

+ 1 - 0
services/alidns/struct_domain.go

@@ -31,5 +31,6 @@ type Domain struct {
 	VersionName     string                      `json:"VersionName" xml:"VersionName"`
 	InstanceEndTime string                      `json:"InstanceEndTime" xml:"InstanceEndTime"`
 	InstanceExpired bool                        `json:"InstanceExpired" xml:"InstanceExpired"`
+	Starmark        bool                        `json:"Starmark" xml:"Starmark"`
 	DnsServers      DnsServersInDescribeDomains `json:"DnsServers" xml:"DnsServers"`
 }

+ 24 - 0
services/alidns/struct_fault_addr_pool.go

@@ -0,0 +1,24 @@
+package alidns
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// FaultAddrPool is a nested struct in alidns response
+type FaultAddrPool struct {
+	AddrPoolId   string                         `json:"AddrPoolId" xml:"AddrPoolId"`
+	AddrPoolName string                         `json:"AddrPoolName" xml:"AddrPoolName"`
+	InstanceId   string                         `json:"InstanceId" xml:"InstanceId"`
+	Addrs        AddrsInDescribeGtmRecoveryPlan `json:"Addrs" xml:"Addrs"`
+}

+ 3 - 3
services/alidns/struct_statistics_in_describe_domain_dns_statistics.go → services/alidns/struct_fault_addr_pools.go

@@ -15,7 +15,7 @@ package alidns
 // Code generated by Alibaba Cloud SDK Code Generator.
 // Changes may cause incorrect behavior and will be lost if the code is regenerated.
 
-// StatisticsInDescribeDomainDnsStatistics is a nested struct in alidns response
-type StatisticsInDescribeDomainDnsStatistics struct {
-	Statistic []Statistic `json:"Statistic" xml:"Statistic"`
+// FaultAddrPools is a nested struct in alidns response
+type FaultAddrPools struct {
+	FaultAddrPool []FaultAddrPool `json:"FaultAddrPool" xml:"FaultAddrPool"`
 }

+ 15 - 13
services/alidns/struct_gtm_instance.go

@@ -17,17 +17,19 @@ package alidns
 
 // GtmInstance is a nested struct in alidns response
 type GtmInstance struct {
-	InstanceId      string `json:"InstanceId" xml:"InstanceId"`
-	InstanceName    string `json:"InstanceName" xml:"InstanceName"`
-	Cname           string `json:"Cname" xml:"Cname"`
-	UserDomainName  string `json:"UserDomainName" xml:"UserDomainName"`
-	VersionCode     string `json:"VersionCode" xml:"VersionCode"`
-	Ttl             int    `json:"Ttl" xml:"Ttl"`
-	LbaStrategy     string `json:"LbaStrategy" xml:"LbaStrategy"`
-	CreateTime      string `json:"CreateTime" xml:"CreateTime"`
-	CreateTimestamp int64  `json:"CreateTimestamp" xml:"CreateTimestamp"`
-	ExpireTime      string `json:"ExpireTime" xml:"ExpireTime"`
-	ExpireTimestamp int64  `json:"ExpireTimestamp" xml:"ExpireTimestamp"`
-	AlertGroup      string `json:"AlertGroup" xml:"AlertGroup"`
-	CnameMode       string `json:"CnameMode" xml:"CnameMode"`
+	InstanceId        string `json:"InstanceId" xml:"InstanceId"`
+	InstanceName      string `json:"InstanceName" xml:"InstanceName"`
+	Cname             string `json:"Cname" xml:"Cname"`
+	UserDomainName    string `json:"UserDomainName" xml:"UserDomainName"`
+	VersionCode       string `json:"VersionCode" xml:"VersionCode"`
+	Ttl               int    `json:"Ttl" xml:"Ttl"`
+	LbaStrategy       string `json:"LbaStrategy" xml:"LbaStrategy"`
+	CreateTime        string `json:"CreateTime" xml:"CreateTime"`
+	CreateTimestamp   int64  `json:"CreateTimestamp" xml:"CreateTimestamp"`
+	ExpireTime        string `json:"ExpireTime" xml:"ExpireTime"`
+	ExpireTimestamp   int64  `json:"ExpireTimestamp" xml:"ExpireTimestamp"`
+	AlertGroup        string `json:"AlertGroup" xml:"AlertGroup"`
+	CnameMode         string `json:"CnameMode" xml:"CnameMode"`
+	AccessStrategyNum int    `json:"AccessStrategyNum" xml:"AccessStrategyNum"`
+	AddressPoolNum    int    `json:"AddressPoolNum" xml:"AddressPoolNum"`
 }

+ 23 - 0
services/alidns/struct_instance.go

@@ -0,0 +1,23 @@
+package alidns
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// Instance is a nested struct in alidns response
+type Instance struct {
+	InstanceId   string                                            `json:"InstanceId" xml:"InstanceId"`
+	InstanceName string                                            `json:"InstanceName" xml:"InstanceName"`
+	AddrPools    AddrPoolsInDescribeGtmRecoveryPlanAvailableConfig `json:"AddrPools" xml:"AddrPools"`
+}

+ 21 - 0
services/alidns/struct_instances.go

@@ -0,0 +1,21 @@
+package alidns
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// Instances is a nested struct in alidns response
+type Instances struct {
+	Instance []Instance `json:"Instance" xml:"Instance"`
+}

+ 2 - 0
services/alidns/struct_isp_city_node.go

@@ -17,9 +17,11 @@ package alidns
 
 // IspCityNode is a nested struct in alidns response
 type IspCityNode struct {
+	GroupType       string `json:"GroupType" xml:"GroupType"`
 	CityCode        string `json:"CityCode" xml:"CityCode"`
 	DefaultSelected bool   `json:"DefaultSelected" xml:"DefaultSelected"`
 	IspName         string `json:"IspName" xml:"IspName"`
+	GroupName       string `json:"GroupName" xml:"GroupName"`
 	CountryName     string `json:"CountryName" xml:"CountryName"`
 	CityName        string `json:"CityName" xml:"CityName"`
 	Mainland        bool   `json:"Mainland" xml:"Mainland"`

+ 6 - 5
services/alidns/struct_line.go

@@ -17,9 +17,10 @@ package alidns
 
 // Line is a nested struct in alidns response
 type Line struct {
-	GroupCode string `json:"GroupCode" xml:"GroupCode"`
-	LineCode  string `json:"LineCode" xml:"LineCode"`
-	LineName  string `json:"LineName" xml:"LineName"`
-	GroupName string `json:"GroupName" xml:"GroupName"`
-	Status    string `json:"Status" xml:"Status"`
+	GroupCode  string `json:"GroupCode" xml:"GroupCode"`
+	LineCode   string `json:"LineCode" xml:"LineCode"`
+	LineName   string `json:"LineName" xml:"LineName"`
+	GroupName  string `json:"GroupName" xml:"GroupName"`
+	Status     string `json:"Status" xml:"Status"`
+	FatherCode string `json:"FatherCode" xml:"FatherCode"`
 }

+ 24 - 0
services/alidns/struct_preview.go

@@ -0,0 +1,24 @@
+package alidns
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// Preview is a nested struct in alidns response
+type Preview struct {
+	InstanceId     string      `json:"InstanceId" xml:"InstanceId"`
+	Name           string      `json:"Name" xml:"Name"`
+	UserDomainName string      `json:"UserDomainName" xml:"UserDomainName"`
+	SwitchInfos    SwitchInfos `json:"SwitchInfos" xml:"SwitchInfos"`
+}

+ 3 - 3
services/alidns/struct_rules.go → services/alidns/struct_previews.go

@@ -15,7 +15,7 @@ package alidns
 // Code generated by Alibaba Cloud SDK Code Generator.
 // Changes may cause incorrect behavior and will be lost if the code is regenerated.
 
-// Rules is a nested struct in alidns response
-type Rules struct {
-	Rule []Rule `json:"Rule" xml:"Rule"`
+// Previews is a nested struct in alidns response
+type Previews struct {
+	Preview []Preview `json:"Preview" xml:"Preview"`
 }

+ 33 - 0
services/alidns/struct_recovery_plan.go

@@ -0,0 +1,33 @@
+package alidns
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// RecoveryPlan is a nested struct in alidns response
+type RecoveryPlan struct {
+	RecoveryPlanId        int64  `json:"RecoveryPlanId" xml:"RecoveryPlanId"`
+	Name                  string `json:"Name" xml:"Name"`
+	Remark                string `json:"Remark" xml:"Remark"`
+	FaultAddrPoolNum      int    `json:"FaultAddrPoolNum" xml:"FaultAddrPoolNum"`
+	LastExecuteTime       string `json:"LastExecuteTime" xml:"LastExecuteTime"`
+	LastExecuteTimestamp  int64  `json:"LastExecuteTimestamp" xml:"LastExecuteTimestamp"`
+	LastRollbackTime      string `json:"LastRollbackTime" xml:"LastRollbackTime"`
+	LastRollbackTimestamp int64  `json:"LastRollbackTimestamp" xml:"LastRollbackTimestamp"`
+	CreateTime            string `json:"CreateTime" xml:"CreateTime"`
+	CreateTimestamp       int64  `json:"CreateTimestamp" xml:"CreateTimestamp"`
+	UpdateTime            string `json:"UpdateTime" xml:"UpdateTime"`
+	UpdateTimestamp       int64  `json:"UpdateTimestamp" xml:"UpdateTimestamp"`
+	Status                string `json:"Status" xml:"Status"`
+}

+ 21 - 0
services/alidns/struct_recovery_plans.go

@@ -0,0 +1,21 @@
+package alidns
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// RecoveryPlans is a nested struct in alidns response
+type RecoveryPlans struct {
+	RecoveryPlan []RecoveryPlan `json:"RecoveryPlan" xml:"RecoveryPlan"`
+}

+ 0 - 21
services/alidns/struct_statistics_in_describe_record_statistics_history.go

@@ -1,21 +0,0 @@
-package alidns
-
-//Licensed under the Apache License, Version 2.0 (the "License");
-//you may not use this file except in compliance with the License.
-//You may obtain a copy of the License at
-//
-//http://www.apache.org/licenses/LICENSE-2.0
-//
-//Unless required by applicable law or agreed to in writing, software
-//distributed under the License is distributed on an "AS IS" BASIS,
-//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//See the License for the specific language governing permissions and
-//limitations under the License.
-//
-// Code generated by Alibaba Cloud SDK Code Generator.
-// Changes may cause incorrect behavior and will be lost if the code is regenerated.
-
-// StatisticsInDescribeRecordStatisticsHistory is a nested struct in alidns response
-type StatisticsInDescribeRecordStatisticsHistory struct {
-	Statistic []Statistic `json:"Statistic" xml:"Statistic"`
-}

+ 17 - 13
services/alidns/struct_strategy.go

@@ -17,17 +17,21 @@ package alidns
 
 // Strategy is a nested struct in alidns response
 type Strategy struct {
-	StrategyId           string                             `json:"StrategyId" xml:"StrategyId"`
-	StrategyName         string                             `json:"StrategyName" xml:"StrategyName"`
-	CreateTime           string                             `json:"CreateTime" xml:"CreateTime"`
-	CreateTimestamp      int64                              `json:"CreateTimestamp" xml:"CreateTimestamp"`
-	DefaultAddrPoolId    string                             `json:"DefaultAddrPoolId" xml:"DefaultAddrPoolId"`
-	DefaultAddrPoolName  string                             `json:"DefaultAddrPoolName" xml:"DefaultAddrPoolName"`
-	FailoverAddrPoolId   string                             `json:"FailoverAddrPoolId" xml:"FailoverAddrPoolId"`
-	FailoverAddrPoolName string                             `json:"FailoverAddrPoolName" xml:"FailoverAddrPoolName"`
-	AccessMode           string                             `json:"AccessMode" xml:"AccessMode"`
-	AccessStatus         string                             `json:"AccessStatus" xml:"AccessStatus"`
-	StrategyMode         string                             `json:"StrategyMode" xml:"StrategyMode"`
-	InstanceId           string                             `json:"InstanceId" xml:"InstanceId"`
-	Lines                LinesInDescribeGtmAccessStrategies `json:"Lines" xml:"Lines"`
+	StrategyId                    string                             `json:"StrategyId" xml:"StrategyId"`
+	StrategyName                  string                             `json:"StrategyName" xml:"StrategyName"`
+	CreateTime                    string                             `json:"CreateTime" xml:"CreateTime"`
+	CreateTimestamp               int64                              `json:"CreateTimestamp" xml:"CreateTimestamp"`
+	DefaultAddrPoolId             string                             `json:"DefaultAddrPoolId" xml:"DefaultAddrPoolId"`
+	DefaultAddrPoolName           string                             `json:"DefaultAddrPoolName" xml:"DefaultAddrPoolName"`
+	FailoverAddrPoolId            string                             `json:"FailoverAddrPoolId" xml:"FailoverAddrPoolId"`
+	FailoverAddrPoolName          string                             `json:"FailoverAddrPoolName" xml:"FailoverAddrPoolName"`
+	AccessMode                    string                             `json:"AccessMode" xml:"AccessMode"`
+	AccessStatus                  string                             `json:"AccessStatus" xml:"AccessStatus"`
+	StrategyMode                  string                             `json:"StrategyMode" xml:"StrategyMode"`
+	InstanceId                    string                             `json:"InstanceId" xml:"InstanceId"`
+	DefaultAddrPoolStatus         string                             `json:"DefaultAddrPoolStatus" xml:"DefaultAddrPoolStatus"`
+	FailoverAddrPoolStatus        string                             `json:"FailoverAddrPoolStatus" xml:"FailoverAddrPoolStatus"`
+	DefaultAddrPoolMonitorStatus  string                             `json:"DefaultAddrPoolMonitorStatus" xml:"DefaultAddrPoolMonitorStatus"`
+	FailoverAddrPoolMonitorStatus string                             `json:"FailoverAddrPoolMonitorStatus" xml:"FailoverAddrPoolMonitorStatus"`
+	Lines                         LinesInDescribeGtmAccessStrategies `json:"Lines" xml:"Lines"`
 }

+ 22 - 0
services/alidns/struct_switch_info.go

@@ -0,0 +1,22 @@
+package alidns
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// SwitchInfo is a nested struct in alidns response
+type SwitchInfo struct {
+	StrategyName string `json:"StrategyName" xml:"StrategyName"`
+	Content      string `json:"Content" xml:"Content"`
+}

+ 21 - 0
services/alidns/struct_switch_infos.go

@@ -0,0 +1,21 @@
+package alidns
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// SwitchInfos is a nested struct in alidns response
+type SwitchInfos struct {
+	SwitchInfo []SwitchInfo `json:"SwitchInfo" xml:"SwitchInfo"`
+}

+ 2 - 2
services/alidns/update_dnsslb_weight.go

@@ -76,9 +76,9 @@ func (client *Client) UpdateDNSSLBWeightWithCallback(request *UpdateDNSSLBWeight
 // UpdateDNSSLBWeightRequest is the request struct for api UpdateDNSSLBWeight
 type UpdateDNSSLBWeightRequest struct {
 	*requests.RpcRequest
+	Weight       requests.Integer `position:"Query" name:"Weight"`
 	RecordId     string           `position:"Query" name:"RecordId"`
 	UserClientIp string           `position:"Query" name:"UserClientIp"`
-	Weight       requests.Integer `position:"Query" name:"Weight"`
 	Lang         string           `position:"Query" name:"Lang"`
 }
 
@@ -95,7 +95,7 @@ func CreateUpdateDNSSLBWeightRequest() (request *UpdateDNSSLBWeightRequest) {
 	request = &UpdateDNSSLBWeightRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "UpdateDNSSLBWeight", "Alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "UpdateDNSSLBWeight", "alidns", "openAPI")
 	return
 }
 

+ 2 - 2
services/alidns/update_domain_group.go

@@ -77,9 +77,9 @@ func (client *Client) UpdateDomainGroupWithCallback(request *UpdateDomainGroupRe
 type UpdateDomainGroupRequest struct {
 	*requests.RpcRequest
 	GroupId      string `position:"Query" name:"GroupId"`
+	GroupName    string `position:"Query" name:"GroupName"`
 	UserClientIp string `position:"Query" name:"UserClientIp"`
 	Lang         string `position:"Query" name:"Lang"`
-	GroupName    string `position:"Query" name:"GroupName"`
 }
 
 // UpdateDomainGroupResponse is the response struct for api UpdateDomainGroup
@@ -95,7 +95,7 @@ func CreateUpdateDomainGroupRequest() (request *UpdateDomainGroupRequest) {
 	request = &UpdateDomainGroupRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "UpdateDomainGroup", "Alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "UpdateDomainGroup", "alidns", "openAPI")
 	return
 }
 

+ 5 - 5
services/alidns/update_domain_record.go

@@ -76,15 +76,15 @@ func (client *Client) UpdateDomainRecordWithCallback(request *UpdateDomainRecord
 // UpdateDomainRecordRequest is the request struct for api UpdateDomainRecord
 type UpdateDomainRecordRequest struct {
 	*requests.RpcRequest
-	RecordId     string           `position:"Query" name:"RecordId"`
 	RR           string           `position:"Query" name:"RR"`
 	Line         string           `position:"Query" name:"Line"`
-	UserClientIp string           `position:"Query" name:"UserClientIp"`
-	Lang         string           `position:"Query" name:"Lang"`
 	Type         string           `position:"Query" name:"Type"`
-	Priority     requests.Integer `position:"Query" name:"Priority"`
+	Lang         string           `position:"Query" name:"Lang"`
 	Value        string           `position:"Query" name:"Value"`
+	Priority     requests.Integer `position:"Query" name:"Priority"`
 	TTL          requests.Integer `position:"Query" name:"TTL"`
+	RecordId     string           `position:"Query" name:"RecordId"`
+	UserClientIp string           `position:"Query" name:"UserClientIp"`
 }
 
 // UpdateDomainRecordResponse is the response struct for api UpdateDomainRecord
@@ -99,7 +99,7 @@ func CreateUpdateDomainRecordRequest() (request *UpdateDomainRecordRequest) {
 	request = &UpdateDomainRecordRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "UpdateDomainRecord", "Alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "UpdateDomainRecord", "alidns", "openAPI")
 	return
 }
 

+ 106 - 0
services/alidns/update_domain_record_remark.go

@@ -0,0 +1,106 @@
+package alidns
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// UpdateDomainRecordRemark invokes the alidns.UpdateDomainRecordRemark API synchronously
+// api document: https://help.aliyun.com/api/alidns/updatedomainrecordremark.html
+func (client *Client) UpdateDomainRecordRemark(request *UpdateDomainRecordRemarkRequest) (response *UpdateDomainRecordRemarkResponse, err error) {
+	response = CreateUpdateDomainRecordRemarkResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// UpdateDomainRecordRemarkWithChan invokes the alidns.UpdateDomainRecordRemark API asynchronously
+// api document: https://help.aliyun.com/api/alidns/updatedomainrecordremark.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) UpdateDomainRecordRemarkWithChan(request *UpdateDomainRecordRemarkRequest) (<-chan *UpdateDomainRecordRemarkResponse, <-chan error) {
+	responseChan := make(chan *UpdateDomainRecordRemarkResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.UpdateDomainRecordRemark(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// UpdateDomainRecordRemarkWithCallback invokes the alidns.UpdateDomainRecordRemark API asynchronously
+// api document: https://help.aliyun.com/api/alidns/updatedomainrecordremark.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) UpdateDomainRecordRemarkWithCallback(request *UpdateDomainRecordRemarkRequest, callback func(response *UpdateDomainRecordRemarkResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *UpdateDomainRecordRemarkResponse
+		var err error
+		defer close(result)
+		response, err = client.UpdateDomainRecordRemark(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// UpdateDomainRecordRemarkRequest is the request struct for api UpdateDomainRecordRemark
+type UpdateDomainRecordRemarkRequest struct {
+	*requests.RpcRequest
+	Remark       string `position:"Query" name:"Remark"`
+	RecordId     string `position:"Query" name:"RecordId"`
+	UserClientIp string `position:"Query" name:"UserClientIp"`
+	Lang         string `position:"Query" name:"Lang"`
+}
+
+// UpdateDomainRecordRemarkResponse is the response struct for api UpdateDomainRecordRemark
+type UpdateDomainRecordRemarkResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateUpdateDomainRecordRemarkRequest creates a request to invoke UpdateDomainRecordRemark API
+func CreateUpdateDomainRecordRemarkRequest() (request *UpdateDomainRecordRemarkRequest) {
+	request = &UpdateDomainRecordRemarkRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Alidns", "2015-01-09", "UpdateDomainRecordRemark", "alidns", "openAPI")
+	return
+}
+
+// CreateUpdateDomainRecordRemarkResponse creates a response to parse from UpdateDomainRecordRemark response
+func CreateUpdateDomainRecordRemarkResponse() (response *UpdateDomainRecordRemarkResponse) {
+	response = &UpdateDomainRecordRemarkResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/alidns/update_domain_remark.go

@@ -0,0 +1,106 @@
+package alidns
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// UpdateDomainRemark invokes the alidns.UpdateDomainRemark API synchronously
+// api document: https://help.aliyun.com/api/alidns/updatedomainremark.html
+func (client *Client) UpdateDomainRemark(request *UpdateDomainRemarkRequest) (response *UpdateDomainRemarkResponse, err error) {
+	response = CreateUpdateDomainRemarkResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// UpdateDomainRemarkWithChan invokes the alidns.UpdateDomainRemark API asynchronously
+// api document: https://help.aliyun.com/api/alidns/updatedomainremark.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) UpdateDomainRemarkWithChan(request *UpdateDomainRemarkRequest) (<-chan *UpdateDomainRemarkResponse, <-chan error) {
+	responseChan := make(chan *UpdateDomainRemarkResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.UpdateDomainRemark(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// UpdateDomainRemarkWithCallback invokes the alidns.UpdateDomainRemark API asynchronously
+// api document: https://help.aliyun.com/api/alidns/updatedomainremark.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) UpdateDomainRemarkWithCallback(request *UpdateDomainRemarkRequest, callback func(response *UpdateDomainRemarkResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *UpdateDomainRemarkResponse
+		var err error
+		defer close(result)
+		response, err = client.UpdateDomainRemark(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// UpdateDomainRemarkRequest is the request struct for api UpdateDomainRemark
+type UpdateDomainRemarkRequest struct {
+	*requests.RpcRequest
+	DomainName   string `position:"Query" name:"DomainName"`
+	Remark       string `position:"Query" name:"Remark"`
+	UserClientIp string `position:"Query" name:"UserClientIp"`
+	Lang         string `position:"Query" name:"Lang"`
+}
+
+// UpdateDomainRemarkResponse is the response struct for api UpdateDomainRemark
+type UpdateDomainRemarkResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateUpdateDomainRemarkRequest creates a request to invoke UpdateDomainRemark API
+func CreateUpdateDomainRemarkRequest() (request *UpdateDomainRemarkRequest) {
+	request = &UpdateDomainRemarkRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Alidns", "2015-01-09", "UpdateDomainRemark", "alidns", "openAPI")
+	return
+}
+
+// CreateUpdateDomainRemarkResponse creates a response to parse from UpdateDomainRemark response
+func CreateUpdateDomainRemarkResponse() (response *UpdateDomainRemarkResponse) {
+	response = &UpdateDomainRemarkResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 3 - 3
services/alidns/update_gtm_access_strategy.go

@@ -76,10 +76,10 @@ func (client *Client) UpdateGtmAccessStrategyWithCallback(request *UpdateGtmAcce
 // UpdateGtmAccessStrategyRequest is the request struct for api UpdateGtmAccessStrategy
 type UpdateGtmAccessStrategyRequest struct {
 	*requests.RpcRequest
-	StrategyName       string `position:"Query" name:"StrategyName"`
 	DefaultAddrPoolId  string `position:"Query" name:"DefaultAddrPoolId"`
-	AccessLines        string `position:"Query" name:"AccessLines"`
 	FailoverAddrPoolId string `position:"Query" name:"FailoverAddrPoolId"`
+	StrategyName       string `position:"Query" name:"StrategyName"`
+	AccessLines        string `position:"Query" name:"AccessLines"`
 	UserClientIp       string `position:"Query" name:"UserClientIp"`
 	StrategyId         string `position:"Query" name:"StrategyId"`
 	Lang               string `position:"Query" name:"Lang"`
@@ -96,7 +96,7 @@ func CreateUpdateGtmAccessStrategyRequest() (request *UpdateGtmAccessStrategyReq
 	request = &UpdateGtmAccessStrategyRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "UpdateGtmAccessStrategy", "Alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "UpdateGtmAccessStrategy", "alidns", "openAPI")
 	return
 }
 

+ 3 - 3
services/alidns/update_gtm_address_pool.go

@@ -76,13 +76,13 @@ func (client *Client) UpdateGtmAddressPoolWithCallback(request *UpdateGtmAddress
 // UpdateGtmAddressPoolRequest is the request struct for api UpdateGtmAddressPool
 type UpdateGtmAddressPoolRequest struct {
 	*requests.RpcRequest
+	Type                string                      `position:"Query" name:"Type"`
+	MinAvailableAddrNum requests.Integer            `position:"Query" name:"MinAvailableAddrNum"`
 	AddrPoolId          string                      `position:"Query" name:"AddrPoolId"`
 	UserClientIp        string                      `position:"Query" name:"UserClientIp"`
 	Name                string                      `position:"Query" name:"Name"`
 	Lang                string                      `position:"Query" name:"Lang"`
-	Type                string                      `position:"Query" name:"Type"`
 	Addr                *[]UpdateGtmAddressPoolAddr `position:"Query" name:"Addr"  type:"Repeated"`
-	MinAvailableAddrNum requests.Integer            `position:"Query" name:"MinAvailableAddrNum"`
 }
 
 // UpdateGtmAddressPoolAddr is a repeated param struct in UpdateGtmAddressPoolRequest
@@ -103,7 +103,7 @@ func CreateUpdateGtmAddressPoolRequest() (request *UpdateGtmAddressPoolRequest)
 	request = &UpdateGtmAddressPoolRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "UpdateGtmAddressPool", "Alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "UpdateGtmAddressPool", "alidns", "openAPI")
 	return
 }
 

+ 5 - 5
services/alidns/update_gtm_instance_global_config.go

@@ -77,15 +77,15 @@ func (client *Client) UpdateGtmInstanceGlobalConfigWithCallback(request *UpdateG
 type UpdateGtmInstanceGlobalConfigRequest struct {
 	*requests.RpcRequest
 	AlertGroup            string           `position:"Query" name:"AlertGroup"`
+	CnameMode             string           `position:"Query" name:"CnameMode"`
+	LbaStrategy           string           `position:"Query" name:"LbaStrategy"`
+	Ttl                   requests.Integer `position:"Query" name:"Ttl"`
+	CnameCustomDomainName string           `position:"Query" name:"CnameCustomDomainName"`
 	InstanceId            string           `position:"Query" name:"InstanceId"`
 	InstanceName          string           `position:"Query" name:"InstanceName"`
 	UserDomainName        string           `position:"Query" name:"UserDomainName"`
-	CnameMode             string           `position:"Query" name:"CnameMode"`
 	UserClientIp          string           `position:"Query" name:"UserClientIp"`
-	LbaStrategy           string           `position:"Query" name:"LbaStrategy"`
 	Lang                  string           `position:"Query" name:"Lang"`
-	Ttl                   requests.Integer `position:"Query" name:"Ttl"`
-	CnameCustomDomainName string           `position:"Query" name:"CnameCustomDomainName"`
 }
 
 // UpdateGtmInstanceGlobalConfigResponse is the response struct for api UpdateGtmInstanceGlobalConfig
@@ -99,7 +99,7 @@ func CreateUpdateGtmInstanceGlobalConfigRequest() (request *UpdateGtmInstanceGlo
 	request = &UpdateGtmInstanceGlobalConfigRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "UpdateGtmInstanceGlobalConfig", "Alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "UpdateGtmInstanceGlobalConfig", "alidns", "openAPI")
 	return
 }
 

+ 3 - 4
services/alidns/update_gtm_monitor.go

@@ -77,14 +77,13 @@ func (client *Client) UpdateGtmMonitorWithCallback(request *UpdateGtmMonitorRequ
 type UpdateGtmMonitorRequest struct {
 	*requests.RpcRequest
 	MonitorExtendInfo string                         `position:"Query" name:"MonitorExtendInfo"`
-	UserClientIp      string                         `position:"Query" name:"UserClientIp"`
-	Name              string                         `position:"Query" name:"Name"`
 	MonitorConfigId   string                         `position:"Query" name:"MonitorConfigId"`
+	Timeout           requests.Integer               `position:"Query" name:"Timeout"`
+	UserClientIp      string                         `position:"Query" name:"UserClientIp"`
 	EvaluationCount   requests.Integer               `position:"Query" name:"EvaluationCount"`
 	ProtocolType      string                         `position:"Query" name:"ProtocolType"`
 	Interval          requests.Integer               `position:"Query" name:"Interval"`
 	Lang              string                         `position:"Query" name:"Lang"`
-	Timeout           requests.Integer               `position:"Query" name:"Timeout"`
 	IspCityNode       *[]UpdateGtmMonitorIspCityNode `position:"Query" name:"IspCityNode"  type:"Repeated"`
 }
 
@@ -105,7 +104,7 @@ func CreateUpdateGtmMonitorRequest() (request *UpdateGtmMonitorRequest) {
 	request = &UpdateGtmMonitorRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "UpdateGtmMonitor", "Alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "UpdateGtmMonitor", "alidns", "openAPI")
 	return
 }
 

+ 108 - 0
services/alidns/update_gtm_recovery_plan.go

@@ -0,0 +1,108 @@
+package alidns
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// UpdateGtmRecoveryPlan invokes the alidns.UpdateGtmRecoveryPlan API synchronously
+// api document: https://help.aliyun.com/api/alidns/updategtmrecoveryplan.html
+func (client *Client) UpdateGtmRecoveryPlan(request *UpdateGtmRecoveryPlanRequest) (response *UpdateGtmRecoveryPlanResponse, err error) {
+	response = CreateUpdateGtmRecoveryPlanResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// UpdateGtmRecoveryPlanWithChan invokes the alidns.UpdateGtmRecoveryPlan API asynchronously
+// api document: https://help.aliyun.com/api/alidns/updategtmrecoveryplan.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) UpdateGtmRecoveryPlanWithChan(request *UpdateGtmRecoveryPlanRequest) (<-chan *UpdateGtmRecoveryPlanResponse, <-chan error) {
+	responseChan := make(chan *UpdateGtmRecoveryPlanResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.UpdateGtmRecoveryPlan(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// UpdateGtmRecoveryPlanWithCallback invokes the alidns.UpdateGtmRecoveryPlan API asynchronously
+// api document: https://help.aliyun.com/api/alidns/updategtmrecoveryplan.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) UpdateGtmRecoveryPlanWithCallback(request *UpdateGtmRecoveryPlanRequest, callback func(response *UpdateGtmRecoveryPlanResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *UpdateGtmRecoveryPlanResponse
+		var err error
+		defer close(result)
+		response, err = client.UpdateGtmRecoveryPlan(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// UpdateGtmRecoveryPlanRequest is the request struct for api UpdateGtmRecoveryPlan
+type UpdateGtmRecoveryPlanRequest struct {
+	*requests.RpcRequest
+	FaultAddrPool  string           `position:"Query" name:"FaultAddrPool"`
+	Remark         string           `position:"Query" name:"Remark"`
+	UserClientIp   string           `position:"Query" name:"UserClientIp"`
+	Name           string           `position:"Query" name:"Name"`
+	RecoveryPlanId requests.Integer `position:"Query" name:"RecoveryPlanId"`
+	Lang           string           `position:"Query" name:"Lang"`
+}
+
+// UpdateGtmRecoveryPlanResponse is the response struct for api UpdateGtmRecoveryPlan
+type UpdateGtmRecoveryPlanResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateUpdateGtmRecoveryPlanRequest creates a request to invoke UpdateGtmRecoveryPlan API
+func CreateUpdateGtmRecoveryPlanRequest() (request *UpdateGtmRecoveryPlanRequest) {
+	request = &UpdateGtmRecoveryPlanRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Alidns", "2015-01-09", "UpdateGtmRecoveryPlan", "alidns", "openAPI")
+	return
+}
+
+// CreateUpdateGtmRecoveryPlanResponse creates a response to parse from UpdateGtmRecoveryPlan response
+func CreateUpdateGtmRecoveryPlanResponse() (response *UpdateGtmRecoveryPlanResponse) {
+	response = &UpdateGtmRecoveryPlanResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}