瀏覽代碼

ALIDNS SDK Auto Released By shenshi,Version:1.53.68

Signed-off-by: haowei.yao <haowei.yao@alibaba-inc.com>
haowei.yao 6 年之前
父節點
當前提交
ddaa53b859
共有 92 個文件被更改,包括 3724 次插入981 次删除
  1. 3 0
      ChangeLog.txt
  2. 0 106
      services/alidns/add_batch_domain_records.go
  3. 4 5
      services/alidns/add_domain.go
  4. 2 2
      services/alidns/add_domain_group.go
  5. 5 5
      services/alidns/add_domain_record.go
  6. 110 0
      services/alidns/add_gtm_access_strategy.go
  7. 117 0
      services/alidns/add_gtm_address_pool.go
  8. 119 0
      services/alidns/add_gtm_monitor.go
  9. 0 106
      services/alidns/apply_for_retrieval_domain_name.go
  10. 3 3
      services/alidns/change_domain_group.go
  11. 3 3
      services/alidns/change_domain_of_dns_product.go
  12. 3 3
      services/alidns/check_domain_record.go
  13. 111 0
      services/alidns/create_instance.go
  14. 0 106
      services/alidns/delete_batch_domain_records.go
  15. 0 106
      services/alidns/delete_batch_domains.go
  16. 2 2
      services/alidns/delete_domain.go
  17. 3 3
      services/alidns/delete_domain_group.go
  18. 3 3
      services/alidns/delete_domain_record.go
  19. 105 0
      services/alidns/delete_gtm_access_strategy.go
  20. 105 0
      services/alidns/delete_gtm_address_pool.go
  21. 3 3
      services/alidns/delete_sub_domain_records.go
  22. 0 110
      services/alidns/describe_batch_result.go
  23. 113 0
      services/alidns/describe_batch_result_count.go
  24. 112 0
      services/alidns/describe_batch_result_detail.go
  25. 6 3
      services/alidns/describe_dns_product_instance.go
  26. 3 3
      services/alidns/describe_dns_product_instances.go
  27. 3 3
      services/alidns/describe_dnsslb_sub_domains.go
  28. 3 3
      services/alidns/describe_domain_groups.go
  29. 5 2
      services/alidns/describe_domain_info.go
  30. 7 6
      services/alidns/describe_domain_logs.go
  31. 2 2
      services/alidns/describe_domain_ns.go
  32. 3 3
      services/alidns/describe_domain_record_info.go
  33. 8 6
      services/alidns/describe_domain_records.go
  34. 0 113
      services/alidns/describe_domain_whois_info.go
  35. 5 4
      services/alidns/describe_domains.go
  36. 112 0
      services/alidns/describe_gtm_access_strategies.go
  37. 116 0
      services/alidns/describe_gtm_access_strategy.go
  38. 107 0
      services/alidns/describe_gtm_access_strategy_available_config.go
  39. 105 0
      services/alidns/describe_gtm_available_alert_group.go
  40. 117 0
      services/alidns/describe_gtm_instance.go
  41. 118 0
      services/alidns/describe_gtm_instance_address_pool.go
  42. 112 0
      services/alidns/describe_gtm_instance_address_pools.go
  43. 107 0
      services/alidns/describe_gtm_instance_status.go
  44. 112 0
      services/alidns/describe_gtm_instances.go
  45. 115 0
      services/alidns/describe_gtm_logs.go
  46. 105 0
      services/alidns/describe_gtm_monitor_available_config.go
  47. 117 0
      services/alidns/describe_gtm_monitor_config.go
  48. 4 4
      services/alidns/describe_record_logs.go
  49. 5 4
      services/alidns/describe_sub_domain_records.go
  50. 3 2
      services/alidns/describe_support_lines.go
  51. 3 3
      services/alidns/get_main_domain_name.go
  52. 2 2
      services/alidns/modify_hichina_domain_dns.go
  53. 118 0
      services/alidns/operate_batch_domain.go
  54. 112 0
      services/alidns/query_create_instance_price.go
  55. 0 107
      services/alidns/retrieval_domain_name.go
  56. 2 2
      services/alidns/set_dnsslb_status.go
  57. 3 3
      services/alidns/set_domain_record_status.go
  58. 106 0
      services/alidns/set_gtm_access_mode.go
  59. 106 0
      services/alidns/set_gtm_monitor_status.go
  60. 29 0
      services/alidns/struct_addr.go
  61. 33 0
      services/alidns/struct_addr_pool.go
  62. 21 0
      services/alidns/struct_addr_pools_in_describe_gtm_access_strategy_available_config.go
  63. 21 0
      services/alidns/struct_addr_pools_in_describe_gtm_instance_address_pools.go
  64. 3 3
      services/alidns/struct_addrs.go
  65. 36 0
      services/alidns/struct_batch_result_detail.go
  66. 3 4
      services/alidns/struct_batch_result_details.go
  67. 3 0
      services/alidns/struct_dns_product.go
  68. 32 0
      services/alidns/struct_gtm_instance.go
  69. 3 3
      services/alidns/struct_gtm_instances.go
  70. 28 0
      services/alidns/struct_isp_city_node.go
  71. 21 0
      services/alidns/struct_isp_city_nodes_in_describe_gtm_monitor_available_config.go
  72. 21 0
      services/alidns/struct_isp_city_nodes_in_describe_gtm_monitor_config.go
  73. 25 0
      services/alidns/struct_line.go
  74. 21 0
      services/alidns/struct_lines_in_describe_gtm_access_strategies.go
  75. 21 0
      services/alidns/struct_lines_in_describe_gtm_access_strategy.go
  76. 21 0
      services/alidns/struct_lines_in_describe_gtm_access_strategy_available_config.go
  77. 29 0
      services/alidns/struct_log.go
  78. 3 3
      services/alidns/struct_logs.go
  79. 8 8
      services/alidns/struct_record.go
  80. 2 2
      services/alidns/struct_record_line.go
  81. 23 0
      services/alidns/struct_rule.go
  82. 21 0
      services/alidns/struct_rules.go
  83. 21 0
      services/alidns/struct_strategies.go
  84. 33 0
      services/alidns/struct_strategy.go
  85. 0 106
      services/alidns/update_batch_domain_records.go
  86. 3 3
      services/alidns/update_dnsslb_weight.go
  87. 3 3
      services/alidns/update_domain_group.go
  88. 5 5
      services/alidns/update_domain_record.go
  89. 109 0
      services/alidns/update_gtm_access_strategy.go
  90. 116 0
      services/alidns/update_gtm_address_pool.go
  91. 110 0
      services/alidns/update_gtm_instance_global_config.go
  92. 118 0
      services/alidns/update_gtm_monitor.go

+ 3 - 0
ChangeLog.txt

@@ -1,3 +1,6 @@
+2019-03-20 Version: 1.53.68
+1, Update Dependency
+
 2019-03-19 Version: 1.53.67
 1, Support ' fc ' Source DomainName
 

+ 0 - 106
services/alidns/add_batch_domain_records.go

@@ -1,106 +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"
-)
-
-// AddBatchDomainRecords invokes the alidns.AddBatchDomainRecords API synchronously
-// api document: https://help.aliyun.com/api/alidns/addbatchdomainrecords.html
-func (client *Client) AddBatchDomainRecords(request *AddBatchDomainRecordsRequest) (response *AddBatchDomainRecordsResponse, err error) {
-	response = CreateAddBatchDomainRecordsResponse()
-	err = client.DoAction(request, response)
-	return
-}
-
-// AddBatchDomainRecordsWithChan invokes the alidns.AddBatchDomainRecords API asynchronously
-// api document: https://help.aliyun.com/api/alidns/addbatchdomainrecords.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) AddBatchDomainRecordsWithChan(request *AddBatchDomainRecordsRequest) (<-chan *AddBatchDomainRecordsResponse, <-chan error) {
-	responseChan := make(chan *AddBatchDomainRecordsResponse, 1)
-	errChan := make(chan error, 1)
-	err := client.AddAsyncTask(func() {
-		defer close(responseChan)
-		defer close(errChan)
-		response, err := client.AddBatchDomainRecords(request)
-		if err != nil {
-			errChan <- err
-		} else {
-			responseChan <- response
-		}
-	})
-	if err != nil {
-		errChan <- err
-		close(responseChan)
-		close(errChan)
-	}
-	return responseChan, errChan
-}
-
-// AddBatchDomainRecordsWithCallback invokes the alidns.AddBatchDomainRecords API asynchronously
-// api document: https://help.aliyun.com/api/alidns/addbatchdomainrecords.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) AddBatchDomainRecordsWithCallback(request *AddBatchDomainRecordsRequest, callback func(response *AddBatchDomainRecordsResponse, err error)) <-chan int {
-	result := make(chan int, 1)
-	err := client.AddAsyncTask(func() {
-		var response *AddBatchDomainRecordsResponse
-		var err error
-		defer close(result)
-		response, err = client.AddBatchDomainRecords(request)
-		callback(response, err)
-		result <- 1
-	})
-	if err != nil {
-		defer close(result)
-		callback(nil, err)
-		result <- 0
-	}
-	return result
-}
-
-// AddBatchDomainRecordsRequest is the request struct for api AddBatchDomainRecords
-type AddBatchDomainRecordsRequest struct {
-	*requests.RpcRequest
-	Lang         string `position:"Query" name:"Lang"`
-	UserClientIp string `position:"Query" name:"UserClientIp"`
-	Records      string `position:"Query" name:"Records"`
-}
-
-// AddBatchDomainRecordsResponse is the response struct for api AddBatchDomainRecords
-type AddBatchDomainRecordsResponse struct {
-	*responses.BaseResponse
-	RequestId string `json:"RequestId" xml:"RequestId"`
-	TraceId   string `json:"TraceId" xml:"TraceId"`
-}
-
-// CreateAddBatchDomainRecordsRequest creates a request to invoke AddBatchDomainRecords API
-func CreateAddBatchDomainRecordsRequest() (request *AddBatchDomainRecordsRequest) {
-	request = &AddBatchDomainRecordsRequest{
-		RpcRequest: &requests.RpcRequest{},
-	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "AddBatchDomainRecords", "", "")
-	return
-}
-
-// CreateAddBatchDomainRecordsResponse creates a response to parse from AddBatchDomainRecords response
-func CreateAddBatchDomainRecordsResponse() (response *AddBatchDomainRecordsResponse) {
-	response = &AddBatchDomainRecordsResponse{
-		BaseResponse: &responses.BaseResponse{},
-	}
-	return
-}

+ 4 - 5
services/alidns/add_domain.go

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

+ 2 - 2
services/alidns/add_domain_group.go

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

+ 5 - 5
services/alidns/add_domain_record.go

@@ -76,15 +76,15 @@ func (client *Client) AddDomainRecordWithCallback(request *AddDomainRecordReques
 // AddDomainRecordRequest is the request struct for api AddDomainRecord
 type AddDomainRecordRequest struct {
 	*requests.RpcRequest
-	Lang         string           `position:"Query" name:"Lang"`
+	RR           string           `position:"Query" name:"RR"`
+	Line         string           `position:"Query" name:"Line"`
 	UserClientIp string           `position:"Query" name:"UserClientIp"`
 	DomainName   string           `position:"Query" name:"DomainName"`
-	RR           string           `position:"Query" name:"RR"`
+	Lang         string           `position:"Query" name:"Lang"`
 	Type         string           `position:"Query" name:"Type"`
+	Priority     requests.Integer `position:"Query" name:"Priority"`
 	Value        string           `position:"Query" name:"Value"`
 	TTL          requests.Integer `position:"Query" name:"TTL"`
-	Priority     requests.Integer `position:"Query" name:"Priority"`
-	Line         string           `position:"Query" name:"Line"`
 }
 
 // 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", "", "")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "AddDomainRecord", "alidns", "openAPI")
 	return
 }
 

+ 110 - 0
services/alidns/add_gtm_access_strategy.go

@@ -0,0 +1,110 @@
+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"
+)
+
+// AddGtmAccessStrategy invokes the alidns.AddGtmAccessStrategy API synchronously
+// api document: https://help.aliyun.com/api/alidns/addgtmaccessstrategy.html
+func (client *Client) AddGtmAccessStrategy(request *AddGtmAccessStrategyRequest) (response *AddGtmAccessStrategyResponse, err error) {
+	response = CreateAddGtmAccessStrategyResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// AddGtmAccessStrategyWithChan invokes the alidns.AddGtmAccessStrategy API asynchronously
+// api document: https://help.aliyun.com/api/alidns/addgtmaccessstrategy.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) AddGtmAccessStrategyWithChan(request *AddGtmAccessStrategyRequest) (<-chan *AddGtmAccessStrategyResponse, <-chan error) {
+	responseChan := make(chan *AddGtmAccessStrategyResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.AddGtmAccessStrategy(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// AddGtmAccessStrategyWithCallback invokes the alidns.AddGtmAccessStrategy API asynchronously
+// api document: https://help.aliyun.com/api/alidns/addgtmaccessstrategy.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) AddGtmAccessStrategyWithCallback(request *AddGtmAccessStrategyRequest, callback func(response *AddGtmAccessStrategyResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *AddGtmAccessStrategyResponse
+		var err error
+		defer close(result)
+		response, err = client.AddGtmAccessStrategy(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// 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"`
+	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"`
+}
+
+// AddGtmAccessStrategyResponse is the response struct for api AddGtmAccessStrategy
+type AddGtmAccessStrategyResponse struct {
+	*responses.BaseResponse
+	RequestId  string `json:"RequestId" xml:"RequestId"`
+	StrategyId string `json:"StrategyId" xml:"StrategyId"`
+}
+
+// CreateAddGtmAccessStrategyRequest creates a request to invoke AddGtmAccessStrategy API
+func CreateAddGtmAccessStrategyRequest() (request *AddGtmAccessStrategyRequest) {
+	request = &AddGtmAccessStrategyRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Alidns", "2015-01-09", "AddGtmAccessStrategy", "alidns", "openAPI")
+	return
+}
+
+// CreateAddGtmAccessStrategyResponse creates a response to parse from AddGtmAccessStrategy response
+func CreateAddGtmAccessStrategyResponse() (response *AddGtmAccessStrategyResponse) {
+	response = &AddGtmAccessStrategyResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 117 - 0
services/alidns/add_gtm_address_pool.go

@@ -0,0 +1,117 @@
+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"
+)
+
+// AddGtmAddressPool invokes the alidns.AddGtmAddressPool API synchronously
+// api document: https://help.aliyun.com/api/alidns/addgtmaddresspool.html
+func (client *Client) AddGtmAddressPool(request *AddGtmAddressPoolRequest) (response *AddGtmAddressPoolResponse, err error) {
+	response = CreateAddGtmAddressPoolResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// AddGtmAddressPoolWithChan invokes the alidns.AddGtmAddressPool API asynchronously
+// api document: https://help.aliyun.com/api/alidns/addgtmaddresspool.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) AddGtmAddressPoolWithChan(request *AddGtmAddressPoolRequest) (<-chan *AddGtmAddressPoolResponse, <-chan error) {
+	responseChan := make(chan *AddGtmAddressPoolResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.AddGtmAddressPool(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// AddGtmAddressPoolWithCallback invokes the alidns.AddGtmAddressPool API asynchronously
+// api document: https://help.aliyun.com/api/alidns/addgtmaddresspool.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) AddGtmAddressPoolWithCallback(request *AddGtmAddressPoolRequest, callback func(response *AddGtmAddressPoolResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *AddGtmAddressPoolResponse
+		var err error
+		defer close(result)
+		response, err = client.AddGtmAddressPool(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// 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"`
+}
+
+// AddGtmAddressPoolAddr is a repeated param struct in AddGtmAddressPoolRequest
+type AddGtmAddressPoolAddr struct {
+	Mode      string `name:"Mode"`
+	LbaWeight string `name:"LbaWeight"`
+	Value     string `name:"Value"`
+}
+
+// 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"`
+}
+
+// CreateAddGtmAddressPoolRequest creates a request to invoke AddGtmAddressPool API
+func CreateAddGtmAddressPoolRequest() (request *AddGtmAddressPoolRequest) {
+	request = &AddGtmAddressPoolRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Alidns", "2015-01-09", "AddGtmAddressPool", "alidns", "openAPI")
+	return
+}
+
+// CreateAddGtmAddressPoolResponse creates a response to parse from AddGtmAddressPool response
+func CreateAddGtmAddressPoolResponse() (response *AddGtmAddressPoolResponse) {
+	response = &AddGtmAddressPoolResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 119 - 0
services/alidns/add_gtm_monitor.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"
+)
+
+// AddGtmMonitor invokes the alidns.AddGtmMonitor API synchronously
+// api document: https://help.aliyun.com/api/alidns/addgtmmonitor.html
+func (client *Client) AddGtmMonitor(request *AddGtmMonitorRequest) (response *AddGtmMonitorResponse, err error) {
+	response = CreateAddGtmMonitorResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// AddGtmMonitorWithChan invokes the alidns.AddGtmMonitor API asynchronously
+// api document: https://help.aliyun.com/api/alidns/addgtmmonitor.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) AddGtmMonitorWithChan(request *AddGtmMonitorRequest) (<-chan *AddGtmMonitorResponse, <-chan error) {
+	responseChan := make(chan *AddGtmMonitorResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.AddGtmMonitor(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// AddGtmMonitorWithCallback invokes the alidns.AddGtmMonitor API asynchronously
+// api document: https://help.aliyun.com/api/alidns/addgtmmonitor.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) AddGtmMonitorWithCallback(request *AddGtmMonitorRequest, callback func(response *AddGtmMonitorResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *AddGtmMonitorResponse
+		var err error
+		defer close(result)
+		response, err = client.AddGtmMonitor(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// AddGtmMonitorRequest is the request struct for api AddGtmMonitor
+type AddGtmMonitorRequest struct {
+	*requests.RpcRequest
+	MonitorExtendInfo string                      `position:"Query" name:"MonitorExtendInfo"`
+	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"`
+}
+
+// AddGtmMonitorIspCityNode is a repeated param struct in AddGtmMonitorRequest
+type AddGtmMonitorIspCityNode struct {
+	CityCode string `name:"CityCode"`
+	IspCode  string `name:"IspCode"`
+}
+
+// AddGtmMonitorResponse is the response struct for api AddGtmMonitor
+type AddGtmMonitorResponse struct {
+	*responses.BaseResponse
+	RequestId       string `json:"RequestId" xml:"RequestId"`
+	MonitorConfigId string `json:"MonitorConfigId" xml:"MonitorConfigId"`
+}
+
+// CreateAddGtmMonitorRequest creates a request to invoke AddGtmMonitor API
+func CreateAddGtmMonitorRequest() (request *AddGtmMonitorRequest) {
+	request = &AddGtmMonitorRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Alidns", "2015-01-09", "AddGtmMonitor", "alidns", "openAPI")
+	return
+}
+
+// CreateAddGtmMonitorResponse creates a response to parse from AddGtmMonitor response
+func CreateAddGtmMonitorResponse() (response *AddGtmMonitorResponse) {
+	response = &AddGtmMonitorResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 0 - 106
services/alidns/apply_for_retrieval_domain_name.go

@@ -1,106 +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"
-)
-
-// ApplyForRetrievalDomainName invokes the alidns.ApplyForRetrievalDomainName API synchronously
-// api document: https://help.aliyun.com/api/alidns/applyforretrievaldomainname.html
-func (client *Client) ApplyForRetrievalDomainName(request *ApplyForRetrievalDomainNameRequest) (response *ApplyForRetrievalDomainNameResponse, err error) {
-	response = CreateApplyForRetrievalDomainNameResponse()
-	err = client.DoAction(request, response)
-	return
-}
-
-// ApplyForRetrievalDomainNameWithChan invokes the alidns.ApplyForRetrievalDomainName API asynchronously
-// api document: https://help.aliyun.com/api/alidns/applyforretrievaldomainname.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) ApplyForRetrievalDomainNameWithChan(request *ApplyForRetrievalDomainNameRequest) (<-chan *ApplyForRetrievalDomainNameResponse, <-chan error) {
-	responseChan := make(chan *ApplyForRetrievalDomainNameResponse, 1)
-	errChan := make(chan error, 1)
-	err := client.AddAsyncTask(func() {
-		defer close(responseChan)
-		defer close(errChan)
-		response, err := client.ApplyForRetrievalDomainName(request)
-		if err != nil {
-			errChan <- err
-		} else {
-			responseChan <- response
-		}
-	})
-	if err != nil {
-		errChan <- err
-		close(responseChan)
-		close(errChan)
-	}
-	return responseChan, errChan
-}
-
-// ApplyForRetrievalDomainNameWithCallback invokes the alidns.ApplyForRetrievalDomainName API asynchronously
-// api document: https://help.aliyun.com/api/alidns/applyforretrievaldomainname.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) ApplyForRetrievalDomainNameWithCallback(request *ApplyForRetrievalDomainNameRequest, callback func(response *ApplyForRetrievalDomainNameResponse, err error)) <-chan int {
-	result := make(chan int, 1)
-	err := client.AddAsyncTask(func() {
-		var response *ApplyForRetrievalDomainNameResponse
-		var err error
-		defer close(result)
-		response, err = client.ApplyForRetrievalDomainName(request)
-		callback(response, err)
-		result <- 1
-	})
-	if err != nil {
-		defer close(result)
-		callback(nil, err)
-		result <- 0
-	}
-	return result
-}
-
-// ApplyForRetrievalDomainNameRequest is the request struct for api ApplyForRetrievalDomainName
-type ApplyForRetrievalDomainNameRequest struct {
-	*requests.RpcRequest
-	Lang         string `position:"Query" name:"Lang"`
-	UserClientIp string `position:"Query" name:"UserClientIp"`
-	DomainName   string `position:"Query" name:"DomainName"`
-}
-
-// ApplyForRetrievalDomainNameResponse is the response struct for api ApplyForRetrievalDomainName
-type ApplyForRetrievalDomainNameResponse struct {
-	*responses.BaseResponse
-	RequestId  string `json:"RequestId" xml:"RequestId"`
-	DomainName string `json:"DomainName" xml:"DomainName"`
-}
-
-// CreateApplyForRetrievalDomainNameRequest creates a request to invoke ApplyForRetrievalDomainName API
-func CreateApplyForRetrievalDomainNameRequest() (request *ApplyForRetrievalDomainNameRequest) {
-	request = &ApplyForRetrievalDomainNameRequest{
-		RpcRequest: &requests.RpcRequest{},
-	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "ApplyForRetrievalDomainName", "", "")
-	return
-}
-
-// CreateApplyForRetrievalDomainNameResponse creates a response to parse from ApplyForRetrievalDomainName response
-func CreateApplyForRetrievalDomainNameResponse() (response *ApplyForRetrievalDomainNameResponse) {
-	response = &ApplyForRetrievalDomainNameResponse{
-		BaseResponse: &responses.BaseResponse{},
-	}
-	return
-}

+ 3 - 3
services/alidns/change_domain_group.go

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

+ 3 - 3
services/alidns/change_domain_of_dns_product.go

@@ -76,11 +76,11 @@ func (client *Client) ChangeDomainOfDnsProductWithCallback(request *ChangeDomain
 // ChangeDomainOfDnsProductRequest is the request struct for api ChangeDomainOfDnsProduct
 type ChangeDomainOfDnsProductRequest struct {
 	*requests.RpcRequest
-	Lang         string           `position:"Query" name:"Lang"`
-	UserClientIp string           `position:"Query" name:"UserClientIp"`
 	InstanceId   string           `position:"Query" name:"InstanceId"`
 	NewDomain    string           `position:"Query" name:"NewDomain"`
+	UserClientIp string           `position:"Query" name:"UserClientIp"`
 	Force        requests.Boolean `position:"Query" name:"Force"`
+	Lang         string           `position:"Query" name:"Lang"`
 }
 
 // ChangeDomainOfDnsProductResponse is the response struct for api ChangeDomainOfDnsProduct
@@ -95,7 +95,7 @@ func CreateChangeDomainOfDnsProductRequest() (request *ChangeDomainOfDnsProductR
 	request = &ChangeDomainOfDnsProductRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "ChangeDomainOfDnsProduct", "", "")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "ChangeDomainOfDnsProduct", "alidns", "openAPI")
 	return
 }
 

+ 3 - 3
services/alidns/check_domain_record.go

@@ -76,10 +76,10 @@ func (client *Client) CheckDomainRecordWithCallback(request *CheckDomainRecordRe
 // CheckDomainRecordRequest is the request struct for api CheckDomainRecord
 type CheckDomainRecordRequest struct {
 	*requests.RpcRequest
-	Lang         string `position:"Query" name:"Lang"`
+	RR           string `position:"Query" name:"RR"`
 	UserClientIp string `position:"Query" name:"UserClientIp"`
 	DomainName   string `position:"Query" name:"DomainName"`
-	RR           string `position:"Query" name:"RR"`
+	Lang         string `position:"Query" name:"Lang"`
 	Type         string `position:"Query" name:"Type"`
 	Value        string `position:"Query" name:"Value"`
 }
@@ -96,7 +96,7 @@ func CreateCheckDomainRecordRequest() (request *CheckDomainRecordRequest) {
 	request = &CheckDomainRecordRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "CheckDomainRecord", "", "")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "CheckDomainRecord", "alidns", "openAPI")
 	return
 }
 

+ 111 - 0
services/alidns/create_instance.go

@@ -0,0 +1,111 @@
+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
+}

+ 0 - 106
services/alidns/delete_batch_domain_records.go

@@ -1,106 +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"
-)
-
-// DeleteBatchDomainRecords invokes the alidns.DeleteBatchDomainRecords API synchronously
-// api document: https://help.aliyun.com/api/alidns/deletebatchdomainrecords.html
-func (client *Client) DeleteBatchDomainRecords(request *DeleteBatchDomainRecordsRequest) (response *DeleteBatchDomainRecordsResponse, err error) {
-	response = CreateDeleteBatchDomainRecordsResponse()
-	err = client.DoAction(request, response)
-	return
-}
-
-// DeleteBatchDomainRecordsWithChan invokes the alidns.DeleteBatchDomainRecords API asynchronously
-// api document: https://help.aliyun.com/api/alidns/deletebatchdomainrecords.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) DeleteBatchDomainRecordsWithChan(request *DeleteBatchDomainRecordsRequest) (<-chan *DeleteBatchDomainRecordsResponse, <-chan error) {
-	responseChan := make(chan *DeleteBatchDomainRecordsResponse, 1)
-	errChan := make(chan error, 1)
-	err := client.AddAsyncTask(func() {
-		defer close(responseChan)
-		defer close(errChan)
-		response, err := client.DeleteBatchDomainRecords(request)
-		if err != nil {
-			errChan <- err
-		} else {
-			responseChan <- response
-		}
-	})
-	if err != nil {
-		errChan <- err
-		close(responseChan)
-		close(errChan)
-	}
-	return responseChan, errChan
-}
-
-// DeleteBatchDomainRecordsWithCallback invokes the alidns.DeleteBatchDomainRecords API asynchronously
-// api document: https://help.aliyun.com/api/alidns/deletebatchdomainrecords.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) DeleteBatchDomainRecordsWithCallback(request *DeleteBatchDomainRecordsRequest, callback func(response *DeleteBatchDomainRecordsResponse, err error)) <-chan int {
-	result := make(chan int, 1)
-	err := client.AddAsyncTask(func() {
-		var response *DeleteBatchDomainRecordsResponse
-		var err error
-		defer close(result)
-		response, err = client.DeleteBatchDomainRecords(request)
-		callback(response, err)
-		result <- 1
-	})
-	if err != nil {
-		defer close(result)
-		callback(nil, err)
-		result <- 0
-	}
-	return result
-}
-
-// DeleteBatchDomainRecordsRequest is the request struct for api DeleteBatchDomainRecords
-type DeleteBatchDomainRecordsRequest struct {
-	*requests.RpcRequest
-	Lang         string `position:"Query" name:"Lang"`
-	UserClientIp string `position:"Query" name:"UserClientIp"`
-	Records      string `position:"Query" name:"Records"`
-}
-
-// DeleteBatchDomainRecordsResponse is the response struct for api DeleteBatchDomainRecords
-type DeleteBatchDomainRecordsResponse struct {
-	*responses.BaseResponse
-	RequestId string `json:"RequestId" xml:"RequestId"`
-	TraceId   string `json:"TraceId" xml:"TraceId"`
-}
-
-// CreateDeleteBatchDomainRecordsRequest creates a request to invoke DeleteBatchDomainRecords API
-func CreateDeleteBatchDomainRecordsRequest() (request *DeleteBatchDomainRecordsRequest) {
-	request = &DeleteBatchDomainRecordsRequest{
-		RpcRequest: &requests.RpcRequest{},
-	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "DeleteBatchDomainRecords", "", "")
-	return
-}
-
-// CreateDeleteBatchDomainRecordsResponse creates a response to parse from DeleteBatchDomainRecords response
-func CreateDeleteBatchDomainRecordsResponse() (response *DeleteBatchDomainRecordsResponse) {
-	response = &DeleteBatchDomainRecordsResponse{
-		BaseResponse: &responses.BaseResponse{},
-	}
-	return
-}

+ 0 - 106
services/alidns/delete_batch_domains.go

@@ -1,106 +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"
-)
-
-// DeleteBatchDomains invokes the alidns.DeleteBatchDomains API synchronously
-// api document: https://help.aliyun.com/api/alidns/deletebatchdomains.html
-func (client *Client) DeleteBatchDomains(request *DeleteBatchDomainsRequest) (response *DeleteBatchDomainsResponse, err error) {
-	response = CreateDeleteBatchDomainsResponse()
-	err = client.DoAction(request, response)
-	return
-}
-
-// DeleteBatchDomainsWithChan invokes the alidns.DeleteBatchDomains API asynchronously
-// api document: https://help.aliyun.com/api/alidns/deletebatchdomains.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) DeleteBatchDomainsWithChan(request *DeleteBatchDomainsRequest) (<-chan *DeleteBatchDomainsResponse, <-chan error) {
-	responseChan := make(chan *DeleteBatchDomainsResponse, 1)
-	errChan := make(chan error, 1)
-	err := client.AddAsyncTask(func() {
-		defer close(responseChan)
-		defer close(errChan)
-		response, err := client.DeleteBatchDomains(request)
-		if err != nil {
-			errChan <- err
-		} else {
-			responseChan <- response
-		}
-	})
-	if err != nil {
-		errChan <- err
-		close(responseChan)
-		close(errChan)
-	}
-	return responseChan, errChan
-}
-
-// DeleteBatchDomainsWithCallback invokes the alidns.DeleteBatchDomains API asynchronously
-// api document: https://help.aliyun.com/api/alidns/deletebatchdomains.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) DeleteBatchDomainsWithCallback(request *DeleteBatchDomainsRequest, callback func(response *DeleteBatchDomainsResponse, err error)) <-chan int {
-	result := make(chan int, 1)
-	err := client.AddAsyncTask(func() {
-		var response *DeleteBatchDomainsResponse
-		var err error
-		defer close(result)
-		response, err = client.DeleteBatchDomains(request)
-		callback(response, err)
-		result <- 1
-	})
-	if err != nil {
-		defer close(result)
-		callback(nil, err)
-		result <- 0
-	}
-	return result
-}
-
-// DeleteBatchDomainsRequest is the request struct for api DeleteBatchDomains
-type DeleteBatchDomainsRequest struct {
-	*requests.RpcRequest
-	Lang         string `position:"Query" name:"Lang"`
-	UserClientIp string `position:"Query" name:"UserClientIp"`
-	Domains      string `position:"Query" name:"Domains"`
-}
-
-// DeleteBatchDomainsResponse is the response struct for api DeleteBatchDomains
-type DeleteBatchDomainsResponse struct {
-	*responses.BaseResponse
-	RequestId string `json:"RequestId" xml:"RequestId"`
-	TraceId   string `json:"TraceId" xml:"TraceId"`
-}
-
-// CreateDeleteBatchDomainsRequest creates a request to invoke DeleteBatchDomains API
-func CreateDeleteBatchDomainsRequest() (request *DeleteBatchDomainsRequest) {
-	request = &DeleteBatchDomainsRequest{
-		RpcRequest: &requests.RpcRequest{},
-	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "DeleteBatchDomains", "", "")
-	return
-}
-
-// CreateDeleteBatchDomainsResponse creates a response to parse from DeleteBatchDomains response
-func CreateDeleteBatchDomainsResponse() (response *DeleteBatchDomainsResponse) {
-	response = &DeleteBatchDomainsResponse{
-		BaseResponse: &responses.BaseResponse{},
-	}
-	return
-}

+ 2 - 2
services/alidns/delete_domain.go

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

+ 3 - 3
services/alidns/delete_domain_group.go

@@ -76,9 +76,9 @@ func (client *Client) DeleteDomainGroupWithCallback(request *DeleteDomainGroupRe
 // DeleteDomainGroupRequest is the request struct for api DeleteDomainGroup
 type DeleteDomainGroupRequest struct {
 	*requests.RpcRequest
-	Lang         string `position:"Query" name:"Lang"`
-	UserClientIp string `position:"Query" name:"UserClientIp"`
 	GroupId      string `position:"Query" name:"GroupId"`
+	UserClientIp string `position:"Query" name:"UserClientIp"`
+	Lang         string `position:"Query" name:"Lang"`
 }
 
 // DeleteDomainGroupResponse is the response struct for api DeleteDomainGroup
@@ -93,7 +93,7 @@ func CreateDeleteDomainGroupRequest() (request *DeleteDomainGroupRequest) {
 	request = &DeleteDomainGroupRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "DeleteDomainGroup", "", "")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DeleteDomainGroup", "alidns", "openAPI")
 	return
 }
 

+ 3 - 3
services/alidns/delete_domain_record.go

@@ -76,9 +76,9 @@ func (client *Client) DeleteDomainRecordWithCallback(request *DeleteDomainRecord
 // DeleteDomainRecordRequest is the request struct for api DeleteDomainRecord
 type DeleteDomainRecordRequest struct {
 	*requests.RpcRequest
-	Lang         string `position:"Query" name:"Lang"`
-	UserClientIp string `position:"Query" name:"UserClientIp"`
 	RecordId     string `position:"Query" name:"RecordId"`
+	UserClientIp string `position:"Query" name:"UserClientIp"`
+	Lang         string `position:"Query" name:"Lang"`
 }
 
 // DeleteDomainRecordResponse is the response struct for api DeleteDomainRecord
@@ -93,7 +93,7 @@ func CreateDeleteDomainRecordRequest() (request *DeleteDomainRecordRequest) {
 	request = &DeleteDomainRecordRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "DeleteDomainRecord", "", "")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DeleteDomainRecord", "alidns", "openAPI")
 	return
 }
 

+ 105 - 0
services/alidns/delete_gtm_access_strategy.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"
+)
+
+// DeleteGtmAccessStrategy invokes the alidns.DeleteGtmAccessStrategy API synchronously
+// api document: https://help.aliyun.com/api/alidns/deletegtmaccessstrategy.html
+func (client *Client) DeleteGtmAccessStrategy(request *DeleteGtmAccessStrategyRequest) (response *DeleteGtmAccessStrategyResponse, err error) {
+	response = CreateDeleteGtmAccessStrategyResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteGtmAccessStrategyWithChan invokes the alidns.DeleteGtmAccessStrategy API asynchronously
+// api document: https://help.aliyun.com/api/alidns/deletegtmaccessstrategy.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteGtmAccessStrategyWithChan(request *DeleteGtmAccessStrategyRequest) (<-chan *DeleteGtmAccessStrategyResponse, <-chan error) {
+	responseChan := make(chan *DeleteGtmAccessStrategyResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteGtmAccessStrategy(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteGtmAccessStrategyWithCallback invokes the alidns.DeleteGtmAccessStrategy API asynchronously
+// api document: https://help.aliyun.com/api/alidns/deletegtmaccessstrategy.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteGtmAccessStrategyWithCallback(request *DeleteGtmAccessStrategyRequest, callback func(response *DeleteGtmAccessStrategyResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteGtmAccessStrategyResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteGtmAccessStrategy(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteGtmAccessStrategyRequest is the request struct for api DeleteGtmAccessStrategy
+type DeleteGtmAccessStrategyRequest struct {
+	*requests.RpcRequest
+	UserClientIp string `position:"Query" name:"UserClientIp"`
+	StrategyId   string `position:"Query" name:"StrategyId"`
+	Lang         string `position:"Query" name:"Lang"`
+}
+
+// DeleteGtmAccessStrategyResponse is the response struct for api DeleteGtmAccessStrategy
+type DeleteGtmAccessStrategyResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDeleteGtmAccessStrategyRequest creates a request to invoke DeleteGtmAccessStrategy API
+func CreateDeleteGtmAccessStrategyRequest() (request *DeleteGtmAccessStrategyRequest) {
+	request = &DeleteGtmAccessStrategyRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DeleteGtmAccessStrategy", "alidns", "openAPI")
+	return
+}
+
+// CreateDeleteGtmAccessStrategyResponse creates a response to parse from DeleteGtmAccessStrategy response
+func CreateDeleteGtmAccessStrategyResponse() (response *DeleteGtmAccessStrategyResponse) {
+	response = &DeleteGtmAccessStrategyResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 105 - 0
services/alidns/delete_gtm_address_pool.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"
+)
+
+// DeleteGtmAddressPool invokes the alidns.DeleteGtmAddressPool API synchronously
+// api document: https://help.aliyun.com/api/alidns/deletegtmaddresspool.html
+func (client *Client) DeleteGtmAddressPool(request *DeleteGtmAddressPoolRequest) (response *DeleteGtmAddressPoolResponse, err error) {
+	response = CreateDeleteGtmAddressPoolResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteGtmAddressPoolWithChan invokes the alidns.DeleteGtmAddressPool API asynchronously
+// api document: https://help.aliyun.com/api/alidns/deletegtmaddresspool.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteGtmAddressPoolWithChan(request *DeleteGtmAddressPoolRequest) (<-chan *DeleteGtmAddressPoolResponse, <-chan error) {
+	responseChan := make(chan *DeleteGtmAddressPoolResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteGtmAddressPool(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteGtmAddressPoolWithCallback invokes the alidns.DeleteGtmAddressPool API asynchronously
+// api document: https://help.aliyun.com/api/alidns/deletegtmaddresspool.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteGtmAddressPoolWithCallback(request *DeleteGtmAddressPoolRequest, callback func(response *DeleteGtmAddressPoolResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteGtmAddressPoolResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteGtmAddressPool(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteGtmAddressPoolRequest is the request struct for api DeleteGtmAddressPool
+type DeleteGtmAddressPoolRequest struct {
+	*requests.RpcRequest
+	AddrPoolId   string `position:"Query" name:"AddrPoolId"`
+	UserClientIp string `position:"Query" name:"UserClientIp"`
+	Lang         string `position:"Query" name:"Lang"`
+}
+
+// DeleteGtmAddressPoolResponse is the response struct for api DeleteGtmAddressPool
+type DeleteGtmAddressPoolResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDeleteGtmAddressPoolRequest creates a request to invoke DeleteGtmAddressPool API
+func CreateDeleteGtmAddressPoolRequest() (request *DeleteGtmAddressPoolRequest) {
+	request = &DeleteGtmAddressPoolRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DeleteGtmAddressPool", "alidns", "openAPI")
+	return
+}
+
+// CreateDeleteGtmAddressPoolResponse creates a response to parse from DeleteGtmAddressPool response
+func CreateDeleteGtmAddressPoolResponse() (response *DeleteGtmAddressPoolResponse) {
+	response = &DeleteGtmAddressPoolResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 3 - 3
services/alidns/delete_sub_domain_records.go

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

+ 0 - 110
services/alidns/describe_batch_result.go

@@ -1,110 +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"
-)
-
-// DescribeBatchResult invokes the alidns.DescribeBatchResult API synchronously
-// api document: https://help.aliyun.com/api/alidns/describebatchresult.html
-func (client *Client) DescribeBatchResult(request *DescribeBatchResultRequest) (response *DescribeBatchResultResponse, err error) {
-	response = CreateDescribeBatchResultResponse()
-	err = client.DoAction(request, response)
-	return
-}
-
-// DescribeBatchResultWithChan invokes the alidns.DescribeBatchResult API asynchronously
-// api document: https://help.aliyun.com/api/alidns/describebatchresult.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) DescribeBatchResultWithChan(request *DescribeBatchResultRequest) (<-chan *DescribeBatchResultResponse, <-chan error) {
-	responseChan := make(chan *DescribeBatchResultResponse, 1)
-	errChan := make(chan error, 1)
-	err := client.AddAsyncTask(func() {
-		defer close(responseChan)
-		defer close(errChan)
-		response, err := client.DescribeBatchResult(request)
-		if err != nil {
-			errChan <- err
-		} else {
-			responseChan <- response
-		}
-	})
-	if err != nil {
-		errChan <- err
-		close(responseChan)
-		close(errChan)
-	}
-	return responseChan, errChan
-}
-
-// DescribeBatchResultWithCallback invokes the alidns.DescribeBatchResult API asynchronously
-// api document: https://help.aliyun.com/api/alidns/describebatchresult.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) DescribeBatchResultWithCallback(request *DescribeBatchResultRequest, callback func(response *DescribeBatchResultResponse, err error)) <-chan int {
-	result := make(chan int, 1)
-	err := client.AddAsyncTask(func() {
-		var response *DescribeBatchResultResponse
-		var err error
-		defer close(result)
-		response, err = client.DescribeBatchResult(request)
-		callback(response, err)
-		result <- 1
-	})
-	if err != nil {
-		defer close(result)
-		callback(nil, err)
-		result <- 0
-	}
-	return result
-}
-
-// DescribeBatchResultRequest is the request struct for api DescribeBatchResult
-type DescribeBatchResultRequest struct {
-	*requests.RpcRequest
-	Lang         string `position:"Query" name:"Lang"`
-	UserClientIp string `position:"Query" name:"UserClientIp"`
-	TraceId      string `position:"Query" name:"TraceId"`
-}
-
-// DescribeBatchResultResponse is the response struct for api DescribeBatchResult
-type DescribeBatchResultResponse struct {
-	*responses.BaseResponse
-	RequestId     string      `json:"RequestId" xml:"RequestId"`
-	TraceId       string      `json:"TraceId" xml:"TraceId"`
-	Status        int         `json:"Status" xml:"Status"`
-	BatchCount    int         `json:"BatchCount" xml:"BatchCount"`
-	SuccessNumber int         `json:"SuccessNumber" xml:"SuccessNumber"`
-	FailResults   FailResults `json:"FailResults" xml:"FailResults"`
-}
-
-// CreateDescribeBatchResultRequest creates a request to invoke DescribeBatchResult API
-func CreateDescribeBatchResultRequest() (request *DescribeBatchResultRequest) {
-	request = &DescribeBatchResultRequest{
-		RpcRequest: &requests.RpcRequest{},
-	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeBatchResult", "", "")
-	return
-}
-
-// CreateDescribeBatchResultResponse creates a response to parse from DescribeBatchResult response
-func CreateDescribeBatchResultResponse() (response *DescribeBatchResultResponse) {
-	response = &DescribeBatchResultResponse{
-		BaseResponse: &responses.BaseResponse{},
-	}
-	return
-}

+ 113 - 0
services/alidns/describe_batch_result_count.go

@@ -0,0 +1,113 @@
+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"
+)
+
+// DescribeBatchResultCount invokes the alidns.DescribeBatchResultCount API synchronously
+// api document: https://help.aliyun.com/api/alidns/describebatchresultcount.html
+func (client *Client) DescribeBatchResultCount(request *DescribeBatchResultCountRequest) (response *DescribeBatchResultCountResponse, err error) {
+	response = CreateDescribeBatchResultCountResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeBatchResultCountWithChan invokes the alidns.DescribeBatchResultCount API asynchronously
+// api document: https://help.aliyun.com/api/alidns/describebatchresultcount.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeBatchResultCountWithChan(request *DescribeBatchResultCountRequest) (<-chan *DescribeBatchResultCountResponse, <-chan error) {
+	responseChan := make(chan *DescribeBatchResultCountResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeBatchResultCount(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeBatchResultCountWithCallback invokes the alidns.DescribeBatchResultCount API asynchronously
+// api document: https://help.aliyun.com/api/alidns/describebatchresultcount.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeBatchResultCountWithCallback(request *DescribeBatchResultCountRequest, callback func(response *DescribeBatchResultCountResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeBatchResultCountResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeBatchResultCount(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeBatchResultCountRequest is the request struct for api DescribeBatchResultCount
+type DescribeBatchResultCountRequest struct {
+	*requests.RpcRequest
+	BatchType    string           `position:"Query" name:"BatchType"`
+	UserClientIp string           `position:"Query" name:"UserClientIp"`
+	Lang         string           `position:"Query" name:"Lang"`
+	TaskId       requests.Integer `position:"Query" name:"TaskId"`
+}
+
+// DescribeBatchResultCountResponse is the response struct for api DescribeBatchResultCount
+type DescribeBatchResultCountResponse struct {
+	*responses.BaseResponse
+	RequestId    string `json:"RequestId" xml:"RequestId"`
+	Status       int    `json:"Status" xml:"Status"`
+	TotalCount   int    `json:"TotalCount" xml:"TotalCount"`
+	SuccessCount int    `json:"SuccessCount" xml:"SuccessCount"`
+	FailedCount  int    `json:"FailedCount" xml:"FailedCount"`
+	Reason       string `json:"Reason" xml:"Reason"`
+	BatchType    string `json:"BatchType" xml:"BatchType"`
+	TaskId       int    `json:"TaskId" xml:"TaskId"`
+}
+
+// CreateDescribeBatchResultCountRequest creates a request to invoke DescribeBatchResultCount API
+func CreateDescribeBatchResultCountRequest() (request *DescribeBatchResultCountRequest) {
+	request = &DescribeBatchResultCountRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeBatchResultCount", "alidns", "openAPI")
+	return
+}
+
+// CreateDescribeBatchResultCountResponse creates a response to parse from DescribeBatchResultCount response
+func CreateDescribeBatchResultCountResponse() (response *DescribeBatchResultCountResponse) {
+	response = &DescribeBatchResultCountResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 112 - 0
services/alidns/describe_batch_result_detail.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"
+)
+
+// DescribeBatchResultDetail invokes the alidns.DescribeBatchResultDetail API synchronously
+// api document: https://help.aliyun.com/api/alidns/describebatchresultdetail.html
+func (client *Client) DescribeBatchResultDetail(request *DescribeBatchResultDetailRequest) (response *DescribeBatchResultDetailResponse, err error) {
+	response = CreateDescribeBatchResultDetailResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeBatchResultDetailWithChan invokes the alidns.DescribeBatchResultDetail API asynchronously
+// api document: https://help.aliyun.com/api/alidns/describebatchresultdetail.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeBatchResultDetailWithChan(request *DescribeBatchResultDetailRequest) (<-chan *DescribeBatchResultDetailResponse, <-chan error) {
+	responseChan := make(chan *DescribeBatchResultDetailResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeBatchResultDetail(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeBatchResultDetailWithCallback invokes the alidns.DescribeBatchResultDetail API asynchronously
+// api document: https://help.aliyun.com/api/alidns/describebatchresultdetail.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeBatchResultDetailWithCallback(request *DescribeBatchResultDetailRequest, callback func(response *DescribeBatchResultDetailResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeBatchResultDetailResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeBatchResultDetail(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeBatchResultDetailRequest is the request struct for api DescribeBatchResultDetail
+type DescribeBatchResultDetailRequest struct {
+	*requests.RpcRequest
+	BatchType    string           `position:"Query" name:"BatchType"`
+	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"`
+}
+
+// DescribeBatchResultDetailResponse is the response struct for api DescribeBatchResultDetail
+type DescribeBatchResultDetailResponse struct {
+	*responses.BaseResponse
+	RequestId          string             `json:"RequestId" xml:"RequestId"`
+	TotalCount         int                `json:"TotalCount" xml:"TotalCount"`
+	PageNumber         int                `json:"PageNumber" xml:"PageNumber"`
+	PageSize           int                `json:"PageSize" xml:"PageSize"`
+	BatchResultDetails BatchResultDetails `json:"BatchResultDetails" xml:"BatchResultDetails"`
+}
+
+// CreateDescribeBatchResultDetailRequest creates a request to invoke DescribeBatchResultDetail API
+func CreateDescribeBatchResultDetailRequest() (request *DescribeBatchResultDetailRequest) {
+	request = &DescribeBatchResultDetailRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeBatchResultDetail", "alidns", "openAPI")
+	return
+}
+
+// CreateDescribeBatchResultDetailResponse creates a response to parse from DescribeBatchResultDetail response
+func CreateDescribeBatchResultDetailResponse() (response *DescribeBatchResultDetailResponse) {
+	response = &DescribeBatchResultDetailResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 6 - 3
services/alidns/describe_dns_product_instance.go

@@ -76,9 +76,9 @@ func (client *Client) DescribeDnsProductInstanceWithCallback(request *DescribeDn
 // DescribeDnsProductInstanceRequest is the request struct for api DescribeDnsProductInstance
 type DescribeDnsProductInstanceRequest struct {
 	*requests.RpcRequest
-	Lang         string `position:"Query" name:"Lang"`
-	UserClientIp string `position:"Query" name:"UserClientIp"`
 	InstanceId   string `position:"Query" name:"InstanceId"`
+	UserClientIp string `position:"Query" name:"UserClientIp"`
+	Lang         string `position:"Query" name:"Lang"`
 }
 
 // DescribeDnsProductInstanceResponse is the response struct for api DescribeDnsProductInstance
@@ -113,6 +113,9 @@ type DescribeDnsProductInstanceResponse struct {
 	Gslb                  bool                                   `json:"Gslb" xml:"Gslb"`
 	InClean               bool                                   `json:"InClean" xml:"InClean"`
 	InBlackHole           bool                                   `json:"InBlackHole" xml:"InBlackHole"`
+	BindDomainCount       int                                    `json:"BindDomainCount" xml:"BindDomainCount"`
+	BindDomainUsedCount   int                                    `json:"BindDomainUsedCount" xml:"BindDomainUsedCount"`
+	DnsSecurity           string                                 `json:"DnsSecurity" xml:"DnsSecurity"`
 	DnsServers            DnsServersInDescribeDnsProductInstance `json:"DnsServers" xml:"DnsServers"`
 }
 
@@ -121,7 +124,7 @@ func CreateDescribeDnsProductInstanceRequest() (request *DescribeDnsProductInsta
 	request = &DescribeDnsProductInstanceRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeDnsProductInstance", "", "")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeDnsProductInstance", "alidns", "openAPI")
 	return
 }
 

+ 3 - 3
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
-	Lang         string           `position:"Query" name:"Lang"`
 	UserClientIp string           `position:"Query" name:"UserClientIp"`
-	PageNumber   requests.Integer `position:"Query" name:"PageNumber"`
 	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", "", "")
+	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
-	Lang         string           `position:"Query" name:"Lang"`
 	UserClientIp string           `position:"Query" name:"UserClientIp"`
 	DomainName   string           `position:"Query" name:"DomainName"`
-	PageNumber   requests.Integer `position:"Query" name:"PageNumber"`
 	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", "", "")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeDNSSLBSubDomains", "alidns", "openAPI")
 	return
 }
 

+ 3 - 3
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
-	Lang         string           `position:"Query" name:"Lang"`
 	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"`
-	PageSize     requests.Integer `position:"Query" name:"PageSize"`
 }
 
 // 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", "", "")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeDomainGroups", "alidns", "openAPI")
 	return
 }
 

+ 5 - 2
services/alidns/describe_domain_info.go

@@ -76,9 +76,9 @@ func (client *Client) DescribeDomainInfoWithCallback(request *DescribeDomainInfo
 // DescribeDomainInfoRequest is the request struct for api DescribeDomainInfo
 type DescribeDomainInfoRequest struct {
 	*requests.RpcRequest
-	Lang                 string           `position:"Query" name:"Lang"`
 	UserClientIp         string           `position:"Query" name:"UserClientIp"`
 	DomainName           string           `position:"Query" name:"DomainName"`
+	Lang                 string           `position:"Query" name:"Lang"`
 	NeedDetailAttributes requests.Boolean `position:"Query" name:"NeedDetailAttributes"`
 }
 
@@ -100,6 +100,9 @@ type DescribeDomainInfoResponse struct {
 	RecordLineTreeJson string                          `json:"RecordLineTreeJson" xml:"RecordLineTreeJson"`
 	LineType           string                          `json:"LineType" xml:"LineType"`
 	RegionLines        bool                            `json:"RegionLines" xml:"RegionLines"`
+	InBlackHole        bool                            `json:"InBlackHole" xml:"InBlackHole"`
+	InClean            bool                            `json:"InClean" xml:"InClean"`
+	SlaveDns           bool                            `json:"SlaveDns" xml:"SlaveDns"`
 	DnsServers         DnsServersInDescribeDomainInfo  `json:"DnsServers" xml:"DnsServers"`
 	AvailableTtls      AvailableTtls                   `json:"AvailableTtls" xml:"AvailableTtls"`
 	RecordLines        RecordLinesInDescribeDomainInfo `json:"RecordLines" xml:"RecordLines"`
@@ -110,7 +113,7 @@ func CreateDescribeDomainInfoRequest() (request *DescribeDomainInfoRequest) {
 	request = &DescribeDomainInfoRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeDomainInfo", "", "")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeDomainInfo", "alidns", "openAPI")
 	return
 }
 

+ 7 - 6
services/alidns/describe_domain_logs.go

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

+ 2 - 2
services/alidns/describe_domain_ns.go

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

+ 3 - 3
services/alidns/describe_domain_record_info.go

@@ -76,9 +76,9 @@ func (client *Client) DescribeDomainRecordInfoWithCallback(request *DescribeDoma
 // DescribeDomainRecordInfoRequest is the request struct for api DescribeDomainRecordInfo
 type DescribeDomainRecordInfoRequest struct {
 	*requests.RpcRequest
-	Lang         string `position:"Query" name:"Lang"`
-	UserClientIp string `position:"Query" name:"UserClientIp"`
 	RecordId     string `position:"Query" name:"RecordId"`
+	UserClientIp string `position:"Query" name:"UserClientIp"`
+	Lang         string `position:"Query" name:"Lang"`
 }
 
 // DescribeDomainRecordInfoResponse is the response struct for api DescribeDomainRecordInfo
@@ -106,7 +106,7 @@ func CreateDescribeDomainRecordInfoRequest() (request *DescribeDomainRecordInfoR
 	request = &DescribeDomainRecordInfoRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeDomainRecordInfo", "", "")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeDomainRecordInfo", "alidns", "openAPI")
 	return
 }
 

+ 8 - 6
services/alidns/describe_domain_records.go

@@ -76,16 +76,18 @@ func (client *Client) DescribeDomainRecordsWithCallback(request *DescribeDomainR
 // DescribeDomainRecordsRequest is the request struct for api DescribeDomainRecords
 type DescribeDomainRecordsRequest struct {
 	*requests.RpcRequest
-	Lang         string           `position:"Query" name:"Lang"`
-	UserClientIp string           `position:"Query" name:"UserClientIp"`
+	ValueKeyWord string           `position:"Query" name:"ValueKeyWord"`
+	GroupId      requests.Integer `position:"Query" name:"GroupId"`
 	DomainName   string           `position:"Query" name:"DomainName"`
+	OrderBy      string           `position:"Query" name:"OrderBy"`
 	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"`
-	RRKeyWord    string           `position:"Query" name:"RRKeyWord"`
 	TypeKeyWord  string           `position:"Query" name:"TypeKeyWord"`
-	ValueKeyWord string           `position:"Query" name:"ValueKeyWord"`
-	OrderBy      string           `position:"Query" name:"OrderBy"`
+	RRKeyWord    string           `position:"Query" name:"RRKeyWord"`
 	Direction    string           `position:"Query" name:"Direction"`
 }
 
@@ -104,7 +106,7 @@ func CreateDescribeDomainRecordsRequest() (request *DescribeDomainRecordsRequest
 	request = &DescribeDomainRecordsRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeDomainRecords", "", "")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeDomainRecords", "alidns", "openAPI")
 	return
 }
 

+ 0 - 113
services/alidns/describe_domain_whois_info.go

@@ -1,113 +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"
-)
-
-// DescribeDomainWhoisInfo invokes the alidns.DescribeDomainWhoisInfo API synchronously
-// api document: https://help.aliyun.com/api/alidns/describedomainwhoisinfo.html
-func (client *Client) DescribeDomainWhoisInfo(request *DescribeDomainWhoisInfoRequest) (response *DescribeDomainWhoisInfoResponse, err error) {
-	response = CreateDescribeDomainWhoisInfoResponse()
-	err = client.DoAction(request, response)
-	return
-}
-
-// DescribeDomainWhoisInfoWithChan invokes the alidns.DescribeDomainWhoisInfo API asynchronously
-// api document: https://help.aliyun.com/api/alidns/describedomainwhoisinfo.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) DescribeDomainWhoisInfoWithChan(request *DescribeDomainWhoisInfoRequest) (<-chan *DescribeDomainWhoisInfoResponse, <-chan error) {
-	responseChan := make(chan *DescribeDomainWhoisInfoResponse, 1)
-	errChan := make(chan error, 1)
-	err := client.AddAsyncTask(func() {
-		defer close(responseChan)
-		defer close(errChan)
-		response, err := client.DescribeDomainWhoisInfo(request)
-		if err != nil {
-			errChan <- err
-		} else {
-			responseChan <- response
-		}
-	})
-	if err != nil {
-		errChan <- err
-		close(responseChan)
-		close(errChan)
-	}
-	return responseChan, errChan
-}
-
-// DescribeDomainWhoisInfoWithCallback invokes the alidns.DescribeDomainWhoisInfo API asynchronously
-// api document: https://help.aliyun.com/api/alidns/describedomainwhoisinfo.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) DescribeDomainWhoisInfoWithCallback(request *DescribeDomainWhoisInfoRequest, callback func(response *DescribeDomainWhoisInfoResponse, err error)) <-chan int {
-	result := make(chan int, 1)
-	err := client.AddAsyncTask(func() {
-		var response *DescribeDomainWhoisInfoResponse
-		var err error
-		defer close(result)
-		response, err = client.DescribeDomainWhoisInfo(request)
-		callback(response, err)
-		result <- 1
-	})
-	if err != nil {
-		defer close(result)
-		callback(nil, err)
-		result <- 0
-	}
-	return result
-}
-
-// DescribeDomainWhoisInfoRequest is the request struct for api DescribeDomainWhoisInfo
-type DescribeDomainWhoisInfoRequest struct {
-	*requests.RpcRequest
-	Lang         string `position:"Query" name:"Lang"`
-	UserClientIp string `position:"Query" name:"UserClientIp"`
-	DomainName   string `position:"Query" name:"DomainName"`
-	GroupId      string `position:"Query" name:"GroupId"`
-}
-
-// DescribeDomainWhoisInfoResponse is the response struct for api DescribeDomainWhoisInfo
-type DescribeDomainWhoisInfoResponse struct {
-	*responses.BaseResponse
-	RequestId        string                              `json:"RequestId" xml:"RequestId"`
-	RegistrantName   string                              `json:"RegistrantName" xml:"RegistrantName"`
-	RegistrantEmail  string                              `json:"RegistrantEmail" xml:"RegistrantEmail"`
-	Registrar        string                              `json:"Registrar" xml:"Registrar"`
-	RegistrationDate string                              `json:"RegistrationDate" xml:"RegistrationDate"`
-	ExpirationDate   string                              `json:"ExpirationDate" xml:"ExpirationDate"`
-	StatusList       StatusList                          `json:"StatusList" xml:"StatusList"`
-	DnsServers       DnsServersInDescribeDomainWhoisInfo `json:"DnsServers" xml:"DnsServers"`
-}
-
-// CreateDescribeDomainWhoisInfoRequest creates a request to invoke DescribeDomainWhoisInfo API
-func CreateDescribeDomainWhoisInfoRequest() (request *DescribeDomainWhoisInfoRequest) {
-	request = &DescribeDomainWhoisInfoRequest{
-		RpcRequest: &requests.RpcRequest{},
-	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeDomainWhoisInfo", "", "")
-	return
-}
-
-// CreateDescribeDomainWhoisInfoResponse creates a response to parse from DescribeDomainWhoisInfo response
-func CreateDescribeDomainWhoisInfoResponse() (response *DescribeDomainWhoisInfoResponse) {
-	response = &DescribeDomainWhoisInfoResponse{
-		BaseResponse: &responses.BaseResponse{},
-	}
-	return
-}

+ 5 - 4
services/alidns/describe_domains.go

@@ -76,12 +76,13 @@ func (client *Client) DescribeDomainsWithCallback(request *DescribeDomainsReques
 // DescribeDomainsRequest is the request struct for api DescribeDomains
 type DescribeDomainsRequest struct {
 	*requests.RpcRequest
-	Lang         string           `position:"Query" name:"Lang"`
+	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"`
-	GroupId      string           `position:"Query" name:"GroupId"`
 	PageNumber   requests.Integer `position:"Query" name:"PageNumber"`
-	PageSize     requests.Integer `position:"Query" name:"PageSize"`
 }
 
 // DescribeDomainsResponse is the response struct for api DescribeDomains
@@ -99,7 +100,7 @@ func CreateDescribeDomainsRequest() (request *DescribeDomainsRequest) {
 	request = &DescribeDomainsRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeDomains", "", "")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeDomains", "alidns", "openAPI")
 	return
 }
 

+ 112 - 0
services/alidns/describe_gtm_access_strategies.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"
+)
+
+// DescribeGtmAccessStrategies invokes the alidns.DescribeGtmAccessStrategies API synchronously
+// api document: https://help.aliyun.com/api/alidns/describegtmaccessstrategies.html
+func (client *Client) DescribeGtmAccessStrategies(request *DescribeGtmAccessStrategiesRequest) (response *DescribeGtmAccessStrategiesResponse, err error) {
+	response = CreateDescribeGtmAccessStrategiesResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeGtmAccessStrategiesWithChan invokes the alidns.DescribeGtmAccessStrategies API asynchronously
+// api document: https://help.aliyun.com/api/alidns/describegtmaccessstrategies.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeGtmAccessStrategiesWithChan(request *DescribeGtmAccessStrategiesRequest) (<-chan *DescribeGtmAccessStrategiesResponse, <-chan error) {
+	responseChan := make(chan *DescribeGtmAccessStrategiesResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeGtmAccessStrategies(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeGtmAccessStrategiesWithCallback invokes the alidns.DescribeGtmAccessStrategies API asynchronously
+// api document: https://help.aliyun.com/api/alidns/describegtmaccessstrategies.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeGtmAccessStrategiesWithCallback(request *DescribeGtmAccessStrategiesRequest, callback func(response *DescribeGtmAccessStrategiesResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeGtmAccessStrategiesResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeGtmAccessStrategies(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeGtmAccessStrategiesRequest is the request struct for api DescribeGtmAccessStrategies
+type DescribeGtmAccessStrategiesRequest struct {
+	*requests.RpcRequest
+	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
+type DescribeGtmAccessStrategiesResponse 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"`
+	Strategies Strategies `json:"Strategies" xml:"Strategies"`
+}
+
+// CreateDescribeGtmAccessStrategiesRequest creates a request to invoke DescribeGtmAccessStrategies API
+func CreateDescribeGtmAccessStrategiesRequest() (request *DescribeGtmAccessStrategiesRequest) {
+	request = &DescribeGtmAccessStrategiesRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeGtmAccessStrategies", "alidns", "openAPI")
+	return
+}
+
+// CreateDescribeGtmAccessStrategiesResponse creates a response to parse from DescribeGtmAccessStrategies response
+func CreateDescribeGtmAccessStrategiesResponse() (response *DescribeGtmAccessStrategiesResponse) {
+	response = &DescribeGtmAccessStrategiesResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 116 - 0
services/alidns/describe_gtm_access_strategy.go

@@ -0,0 +1,116 @@
+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"
+)
+
+// DescribeGtmAccessStrategy invokes the alidns.DescribeGtmAccessStrategy API synchronously
+// api document: https://help.aliyun.com/api/alidns/describegtmaccessstrategy.html
+func (client *Client) DescribeGtmAccessStrategy(request *DescribeGtmAccessStrategyRequest) (response *DescribeGtmAccessStrategyResponse, err error) {
+	response = CreateDescribeGtmAccessStrategyResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeGtmAccessStrategyWithChan invokes the alidns.DescribeGtmAccessStrategy API asynchronously
+// api document: https://help.aliyun.com/api/alidns/describegtmaccessstrategy.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeGtmAccessStrategyWithChan(request *DescribeGtmAccessStrategyRequest) (<-chan *DescribeGtmAccessStrategyResponse, <-chan error) {
+	responseChan := make(chan *DescribeGtmAccessStrategyResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeGtmAccessStrategy(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeGtmAccessStrategyWithCallback invokes the alidns.DescribeGtmAccessStrategy API asynchronously
+// api document: https://help.aliyun.com/api/alidns/describegtmaccessstrategy.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeGtmAccessStrategyWithCallback(request *DescribeGtmAccessStrategyRequest, callback func(response *DescribeGtmAccessStrategyResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeGtmAccessStrategyResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeGtmAccessStrategy(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeGtmAccessStrategyRequest is the request struct for api DescribeGtmAccessStrategy
+type DescribeGtmAccessStrategyRequest struct {
+	*requests.RpcRequest
+	UserClientIp string `position:"Query" name:"UserClientIp"`
+	StrategyId   string `position:"Query" name:"StrategyId"`
+	Lang         string `position:"Query" name:"Lang"`
+}
+
+// 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"`
+}
+
+// CreateDescribeGtmAccessStrategyRequest creates a request to invoke DescribeGtmAccessStrategy API
+func CreateDescribeGtmAccessStrategyRequest() (request *DescribeGtmAccessStrategyRequest) {
+	request = &DescribeGtmAccessStrategyRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeGtmAccessStrategy", "alidns", "openAPI")
+	return
+}
+
+// CreateDescribeGtmAccessStrategyResponse creates a response to parse from DescribeGtmAccessStrategy response
+func CreateDescribeGtmAccessStrategyResponse() (response *DescribeGtmAccessStrategyResponse) {
+	response = &DescribeGtmAccessStrategyResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/alidns/describe_gtm_access_strategy_available_config.go

@@ -0,0 +1,107 @@
+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"
+)
+
+// DescribeGtmAccessStrategyAvailableConfig invokes the alidns.DescribeGtmAccessStrategyAvailableConfig API synchronously
+// api document: https://help.aliyun.com/api/alidns/describegtmaccessstrategyavailableconfig.html
+func (client *Client) DescribeGtmAccessStrategyAvailableConfig(request *DescribeGtmAccessStrategyAvailableConfigRequest) (response *DescribeGtmAccessStrategyAvailableConfigResponse, err error) {
+	response = CreateDescribeGtmAccessStrategyAvailableConfigResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeGtmAccessStrategyAvailableConfigWithChan invokes the alidns.DescribeGtmAccessStrategyAvailableConfig API asynchronously
+// api document: https://help.aliyun.com/api/alidns/describegtmaccessstrategyavailableconfig.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeGtmAccessStrategyAvailableConfigWithChan(request *DescribeGtmAccessStrategyAvailableConfigRequest) (<-chan *DescribeGtmAccessStrategyAvailableConfigResponse, <-chan error) {
+	responseChan := make(chan *DescribeGtmAccessStrategyAvailableConfigResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeGtmAccessStrategyAvailableConfig(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeGtmAccessStrategyAvailableConfigWithCallback invokes the alidns.DescribeGtmAccessStrategyAvailableConfig API asynchronously
+// api document: https://help.aliyun.com/api/alidns/describegtmaccessstrategyavailableconfig.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeGtmAccessStrategyAvailableConfigWithCallback(request *DescribeGtmAccessStrategyAvailableConfigRequest, callback func(response *DescribeGtmAccessStrategyAvailableConfigResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeGtmAccessStrategyAvailableConfigResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeGtmAccessStrategyAvailableConfig(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeGtmAccessStrategyAvailableConfigRequest is the request struct for api DescribeGtmAccessStrategyAvailableConfig
+type DescribeGtmAccessStrategyAvailableConfigRequest struct {
+	*requests.RpcRequest
+	InstanceId   string `position:"Query" name:"InstanceId"`
+	UserClientIp string `position:"Query" name:"UserClientIp"`
+	Lang         string `position:"Query" name:"Lang"`
+}
+
+// DescribeGtmAccessStrategyAvailableConfigResponse is the response struct for api DescribeGtmAccessStrategyAvailableConfig
+type DescribeGtmAccessStrategyAvailableConfigResponse struct {
+	*responses.BaseResponse
+	RequestId string                                              `json:"RequestId" xml:"RequestId"`
+	AddrPools AddrPoolsInDescribeGtmAccessStrategyAvailableConfig `json:"AddrPools" xml:"AddrPools"`
+	Lines     LinesInDescribeGtmAccessStrategyAvailableConfig     `json:"Lines" xml:"Lines"`
+}
+
+// CreateDescribeGtmAccessStrategyAvailableConfigRequest creates a request to invoke DescribeGtmAccessStrategyAvailableConfig API
+func CreateDescribeGtmAccessStrategyAvailableConfigRequest() (request *DescribeGtmAccessStrategyAvailableConfigRequest) {
+	request = &DescribeGtmAccessStrategyAvailableConfigRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeGtmAccessStrategyAvailableConfig", "alidns", "openAPI")
+	return
+}
+
+// CreateDescribeGtmAccessStrategyAvailableConfigResponse creates a response to parse from DescribeGtmAccessStrategyAvailableConfig response
+func CreateDescribeGtmAccessStrategyAvailableConfigResponse() (response *DescribeGtmAccessStrategyAvailableConfigResponse) {
+	response = &DescribeGtmAccessStrategyAvailableConfigResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 105 - 0
services/alidns/describe_gtm_available_alert_group.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"
+)
+
+// DescribeGtmAvailableAlertGroup invokes the alidns.DescribeGtmAvailableAlertGroup API synchronously
+// api document: https://help.aliyun.com/api/alidns/describegtmavailablealertgroup.html
+func (client *Client) DescribeGtmAvailableAlertGroup(request *DescribeGtmAvailableAlertGroupRequest) (response *DescribeGtmAvailableAlertGroupResponse, err error) {
+	response = CreateDescribeGtmAvailableAlertGroupResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeGtmAvailableAlertGroupWithChan invokes the alidns.DescribeGtmAvailableAlertGroup API asynchronously
+// api document: https://help.aliyun.com/api/alidns/describegtmavailablealertgroup.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeGtmAvailableAlertGroupWithChan(request *DescribeGtmAvailableAlertGroupRequest) (<-chan *DescribeGtmAvailableAlertGroupResponse, <-chan error) {
+	responseChan := make(chan *DescribeGtmAvailableAlertGroupResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeGtmAvailableAlertGroup(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeGtmAvailableAlertGroupWithCallback invokes the alidns.DescribeGtmAvailableAlertGroup API asynchronously
+// api document: https://help.aliyun.com/api/alidns/describegtmavailablealertgroup.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeGtmAvailableAlertGroupWithCallback(request *DescribeGtmAvailableAlertGroupRequest, callback func(response *DescribeGtmAvailableAlertGroupResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeGtmAvailableAlertGroupResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeGtmAvailableAlertGroup(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeGtmAvailableAlertGroupRequest is the request struct for api DescribeGtmAvailableAlertGroup
+type DescribeGtmAvailableAlertGroupRequest struct {
+	*requests.RpcRequest
+	UserClientIp string `position:"Query" name:"UserClientIp"`
+	Lang         string `position:"Query" name:"Lang"`
+}
+
+// DescribeGtmAvailableAlertGroupResponse is the response struct for api DescribeGtmAvailableAlertGroup
+type DescribeGtmAvailableAlertGroupResponse struct {
+	*responses.BaseResponse
+	RequestId           string `json:"RequestId" xml:"RequestId"`
+	AvailableAlertGroup string `json:"AvailableAlertGroup" xml:"AvailableAlertGroup"`
+}
+
+// CreateDescribeGtmAvailableAlertGroupRequest creates a request to invoke DescribeGtmAvailableAlertGroup API
+func CreateDescribeGtmAvailableAlertGroupRequest() (request *DescribeGtmAvailableAlertGroupRequest) {
+	request = &DescribeGtmAvailableAlertGroupRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeGtmAvailableAlertGroup", "alidns", "openAPI")
+	return
+}
+
+// CreateDescribeGtmAvailableAlertGroupResponse creates a response to parse from DescribeGtmAvailableAlertGroup response
+func CreateDescribeGtmAvailableAlertGroupResponse() (response *DescribeGtmAvailableAlertGroupResponse) {
+	response = &DescribeGtmAvailableAlertGroupResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 117 - 0
services/alidns/describe_gtm_instance.go

@@ -0,0 +1,117 @@
+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"
+)
+
+// DescribeGtmInstance invokes the alidns.DescribeGtmInstance API synchronously
+// api document: https://help.aliyun.com/api/alidns/describegtminstance.html
+func (client *Client) DescribeGtmInstance(request *DescribeGtmInstanceRequest) (response *DescribeGtmInstanceResponse, err error) {
+	response = CreateDescribeGtmInstanceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeGtmInstanceWithChan invokes the alidns.DescribeGtmInstance API asynchronously
+// api document: https://help.aliyun.com/api/alidns/describegtminstance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeGtmInstanceWithChan(request *DescribeGtmInstanceRequest) (<-chan *DescribeGtmInstanceResponse, <-chan error) {
+	responseChan := make(chan *DescribeGtmInstanceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeGtmInstance(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeGtmInstanceWithCallback invokes the alidns.DescribeGtmInstance API asynchronously
+// api document: https://help.aliyun.com/api/alidns/describegtminstance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeGtmInstanceWithCallback(request *DescribeGtmInstanceRequest, callback func(response *DescribeGtmInstanceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeGtmInstanceResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeGtmInstance(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// 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"`
+}
+
+// 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 int    `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 int    `json:"CreateTimestamp" xml:"CreateTimestamp"`
+	AlertGroup      string `json:"AlertGroup" xml:"AlertGroup"`
+}
+
+// CreateDescribeGtmInstanceRequest creates a request to invoke DescribeGtmInstance API
+func CreateDescribeGtmInstanceRequest() (request *DescribeGtmInstanceRequest) {
+	request = &DescribeGtmInstanceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeGtmInstance", "alidns", "openAPI")
+	return
+}
+
+// CreateDescribeGtmInstanceResponse creates a response to parse from DescribeGtmInstance response
+func CreateDescribeGtmInstanceResponse() (response *DescribeGtmInstanceResponse) {
+	response = &DescribeGtmInstanceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 118 - 0
services/alidns/describe_gtm_instance_address_pool.go

@@ -0,0 +1,118 @@
+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"
+)
+
+// DescribeGtmInstanceAddressPool invokes the alidns.DescribeGtmInstanceAddressPool API synchronously
+// api document: https://help.aliyun.com/api/alidns/describegtminstanceaddresspool.html
+func (client *Client) DescribeGtmInstanceAddressPool(request *DescribeGtmInstanceAddressPoolRequest) (response *DescribeGtmInstanceAddressPoolResponse, err error) {
+	response = CreateDescribeGtmInstanceAddressPoolResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeGtmInstanceAddressPoolWithChan invokes the alidns.DescribeGtmInstanceAddressPool API asynchronously
+// api document: https://help.aliyun.com/api/alidns/describegtminstanceaddresspool.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeGtmInstanceAddressPoolWithChan(request *DescribeGtmInstanceAddressPoolRequest) (<-chan *DescribeGtmInstanceAddressPoolResponse, <-chan error) {
+	responseChan := make(chan *DescribeGtmInstanceAddressPoolResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeGtmInstanceAddressPool(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeGtmInstanceAddressPoolWithCallback invokes the alidns.DescribeGtmInstanceAddressPool API asynchronously
+// api document: https://help.aliyun.com/api/alidns/describegtminstanceaddresspool.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeGtmInstanceAddressPoolWithCallback(request *DescribeGtmInstanceAddressPoolRequest, callback func(response *DescribeGtmInstanceAddressPoolResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeGtmInstanceAddressPoolResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeGtmInstanceAddressPool(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeGtmInstanceAddressPoolRequest is the request struct for api DescribeGtmInstanceAddressPool
+type DescribeGtmInstanceAddressPoolRequest struct {
+	*requests.RpcRequest
+	AddrPoolId   string `position:"Query" name:"AddrPoolId"`
+	UserClientIp string `position:"Query" name:"UserClientIp"`
+	Lang         string `position:"Query" name:"Lang"`
+}
+
+// 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     int    `json:"CreateTimestamp" xml:"CreateTimestamp"`
+	UpdateTime          string `json:"UpdateTime" xml:"UpdateTime"`
+	UpdateTimestamp     int    `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"`
+}
+
+// CreateDescribeGtmInstanceAddressPoolRequest creates a request to invoke DescribeGtmInstanceAddressPool API
+func CreateDescribeGtmInstanceAddressPoolRequest() (request *DescribeGtmInstanceAddressPoolRequest) {
+	request = &DescribeGtmInstanceAddressPoolRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeGtmInstanceAddressPool", "alidns", "openAPI")
+	return
+}
+
+// CreateDescribeGtmInstanceAddressPoolResponse creates a response to parse from DescribeGtmInstanceAddressPool response
+func CreateDescribeGtmInstanceAddressPoolResponse() (response *DescribeGtmInstanceAddressPoolResponse) {
+	response = &DescribeGtmInstanceAddressPoolResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 112 - 0
services/alidns/describe_gtm_instance_address_pools.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"
+)
+
+// DescribeGtmInstanceAddressPools invokes the alidns.DescribeGtmInstanceAddressPools API synchronously
+// api document: https://help.aliyun.com/api/alidns/describegtminstanceaddresspools.html
+func (client *Client) DescribeGtmInstanceAddressPools(request *DescribeGtmInstanceAddressPoolsRequest) (response *DescribeGtmInstanceAddressPoolsResponse, err error) {
+	response = CreateDescribeGtmInstanceAddressPoolsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeGtmInstanceAddressPoolsWithChan invokes the alidns.DescribeGtmInstanceAddressPools API asynchronously
+// api document: https://help.aliyun.com/api/alidns/describegtminstanceaddresspools.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeGtmInstanceAddressPoolsWithChan(request *DescribeGtmInstanceAddressPoolsRequest) (<-chan *DescribeGtmInstanceAddressPoolsResponse, <-chan error) {
+	responseChan := make(chan *DescribeGtmInstanceAddressPoolsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeGtmInstanceAddressPools(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeGtmInstanceAddressPoolsWithCallback invokes the alidns.DescribeGtmInstanceAddressPools API asynchronously
+// api document: https://help.aliyun.com/api/alidns/describegtminstanceaddresspools.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeGtmInstanceAddressPoolsWithCallback(request *DescribeGtmInstanceAddressPoolsRequest, callback func(response *DescribeGtmInstanceAddressPoolsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeGtmInstanceAddressPoolsResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeGtmInstanceAddressPools(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeGtmInstanceAddressPoolsRequest is the request struct for api DescribeGtmInstanceAddressPools
+type DescribeGtmInstanceAddressPoolsRequest struct {
+	*requests.RpcRequest
+	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
+type DescribeGtmInstanceAddressPoolsResponse 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"`
+	AddrPools  AddrPoolsInDescribeGtmInstanceAddressPools `json:"AddrPools" xml:"AddrPools"`
+}
+
+// CreateDescribeGtmInstanceAddressPoolsRequest creates a request to invoke DescribeGtmInstanceAddressPools API
+func CreateDescribeGtmInstanceAddressPoolsRequest() (request *DescribeGtmInstanceAddressPoolsRequest) {
+	request = &DescribeGtmInstanceAddressPoolsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeGtmInstanceAddressPools", "alidns", "openAPI")
+	return
+}
+
+// CreateDescribeGtmInstanceAddressPoolsResponse creates a response to parse from DescribeGtmInstanceAddressPools response
+func CreateDescribeGtmInstanceAddressPoolsResponse() (response *DescribeGtmInstanceAddressPoolsResponse) {
+	response = &DescribeGtmInstanceAddressPoolsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/alidns/describe_gtm_instance_status.go

@@ -0,0 +1,107 @@
+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"
+)
+
+// DescribeGtmInstanceStatus invokes the alidns.DescribeGtmInstanceStatus API synchronously
+// api document: https://help.aliyun.com/api/alidns/describegtminstancestatus.html
+func (client *Client) DescribeGtmInstanceStatus(request *DescribeGtmInstanceStatusRequest) (response *DescribeGtmInstanceStatusResponse, err error) {
+	response = CreateDescribeGtmInstanceStatusResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeGtmInstanceStatusWithChan invokes the alidns.DescribeGtmInstanceStatus API asynchronously
+// api document: https://help.aliyun.com/api/alidns/describegtminstancestatus.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeGtmInstanceStatusWithChan(request *DescribeGtmInstanceStatusRequest) (<-chan *DescribeGtmInstanceStatusResponse, <-chan error) {
+	responseChan := make(chan *DescribeGtmInstanceStatusResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeGtmInstanceStatus(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeGtmInstanceStatusWithCallback invokes the alidns.DescribeGtmInstanceStatus API asynchronously
+// api document: https://help.aliyun.com/api/alidns/describegtminstancestatus.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeGtmInstanceStatusWithCallback(request *DescribeGtmInstanceStatusRequest, callback func(response *DescribeGtmInstanceStatusResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeGtmInstanceStatusResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeGtmInstanceStatus(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeGtmInstanceStatusRequest is the request struct for api DescribeGtmInstanceStatus
+type DescribeGtmInstanceStatusRequest struct {
+	*requests.RpcRequest
+	InstanceId   string `position:"Query" name:"InstanceId"`
+	UserClientIp string `position:"Query" name:"UserClientIp"`
+	Lang         string `position:"Query" name:"Lang"`
+}
+
+// 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"`
+}
+
+// CreateDescribeGtmInstanceStatusRequest creates a request to invoke DescribeGtmInstanceStatus API
+func CreateDescribeGtmInstanceStatusRequest() (request *DescribeGtmInstanceStatusRequest) {
+	request = &DescribeGtmInstanceStatusRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeGtmInstanceStatus", "alidns", "openAPI")
+	return
+}
+
+// CreateDescribeGtmInstanceStatusResponse creates a response to parse from DescribeGtmInstanceStatus response
+func CreateDescribeGtmInstanceStatusResponse() (response *DescribeGtmInstanceStatusResponse) {
+	response = &DescribeGtmInstanceStatusResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 112 - 0
services/alidns/describe_gtm_instances.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"
+)
+
+// DescribeGtmInstances invokes the alidns.DescribeGtmInstances API synchronously
+// api document: https://help.aliyun.com/api/alidns/describegtminstances.html
+func (client *Client) DescribeGtmInstances(request *DescribeGtmInstancesRequest) (response *DescribeGtmInstancesResponse, err error) {
+	response = CreateDescribeGtmInstancesResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeGtmInstancesWithChan invokes the alidns.DescribeGtmInstances API asynchronously
+// api document: https://help.aliyun.com/api/alidns/describegtminstances.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeGtmInstancesWithChan(request *DescribeGtmInstancesRequest) (<-chan *DescribeGtmInstancesResponse, <-chan error) {
+	responseChan := make(chan *DescribeGtmInstancesResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeGtmInstances(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeGtmInstancesWithCallback invokes the alidns.DescribeGtmInstances API asynchronously
+// api document: https://help.aliyun.com/api/alidns/describegtminstances.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeGtmInstancesWithCallback(request *DescribeGtmInstancesRequest, callback func(response *DescribeGtmInstancesResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeGtmInstancesResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeGtmInstances(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeGtmInstancesRequest is the request struct for api DescribeGtmInstances
+type DescribeGtmInstancesRequest struct {
+	*requests.RpcRequest
+	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"`
+}
+
+// DescribeGtmInstancesResponse is the response struct for api DescribeGtmInstances
+type DescribeGtmInstancesResponse struct {
+	*responses.BaseResponse
+	RequestId    string       `json:"RequestId" xml:"RequestId"`
+	PageNumber   int          `json:"PageNumber" xml:"PageNumber"`
+	PageSize     int          `json:"PageSize" xml:"PageSize"`
+	TotalItems   int          `json:"TotalItems" xml:"TotalItems"`
+	TotalPages   int          `json:"TotalPages" xml:"TotalPages"`
+	GtmInstances GtmInstances `json:"GtmInstances" xml:"GtmInstances"`
+}
+
+// CreateDescribeGtmInstancesRequest creates a request to invoke DescribeGtmInstances API
+func CreateDescribeGtmInstancesRequest() (request *DescribeGtmInstancesRequest) {
+	request = &DescribeGtmInstancesRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeGtmInstances", "alidns", "openAPI")
+	return
+}
+
+// CreateDescribeGtmInstancesResponse creates a response to parse from DescribeGtmInstances response
+func CreateDescribeGtmInstancesResponse() (response *DescribeGtmInstancesResponse) {
+	response = &DescribeGtmInstancesResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 115 - 0
services/alidns/describe_gtm_logs.go

@@ -0,0 +1,115 @@
+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"
+)
+
+// DescribeGtmLogs invokes the alidns.DescribeGtmLogs API synchronously
+// api document: https://help.aliyun.com/api/alidns/describegtmlogs.html
+func (client *Client) DescribeGtmLogs(request *DescribeGtmLogsRequest) (response *DescribeGtmLogsResponse, err error) {
+	response = CreateDescribeGtmLogsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeGtmLogsWithChan invokes the alidns.DescribeGtmLogs API asynchronously
+// api document: https://help.aliyun.com/api/alidns/describegtmlogs.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeGtmLogsWithChan(request *DescribeGtmLogsRequest) (<-chan *DescribeGtmLogsResponse, <-chan error) {
+	responseChan := make(chan *DescribeGtmLogsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeGtmLogs(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeGtmLogsWithCallback invokes the alidns.DescribeGtmLogs API asynchronously
+// api document: https://help.aliyun.com/api/alidns/describegtmlogs.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeGtmLogsWithCallback(request *DescribeGtmLogsRequest, callback func(response *DescribeGtmLogsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeGtmLogsResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeGtmLogs(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeGtmLogsRequest is the request struct for api DescribeGtmLogs
+type DescribeGtmLogsRequest struct {
+	*requests.RpcRequest
+	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
+type DescribeGtmLogsResponse 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"`
+	Logs       Logs   `json:"Logs" xml:"Logs"`
+}
+
+// CreateDescribeGtmLogsRequest creates a request to invoke DescribeGtmLogs API
+func CreateDescribeGtmLogsRequest() (request *DescribeGtmLogsRequest) {
+	request = &DescribeGtmLogsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeGtmLogs", "alidns", "openAPI")
+	return
+}
+
+// CreateDescribeGtmLogsResponse creates a response to parse from DescribeGtmLogs response
+func CreateDescribeGtmLogsResponse() (response *DescribeGtmLogsResponse) {
+	response = &DescribeGtmLogsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 105 - 0
services/alidns/describe_gtm_monitor_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"
+)
+
+// DescribeGtmMonitorAvailableConfig invokes the alidns.DescribeGtmMonitorAvailableConfig API synchronously
+// api document: https://help.aliyun.com/api/alidns/describegtmmonitoravailableconfig.html
+func (client *Client) DescribeGtmMonitorAvailableConfig(request *DescribeGtmMonitorAvailableConfigRequest) (response *DescribeGtmMonitorAvailableConfigResponse, err error) {
+	response = CreateDescribeGtmMonitorAvailableConfigResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeGtmMonitorAvailableConfigWithChan invokes the alidns.DescribeGtmMonitorAvailableConfig API asynchronously
+// api document: https://help.aliyun.com/api/alidns/describegtmmonitoravailableconfig.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeGtmMonitorAvailableConfigWithChan(request *DescribeGtmMonitorAvailableConfigRequest) (<-chan *DescribeGtmMonitorAvailableConfigResponse, <-chan error) {
+	responseChan := make(chan *DescribeGtmMonitorAvailableConfigResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeGtmMonitorAvailableConfig(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeGtmMonitorAvailableConfigWithCallback invokes the alidns.DescribeGtmMonitorAvailableConfig API asynchronously
+// api document: https://help.aliyun.com/api/alidns/describegtmmonitoravailableconfig.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeGtmMonitorAvailableConfigWithCallback(request *DescribeGtmMonitorAvailableConfigRequest, callback func(response *DescribeGtmMonitorAvailableConfigResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeGtmMonitorAvailableConfigResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeGtmMonitorAvailableConfig(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeGtmMonitorAvailableConfigRequest is the request struct for api DescribeGtmMonitorAvailableConfig
+type DescribeGtmMonitorAvailableConfigRequest struct {
+	*requests.RpcRequest
+	UserClientIp string `position:"Query" name:"UserClientIp"`
+	Lang         string `position:"Query" name:"Lang"`
+}
+
+// DescribeGtmMonitorAvailableConfigResponse is the response struct for api DescribeGtmMonitorAvailableConfig
+type DescribeGtmMonitorAvailableConfigResponse struct {
+	*responses.BaseResponse
+	RequestId    string                                          `json:"RequestId" xml:"RequestId"`
+	IspCityNodes IspCityNodesInDescribeGtmMonitorAvailableConfig `json:"IspCityNodes" xml:"IspCityNodes"`
+}
+
+// CreateDescribeGtmMonitorAvailableConfigRequest creates a request to invoke DescribeGtmMonitorAvailableConfig API
+func CreateDescribeGtmMonitorAvailableConfigRequest() (request *DescribeGtmMonitorAvailableConfigRequest) {
+	request = &DescribeGtmMonitorAvailableConfigRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeGtmMonitorAvailableConfig", "alidns", "openAPI")
+	return
+}
+
+// CreateDescribeGtmMonitorAvailableConfigResponse creates a response to parse from DescribeGtmMonitorAvailableConfig response
+func CreateDescribeGtmMonitorAvailableConfigResponse() (response *DescribeGtmMonitorAvailableConfigResponse) {
+	response = &DescribeGtmMonitorAvailableConfigResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 117 - 0
services/alidns/describe_gtm_monitor_config.go

@@ -0,0 +1,117 @@
+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"
+)
+
+// DescribeGtmMonitorConfig invokes the alidns.DescribeGtmMonitorConfig API synchronously
+// api document: https://help.aliyun.com/api/alidns/describegtmmonitorconfig.html
+func (client *Client) DescribeGtmMonitorConfig(request *DescribeGtmMonitorConfigRequest) (response *DescribeGtmMonitorConfigResponse, err error) {
+	response = CreateDescribeGtmMonitorConfigResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeGtmMonitorConfigWithChan invokes the alidns.DescribeGtmMonitorConfig API asynchronously
+// api document: https://help.aliyun.com/api/alidns/describegtmmonitorconfig.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeGtmMonitorConfigWithChan(request *DescribeGtmMonitorConfigRequest) (<-chan *DescribeGtmMonitorConfigResponse, <-chan error) {
+	responseChan := make(chan *DescribeGtmMonitorConfigResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeGtmMonitorConfig(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeGtmMonitorConfigWithCallback invokes the alidns.DescribeGtmMonitorConfig API asynchronously
+// api document: https://help.aliyun.com/api/alidns/describegtmmonitorconfig.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeGtmMonitorConfigWithCallback(request *DescribeGtmMonitorConfigRequest, callback func(response *DescribeGtmMonitorConfigResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeGtmMonitorConfigResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeGtmMonitorConfig(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// 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"`
+	Lang            string `position:"Query" name:"Lang"`
+}
+
+// DescribeGtmMonitorConfigResponse is the response struct for api DescribeGtmMonitorConfig
+type DescribeGtmMonitorConfigResponse struct {
+	*responses.BaseResponse
+	RequestId         string                                 `json:"RequestId" xml:"RequestId"`
+	MonitorConfigId   string                                 `json:"MonitorConfigId" xml:"MonitorConfigId"`
+	CreateTime        string                                 `json:"CreateTime" xml:"CreateTime"`
+	CreateTimestamp   int                                    `json:"CreateTimestamp" xml:"CreateTimestamp"`
+	UpdateTime        string                                 `json:"UpdateTime" xml:"UpdateTime"`
+	UpdateTimestamp   int                                    `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"`
+	Timeout           int                                    `json:"Timeout" xml:"Timeout"`
+	MonitorExtendInfo string                                 `json:"MonitorExtendInfo" xml:"MonitorExtendInfo"`
+	IspCityNodes      IspCityNodesInDescribeGtmMonitorConfig `json:"IspCityNodes" xml:"IspCityNodes"`
+}
+
+// CreateDescribeGtmMonitorConfigRequest creates a request to invoke DescribeGtmMonitorConfig API
+func CreateDescribeGtmMonitorConfigRequest() (request *DescribeGtmMonitorConfigRequest) {
+	request = &DescribeGtmMonitorConfigRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeGtmMonitorConfig", "alidns", "openAPI")
+	return
+}
+
+// CreateDescribeGtmMonitorConfigResponse creates a response to parse from DescribeGtmMonitorConfig response
+func CreateDescribeGtmMonitorConfigResponse() (response *DescribeGtmMonitorConfigResponse) {
+	response = &DescribeGtmMonitorConfigResponse{
+		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
-	Lang         string           `position:"Query" name:"Lang"`
+	EndDate      string           `position:"Query" name:"endDate"`
 	UserClientIp string           `position:"Query" name:"UserClientIp"`
 	DomainName   string           `position:"Query" name:"DomainName"`
-	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"`
 	StartDate    string           `position:"Query" name:"StartDate"`
-	EndDate      string           `position:"Query" name:"endDate"`
+	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", "", "")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeRecordLogs", "alidns", "openAPI")
 	return
 }
 

+ 5 - 4
services/alidns/describe_sub_domain_records.go

@@ -76,12 +76,13 @@ func (client *Client) DescribeSubDomainRecordsWithCallback(request *DescribeSubD
 // DescribeSubDomainRecordsRequest is the request struct for api DescribeSubDomainRecords
 type DescribeSubDomainRecordsRequest struct {
 	*requests.RpcRequest
-	Lang         string           `position:"Query" name:"Lang"`
+	Line         string           `position:"Query" name:"Line"`
 	UserClientIp string           `position:"Query" name:"UserClientIp"`
-	SubDomain    string           `position:"Query" name:"SubDomain"`
-	PageNumber   requests.Integer `position:"Query" name:"PageNumber"`
 	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
@@ -99,7 +100,7 @@ func CreateDescribeSubDomainRecordsRequest() (request *DescribeSubDomainRecordsR
 	request = &DescribeSubDomainRecordsRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeSubDomainRecords", "", "")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeSubDomainRecords", "alidns", "openAPI")
 	return
 }
 

+ 3 - 2
services/alidns/describe_support_lines.go

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

+ 3 - 3
services/alidns/get_main_domain_name.go

@@ -76,9 +76,9 @@ func (client *Client) GetMainDomainNameWithCallback(request *GetMainDomainNameRe
 // GetMainDomainNameRequest is the request struct for api GetMainDomainName
 type GetMainDomainNameRequest struct {
 	*requests.RpcRequest
-	Lang         string `position:"Query" name:"Lang"`
-	UserClientIp string `position:"Query" name:"UserClientIp"`
 	InputString  string `position:"Query" name:"InputString"`
+	UserClientIp string `position:"Query" name:"UserClientIp"`
+	Lang         string `position:"Query" name:"Lang"`
 }
 
 // GetMainDomainNameResponse is the response struct for api GetMainDomainName
@@ -95,7 +95,7 @@ func CreateGetMainDomainNameRequest() (request *GetMainDomainNameRequest) {
 	request = &GetMainDomainNameRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "GetMainDomainName", "", "")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "GetMainDomainName", "alidns", "openAPI")
 	return
 }
 

+ 2 - 2
services/alidns/modify_hichina_domain_dns.go

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

+ 118 - 0
services/alidns/operate_batch_domain.go

@@ -0,0 +1,118 @@
+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"
+)
+
+// OperateBatchDomain invokes the alidns.OperateBatchDomain API synchronously
+// api document: https://help.aliyun.com/api/alidns/operatebatchdomain.html
+func (client *Client) OperateBatchDomain(request *OperateBatchDomainRequest) (response *OperateBatchDomainResponse, err error) {
+	response = CreateOperateBatchDomainResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// OperateBatchDomainWithChan invokes the alidns.OperateBatchDomain API asynchronously
+// api document: https://help.aliyun.com/api/alidns/operatebatchdomain.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) OperateBatchDomainWithChan(request *OperateBatchDomainRequest) (<-chan *OperateBatchDomainResponse, <-chan error) {
+	responseChan := make(chan *OperateBatchDomainResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.OperateBatchDomain(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// OperateBatchDomainWithCallback invokes the alidns.OperateBatchDomain API asynchronously
+// api document: https://help.aliyun.com/api/alidns/operatebatchdomain.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) OperateBatchDomainWithCallback(request *OperateBatchDomainRequest, callback func(response *OperateBatchDomainResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *OperateBatchDomainResponse
+		var err error
+		defer close(result)
+		response, err = client.OperateBatchDomain(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// 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"`
+}
+
+// OperateBatchDomainDomainRecordInfo is a repeated param struct in OperateBatchDomainRequest
+type OperateBatchDomainDomainRecordInfo struct {
+	Rr       string `name:"Rr"`
+	Line     string `name:"Line"`
+	Domain   string `name:"Domain"`
+	Type     string `name:"Type"`
+	Priority string `name:"Priority"`
+	Value    string `name:"Value"`
+	Ttl      string `name:"Ttl"`
+}
+
+// OperateBatchDomainResponse is the response struct for api OperateBatchDomain
+type OperateBatchDomainResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	TaskId    int    `json:"TaskId" xml:"TaskId"`
+}
+
+// CreateOperateBatchDomainRequest creates a request to invoke OperateBatchDomain API
+func CreateOperateBatchDomainRequest() (request *OperateBatchDomainRequest) {
+	request = &OperateBatchDomainRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Alidns", "2015-01-09", "OperateBatchDomain", "alidns", "openAPI")
+	return
+}
+
+// CreateOperateBatchDomainResponse creates a response to parse from OperateBatchDomain response
+func CreateOperateBatchDomainResponse() (response *OperateBatchDomainResponse) {
+	response = &OperateBatchDomainResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 112 - 0
services/alidns/query_create_instance_price.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"
+)
+
+// 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
+}

+ 0 - 107
services/alidns/retrieval_domain_name.go

@@ -1,107 +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"
-)
-
-// RetrievalDomainName invokes the alidns.RetrievalDomainName API synchronously
-// api document: https://help.aliyun.com/api/alidns/retrievaldomainname.html
-func (client *Client) RetrievalDomainName(request *RetrievalDomainNameRequest) (response *RetrievalDomainNameResponse, err error) {
-	response = CreateRetrievalDomainNameResponse()
-	err = client.DoAction(request, response)
-	return
-}
-
-// RetrievalDomainNameWithChan invokes the alidns.RetrievalDomainName API asynchronously
-// api document: https://help.aliyun.com/api/alidns/retrievaldomainname.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) RetrievalDomainNameWithChan(request *RetrievalDomainNameRequest) (<-chan *RetrievalDomainNameResponse, <-chan error) {
-	responseChan := make(chan *RetrievalDomainNameResponse, 1)
-	errChan := make(chan error, 1)
-	err := client.AddAsyncTask(func() {
-		defer close(responseChan)
-		defer close(errChan)
-		response, err := client.RetrievalDomainName(request)
-		if err != nil {
-			errChan <- err
-		} else {
-			responseChan <- response
-		}
-	})
-	if err != nil {
-		errChan <- err
-		close(responseChan)
-		close(errChan)
-	}
-	return responseChan, errChan
-}
-
-// RetrievalDomainNameWithCallback invokes the alidns.RetrievalDomainName API asynchronously
-// api document: https://help.aliyun.com/api/alidns/retrievaldomainname.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) RetrievalDomainNameWithCallback(request *RetrievalDomainNameRequest, callback func(response *RetrievalDomainNameResponse, err error)) <-chan int {
-	result := make(chan int, 1)
-	err := client.AddAsyncTask(func() {
-		var response *RetrievalDomainNameResponse
-		var err error
-		defer close(result)
-		response, err = client.RetrievalDomainName(request)
-		callback(response, err)
-		result <- 1
-	})
-	if err != nil {
-		defer close(result)
-		callback(nil, err)
-		result <- 0
-	}
-	return result
-}
-
-// RetrievalDomainNameRequest is the request struct for api RetrievalDomainName
-type RetrievalDomainNameRequest struct {
-	*requests.RpcRequest
-	Lang         string `position:"Query" name:"Lang"`
-	UserClientIp string `position:"Query" name:"UserClientIp"`
-	DomainName   string `position:"Query" name:"DomainName"`
-}
-
-// RetrievalDomainNameResponse is the response struct for api RetrievalDomainName
-type RetrievalDomainNameResponse struct {
-	*responses.BaseResponse
-	RequestId  string `json:"RequestId" xml:"RequestId"`
-	DomainName string `json:"DomainName" xml:"DomainName"`
-	WhoisEmail string `json:"WhoisEmail" xml:"WhoisEmail"`
-}
-
-// CreateRetrievalDomainNameRequest creates a request to invoke RetrievalDomainName API
-func CreateRetrievalDomainNameRequest() (request *RetrievalDomainNameRequest) {
-	request = &RetrievalDomainNameRequest{
-		RpcRequest: &requests.RpcRequest{},
-	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "RetrievalDomainName", "", "")
-	return
-}
-
-// CreateRetrievalDomainNameResponse creates a response to parse from RetrievalDomainName response
-func CreateRetrievalDomainNameResponse() (response *RetrievalDomainNameResponse) {
-	response = &RetrievalDomainNameResponse{
-		BaseResponse: &responses.BaseResponse{},
-	}
-	return
-}

+ 2 - 2
services/alidns/set_dnsslb_status.go

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

+ 3 - 3
services/alidns/set_domain_record_status.go

@@ -76,9 +76,9 @@ func (client *Client) SetDomainRecordStatusWithCallback(request *SetDomainRecord
 // SetDomainRecordStatusRequest is the request struct for api SetDomainRecordStatus
 type SetDomainRecordStatusRequest struct {
 	*requests.RpcRequest
-	Lang         string `position:"Query" name:"Lang"`
-	UserClientIp string `position:"Query" name:"UserClientIp"`
 	RecordId     string `position:"Query" name:"RecordId"`
+	UserClientIp string `position:"Query" name:"UserClientIp"`
+	Lang         string `position:"Query" name:"Lang"`
 	Status       string `position:"Query" name:"Status"`
 }
 
@@ -95,7 +95,7 @@ func CreateSetDomainRecordStatusRequest() (request *SetDomainRecordStatusRequest
 	request = &SetDomainRecordStatusRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "SetDomainRecordStatus", "", "")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "SetDomainRecordStatus", "alidns", "openAPI")
 	return
 }
 

+ 106 - 0
services/alidns/set_gtm_access_mode.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"
+)
+
+// SetGtmAccessMode invokes the alidns.SetGtmAccessMode API synchronously
+// api document: https://help.aliyun.com/api/alidns/setgtmaccessmode.html
+func (client *Client) SetGtmAccessMode(request *SetGtmAccessModeRequest) (response *SetGtmAccessModeResponse, err error) {
+	response = CreateSetGtmAccessModeResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// SetGtmAccessModeWithChan invokes the alidns.SetGtmAccessMode API asynchronously
+// api document: https://help.aliyun.com/api/alidns/setgtmaccessmode.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SetGtmAccessModeWithChan(request *SetGtmAccessModeRequest) (<-chan *SetGtmAccessModeResponse, <-chan error) {
+	responseChan := make(chan *SetGtmAccessModeResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.SetGtmAccessMode(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// SetGtmAccessModeWithCallback invokes the alidns.SetGtmAccessMode API asynchronously
+// api document: https://help.aliyun.com/api/alidns/setgtmaccessmode.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SetGtmAccessModeWithCallback(request *SetGtmAccessModeRequest, callback func(response *SetGtmAccessModeResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *SetGtmAccessModeResponse
+		var err error
+		defer close(result)
+		response, err = client.SetGtmAccessMode(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// SetGtmAccessModeRequest is the request struct for api SetGtmAccessMode
+type SetGtmAccessModeRequest struct {
+	*requests.RpcRequest
+	UserClientIp string `position:"Query" name:"UserClientIp"`
+	StrategyId   string `position:"Query" name:"StrategyId"`
+	Lang         string `position:"Query" name:"Lang"`
+	AccessMode   string `position:"Query" name:"AccessMode"`
+}
+
+// SetGtmAccessModeResponse is the response struct for api SetGtmAccessMode
+type SetGtmAccessModeResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateSetGtmAccessModeRequest creates a request to invoke SetGtmAccessMode API
+func CreateSetGtmAccessModeRequest() (request *SetGtmAccessModeRequest) {
+	request = &SetGtmAccessModeRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Alidns", "2015-01-09", "SetGtmAccessMode", "alidns", "openAPI")
+	return
+}
+
+// CreateSetGtmAccessModeResponse creates a response to parse from SetGtmAccessMode response
+func CreateSetGtmAccessModeResponse() (response *SetGtmAccessModeResponse) {
+	response = &SetGtmAccessModeResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/alidns/set_gtm_monitor_status.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"
+)
+
+// SetGtmMonitorStatus invokes the alidns.SetGtmMonitorStatus API synchronously
+// api document: https://help.aliyun.com/api/alidns/setgtmmonitorstatus.html
+func (client *Client) SetGtmMonitorStatus(request *SetGtmMonitorStatusRequest) (response *SetGtmMonitorStatusResponse, err error) {
+	response = CreateSetGtmMonitorStatusResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// SetGtmMonitorStatusWithChan invokes the alidns.SetGtmMonitorStatus API asynchronously
+// api document: https://help.aliyun.com/api/alidns/setgtmmonitorstatus.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SetGtmMonitorStatusWithChan(request *SetGtmMonitorStatusRequest) (<-chan *SetGtmMonitorStatusResponse, <-chan error) {
+	responseChan := make(chan *SetGtmMonitorStatusResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.SetGtmMonitorStatus(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// SetGtmMonitorStatusWithCallback invokes the alidns.SetGtmMonitorStatus API asynchronously
+// api document: https://help.aliyun.com/api/alidns/setgtmmonitorstatus.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SetGtmMonitorStatusWithCallback(request *SetGtmMonitorStatusRequest, callback func(response *SetGtmMonitorStatusResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *SetGtmMonitorStatusResponse
+		var err error
+		defer close(result)
+		response, err = client.SetGtmMonitorStatus(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// 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"`
+	Lang            string `position:"Query" name:"Lang"`
+	Status          string `position:"Query" name:"Status"`
+}
+
+// SetGtmMonitorStatusResponse is the response struct for api SetGtmMonitorStatus
+type SetGtmMonitorStatusResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateSetGtmMonitorStatusRequest creates a request to invoke SetGtmMonitorStatus API
+func CreateSetGtmMonitorStatusRequest() (request *SetGtmMonitorStatusRequest) {
+	request = &SetGtmMonitorStatusRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Alidns", "2015-01-09", "SetGtmMonitorStatus", "alidns", "openAPI")
+	return
+}
+
+// CreateSetGtmMonitorStatusResponse creates a response to parse from SetGtmMonitorStatus response
+func CreateSetGtmMonitorStatusResponse() (response *SetGtmMonitorStatusResponse) {
+	response = &SetGtmMonitorStatusResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 29 - 0
services/alidns/struct_addr.go

@@ -0,0 +1,29 @@
+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.
+
+// Addr is a nested struct in alidns response
+type Addr struct {
+	AddrId          int    `json:"AddrId" xml:"AddrId"`
+	CreateTime      string `json:"CreateTime" xml:"CreateTime"`
+	CreateTimestamp int    `json:"CreateTimestamp" xml:"CreateTimestamp"`
+	UpdateTime      string `json:"UpdateTime" xml:"UpdateTime"`
+	UpdateTimestamp int    `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"`
+}

+ 33 - 0
services/alidns/struct_addr_pool.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.
+
+// AddrPool is a nested struct in alidns response
+type AddrPool struct {
+	AddrCount           int    `json:"AddrCount" xml:"AddrCount"`
+	Name                string `json:"Name" xml:"Name"`
+	MinAvailableAddrNum int    `json:"MinAvailableAddrNum" xml:"MinAvailableAddrNum"`
+	UpdateTime          string `json:"UpdateTime" xml:"UpdateTime"`
+	MonitorConfigId     string `json:"MonitorConfigId" xml:"MonitorConfigId"`
+	CreateTimestamp     int    `json:"CreateTimestamp" xml:"CreateTimestamp"`
+	CreateTime          string `json:"CreateTime" xml:"CreateTime"`
+	AddrPoolName        string `json:"AddrPoolName" xml:"AddrPoolName"`
+	AddrPoolId          string `json:"AddrPoolId" xml:"AddrPoolId"`
+	UpdateTimestamp     int    `json:"UpdateTimestamp" xml:"UpdateTimestamp"`
+	Status              string `json:"Status" xml:"Status"`
+	MonitorStatus       string `json:"MonitorStatus" xml:"MonitorStatus"`
+	Type                string `json:"Type" xml:"Type"`
+}

+ 21 - 0
services/alidns/struct_addr_pools_in_describe_gtm_access_strategy_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.
+
+// AddrPoolsInDescribeGtmAccessStrategyAvailableConfig is a nested struct in alidns response
+type AddrPoolsInDescribeGtmAccessStrategyAvailableConfig struct {
+	AddrPool []AddrPool `json:"AddrPool" xml:"AddrPool"`
+}

+ 21 - 0
services/alidns/struct_addr_pools_in_describe_gtm_instance_address_pools.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.
+
+// AddrPoolsInDescribeGtmInstanceAddressPools is a nested struct in alidns response
+type AddrPoolsInDescribeGtmInstanceAddressPools struct {
+	AddrPool []AddrPool `json:"AddrPool" xml:"AddrPool"`
+}

+ 3 - 3
services/alidns/struct_status_list.go → services/alidns/struct_addrs.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.
 
-// StatusList is a nested struct in alidns response
-type StatusList struct {
-	Status []string `json:"Status" xml:"Status"`
+// Addrs is a nested struct in alidns response
+type Addrs struct {
+	Addr []Addr `json:"Addr" xml:"Addr"`
 }

+ 36 - 0
services/alidns/struct_batch_result_detail.go

@@ -0,0 +1,36 @@
+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.
+
+// BatchResultDetail is a nested struct in alidns response
+type BatchResultDetail struct {
+	Domain         string `json:"Domain" xml:"Domain"`
+	Type           string `json:"Type" xml:"Type"`
+	Rr             string `json:"Rr" xml:"Rr"`
+	Value          string `json:"Value" xml:"Value"`
+	Status         bool   `json:"Status" xml:"Status"`
+	Reason         string `json:"Reason" xml:"Reason"`
+	NewRr          string `json:"NewRr" xml:"NewRr"`
+	NewValue       string `json:"NewValue" xml:"NewValue"`
+	BatchType      string `json:"BatchType" xml:"BatchType"`
+	OperateDateStr string `json:"OperateDateStr" xml:"OperateDateStr"`
+	Line           string `json:"Line" xml:"Line"`
+	Priority       int    `json:"Priority" xml:"Priority"`
+	Ttl            int    `json:"Ttl" xml:"Ttl"`
+	RecordId       string `json:"RecordId" xml:"RecordId"`
+	Remark         string `json:"Remark" xml:"Remark"`
+	RrStatus       string `json:"RrStatus" xml:"RrStatus"`
+}

+ 3 - 4
services/alidns/struct_fail_result.go → services/alidns/struct_batch_result_details.go

@@ -15,8 +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.
 
-// FailResult is a nested struct in alidns response
-type FailResult struct {
-	BatchIndex string `json:"BatchIndex" xml:"BatchIndex"`
-	ErrorCode  string `json:"ErrorCode" xml:"ErrorCode"`
+// BatchResultDetails is a nested struct in alidns response
+type BatchResultDetails struct {
+	BatchResultDetail []BatchResultDetail `json:"BatchResultDetail" xml:"BatchResultDetail"`
 }

+ 3 - 0
services/alidns/struct_dns_product.go

@@ -45,4 +45,7 @@ type DnsProduct struct {
 	Gslb                  bool   `json:"Gslb" xml:"Gslb"`
 	InClean               bool   `json:"InClean" xml:"InClean"`
 	InBlackHole           bool   `json:"InBlackHole" xml:"InBlackHole"`
+	BindDomainCount       int    `json:"BindDomainCount" xml:"BindDomainCount"`
+	BindDomainUsedCount   int    `json:"BindDomainUsedCount" xml:"BindDomainUsedCount"`
+	DnsSecurity           string `json:"DnsSecurity" xml:"DnsSecurity"`
 }

+ 32 - 0
services/alidns/struct_gtm_instance.go

@@ -0,0 +1,32 @@
+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.
+
+// 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 int    `json:"CreateTimestamp" xml:"CreateTimestamp"`
+	ExpireTime      string `json:"ExpireTime" xml:"ExpireTime"`
+	ExpireTimestamp int    `json:"ExpireTimestamp" xml:"ExpireTimestamp"`
+	AlertGroup      string `json:"AlertGroup" xml:"AlertGroup"`
+}

+ 3 - 3
services/alidns/struct_dns_servers_in_describe_domain_whois_info.go → services/alidns/struct_gtm_instances.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.
 
-// DnsServersInDescribeDomainWhoisInfo is a nested struct in alidns response
-type DnsServersInDescribeDomainWhoisInfo struct {
-	DnsServer []string `json:"DnsServer" xml:"DnsServer"`
+// GtmInstances is a nested struct in alidns response
+type GtmInstances struct {
+	GtmInstance []GtmInstance `json:"GtmInstance" xml:"GtmInstance"`
 }

+ 28 - 0
services/alidns/struct_isp_city_node.go

@@ -0,0 +1,28 @@
+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.
+
+// IspCityNode is a nested struct in alidns response
+type IspCityNode struct {
+	CityCode        string `json:"CityCode" xml:"CityCode"`
+	DefaultSelected bool   `json:"DefaultSelected" xml:"DefaultSelected"`
+	IspName         string `json:"IspName" xml:"IspName"`
+	CountryName     string `json:"CountryName" xml:"CountryName"`
+	CityName        string `json:"CityName" xml:"CityName"`
+	Mainland        bool   `json:"Mainland" xml:"Mainland"`
+	CountryCode     string `json:"CountryCode" xml:"CountryCode"`
+	IspCode         string `json:"IspCode" xml:"IspCode"`
+}

+ 21 - 0
services/alidns/struct_isp_city_nodes_in_describe_gtm_monitor_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.
+
+// IspCityNodesInDescribeGtmMonitorAvailableConfig is a nested struct in alidns response
+type IspCityNodesInDescribeGtmMonitorAvailableConfig struct {
+	IspCityNode []IspCityNode `json:"IspCityNode" xml:"IspCityNode"`
+}

+ 21 - 0
services/alidns/struct_isp_city_nodes_in_describe_gtm_monitor_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.
+
+// IspCityNodesInDescribeGtmMonitorConfig is a nested struct in alidns response
+type IspCityNodesInDescribeGtmMonitorConfig struct {
+	IspCityNode []IspCityNode `json:"IspCityNode" xml:"IspCityNode"`
+}

+ 25 - 0
services/alidns/struct_line.go

@@ -0,0 +1,25 @@
+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.
+
+// 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"`
+}

+ 21 - 0
services/alidns/struct_lines_in_describe_gtm_access_strategies.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.
+
+// LinesInDescribeGtmAccessStrategies is a nested struct in alidns response
+type LinesInDescribeGtmAccessStrategies struct {
+	Line []Line `json:"Line" xml:"Line"`
+}

+ 21 - 0
services/alidns/struct_lines_in_describe_gtm_access_strategy.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.
+
+// LinesInDescribeGtmAccessStrategy is a nested struct in alidns response
+type LinesInDescribeGtmAccessStrategy struct {
+	Line []Line `json:"Line" xml:"Line"`
+}

+ 21 - 0
services/alidns/struct_lines_in_describe_gtm_access_strategy_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.
+
+// LinesInDescribeGtmAccessStrategyAvailableConfig is a nested struct in alidns response
+type LinesInDescribeGtmAccessStrategyAvailableConfig struct {
+	Line []Line `json:"Line" xml:"Line"`
+}

+ 29 - 0
services/alidns/struct_log.go

@@ -0,0 +1,29 @@
+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.
+
+// Log is a nested struct in alidns response
+type Log struct {
+	OperTime      string `json:"OperTime" xml:"OperTime"`
+	OperAction    string `json:"OperAction" xml:"OperAction"`
+	EntityType    string `json:"EntityType" xml:"EntityType"`
+	EntityId      string `json:"EntityId" xml:"EntityId"`
+	EntityName    string `json:"EntityName" xml:"EntityName"`
+	OperIp        string `json:"OperIp" xml:"OperIp"`
+	OperTimestamp int    `json:"OperTimestamp" xml:"OperTimestamp"`
+	Id            int    `json:"Id" xml:"Id"`
+	Content       string `json:"Content" xml:"Content"`
+}

+ 3 - 3
services/alidns/struct_fail_results.go → services/alidns/struct_logs.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.
 
-// FailResults is a nested struct in alidns response
-type FailResults struct {
-	FailResult []FailResult `json:"FailResult" xml:"FailResult"`
+// Logs is a nested struct in alidns response
+type Logs struct {
+	Log []Log `json:"Log" xml:"Log"`
 }

+ 8 - 8
services/alidns/struct_record.go

@@ -17,16 +17,16 @@ package alidns
 
 // Record is a nested struct in alidns response
 type Record struct {
-	Locked     bool   `json:"Locked" xml:"Locked"`
-	Type       string `json:"Type" xml:"Type"`
-	Line       string `json:"Line" xml:"Line"`
-	RR         string `json:"RR" xml:"RR"`
+	Value      string `json:"Value" xml:"Value"`
+	TTL        int    `json:"TTL" xml:"TTL"`
 	Remark     string `json:"Remark" xml:"Remark"`
+	DomainName string `json:"DomainName" xml:"DomainName"`
+	RR         string `json:"RR" xml:"RR"`
 	Priority   int    `json:"Priority" xml:"Priority"`
 	RecordId   string `json:"RecordId" xml:"RecordId"`
-	Value      string `json:"Value" xml:"Value"`
-	DomainName string `json:"DomainName" xml:"DomainName"`
-	Weight     int    `json:"Weight" xml:"Weight"`
 	Status     string `json:"Status" xml:"Status"`
-	TTL        int    `json:"TTL" xml:"TTL"`
+	Locked     bool   `json:"Locked" xml:"Locked"`
+	Weight     int    `json:"Weight" xml:"Weight"`
+	Line       string `json:"Line" xml:"Line"`
+	Type       string `json:"Type" xml:"Type"`
 }

+ 2 - 2
services/alidns/struct_record_line.go

@@ -17,8 +17,8 @@ package alidns
 
 // RecordLine is a nested struct in alidns response
 type RecordLine struct {
-	LineName        string `json:"LineName" xml:"LineName"`
-	FatherCode      string `json:"FatherCode" xml:"FatherCode"`
 	LineDisplayName string `json:"LineDisplayName" xml:"LineDisplayName"`
 	LineCode        string `json:"LineCode" xml:"LineCode"`
+	LineName        string `json:"LineName" xml:"LineName"`
+	FatherCode      string `json:"FatherCode" xml:"FatherCode"`
 }

+ 23 - 0
services/alidns/struct_rule.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.
+
+// Rule is a nested struct in alidns response
+type Rule struct {
+	RuleId int    `json:"RuleId" xml:"RuleId"`
+	Name   string `json:"Name" xml:"Name"`
+	Title  string `json:"Title" xml:"Title"`
+}

+ 21 - 0
services/alidns/struct_rules.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.
+
+// Rules is a nested struct in alidns response
+type Rules struct {
+	Rule []Rule `json:"Rule" xml:"Rule"`
+}

+ 21 - 0
services/alidns/struct_strategies.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.
+
+// Strategies is a nested struct in alidns response
+type Strategies struct {
+	Strategy []Strategy `json:"Strategy" xml:"Strategy"`
+}

+ 33 - 0
services/alidns/struct_strategy.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.
+
+// 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      int                                `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"`
+}

+ 0 - 106
services/alidns/update_batch_domain_records.go

@@ -1,106 +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"
-)
-
-// UpdateBatchDomainRecords invokes the alidns.UpdateBatchDomainRecords API synchronously
-// api document: https://help.aliyun.com/api/alidns/updatebatchdomainrecords.html
-func (client *Client) UpdateBatchDomainRecords(request *UpdateBatchDomainRecordsRequest) (response *UpdateBatchDomainRecordsResponse, err error) {
-	response = CreateUpdateBatchDomainRecordsResponse()
-	err = client.DoAction(request, response)
-	return
-}
-
-// UpdateBatchDomainRecordsWithChan invokes the alidns.UpdateBatchDomainRecords API asynchronously
-// api document: https://help.aliyun.com/api/alidns/updatebatchdomainrecords.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) UpdateBatchDomainRecordsWithChan(request *UpdateBatchDomainRecordsRequest) (<-chan *UpdateBatchDomainRecordsResponse, <-chan error) {
-	responseChan := make(chan *UpdateBatchDomainRecordsResponse, 1)
-	errChan := make(chan error, 1)
-	err := client.AddAsyncTask(func() {
-		defer close(responseChan)
-		defer close(errChan)
-		response, err := client.UpdateBatchDomainRecords(request)
-		if err != nil {
-			errChan <- err
-		} else {
-			responseChan <- response
-		}
-	})
-	if err != nil {
-		errChan <- err
-		close(responseChan)
-		close(errChan)
-	}
-	return responseChan, errChan
-}
-
-// UpdateBatchDomainRecordsWithCallback invokes the alidns.UpdateBatchDomainRecords API asynchronously
-// api document: https://help.aliyun.com/api/alidns/updatebatchdomainrecords.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) UpdateBatchDomainRecordsWithCallback(request *UpdateBatchDomainRecordsRequest, callback func(response *UpdateBatchDomainRecordsResponse, err error)) <-chan int {
-	result := make(chan int, 1)
-	err := client.AddAsyncTask(func() {
-		var response *UpdateBatchDomainRecordsResponse
-		var err error
-		defer close(result)
-		response, err = client.UpdateBatchDomainRecords(request)
-		callback(response, err)
-		result <- 1
-	})
-	if err != nil {
-		defer close(result)
-		callback(nil, err)
-		result <- 0
-	}
-	return result
-}
-
-// UpdateBatchDomainRecordsRequest is the request struct for api UpdateBatchDomainRecords
-type UpdateBatchDomainRecordsRequest struct {
-	*requests.RpcRequest
-	Lang         string `position:"Query" name:"Lang"`
-	UserClientIp string `position:"Query" name:"UserClientIp"`
-	Records      string `position:"Query" name:"Records"`
-}
-
-// UpdateBatchDomainRecordsResponse is the response struct for api UpdateBatchDomainRecords
-type UpdateBatchDomainRecordsResponse struct {
-	*responses.BaseResponse
-	RequestId string `json:"RequestId" xml:"RequestId"`
-	TraceId   string `json:"TraceId" xml:"TraceId"`
-}
-
-// CreateUpdateBatchDomainRecordsRequest creates a request to invoke UpdateBatchDomainRecords API
-func CreateUpdateBatchDomainRecordsRequest() (request *UpdateBatchDomainRecordsRequest) {
-	request = &UpdateBatchDomainRecordsRequest{
-		RpcRequest: &requests.RpcRequest{},
-	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "UpdateBatchDomainRecords", "", "")
-	return
-}
-
-// CreateUpdateBatchDomainRecordsResponse creates a response to parse from UpdateBatchDomainRecords response
-func CreateUpdateBatchDomainRecordsResponse() (response *UpdateBatchDomainRecordsResponse) {
-	response = &UpdateBatchDomainRecordsResponse{
-		BaseResponse: &responses.BaseResponse{},
-	}
-	return
-}

+ 3 - 3
services/alidns/update_dnsslb_weight.go

@@ -76,10 +76,10 @@ func (client *Client) UpdateDNSSLBWeightWithCallback(request *UpdateDNSSLBWeight
 // UpdateDNSSLBWeightRequest is the request struct for api UpdateDNSSLBWeight
 type UpdateDNSSLBWeightRequest struct {
 	*requests.RpcRequest
-	Lang         string           `position:"Query" name:"Lang"`
-	UserClientIp string           `position:"Query" name:"UserClientIp"`
 	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"`
 }
 
 // UpdateDNSSLBWeightResponse is the response struct for api UpdateDNSSLBWeight
@@ -95,7 +95,7 @@ func CreateUpdateDNSSLBWeightRequest() (request *UpdateDNSSLBWeightRequest) {
 	request = &UpdateDNSSLBWeightRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "UpdateDNSSLBWeight", "", "")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "UpdateDNSSLBWeight", "alidns", "openAPI")
 	return
 }
 

+ 3 - 3
services/alidns/update_domain_group.go

@@ -76,9 +76,9 @@ func (client *Client) UpdateDomainGroupWithCallback(request *UpdateDomainGroupRe
 // UpdateDomainGroupRequest is the request struct for api UpdateDomainGroup
 type UpdateDomainGroupRequest struct {
 	*requests.RpcRequest
-	Lang         string `position:"Query" name:"Lang"`
-	UserClientIp string `position:"Query" name:"UserClientIp"`
 	GroupId      string `position:"Query" name:"GroupId"`
+	UserClientIp string `position:"Query" name:"UserClientIp"`
+	Lang         string `position:"Query" name:"Lang"`
 	GroupName    string `position:"Query" name:"GroupName"`
 }
 
@@ -95,7 +95,7 @@ func CreateUpdateDomainGroupRequest() (request *UpdateDomainGroupRequest) {
 	request = &UpdateDomainGroupRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "UpdateDomainGroup", "", "")
+	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
-	Lang         string           `position:"Query" name:"Lang"`
-	UserClientIp string           `position:"Query" name:"UserClientIp"`
 	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"`
 	Value        string           `position:"Query" name:"Value"`
 	TTL          requests.Integer `position:"Query" name:"TTL"`
-	Priority     requests.Integer `position:"Query" name:"Priority"`
-	Line         string           `position:"Query" name:"Line"`
 }
 
 // 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", "", "")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "UpdateDomainRecord", "alidns", "openAPI")
 	return
 }
 

+ 109 - 0
services/alidns/update_gtm_access_strategy.go

@@ -0,0 +1,109 @@
+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"
+)
+
+// UpdateGtmAccessStrategy invokes the alidns.UpdateGtmAccessStrategy API synchronously
+// api document: https://help.aliyun.com/api/alidns/updategtmaccessstrategy.html
+func (client *Client) UpdateGtmAccessStrategy(request *UpdateGtmAccessStrategyRequest) (response *UpdateGtmAccessStrategyResponse, err error) {
+	response = CreateUpdateGtmAccessStrategyResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// UpdateGtmAccessStrategyWithChan invokes the alidns.UpdateGtmAccessStrategy API asynchronously
+// api document: https://help.aliyun.com/api/alidns/updategtmaccessstrategy.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) UpdateGtmAccessStrategyWithChan(request *UpdateGtmAccessStrategyRequest) (<-chan *UpdateGtmAccessStrategyResponse, <-chan error) {
+	responseChan := make(chan *UpdateGtmAccessStrategyResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.UpdateGtmAccessStrategy(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// UpdateGtmAccessStrategyWithCallback invokes the alidns.UpdateGtmAccessStrategy API asynchronously
+// api document: https://help.aliyun.com/api/alidns/updategtmaccessstrategy.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) UpdateGtmAccessStrategyWithCallback(request *UpdateGtmAccessStrategyRequest, callback func(response *UpdateGtmAccessStrategyResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *UpdateGtmAccessStrategyResponse
+		var err error
+		defer close(result)
+		response, err = client.UpdateGtmAccessStrategy(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// 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"`
+	UserClientIp       string `position:"Query" name:"UserClientIp"`
+	StrategyId         string `position:"Query" name:"StrategyId"`
+	Lang               string `position:"Query" name:"Lang"`
+}
+
+// UpdateGtmAccessStrategyResponse is the response struct for api UpdateGtmAccessStrategy
+type UpdateGtmAccessStrategyResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateUpdateGtmAccessStrategyRequest creates a request to invoke UpdateGtmAccessStrategy API
+func CreateUpdateGtmAccessStrategyRequest() (request *UpdateGtmAccessStrategyRequest) {
+	request = &UpdateGtmAccessStrategyRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Alidns", "2015-01-09", "UpdateGtmAccessStrategy", "alidns", "openAPI")
+	return
+}
+
+// CreateUpdateGtmAccessStrategyResponse creates a response to parse from UpdateGtmAccessStrategy response
+func CreateUpdateGtmAccessStrategyResponse() (response *UpdateGtmAccessStrategyResponse) {
+	response = &UpdateGtmAccessStrategyResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 116 - 0
services/alidns/update_gtm_address_pool.go

@@ -0,0 +1,116 @@
+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"
+)
+
+// UpdateGtmAddressPool invokes the alidns.UpdateGtmAddressPool API synchronously
+// api document: https://help.aliyun.com/api/alidns/updategtmaddresspool.html
+func (client *Client) UpdateGtmAddressPool(request *UpdateGtmAddressPoolRequest) (response *UpdateGtmAddressPoolResponse, err error) {
+	response = CreateUpdateGtmAddressPoolResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// UpdateGtmAddressPoolWithChan invokes the alidns.UpdateGtmAddressPool API asynchronously
+// api document: https://help.aliyun.com/api/alidns/updategtmaddresspool.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) UpdateGtmAddressPoolWithChan(request *UpdateGtmAddressPoolRequest) (<-chan *UpdateGtmAddressPoolResponse, <-chan error) {
+	responseChan := make(chan *UpdateGtmAddressPoolResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.UpdateGtmAddressPool(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// UpdateGtmAddressPoolWithCallback invokes the alidns.UpdateGtmAddressPool API asynchronously
+// api document: https://help.aliyun.com/api/alidns/updategtmaddresspool.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) UpdateGtmAddressPoolWithCallback(request *UpdateGtmAddressPoolRequest, callback func(response *UpdateGtmAddressPoolResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *UpdateGtmAddressPoolResponse
+		var err error
+		defer close(result)
+		response, err = client.UpdateGtmAddressPool(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// UpdateGtmAddressPoolRequest is the request struct for api UpdateGtmAddressPool
+type UpdateGtmAddressPoolRequest struct {
+	*requests.RpcRequest
+	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
+type UpdateGtmAddressPoolAddr struct {
+	Mode      string `name:"Mode"`
+	LbaWeight string `name:"LbaWeight"`
+	Value     string `name:"Value"`
+}
+
+// UpdateGtmAddressPoolResponse is the response struct for api UpdateGtmAddressPool
+type UpdateGtmAddressPoolResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateUpdateGtmAddressPoolRequest creates a request to invoke UpdateGtmAddressPool API
+func CreateUpdateGtmAddressPoolRequest() (request *UpdateGtmAddressPoolRequest) {
+	request = &UpdateGtmAddressPoolRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Alidns", "2015-01-09", "UpdateGtmAddressPool", "alidns", "openAPI")
+	return
+}
+
+// CreateUpdateGtmAddressPoolResponse creates a response to parse from UpdateGtmAddressPool response
+func CreateUpdateGtmAddressPoolResponse() (response *UpdateGtmAddressPoolResponse) {
+	response = &UpdateGtmAddressPoolResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 110 - 0
services/alidns/update_gtm_instance_global_config.go

@@ -0,0 +1,110 @@
+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"
+)
+
+// UpdateGtmInstanceGlobalConfig invokes the alidns.UpdateGtmInstanceGlobalConfig API synchronously
+// api document: https://help.aliyun.com/api/alidns/updategtminstanceglobalconfig.html
+func (client *Client) UpdateGtmInstanceGlobalConfig(request *UpdateGtmInstanceGlobalConfigRequest) (response *UpdateGtmInstanceGlobalConfigResponse, err error) {
+	response = CreateUpdateGtmInstanceGlobalConfigResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// UpdateGtmInstanceGlobalConfigWithChan invokes the alidns.UpdateGtmInstanceGlobalConfig API asynchronously
+// api document: https://help.aliyun.com/api/alidns/updategtminstanceglobalconfig.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) UpdateGtmInstanceGlobalConfigWithChan(request *UpdateGtmInstanceGlobalConfigRequest) (<-chan *UpdateGtmInstanceGlobalConfigResponse, <-chan error) {
+	responseChan := make(chan *UpdateGtmInstanceGlobalConfigResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.UpdateGtmInstanceGlobalConfig(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// UpdateGtmInstanceGlobalConfigWithCallback invokes the alidns.UpdateGtmInstanceGlobalConfig API asynchronously
+// api document: https://help.aliyun.com/api/alidns/updategtminstanceglobalconfig.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) UpdateGtmInstanceGlobalConfigWithCallback(request *UpdateGtmInstanceGlobalConfigRequest, callback func(response *UpdateGtmInstanceGlobalConfigResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *UpdateGtmInstanceGlobalConfigResponse
+		var err error
+		defer close(result)
+		response, err = client.UpdateGtmInstanceGlobalConfig(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// UpdateGtmInstanceGlobalConfigRequest is the request struct for api UpdateGtmInstanceGlobalConfig
+type UpdateGtmInstanceGlobalConfigRequest struct {
+	*requests.RpcRequest
+	AlertGroup     string           `position:"Query" name:"AlertGroup"`
+	InstanceId     string           `position:"Query" name:"InstanceId"`
+	InstanceName   string           `position:"Query" name:"InstanceName"`
+	UserDomainName string           `position:"Query" name:"UserDomainName"`
+	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"`
+}
+
+// UpdateGtmInstanceGlobalConfigResponse is the response struct for api UpdateGtmInstanceGlobalConfig
+type UpdateGtmInstanceGlobalConfigResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateUpdateGtmInstanceGlobalConfigRequest creates a request to invoke UpdateGtmInstanceGlobalConfig API
+func CreateUpdateGtmInstanceGlobalConfigRequest() (request *UpdateGtmInstanceGlobalConfigRequest) {
+	request = &UpdateGtmInstanceGlobalConfigRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Alidns", "2015-01-09", "UpdateGtmInstanceGlobalConfig", "alidns", "openAPI")
+	return
+}
+
+// CreateUpdateGtmInstanceGlobalConfigResponse creates a response to parse from UpdateGtmInstanceGlobalConfig response
+func CreateUpdateGtmInstanceGlobalConfigResponse() (response *UpdateGtmInstanceGlobalConfigResponse) {
+	response = &UpdateGtmInstanceGlobalConfigResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 118 - 0
services/alidns/update_gtm_monitor.go

@@ -0,0 +1,118 @@
+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"
+)
+
+// UpdateGtmMonitor invokes the alidns.UpdateGtmMonitor API synchronously
+// api document: https://help.aliyun.com/api/alidns/updategtmmonitor.html
+func (client *Client) UpdateGtmMonitor(request *UpdateGtmMonitorRequest) (response *UpdateGtmMonitorResponse, err error) {
+	response = CreateUpdateGtmMonitorResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// UpdateGtmMonitorWithChan invokes the alidns.UpdateGtmMonitor API asynchronously
+// api document: https://help.aliyun.com/api/alidns/updategtmmonitor.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) UpdateGtmMonitorWithChan(request *UpdateGtmMonitorRequest) (<-chan *UpdateGtmMonitorResponse, <-chan error) {
+	responseChan := make(chan *UpdateGtmMonitorResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.UpdateGtmMonitor(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// UpdateGtmMonitorWithCallback invokes the alidns.UpdateGtmMonitor API asynchronously
+// api document: https://help.aliyun.com/api/alidns/updategtmmonitor.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) UpdateGtmMonitorWithCallback(request *UpdateGtmMonitorRequest, callback func(response *UpdateGtmMonitorResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *UpdateGtmMonitorResponse
+		var err error
+		defer close(result)
+		response, err = client.UpdateGtmMonitor(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// UpdateGtmMonitorRequest is the request struct for api UpdateGtmMonitor
+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"`
+	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"`
+}
+
+// UpdateGtmMonitorIspCityNode is a repeated param struct in UpdateGtmMonitorRequest
+type UpdateGtmMonitorIspCityNode struct {
+	CityCode string `name:"CityCode"`
+	IspCode  string `name:"IspCode"`
+}
+
+// UpdateGtmMonitorResponse is the response struct for api UpdateGtmMonitor
+type UpdateGtmMonitorResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateUpdateGtmMonitorRequest creates a request to invoke UpdateGtmMonitor API
+func CreateUpdateGtmMonitorRequest() (request *UpdateGtmMonitorRequest) {
+	request = &UpdateGtmMonitorRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Alidns", "2015-01-09", "UpdateGtmMonitor", "alidns", "openAPI")
+	return
+}
+
+// CreateUpdateGtmMonitorResponse creates a response to parse from UpdateGtmMonitor response
+func CreateUpdateGtmMonitorResponse() (response *UpdateGtmMonitorResponse) {
+	response = &UpdateGtmMonitorResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}