浏览代码

由洛衡发起的DOMAIN SDK自动发布, 版本号:1.5.0

Signed-off-by: haowei.yao <haowei.yao@alibaba-inc.com>
haowei.yao 7 年之前
父节点
当前提交
acf52684e1
共有 100 个文件被更改,包括 8218 次插入0 次删除
  1. 5 0
      ChangeLog.txt
  2. 106 0
      services/domain/acknowledge_task_result.go
  3. 106 0
      services/domain/bid_domain.go
  4. 111 0
      services/domain/check_domain.go
  5. 110 0
      services/domain/check_transfer_in_feasibility.go
  6. 81 0
      services/domain/client.go
  7. 108 0
      services/domain/confirm_transfer_in_email.go
  8. 107 0
      services/domain/delete_email_verification.go
  9. 105 0
      services/domain/delete_registrant_profile.go
  10. 105 0
      services/domain/email_verified.go
  11. 103 0
      services/domain/get_reserve_domain_url.go
  12. 116 0
      services/domain/list_email_verification.go
  13. 117 0
      services/domain/poll_task_result.go
  14. 125 0
      services/domain/query_auction_detail.go
  15. 110 0
      services/domain/query_auctions.go
  16. 110 0
      services/domain/query_bid_records.go
  17. 109 0
      services/domain/query_booking_domain_info.go
  18. 117 0
      services/domain/query_change_log_list.go
  19. 123 0
      services/domain/query_contact_info.go
  20. 105 0
      services/domain/query_dns_host.go
  21. 124 0
      services/domain/query_domain_by_instance_id.go
  22. 106 0
      services/domain/query_domain_group_list.go
  23. 122 0
      services/domain/query_domain_list.go
  24. 107 0
      services/domain/query_fail_reason_for_domain_real_name_verification.go
  25. 106 0
      services/domain/query_fail_reason_for_registrant_profile_real_name_verification.go
  26. 112 0
      services/domain/query_registrant_profile_real_name_verification_info.go
  27. 119 0
      services/domain/query_registrant_profiles.go
  28. 115 0
      services/domain/query_task_detail_history.go
  29. 117 0
      services/domain/query_task_detail_list.go
  30. 114 0
      services/domain/query_task_info_history.go
  31. 115 0
      services/domain/query_task_list.go
  32. 126 0
      services/domain/query_transfer_in_by_instance_id.go
  33. 117 0
      services/domain/query_transfer_in_list.go
  34. 112 0
      services/domain/query_transfer_out_info.go
  35. 108 0
      services/domain/registrant_profile_real_name_verification.go
  36. 107 0
      services/domain/resend_email_verification.go
  37. 105 0
      services/domain/reserve_domain.go
  38. 135 0
      services/domain/save_batch_task_for_creating_order_activate.go
  39. 112 0
      services/domain/save_batch_task_for_creating_order_redeem.go
  40. 113 0
      services/domain/save_batch_task_for_creating_order_renew.go
  41. 114 0
      services/domain/save_batch_task_for_creating_order_transfer.go
  42. 107 0
      services/domain/save_batch_task_for_domain_name_proxy_service.go
  43. 108 0
      services/domain/save_batch_task_for_modifying_domain_dns.go
  44. 107 0
      services/domain/save_batch_task_for_transfer_prohibition_lock.go
  45. 107 0
      services/domain/save_batch_task_for_update_prohibition_lock.go
  46. 125 0
      services/domain/save_batch_task_for_updating_contact_info_by_new_contact.go
  47. 109 0
      services/domain/save_batch_task_for_updating_contact_info_by_registrant_profile_id.go
  48. 124 0
      services/domain/save_registrant_profile.go
  49. 106 0
      services/domain/save_single_task_for_approving_transfer_out.go
  50. 106 0
      services/domain/save_single_task_for_canceling_transfer_in.go
  51. 106 0
      services/domain/save_single_task_for_canceling_transfer_out.go
  52. 107 0
      services/domain/save_single_task_for_creating_dns_host.go
  53. 130 0
      services/domain/save_single_task_for_creating_order_activate.go
  54. 107 0
      services/domain/save_single_task_for_creating_order_redeem.go
  55. 108 0
      services/domain/save_single_task_for_creating_order_renew.go
  56. 109 0
      services/domain/save_single_task_for_creating_order_transfer.go
  57. 107 0
      services/domain/save_single_task_for_domain_name_proxy_service.go
  58. 107 0
      services/domain/save_single_task_for_modifying_dns_host.go
  59. 106 0
      services/domain/save_single_task_for_querying_transfer_authorization_code.go
  60. 105 0
      services/domain/save_single_task_for_synchronizing_dns_host.go
  61. 107 0
      services/domain/save_single_task_for_transfer_prohibition_lock.go
  62. 107 0
      services/domain/save_single_task_for_update_prohibition_lock.go
  63. 110 0
      services/domain/save_single_task_for_updating_contact_info.go
  64. 106 0
      services/domain/save_task_for_submitting_domain_delete.go
  65. 109 0
      services/domain/save_task_for_submitting_domain_real_name_verification_by_identity_credential.go
  66. 108 0
      services/domain/save_task_for_submitting_domain_real_name_verification_by_registrant_profile_id.go
  67. 127 0
      services/domain/save_task_for_updating_registrant_info_by_identity_credential.go
  68. 108 0
      services/domain/save_task_for_updating_registrant_info_by_registrant_profile_id.go
  69. 42 0
      services/domain/struct_auction_detail.go
  70. 25 0
      services/domain/struct_bid_record.go
  71. 26 0
      services/domain/struct_change_log.go
  72. 35 0
      services/domain/struct_current_page_cursor.go
  73. 21 0
      services/domain/struct_data_in_list_email_verification.go
  74. 21 0
      services/domain/struct_data_in_poll_task_result.go
  75. 21 0
      services/domain/struct_data_in_query_auctions.go
  76. 21 0
      services/domain/struct_data_in_query_bid_records.go
  77. 21 0
      services/domain/struct_data_in_query_change_log_list.go
  78. 21 0
      services/domain/struct_data_in_query_domain_group_list.go
  79. 21 0
      services/domain/struct_data_in_query_domain_list.go
  80. 21 0
      services/domain/struct_data_in_query_fail_reason_for_domain_real_name_verification.go
  81. 21 0
      services/domain/struct_data_in_query_fail_reason_for_registrant_profile_real_name_verification.go
  82. 21 0
      services/domain/struct_data_in_query_task_detail_list.go
  83. 21 0
      services/domain/struct_data_in_query_task_list.go
  84. 21 0
      services/domain/struct_data_in_query_transfer_in_list.go
  85. 22 0
      services/domain/struct_dns_host.go
  86. 21 0
      services/domain/struct_dns_host_list.go
  87. 21 0
      services/domain/struct_dns_list.go
  88. 39 0
      services/domain/struct_domain.go
  89. 30 0
      services/domain/struct_email_verification.go
  90. 21 0
      services/domain/struct_exist_list.go
  91. 21 0
      services/domain/struct_fail_list_in_confirm_transfer_in_email.go
  92. 21 0
      services/domain/struct_fail_list_in_delete_email_verification.go
  93. 21 0
      services/domain/struct_fail_list_in_resend_email_verification.go
  94. 21 0
      services/domain/struct_fail_list_in_submit_email_verification.go
  95. 21 0
      services/domain/struct_fail_list_in_transfer_in_check_mail_token.go
  96. 23 0
      services/domain/struct_fail_record.go
  97. 21 0
      services/domain/struct_ip_list.go
  98. 35 0
      services/domain/struct_next_page_cursor.go
  99. 21 0
      services/domain/struct_objects_in_query_task_detail_history.go
  100. 21 0
      services/domain/struct_objects_in_query_task_info_history.go

+ 5 - 0
ChangeLog.txt

@@ -1,3 +1,8 @@
+2018-04-03 Version: 1.5.0
+1, Add APIs for domain transfer in and transfer out.
+2, Add APIs for poll and acknowledge domain task.
+3, Add API for query domain group list.
+
 2018-03-30 Version: 1.4.11
 1, API QueryCustomerSaleInfo arguments update.
 

+ 106 - 0
services/domain/acknowledge_task_result.go

@@ -0,0 +1,106 @@
+package domain
+
+//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"
+)
+
+// AcknowledgeTaskResult invokes the domain.AcknowledgeTaskResult API synchronously
+// api document: https://help.aliyun.com/api/domain/acknowledgetaskresult.html
+func (client *Client) AcknowledgeTaskResult(request *AcknowledgeTaskResultRequest) (response *AcknowledgeTaskResultResponse, err error) {
+	response = CreateAcknowledgeTaskResultResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// AcknowledgeTaskResultWithChan invokes the domain.AcknowledgeTaskResult API asynchronously
+// api document: https://help.aliyun.com/api/domain/acknowledgetaskresult.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) AcknowledgeTaskResultWithChan(request *AcknowledgeTaskResultRequest) (<-chan *AcknowledgeTaskResultResponse, <-chan error) {
+	responseChan := make(chan *AcknowledgeTaskResultResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.AcknowledgeTaskResult(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// AcknowledgeTaskResultWithCallback invokes the domain.AcknowledgeTaskResult API asynchronously
+// api document: https://help.aliyun.com/api/domain/acknowledgetaskresult.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) AcknowledgeTaskResultWithCallback(request *AcknowledgeTaskResultRequest, callback func(response *AcknowledgeTaskResultResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *AcknowledgeTaskResultResponse
+		var err error
+		defer close(result)
+		response, err = client.AcknowledgeTaskResult(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// AcknowledgeTaskResultRequest is the request struct for api AcknowledgeTaskResult
+type AcknowledgeTaskResultRequest struct {
+	*requests.RpcRequest
+	UserClientIp string    `position:"Query" name:"UserClientIp"`
+	Lang         string    `position:"Query" name:"Lang"`
+	TaskDetailNo *[]string `position:"Query" name:"TaskDetailNo"  type:"Repeated"`
+}
+
+// AcknowledgeTaskResultResponse is the response struct for api AcknowledgeTaskResult
+type AcknowledgeTaskResultResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Result    int    `json:"Result" xml:"Result"`
+}
+
+// CreateAcknowledgeTaskResultRequest creates a request to invoke AcknowledgeTaskResult API
+func CreateAcknowledgeTaskResultRequest() (request *AcknowledgeTaskResultRequest) {
+	request = &AcknowledgeTaskResultRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain", "2018-01-29", "AcknowledgeTaskResult", "", "")
+	return
+}
+
+// CreateAcknowledgeTaskResultResponse creates a response to parse from AcknowledgeTaskResult response
+func CreateAcknowledgeTaskResultResponse() (response *AcknowledgeTaskResultResponse) {
+	response = &AcknowledgeTaskResultResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/domain/bid_domain.go

@@ -0,0 +1,106 @@
+package domain
+
+//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"
+)
+
+// BidDomain invokes the domain.BidDomain API synchronously
+// api document: https://help.aliyun.com/api/domain/biddomain.html
+func (client *Client) BidDomain(request *BidDomainRequest) (response *BidDomainResponse, err error) {
+	response = CreateBidDomainResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// BidDomainWithChan invokes the domain.BidDomain API asynchronously
+// api document: https://help.aliyun.com/api/domain/biddomain.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) BidDomainWithChan(request *BidDomainRequest) (<-chan *BidDomainResponse, <-chan error) {
+	responseChan := make(chan *BidDomainResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.BidDomain(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// BidDomainWithCallback invokes the domain.BidDomain API asynchronously
+// api document: https://help.aliyun.com/api/domain/biddomain.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) BidDomainWithCallback(request *BidDomainRequest, callback func(response *BidDomainResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *BidDomainResponse
+		var err error
+		defer close(result)
+		response, err = client.BidDomain(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// BidDomainRequest is the request struct for api BidDomain
+type BidDomainRequest struct {
+	*requests.RpcRequest
+	AuctionId string         `position:"Body" name:"AuctionId"`
+	MaxBid    requests.Float `position:"Body" name:"MaxBid"`
+	Currency  string         `position:"Body" name:"Currency"`
+}
+
+// BidDomainResponse is the response struct for api BidDomain
+type BidDomainResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	AuctionId string `json:"AuctionId" xml:"AuctionId"`
+}
+
+// CreateBidDomainRequest creates a request to invoke BidDomain API
+func CreateBidDomainRequest() (request *BidDomainRequest) {
+	request = &BidDomainRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain", "2018-02-08", "BidDomain", "", "")
+	return
+}
+
+// CreateBidDomainResponse creates a response to parse from BidDomain response
+func CreateBidDomainResponse() (response *BidDomainResponse) {
+	response = &BidDomainResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 111 - 0
services/domain/check_domain.go

@@ -0,0 +1,111 @@
+package domain
+
+//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"
+)
+
+// CheckDomain invokes the domain.CheckDomain API synchronously
+// api document: https://help.aliyun.com/api/domain/checkdomain.html
+func (client *Client) CheckDomain(request *CheckDomainRequest) (response *CheckDomainResponse, err error) {
+	response = CreateCheckDomainResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CheckDomainWithChan invokes the domain.CheckDomain API asynchronously
+// api document: https://help.aliyun.com/api/domain/checkdomain.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CheckDomainWithChan(request *CheckDomainRequest) (<-chan *CheckDomainResponse, <-chan error) {
+	responseChan := make(chan *CheckDomainResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CheckDomain(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CheckDomainWithCallback invokes the domain.CheckDomain API asynchronously
+// api document: https://help.aliyun.com/api/domain/checkdomain.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CheckDomainWithCallback(request *CheckDomainRequest, callback func(response *CheckDomainResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CheckDomainResponse
+		var err error
+		defer close(result)
+		response, err = client.CheckDomain(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CheckDomainRequest is the request struct for api CheckDomain
+type CheckDomainRequest struct {
+	*requests.RpcRequest
+	DomainName  string           `position:"Query" name:"DomainName"`
+	FeeCommand  string           `position:"Query" name:"FeeCommand"`
+	FeeCurrency string           `position:"Query" name:"FeeCurrency"`
+	FeePeriod   requests.Integer `position:"Query" name:"FeePeriod"`
+}
+
+// CheckDomainResponse is the response struct for api CheckDomain
+type CheckDomainResponse struct {
+	*responses.BaseResponse
+	RequestId  string `json:"RequestId" xml:"RequestId"`
+	DomainName string `json:"DomainName" xml:"DomainName"`
+	Avail      string `json:"Avail" xml:"Avail"`
+	Premium    string `json:"Premium" xml:"Premium"`
+	Reason     string `json:"Reason" xml:"Reason"`
+	Price      int    `json:"Price" xml:"Price"`
+}
+
+// CreateCheckDomainRequest creates a request to invoke CheckDomain API
+func CreateCheckDomainRequest() (request *CheckDomainRequest) {
+	request = &CheckDomainRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain", "2018-01-29", "CheckDomain", "", "")
+	return
+}
+
+// CreateCheckDomainResponse creates a response to parse from CheckDomain response
+func CreateCheckDomainResponse() (response *CheckDomainResponse) {
+	response = &CheckDomainResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 110 - 0
services/domain/check_transfer_in_feasibility.go

@@ -0,0 +1,110 @@
+package domain
+
+//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"
+)
+
+// CheckTransferInFeasibility invokes the domain.CheckTransferInFeasibility API synchronously
+// api document: https://help.aliyun.com/api/domain/checktransferinfeasibility.html
+func (client *Client) CheckTransferInFeasibility(request *CheckTransferInFeasibilityRequest) (response *CheckTransferInFeasibilityResponse, err error) {
+	response = CreateCheckTransferInFeasibilityResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CheckTransferInFeasibilityWithChan invokes the domain.CheckTransferInFeasibility API asynchronously
+// api document: https://help.aliyun.com/api/domain/checktransferinfeasibility.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CheckTransferInFeasibilityWithChan(request *CheckTransferInFeasibilityRequest) (<-chan *CheckTransferInFeasibilityResponse, <-chan error) {
+	responseChan := make(chan *CheckTransferInFeasibilityResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CheckTransferInFeasibility(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CheckTransferInFeasibilityWithCallback invokes the domain.CheckTransferInFeasibility API asynchronously
+// api document: https://help.aliyun.com/api/domain/checktransferinfeasibility.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CheckTransferInFeasibilityWithCallback(request *CheckTransferInFeasibilityRequest, callback func(response *CheckTransferInFeasibilityResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CheckTransferInFeasibilityResponse
+		var err error
+		defer close(result)
+		response, err = client.CheckTransferInFeasibility(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CheckTransferInFeasibilityRequest is the request struct for api CheckTransferInFeasibility
+type CheckTransferInFeasibilityRequest struct {
+	*requests.RpcRequest
+	Lang                      string `position:"Query" name:"Lang"`
+	UserClientIp              string `position:"Query" name:"UserClientIp"`
+	DomainName                string `position:"Query" name:"DomainName"`
+	TransferAuthorizationCode string `position:"Query" name:"TransferAuthorizationCode"`
+}
+
+// CheckTransferInFeasibilityResponse is the response struct for api CheckTransferInFeasibility
+type CheckTransferInFeasibilityResponse struct {
+	*responses.BaseResponse
+	RequestId   string `json:"RequestId" xml:"RequestId"`
+	CanTransfer bool   `json:"CanTransfer" xml:"CanTransfer"`
+	Code        string `json:"Code" xml:"Code"`
+	Message     string `json:"Message" xml:"Message"`
+	ProductId   string `json:"ProductId" xml:"ProductId"`
+}
+
+// CreateCheckTransferInFeasibilityRequest creates a request to invoke CheckTransferInFeasibility API
+func CreateCheckTransferInFeasibilityRequest() (request *CheckTransferInFeasibilityRequest) {
+	request = &CheckTransferInFeasibilityRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain", "2018-01-29", "CheckTransferInFeasibility", "", "")
+	return
+}
+
+// CreateCheckTransferInFeasibilityResponse creates a response to parse from CheckTransferInFeasibility response
+func CreateCheckTransferInFeasibilityResponse() (response *CheckTransferInFeasibilityResponse) {
+	response = &CheckTransferInFeasibilityResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 81 - 0
services/domain/client.go

@@ -0,0 +1,81 @@
+package domain
+
+//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"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/auth"
+)
+
+// Client is the sdk client struct, each func corresponds to an OpenAPI
+type Client struct {
+	sdk.Client
+}
+
+// NewClient creates a sdk client with environment variables
+func NewClient() (client *Client, err error) {
+	client = &Client{}
+	err = client.Init()
+	return
+}
+
+// NewClientWithOptions creates a sdk client with regionId/sdkConfig/credential
+// this is the common api to create a sdk client
+func NewClientWithOptions(regionId string, config *sdk.Config, credential auth.Credential) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithOptions(regionId, config, credential)
+	return
+}
+
+// NewClientWithAccessKey is a shortcut to create sdk client with accesskey
+// usage: https://help.aliyun.com/document_detail/66217.html
+func NewClientWithAccessKey(regionId, accessKeyId, accessKeySecret string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithAccessKey(regionId, accessKeyId, accessKeySecret)
+	return
+}
+
+// NewClientWithStsToken is a shortcut to create sdk client with sts token
+// usage: https://help.aliyun.com/document_detail/66222.html
+func NewClientWithStsToken(regionId, stsAccessKeyId, stsAccessKeySecret, stsToken string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithStsToken(regionId, stsAccessKeyId, stsAccessKeySecret, stsToken)
+	return
+}
+
+// NewClientWithRamRoleArn is a shortcut to create sdk client with ram roleArn
+// usage: https://help.aliyun.com/document_detail/66222.html
+func NewClientWithRamRoleArn(regionId string, accessKeyId, accessKeySecret, roleArn, roleSessionName string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithRamRoleArn(regionId, accessKeyId, accessKeySecret, roleArn, roleSessionName)
+	return
+}
+
+// NewClientWithEcsRamRole is a shortcut to create sdk client with ecs ram role
+// usage: https://help.aliyun.com/document_detail/66223.html
+func NewClientWithEcsRamRole(regionId string, roleName string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithEcsRamRole(regionId, roleName)
+	return
+}
+
+// NewClientWithRsaKeyPair is a shortcut to create sdk client with rsa key pair
+// attention: rsa key pair auth is only Japan regions available
+func NewClientWithRsaKeyPair(regionId string, publicKeyId, privateKey string, sessionExpiration int) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithRsaKeyPair(regionId, publicKeyId, privateKey, sessionExpiration)
+	return
+}

+ 108 - 0
services/domain/confirm_transfer_in_email.go

@@ -0,0 +1,108 @@
+package domain
+
+//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"
+)
+
+// ConfirmTransferInEmail invokes the domain.ConfirmTransferInEmail API synchronously
+// api document: https://help.aliyun.com/api/domain/confirmtransferinemail.html
+func (client *Client) ConfirmTransferInEmail(request *ConfirmTransferInEmailRequest) (response *ConfirmTransferInEmailResponse, err error) {
+	response = CreateConfirmTransferInEmailResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ConfirmTransferInEmailWithChan invokes the domain.ConfirmTransferInEmail API asynchronously
+// api document: https://help.aliyun.com/api/domain/confirmtransferinemail.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ConfirmTransferInEmailWithChan(request *ConfirmTransferInEmailRequest) (<-chan *ConfirmTransferInEmailResponse, <-chan error) {
+	responseChan := make(chan *ConfirmTransferInEmailResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ConfirmTransferInEmail(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ConfirmTransferInEmailWithCallback invokes the domain.ConfirmTransferInEmail API asynchronously
+// api document: https://help.aliyun.com/api/domain/confirmtransferinemail.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ConfirmTransferInEmailWithCallback(request *ConfirmTransferInEmailRequest, callback func(response *ConfirmTransferInEmailResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ConfirmTransferInEmailResponse
+		var err error
+		defer close(result)
+		response, err = client.ConfirmTransferInEmail(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ConfirmTransferInEmailRequest is the request struct for api ConfirmTransferInEmail
+type ConfirmTransferInEmailRequest struct {
+	*requests.RpcRequest
+	UserClientIp string    `position:"Query" name:"UserClientIp"`
+	Lang         string    `position:"Query" name:"Lang"`
+	Email        string    `position:"Query" name:"Email"`
+	DomainName   *[]string `position:"Query" name:"DomainName"  type:"Repeated"`
+}
+
+// ConfirmTransferInEmailResponse is the response struct for api ConfirmTransferInEmail
+type ConfirmTransferInEmailResponse struct {
+	*responses.BaseResponse
+	RequestId   string                              `json:"RequestId" xml:"RequestId"`
+	SuccessList SuccessListInConfirmTransferInEmail `json:"SuccessList" xml:"SuccessList"`
+	FailList    FailListInConfirmTransferInEmail    `json:"FailList" xml:"FailList"`
+}
+
+// CreateConfirmTransferInEmailRequest creates a request to invoke ConfirmTransferInEmail API
+func CreateConfirmTransferInEmailRequest() (request *ConfirmTransferInEmailRequest) {
+	request = &ConfirmTransferInEmailRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain", "2018-01-29", "ConfirmTransferInEmail", "", "")
+	return
+}
+
+// CreateConfirmTransferInEmailResponse creates a response to parse from ConfirmTransferInEmail response
+func CreateConfirmTransferInEmailResponse() (response *ConfirmTransferInEmailResponse) {
+	response = &ConfirmTransferInEmailResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/domain/delete_email_verification.go

@@ -0,0 +1,107 @@
+package domain
+
+//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"
+)
+
+// DeleteEmailVerification invokes the domain.DeleteEmailVerification API synchronously
+// api document: https://help.aliyun.com/api/domain/deleteemailverification.html
+func (client *Client) DeleteEmailVerification(request *DeleteEmailVerificationRequest) (response *DeleteEmailVerificationResponse, err error) {
+	response = CreateDeleteEmailVerificationResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteEmailVerificationWithChan invokes the domain.DeleteEmailVerification API asynchronously
+// api document: https://help.aliyun.com/api/domain/deleteemailverification.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteEmailVerificationWithChan(request *DeleteEmailVerificationRequest) (<-chan *DeleteEmailVerificationResponse, <-chan error) {
+	responseChan := make(chan *DeleteEmailVerificationResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteEmailVerification(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteEmailVerificationWithCallback invokes the domain.DeleteEmailVerification API asynchronously
+// api document: https://help.aliyun.com/api/domain/deleteemailverification.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteEmailVerificationWithCallback(request *DeleteEmailVerificationRequest, callback func(response *DeleteEmailVerificationResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteEmailVerificationResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteEmailVerification(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteEmailVerificationRequest is the request struct for api DeleteEmailVerification
+type DeleteEmailVerificationRequest struct {
+	*requests.RpcRequest
+	Lang         string `position:"Query" name:"Lang"`
+	Email        string `position:"Query" name:"Email"`
+	UserClientIp string `position:"Query" name:"UserClientIp"`
+}
+
+// DeleteEmailVerificationResponse is the response struct for api DeleteEmailVerification
+type DeleteEmailVerificationResponse struct {
+	*responses.BaseResponse
+	RequestId   string       `json:"RequestId" xml:"RequestId"`
+	SuccessList []SendResult `json:"SuccessList" xml:"SuccessList"`
+	FailList    []SendResult `json:"FailList" xml:"FailList"`
+}
+
+// CreateDeleteEmailVerificationRequest creates a request to invoke DeleteEmailVerification API
+func CreateDeleteEmailVerificationRequest() (request *DeleteEmailVerificationRequest) {
+	request = &DeleteEmailVerificationRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain", "2018-01-29", "DeleteEmailVerification", "", "")
+	return
+}
+
+// CreateDeleteEmailVerificationResponse creates a response to parse from DeleteEmailVerification response
+func CreateDeleteEmailVerificationResponse() (response *DeleteEmailVerificationResponse) {
+	response = &DeleteEmailVerificationResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 105 - 0
services/domain/delete_registrant_profile.go

@@ -0,0 +1,105 @@
+package domain
+
+//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"
+)
+
+// DeleteRegistrantProfile invokes the domain.DeleteRegistrantProfile API synchronously
+// api document: https://help.aliyun.com/api/domain/deleteregistrantprofile.html
+func (client *Client) DeleteRegistrantProfile(request *DeleteRegistrantProfileRequest) (response *DeleteRegistrantProfileResponse, err error) {
+	response = CreateDeleteRegistrantProfileResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteRegistrantProfileWithChan invokes the domain.DeleteRegistrantProfile API asynchronously
+// api document: https://help.aliyun.com/api/domain/deleteregistrantprofile.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteRegistrantProfileWithChan(request *DeleteRegistrantProfileRequest) (<-chan *DeleteRegistrantProfileResponse, <-chan error) {
+	responseChan := make(chan *DeleteRegistrantProfileResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteRegistrantProfile(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteRegistrantProfileWithCallback invokes the domain.DeleteRegistrantProfile API asynchronously
+// api document: https://help.aliyun.com/api/domain/deleteregistrantprofile.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteRegistrantProfileWithCallback(request *DeleteRegistrantProfileRequest, callback func(response *DeleteRegistrantProfileResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteRegistrantProfileResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteRegistrantProfile(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteRegistrantProfileRequest is the request struct for api DeleteRegistrantProfile
+type DeleteRegistrantProfileRequest struct {
+	*requests.RpcRequest
+	UserClientIp        string           `position:"Query" name:"UserClientIp"`
+	Lang                string           `position:"Query" name:"Lang"`
+	RegistrantProfileId requests.Integer `position:"Query" name:"RegistrantProfileId"`
+}
+
+// DeleteRegistrantProfileResponse is the response struct for api DeleteRegistrantProfile
+type DeleteRegistrantProfileResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDeleteRegistrantProfileRequest creates a request to invoke DeleteRegistrantProfile API
+func CreateDeleteRegistrantProfileRequest() (request *DeleteRegistrantProfileRequest) {
+	request = &DeleteRegistrantProfileRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain", "2018-01-29", "DeleteRegistrantProfile", "", "")
+	return
+}
+
+// CreateDeleteRegistrantProfileResponse creates a response to parse from DeleteRegistrantProfile response
+func CreateDeleteRegistrantProfileResponse() (response *DeleteRegistrantProfileResponse) {
+	response = &DeleteRegistrantProfileResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 105 - 0
services/domain/email_verified.go

@@ -0,0 +1,105 @@
+package domain
+
+//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"
+)
+
+// EmailVerified invokes the domain.EmailVerified API synchronously
+// api document: https://help.aliyun.com/api/domain/emailverified.html
+func (client *Client) EmailVerified(request *EmailVerifiedRequest) (response *EmailVerifiedResponse, err error) {
+	response = CreateEmailVerifiedResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// EmailVerifiedWithChan invokes the domain.EmailVerified API asynchronously
+// api document: https://help.aliyun.com/api/domain/emailverified.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) EmailVerifiedWithChan(request *EmailVerifiedRequest) (<-chan *EmailVerifiedResponse, <-chan error) {
+	responseChan := make(chan *EmailVerifiedResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.EmailVerified(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// EmailVerifiedWithCallback invokes the domain.EmailVerified API asynchronously
+// api document: https://help.aliyun.com/api/domain/emailverified.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) EmailVerifiedWithCallback(request *EmailVerifiedRequest, callback func(response *EmailVerifiedResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *EmailVerifiedResponse
+		var err error
+		defer close(result)
+		response, err = client.EmailVerified(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// EmailVerifiedRequest is the request struct for api EmailVerified
+type EmailVerifiedRequest struct {
+	*requests.RpcRequest
+	Lang         string `position:"Query" name:"Lang"`
+	UserClientIp string `position:"Query" name:"UserClientIp"`
+	Email        string `position:"Query" name:"Email"`
+}
+
+// EmailVerifiedResponse is the response struct for api EmailVerified
+type EmailVerifiedResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateEmailVerifiedRequest creates a request to invoke EmailVerified API
+func CreateEmailVerifiedRequest() (request *EmailVerifiedRequest) {
+	request = &EmailVerifiedRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain", "2018-01-29", "EmailVerified", "", "")
+	return
+}
+
+// CreateEmailVerifiedResponse creates a response to parse from EmailVerified response
+func CreateEmailVerifiedResponse() (response *EmailVerifiedResponse) {
+	response = &EmailVerifiedResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 103 - 0
services/domain/get_reserve_domain_url.go

@@ -0,0 +1,103 @@
+package domain
+
+//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"
+)
+
+// GetReserveDomainUrl invokes the domain.GetReserveDomainUrl API synchronously
+// api document: https://help.aliyun.com/api/domain/getreservedomainurl.html
+func (client *Client) GetReserveDomainUrl(request *GetReserveDomainUrlRequest) (response *GetReserveDomainUrlResponse, err error) {
+	response = CreateGetReserveDomainUrlResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GetReserveDomainUrlWithChan invokes the domain.GetReserveDomainUrl API asynchronously
+// api document: https://help.aliyun.com/api/domain/getreservedomainurl.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetReserveDomainUrlWithChan(request *GetReserveDomainUrlRequest) (<-chan *GetReserveDomainUrlResponse, <-chan error) {
+	responseChan := make(chan *GetReserveDomainUrlResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetReserveDomainUrl(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// GetReserveDomainUrlWithCallback invokes the domain.GetReserveDomainUrl API asynchronously
+// api document: https://help.aliyun.com/api/domain/getreservedomainurl.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetReserveDomainUrlWithCallback(request *GetReserveDomainUrlRequest, callback func(response *GetReserveDomainUrlResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetReserveDomainUrlResponse
+		var err error
+		defer close(result)
+		response, err = client.GetReserveDomainUrl(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// GetReserveDomainUrlRequest is the request struct for api GetReserveDomainUrl
+type GetReserveDomainUrlRequest struct {
+	*requests.RpcRequest
+}
+
+// GetReserveDomainUrlResponse is the response struct for api GetReserveDomainUrl
+type GetReserveDomainUrlResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Url       string `json:"Url" xml:"Url"`
+}
+
+// CreateGetReserveDomainUrlRequest creates a request to invoke GetReserveDomainUrl API
+func CreateGetReserveDomainUrlRequest() (request *GetReserveDomainUrlRequest) {
+	request = &GetReserveDomainUrlRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain", "2018-02-08", "GetReserveDomainUrl", "", "")
+	return
+}
+
+// CreateGetReserveDomainUrlResponse creates a response to parse from GetReserveDomainUrl response
+func CreateGetReserveDomainUrlResponse() (response *GetReserveDomainUrlResponse) {
+	response = &GetReserveDomainUrlResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 116 - 0
services/domain/list_email_verification.go

@@ -0,0 +1,116 @@
+package domain
+
+//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"
+)
+
+// ListEmailVerification invokes the domain.ListEmailVerification API synchronously
+// api document: https://help.aliyun.com/api/domain/listemailverification.html
+func (client *Client) ListEmailVerification(request *ListEmailVerificationRequest) (response *ListEmailVerificationResponse, err error) {
+	response = CreateListEmailVerificationResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListEmailVerificationWithChan invokes the domain.ListEmailVerification API asynchronously
+// api document: https://help.aliyun.com/api/domain/listemailverification.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListEmailVerificationWithChan(request *ListEmailVerificationRequest) (<-chan *ListEmailVerificationResponse, <-chan error) {
+	responseChan := make(chan *ListEmailVerificationResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListEmailVerification(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListEmailVerificationWithCallback invokes the domain.ListEmailVerification API asynchronously
+// api document: https://help.aliyun.com/api/domain/listemailverification.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListEmailVerificationWithCallback(request *ListEmailVerificationRequest, callback func(response *ListEmailVerificationResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListEmailVerificationResponse
+		var err error
+		defer close(result)
+		response, err = client.ListEmailVerification(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListEmailVerificationRequest is the request struct for api ListEmailVerification
+type ListEmailVerificationRequest struct {
+	*requests.RpcRequest
+	Lang               string           `position:"Query" name:"Lang"`
+	BeginCreateTime    requests.Integer `position:"Query" name:"BeginCreateTime"`
+	EndCreateTime      requests.Integer `position:"Query" name:"EndCreateTime"`
+	Email              string           `position:"Query" name:"Email"`
+	VerificationStatus requests.Integer `position:"Query" name:"VerificationStatus"`
+	PageNum            requests.Integer `position:"Query" name:"PageNum"`
+	PageSize           requests.Integer `position:"Query" name:"PageSize"`
+}
+
+// ListEmailVerificationResponse is the response struct for api ListEmailVerification
+type ListEmailVerificationResponse struct {
+	*responses.BaseResponse
+	RequestId      string              `json:"RequestId" xml:"RequestId"`
+	TotalItemNum   int                 `json:"TotalItemNum" xml:"TotalItemNum"`
+	CurrentPageNum int                 `json:"CurrentPageNum" xml:"CurrentPageNum"`
+	TotalPageNum   int                 `json:"TotalPageNum" xml:"TotalPageNum"`
+	PageSize       int                 `json:"PageSize" xml:"PageSize"`
+	PrePage        bool                `json:"PrePage" xml:"PrePage"`
+	NextPage       bool                `json:"NextPage" xml:"NextPage"`
+	Data           []EmailVerification `json:"Data" xml:"Data"`
+}
+
+// CreateListEmailVerificationRequest creates a request to invoke ListEmailVerification API
+func CreateListEmailVerificationRequest() (request *ListEmailVerificationRequest) {
+	request = &ListEmailVerificationRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain", "2018-01-29", "ListEmailVerification", "", "")
+	return
+}
+
+// CreateListEmailVerificationResponse creates a response to parse from ListEmailVerification response
+func CreateListEmailVerificationResponse() (response *ListEmailVerificationResponse) {
+	response = &ListEmailVerificationResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 117 - 0
services/domain/poll_task_result.go

@@ -0,0 +1,117 @@
+package domain
+
+//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"
+)
+
+// PollTaskResult invokes the domain.PollTaskResult API synchronously
+// api document: https://help.aliyun.com/api/domain/polltaskresult.html
+func (client *Client) PollTaskResult(request *PollTaskResultRequest) (response *PollTaskResultResponse, err error) {
+	response = CreatePollTaskResultResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// PollTaskResultWithChan invokes the domain.PollTaskResult API asynchronously
+// api document: https://help.aliyun.com/api/domain/polltaskresult.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) PollTaskResultWithChan(request *PollTaskResultRequest) (<-chan *PollTaskResultResponse, <-chan error) {
+	responseChan := make(chan *PollTaskResultResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.PollTaskResult(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// PollTaskResultWithCallback invokes the domain.PollTaskResult API asynchronously
+// api document: https://help.aliyun.com/api/domain/polltaskresult.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) PollTaskResultWithCallback(request *PollTaskResultRequest, callback func(response *PollTaskResultResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *PollTaskResultResponse
+		var err error
+		defer close(result)
+		response, err = client.PollTaskResult(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// PollTaskResultRequest is the request struct for api PollTaskResult
+type PollTaskResultRequest struct {
+	*requests.RpcRequest
+	UserClientIp     string           `position:"Query" name:"UserClientIp"`
+	Lang             string           `position:"Query" name:"Lang"`
+	TaskNo           string           `position:"Query" name:"TaskNo"`
+	DomainName       string           `position:"Query" name:"DomainName"`
+	InstanceId       string           `position:"Query" name:"InstanceId"`
+	TaskResultStatus requests.Integer `position:"Query" name:"TaskResultStatus"`
+	PageNum          requests.Integer `position:"Query" name:"PageNum"`
+	PageSize         requests.Integer `position:"Query" name:"PageSize"`
+}
+
+// PollTaskResultResponse is the response struct for api PollTaskResult
+type PollTaskResultResponse struct {
+	*responses.BaseResponse
+	RequestId      string               `json:"RequestId" xml:"RequestId"`
+	TotalItemNum   int                  `json:"TotalItemNum" xml:"TotalItemNum"`
+	CurrentPageNum int                  `json:"CurrentPageNum" xml:"CurrentPageNum"`
+	TotalPageNum   int                  `json:"TotalPageNum" xml:"TotalPageNum"`
+	PageSize       int                  `json:"PageSize" xml:"PageSize"`
+	PrePage        bool                 `json:"PrePage" xml:"PrePage"`
+	NextPage       bool                 `json:"NextPage" xml:"NextPage"`
+	Data           DataInPollTaskResult `json:"Data" xml:"Data"`
+}
+
+// CreatePollTaskResultRequest creates a request to invoke PollTaskResult API
+func CreatePollTaskResultRequest() (request *PollTaskResultRequest) {
+	request = &PollTaskResultRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain", "2018-01-29", "PollTaskResult", "", "")
+	return
+}
+
+// CreatePollTaskResultResponse creates a response to parse from PollTaskResult response
+func CreatePollTaskResultResponse() (response *PollTaskResultResponse) {
+	response = &PollTaskResultResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 125 - 0
services/domain/query_auction_detail.go

@@ -0,0 +1,125 @@
+package domain
+
+//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"
+)
+
+// QueryAuctionDetail invokes the domain.QueryAuctionDetail API synchronously
+// api document: https://help.aliyun.com/api/domain/queryauctiondetail.html
+func (client *Client) QueryAuctionDetail(request *QueryAuctionDetailRequest) (response *QueryAuctionDetailResponse, err error) {
+	response = CreateQueryAuctionDetailResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// QueryAuctionDetailWithChan invokes the domain.QueryAuctionDetail API asynchronously
+// api document: https://help.aliyun.com/api/domain/queryauctiondetail.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryAuctionDetailWithChan(request *QueryAuctionDetailRequest) (<-chan *QueryAuctionDetailResponse, <-chan error) {
+	responseChan := make(chan *QueryAuctionDetailResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.QueryAuctionDetail(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// QueryAuctionDetailWithCallback invokes the domain.QueryAuctionDetail API asynchronously
+// api document: https://help.aliyun.com/api/domain/queryauctiondetail.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryAuctionDetailWithCallback(request *QueryAuctionDetailRequest, callback func(response *QueryAuctionDetailResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *QueryAuctionDetailResponse
+		var err error
+		defer close(result)
+		response, err = client.QueryAuctionDetail(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// QueryAuctionDetailRequest is the request struct for api QueryAuctionDetail
+type QueryAuctionDetailRequest struct {
+	*requests.RpcRequest
+	AuctionId string `position:"Body" name:"AuctionId"`
+}
+
+// QueryAuctionDetailResponse is the response struct for api QueryAuctionDetail
+type QueryAuctionDetailResponse struct {
+	*responses.BaseResponse
+	RequestId       string  `json:"RequestId" xml:"RequestId"`
+	DomainName      string  `json:"DomainName" xml:"DomainName"`
+	AuctionId       string  `json:"AuctionId" xml:"AuctionId"`
+	DomainType      string  `json:"DomainType" xml:"DomainType"`
+	BookedPartner   string  `json:"BookedPartner" xml:"BookedPartner"`
+	PartnerType     string  `json:"PartnerType" xml:"PartnerType"`
+	Currency        string  `json:"Currency" xml:"Currency"`
+	YourCurrentBid  float64 `json:"YourCurrentBid" xml:"YourCurrentBid"`
+	YourMaxBid      float64 `json:"YourMaxBid" xml:"YourMaxBid"`
+	HighBid         float64 `json:"HighBid" xml:"HighBid"`
+	NextValidBid    float64 `json:"NextValidBid" xml:"NextValidBid"`
+	ReserveMet      bool    `json:"ReserveMet" xml:"ReserveMet"`
+	TransferInPrice float64 `json:"TransferInPrice" xml:"TransferInPrice"`
+	PayPrice        float64 `json:"PayPrice" xml:"PayPrice"`
+	HighBidder      string  `json:"HighBidder" xml:"HighBidder"`
+	Status          string  `json:"Status" xml:"Status"`
+	PayStatus       string  `json:"PayStatus" xml:"PayStatus"`
+	ProduceStatus   string  `json:"ProduceStatus" xml:"ProduceStatus"`
+	AuctionEndTime  int     `json:"AuctionEndTime" xml:"AuctionEndTime"`
+	BookEndTime     int     `json:"BookEndTime" xml:"BookEndTime"`
+	PayEndTime      int     `json:"PayEndTime" xml:"PayEndTime"`
+	DeliveryTime    int     `json:"DeliveryTime" xml:"DeliveryTime"`
+	FailCode        string  `json:"FailCode" xml:"FailCode"`
+}
+
+// CreateQueryAuctionDetailRequest creates a request to invoke QueryAuctionDetail API
+func CreateQueryAuctionDetailRequest() (request *QueryAuctionDetailRequest) {
+	request = &QueryAuctionDetailRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain", "2018-02-08", "QueryAuctionDetail", "", "")
+	return
+}
+
+// CreateQueryAuctionDetailResponse creates a response to parse from QueryAuctionDetail response
+func CreateQueryAuctionDetailResponse() (response *QueryAuctionDetailResponse) {
+	response = &QueryAuctionDetailResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 110 - 0
services/domain/query_auctions.go

@@ -0,0 +1,110 @@
+package domain
+
+//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"
+)
+
+// QueryAuctions invokes the domain.QueryAuctions API synchronously
+// api document: https://help.aliyun.com/api/domain/queryauctions.html
+func (client *Client) QueryAuctions(request *QueryAuctionsRequest) (response *QueryAuctionsResponse, err error) {
+	response = CreateQueryAuctionsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// QueryAuctionsWithChan invokes the domain.QueryAuctions API asynchronously
+// api document: https://help.aliyun.com/api/domain/queryauctions.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryAuctionsWithChan(request *QueryAuctionsRequest) (<-chan *QueryAuctionsResponse, <-chan error) {
+	responseChan := make(chan *QueryAuctionsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.QueryAuctions(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// QueryAuctionsWithCallback invokes the domain.QueryAuctions API asynchronously
+// api document: https://help.aliyun.com/api/domain/queryauctions.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryAuctionsWithCallback(request *QueryAuctionsRequest, callback func(response *QueryAuctionsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *QueryAuctionsResponse
+		var err error
+		defer close(result)
+		response, err = client.QueryAuctions(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// QueryAuctionsRequest is the request struct for api QueryAuctions
+type QueryAuctionsRequest struct {
+	*requests.RpcRequest
+	Status      string           `position:"Body" name:"Status"`
+	CurrentPage requests.Integer `position:"Body" name:"CurrentPage"`
+	PageSize    requests.Integer `position:"Body" name:"PageSize"`
+}
+
+// QueryAuctionsResponse is the response struct for api QueryAuctions
+type QueryAuctionsResponse struct {
+	*responses.BaseResponse
+	RequestId      string          `json:"RequestId" xml:"RequestId"`
+	TotalItemNum   int             `json:"TotalItemNum" xml:"TotalItemNum"`
+	CurrentPageNum int             `json:"CurrentPageNum" xml:"CurrentPageNum"`
+	PageSize       int             `json:"PageSize" xml:"PageSize"`
+	TotalPageNum   int             `json:"TotalPageNum" xml:"TotalPageNum"`
+	Data           []AuctionDetail `json:"Data" xml:"Data"`
+}
+
+// CreateQueryAuctionsRequest creates a request to invoke QueryAuctions API
+func CreateQueryAuctionsRequest() (request *QueryAuctionsRequest) {
+	request = &QueryAuctionsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain", "2018-02-08", "QueryAuctions", "", "")
+	return
+}
+
+// CreateQueryAuctionsResponse creates a response to parse from QueryAuctions response
+func CreateQueryAuctionsResponse() (response *QueryAuctionsResponse) {
+	response = &QueryAuctionsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 110 - 0
services/domain/query_bid_records.go

@@ -0,0 +1,110 @@
+package domain
+
+//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"
+)
+
+// QueryBidRecords invokes the domain.QueryBidRecords API synchronously
+// api document: https://help.aliyun.com/api/domain/querybidrecords.html
+func (client *Client) QueryBidRecords(request *QueryBidRecordsRequest) (response *QueryBidRecordsResponse, err error) {
+	response = CreateQueryBidRecordsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// QueryBidRecordsWithChan invokes the domain.QueryBidRecords API asynchronously
+// api document: https://help.aliyun.com/api/domain/querybidrecords.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryBidRecordsWithChan(request *QueryBidRecordsRequest) (<-chan *QueryBidRecordsResponse, <-chan error) {
+	responseChan := make(chan *QueryBidRecordsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.QueryBidRecords(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// QueryBidRecordsWithCallback invokes the domain.QueryBidRecords API asynchronously
+// api document: https://help.aliyun.com/api/domain/querybidrecords.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryBidRecordsWithCallback(request *QueryBidRecordsRequest, callback func(response *QueryBidRecordsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *QueryBidRecordsResponse
+		var err error
+		defer close(result)
+		response, err = client.QueryBidRecords(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// QueryBidRecordsRequest is the request struct for api QueryBidRecords
+type QueryBidRecordsRequest struct {
+	*requests.RpcRequest
+	AuctionId   string           `position:"Body" name:"AuctionId"`
+	CurrentPage requests.Integer `position:"Body" name:"CurrentPage"`
+	PageSize    requests.Integer `position:"Body" name:"PageSize"`
+}
+
+// QueryBidRecordsResponse is the response struct for api QueryBidRecords
+type QueryBidRecordsResponse struct {
+	*responses.BaseResponse
+	RequestId      string      `json:"RequestId" xml:"RequestId"`
+	TotalItemNum   int         `json:"TotalItemNum" xml:"TotalItemNum"`
+	CurrentPageNum int         `json:"CurrentPageNum" xml:"CurrentPageNum"`
+	PageSize       int         `json:"PageSize" xml:"PageSize"`
+	TotalPageNum   int         `json:"TotalPageNum" xml:"TotalPageNum"`
+	Data           []BidRecord `json:"Data" xml:"Data"`
+}
+
+// CreateQueryBidRecordsRequest creates a request to invoke QueryBidRecords API
+func CreateQueryBidRecordsRequest() (request *QueryBidRecordsRequest) {
+	request = &QueryBidRecordsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain", "2018-02-08", "QueryBidRecords", "", "")
+	return
+}
+
+// CreateQueryBidRecordsResponse creates a response to parse from QueryBidRecords response
+func CreateQueryBidRecordsResponse() (response *QueryBidRecordsResponse) {
+	response = &QueryBidRecordsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/domain/query_booking_domain_info.go

@@ -0,0 +1,109 @@
+package domain
+
+//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"
+)
+
+// QueryBookingDomainInfo invokes the domain.QueryBookingDomainInfo API synchronously
+// api document: https://help.aliyun.com/api/domain/querybookingdomaininfo.html
+func (client *Client) QueryBookingDomainInfo(request *QueryBookingDomainInfoRequest) (response *QueryBookingDomainInfoResponse, err error) {
+	response = CreateQueryBookingDomainInfoResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// QueryBookingDomainInfoWithChan invokes the domain.QueryBookingDomainInfo API asynchronously
+// api document: https://help.aliyun.com/api/domain/querybookingdomaininfo.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryBookingDomainInfoWithChan(request *QueryBookingDomainInfoRequest) (<-chan *QueryBookingDomainInfoResponse, <-chan error) {
+	responseChan := make(chan *QueryBookingDomainInfoResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.QueryBookingDomainInfo(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// QueryBookingDomainInfoWithCallback invokes the domain.QueryBookingDomainInfo API asynchronously
+// api document: https://help.aliyun.com/api/domain/querybookingdomaininfo.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryBookingDomainInfoWithCallback(request *QueryBookingDomainInfoRequest, callback func(response *QueryBookingDomainInfoResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *QueryBookingDomainInfoResponse
+		var err error
+		defer close(result)
+		response, err = client.QueryBookingDomainInfo(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// QueryBookingDomainInfoRequest is the request struct for api QueryBookingDomainInfo
+type QueryBookingDomainInfoRequest struct {
+	*requests.RpcRequest
+	DomainName string `position:"Body" name:"DomainName"`
+}
+
+// QueryBookingDomainInfoResponse is the response struct for api QueryBookingDomainInfo
+type QueryBookingDomainInfoResponse struct {
+	*responses.BaseResponse
+	RequestId       string  `json:"RequestId" xml:"RequestId"`
+	AuctionId       int     `json:"AuctionId" xml:"AuctionId"`
+	PartnerType     string  `json:"PartnerType" xml:"PartnerType"`
+	MaxBid          float64 `json:"MaxBid" xml:"MaxBid"`
+	TransferInPrice float64 `json:"TransferInPrice" xml:"TransferInPrice"`
+	Currency        string  `json:"Currency" xml:"Currency"`
+	BookEndTime     int     `json:"BookEndTime" xml:"BookEndTime"`
+}
+
+// CreateQueryBookingDomainInfoRequest creates a request to invoke QueryBookingDomainInfo API
+func CreateQueryBookingDomainInfoRequest() (request *QueryBookingDomainInfoRequest) {
+	request = &QueryBookingDomainInfoRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain", "2018-02-08", "QueryBookingDomainInfo", "", "")
+	return
+}
+
+// CreateQueryBookingDomainInfoResponse creates a response to parse from QueryBookingDomainInfo response
+func CreateQueryBookingDomainInfoResponse() (response *QueryBookingDomainInfoResponse) {
+	response = &QueryBookingDomainInfoResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 117 - 0
services/domain/query_change_log_list.go

@@ -0,0 +1,117 @@
+package domain
+
+//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"
+)
+
+// QueryChangeLogList invokes the domain.QueryChangeLogList API synchronously
+// api document: https://help.aliyun.com/api/domain/querychangeloglist.html
+func (client *Client) QueryChangeLogList(request *QueryChangeLogListRequest) (response *QueryChangeLogListResponse, err error) {
+	response = CreateQueryChangeLogListResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// QueryChangeLogListWithChan invokes the domain.QueryChangeLogList API asynchronously
+// api document: https://help.aliyun.com/api/domain/querychangeloglist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryChangeLogListWithChan(request *QueryChangeLogListRequest) (<-chan *QueryChangeLogListResponse, <-chan error) {
+	responseChan := make(chan *QueryChangeLogListResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.QueryChangeLogList(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// QueryChangeLogListWithCallback invokes the domain.QueryChangeLogList API asynchronously
+// api document: https://help.aliyun.com/api/domain/querychangeloglist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryChangeLogListWithCallback(request *QueryChangeLogListRequest, callback func(response *QueryChangeLogListResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *QueryChangeLogListResponse
+		var err error
+		defer close(result)
+		response, err = client.QueryChangeLogList(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// QueryChangeLogListRequest is the request struct for api QueryChangeLogList
+type QueryChangeLogListRequest struct {
+	*requests.RpcRequest
+	UserClientIp string           `position:"Query" name:"UserClientIp"`
+	Lang         string           `position:"Query" name:"Lang"`
+	DomainName   string           `position:"Query" name:"DomainName"`
+	PageNum      requests.Integer `position:"Query" name:"PageNum"`
+	PageSize     requests.Integer `position:"Query" name:"PageSize"`
+	StartDate    requests.Integer `position:"Query" name:"StartDate"`
+	EndDate      requests.Integer `position:"Query" name:"EndDate"`
+}
+
+// QueryChangeLogListResponse is the response struct for api QueryChangeLogList
+type QueryChangeLogListResponse struct {
+	*responses.BaseResponse
+	RequestId      string                   `json:"RequestId" xml:"RequestId"`
+	TotalItemNum   int                      `json:"TotalItemNum" xml:"TotalItemNum"`
+	CurrentPageNum int                      `json:"CurrentPageNum" xml:"CurrentPageNum"`
+	TotalPageNum   int                      `json:"TotalPageNum" xml:"TotalPageNum"`
+	PageSize       int                      `json:"PageSize" xml:"PageSize"`
+	PrePage        bool                     `json:"PrePage" xml:"PrePage"`
+	NextPage       bool                     `json:"NextPage" xml:"NextPage"`
+	ResultLimit    bool                     `json:"ResultLimit" xml:"ResultLimit"`
+	Data           DataInQueryChangeLogList `json:"Data" xml:"Data"`
+}
+
+// CreateQueryChangeLogListRequest creates a request to invoke QueryChangeLogList API
+func CreateQueryChangeLogListRequest() (request *QueryChangeLogListRequest) {
+	request = &QueryChangeLogListRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain", "2018-01-29", "QueryChangeLogList", "", "")
+	return
+}
+
+// CreateQueryChangeLogListResponse creates a response to parse from QueryChangeLogList response
+func CreateQueryChangeLogListResponse() (response *QueryChangeLogListResponse) {
+	response = &QueryChangeLogListResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 123 - 0
services/domain/query_contact_info.go

@@ -0,0 +1,123 @@
+package domain
+
+//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"
+)
+
+// QueryContactInfo invokes the domain.QueryContactInfo API synchronously
+// api document: https://help.aliyun.com/api/domain/querycontactinfo.html
+func (client *Client) QueryContactInfo(request *QueryContactInfoRequest) (response *QueryContactInfoResponse, err error) {
+	response = CreateQueryContactInfoResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// QueryContactInfoWithChan invokes the domain.QueryContactInfo API asynchronously
+// api document: https://help.aliyun.com/api/domain/querycontactinfo.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryContactInfoWithChan(request *QueryContactInfoRequest) (<-chan *QueryContactInfoResponse, <-chan error) {
+	responseChan := make(chan *QueryContactInfoResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.QueryContactInfo(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// QueryContactInfoWithCallback invokes the domain.QueryContactInfo API asynchronously
+// api document: https://help.aliyun.com/api/domain/querycontactinfo.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryContactInfoWithCallback(request *QueryContactInfoRequest, callback func(response *QueryContactInfoResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *QueryContactInfoResponse
+		var err error
+		defer close(result)
+		response, err = client.QueryContactInfo(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// QueryContactInfoRequest is the request struct for api QueryContactInfo
+type QueryContactInfoRequest struct {
+	*requests.RpcRequest
+	UserClientIp string `position:"Query" name:"UserClientIp"`
+	Lang         string `position:"Query" name:"Lang"`
+	DomainName   string `position:"Query" name:"DomainName"`
+	ContactType  string `position:"Query" name:"ContactType"`
+}
+
+// QueryContactInfoResponse is the response struct for api QueryContactInfo
+type QueryContactInfoResponse struct {
+	*responses.BaseResponse
+	RequestId                string `json:"RequestId" xml:"RequestId"`
+	CreateDate               string `json:"CreateDate" xml:"CreateDate"`
+	RegistrantName           string `json:"RegistrantName" xml:"RegistrantName"`
+	RegistrantOrganization   string `json:"RegistrantOrganization" xml:"RegistrantOrganization"`
+	Country                  string `json:"Country" xml:"Country"`
+	Province                 string `json:"Province" xml:"Province"`
+	City                     string `json:"City" xml:"City"`
+	Address                  string `json:"Address" xml:"Address"`
+	Email                    string `json:"Email" xml:"Email"`
+	PostalCode               string `json:"PostalCode" xml:"PostalCode"`
+	TelArea                  string `json:"TelArea" xml:"TelArea"`
+	Telephone                string `json:"Telephone" xml:"Telephone"`
+	TelExt                   string `json:"TelExt" xml:"TelExt"`
+	ZhRegistrantName         string `json:"ZhRegistrantName" xml:"ZhRegistrantName"`
+	ZhRegistrantOrganization string `json:"ZhRegistrantOrganization" xml:"ZhRegistrantOrganization"`
+	ZhProvince               string `json:"ZhProvince" xml:"ZhProvince"`
+	ZhCity                   string `json:"ZhCity" xml:"ZhCity"`
+	ZhAddress                string `json:"ZhAddress" xml:"ZhAddress"`
+}
+
+// CreateQueryContactInfoRequest creates a request to invoke QueryContactInfo API
+func CreateQueryContactInfoRequest() (request *QueryContactInfoRequest) {
+	request = &QueryContactInfoRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain", "2018-01-29", "QueryContactInfo", "", "")
+	return
+}
+
+// CreateQueryContactInfoResponse creates a response to parse from QueryContactInfo response
+func CreateQueryContactInfoResponse() (response *QueryContactInfoResponse) {
+	response = &QueryContactInfoResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 105 - 0
services/domain/query_dns_host.go

@@ -0,0 +1,105 @@
+package domain
+
+//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"
+)
+
+// QueryDnsHost invokes the domain.QueryDnsHost API synchronously
+// api document: https://help.aliyun.com/api/domain/querydnshost.html
+func (client *Client) QueryDnsHost(request *QueryDnsHostRequest) (response *QueryDnsHostResponse, err error) {
+	response = CreateQueryDnsHostResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// QueryDnsHostWithChan invokes the domain.QueryDnsHost API asynchronously
+// api document: https://help.aliyun.com/api/domain/querydnshost.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryDnsHostWithChan(request *QueryDnsHostRequest) (<-chan *QueryDnsHostResponse, <-chan error) {
+	responseChan := make(chan *QueryDnsHostResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.QueryDnsHost(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// QueryDnsHostWithCallback invokes the domain.QueryDnsHost API asynchronously
+// api document: https://help.aliyun.com/api/domain/querydnshost.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryDnsHostWithCallback(request *QueryDnsHostRequest, callback func(response *QueryDnsHostResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *QueryDnsHostResponse
+		var err error
+		defer close(result)
+		response, err = client.QueryDnsHost(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// QueryDnsHostRequest is the request struct for api QueryDnsHost
+type QueryDnsHostRequest struct {
+	*requests.RpcRequest
+	InstanceId string `position:"Query" name:"InstanceId"`
+	Lang       string `position:"Query" name:"Lang"`
+}
+
+// QueryDnsHostResponse is the response struct for api QueryDnsHost
+type QueryDnsHostResponse struct {
+	*responses.BaseResponse
+	RequestId   string    `json:"RequestId" xml:"RequestId"`
+	DnsHostList []DnsHost `json:"DnsHostList" xml:"DnsHostList"`
+}
+
+// CreateQueryDnsHostRequest creates a request to invoke QueryDnsHost API
+func CreateQueryDnsHostRequest() (request *QueryDnsHostRequest) {
+	request = &QueryDnsHostRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain", "2018-01-29", "QueryDnsHost", "", "")
+	return
+}
+
+// CreateQueryDnsHostResponse creates a response to parse from QueryDnsHost response
+func CreateQueryDnsHostResponse() (response *QueryDnsHostResponse) {
+	response = &QueryDnsHostResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 124 - 0
services/domain/query_domain_by_instance_id.go

@@ -0,0 +1,124 @@
+package domain
+
+//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"
+)
+
+// QueryDomainByInstanceId invokes the domain.QueryDomainByInstanceId API synchronously
+// api document: https://help.aliyun.com/api/domain/querydomainbyinstanceid.html
+func (client *Client) QueryDomainByInstanceId(request *QueryDomainByInstanceIdRequest) (response *QueryDomainByInstanceIdResponse, err error) {
+	response = CreateQueryDomainByInstanceIdResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// QueryDomainByInstanceIdWithChan invokes the domain.QueryDomainByInstanceId API asynchronously
+// api document: https://help.aliyun.com/api/domain/querydomainbyinstanceid.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryDomainByInstanceIdWithChan(request *QueryDomainByInstanceIdRequest) (<-chan *QueryDomainByInstanceIdResponse, <-chan error) {
+	responseChan := make(chan *QueryDomainByInstanceIdResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.QueryDomainByInstanceId(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// QueryDomainByInstanceIdWithCallback invokes the domain.QueryDomainByInstanceId API asynchronously
+// api document: https://help.aliyun.com/api/domain/querydomainbyinstanceid.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryDomainByInstanceIdWithCallback(request *QueryDomainByInstanceIdRequest, callback func(response *QueryDomainByInstanceIdResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *QueryDomainByInstanceIdResponse
+		var err error
+		defer close(result)
+		response, err = client.QueryDomainByInstanceId(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// QueryDomainByInstanceIdRequest is the request struct for api QueryDomainByInstanceId
+type QueryDomainByInstanceIdRequest struct {
+	*requests.RpcRequest
+	UserClientIp string `position:"Query" name:"UserClientIp"`
+	Lang         string `position:"Query" name:"Lang"`
+	InstanceId   string `position:"Query" name:"InstanceId"`
+}
+
+// QueryDomainByInstanceIdResponse is the response struct for api QueryDomainByInstanceId
+type QueryDomainByInstanceIdResponse struct {
+	*responses.BaseResponse
+	UserId                       string  `json:"UserId" xml:"UserId"`
+	DomainName                   string  `json:"DomainName" xml:"DomainName"`
+	InstanceId                   string  `json:"InstanceId" xml:"InstanceId"`
+	RegistrationDate             string  `json:"RegistrationDate" xml:"RegistrationDate"`
+	ExpirationDate               string  `json:"ExpirationDate" xml:"ExpirationDate"`
+	RegistrantOrganization       string  `json:"RegistrantOrganization" xml:"RegistrantOrganization"`
+	RegistrantName               string  `json:"RegistrantName" xml:"RegistrantName"`
+	Email                        string  `json:"Email" xml:"Email"`
+	UpdateProhibitionLock        string  `json:"UpdateProhibitionLock" xml:"UpdateProhibitionLock"`
+	TransferProhibitionLock      string  `json:"TransferProhibitionLock" xml:"TransferProhibitionLock"`
+	DomainNameProxyService       bool    `json:"DomainNameProxyService" xml:"DomainNameProxyService"`
+	Premium                      bool    `json:"Premium" xml:"Premium"`
+	EmailVerificationStatus      int     `json:"EmailVerificationStatus" xml:"EmailVerificationStatus"`
+	EmailVerificationClientHold  bool    `json:"EmailVerificationClientHold" xml:"EmailVerificationClientHold"`
+	RealNameStatus               string  `json:"RealNameStatus" xml:"RealNameStatus"`
+	RegistrantUpdatingStatus     string  `json:"RegistrantUpdatingStatus" xml:"RegistrantUpdatingStatus"`
+	TransferOutStatus            string  `json:"TransferOutStatus" xml:"TransferOutStatus"`
+	RegistrantType               string  `json:"RegistrantType" xml:"RegistrantType"`
+	DomainNameVerificationStatus string  `json:"DomainNameVerificationStatus" xml:"DomainNameVerificationStatus"`
+	DnsList                      DnsList `json:"DnsList" xml:"DnsList"`
+}
+
+// CreateQueryDomainByInstanceIdRequest creates a request to invoke QueryDomainByInstanceId API
+func CreateQueryDomainByInstanceIdRequest() (request *QueryDomainByInstanceIdRequest) {
+	request = &QueryDomainByInstanceIdRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain", "2018-01-29", "QueryDomainByInstanceId", "", "")
+	return
+}
+
+// CreateQueryDomainByInstanceIdResponse creates a response to parse from QueryDomainByInstanceId response
+func CreateQueryDomainByInstanceIdResponse() (response *QueryDomainByInstanceIdResponse) {
+	response = &QueryDomainByInstanceIdResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/domain/query_domain_group_list.go

@@ -0,0 +1,106 @@
+package domain
+
+//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"
+)
+
+// QueryDomainGroupList invokes the domain.QueryDomainGroupList API synchronously
+// api document: https://help.aliyun.com/api/domain/querydomaingrouplist.html
+func (client *Client) QueryDomainGroupList(request *QueryDomainGroupListRequest) (response *QueryDomainGroupListResponse, err error) {
+	response = CreateQueryDomainGroupListResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// QueryDomainGroupListWithChan invokes the domain.QueryDomainGroupList API asynchronously
+// api document: https://help.aliyun.com/api/domain/querydomaingrouplist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryDomainGroupListWithChan(request *QueryDomainGroupListRequest) (<-chan *QueryDomainGroupListResponse, <-chan error) {
+	responseChan := make(chan *QueryDomainGroupListResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.QueryDomainGroupList(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// QueryDomainGroupListWithCallback invokes the domain.QueryDomainGroupList API asynchronously
+// api document: https://help.aliyun.com/api/domain/querydomaingrouplist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryDomainGroupListWithCallback(request *QueryDomainGroupListRequest, callback func(response *QueryDomainGroupListResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *QueryDomainGroupListResponse
+		var err error
+		defer close(result)
+		response, err = client.QueryDomainGroupList(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// QueryDomainGroupListRequest is the request struct for api QueryDomainGroupList
+type QueryDomainGroupListRequest struct {
+	*requests.RpcRequest
+	UserClientIp    string `position:"Query" name:"UserClientIp"`
+	Lang            string `position:"Query" name:"Lang"`
+	DomainGroupName string `position:"Query" name:"DomainGroupName"`
+}
+
+// QueryDomainGroupListResponse is the response struct for api QueryDomainGroupList
+type QueryDomainGroupListResponse struct {
+	*responses.BaseResponse
+	RequestId string                     `json:"RequestId" xml:"RequestId"`
+	Data      DataInQueryDomainGroupList `json:"Data" xml:"Data"`
+}
+
+// CreateQueryDomainGroupListRequest creates a request to invoke QueryDomainGroupList API
+func CreateQueryDomainGroupListRequest() (request *QueryDomainGroupListRequest) {
+	request = &QueryDomainGroupListRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain", "2018-01-29", "QueryDomainGroupList", "", "")
+	return
+}
+
+// CreateQueryDomainGroupListResponse creates a response to parse from QueryDomainGroupList response
+func CreateQueryDomainGroupListResponse() (response *QueryDomainGroupListResponse) {
+	response = &QueryDomainGroupListResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 122 - 0
services/domain/query_domain_list.go

@@ -0,0 +1,122 @@
+package domain
+
+//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"
+)
+
+// QueryDomainList invokes the domain.QueryDomainList API synchronously
+// api document: https://help.aliyun.com/api/domain/querydomainlist.html
+func (client *Client) QueryDomainList(request *QueryDomainListRequest) (response *QueryDomainListResponse, err error) {
+	response = CreateQueryDomainListResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// QueryDomainListWithChan invokes the domain.QueryDomainList API asynchronously
+// api document: https://help.aliyun.com/api/domain/querydomainlist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryDomainListWithChan(request *QueryDomainListRequest) (<-chan *QueryDomainListResponse, <-chan error) {
+	responseChan := make(chan *QueryDomainListResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.QueryDomainList(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// QueryDomainListWithCallback invokes the domain.QueryDomainList API asynchronously
+// api document: https://help.aliyun.com/api/domain/querydomainlist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryDomainListWithCallback(request *QueryDomainListRequest, callback func(response *QueryDomainListResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *QueryDomainListResponse
+		var err error
+		defer close(result)
+		response, err = client.QueryDomainList(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// QueryDomainListRequest is the request struct for api QueryDomainList
+type QueryDomainListRequest struct {
+	*requests.RpcRequest
+	StartExpirationDate   requests.Integer `position:"Query" name:"StartExpirationDate"`
+	UserClientIp          string           `position:"Query" name:"UserClientIp"`
+	Lang                  string           `position:"Query" name:"Lang"`
+	QueryType             string           `position:"Query" name:"QueryType"`
+	EndExpirationDate     requests.Integer `position:"Query" name:"EndExpirationDate"`
+	StartRegistrationDate requests.Integer `position:"Query" name:"StartRegistrationDate"`
+	EndRegistrationDate   requests.Integer `position:"Query" name:"EndRegistrationDate"`
+	DomainName            string           `position:"Query" name:"DomainName"`
+	OrderByType           string           `position:"Query" name:"OrderByType"`
+	OrderKeyType          string           `position:"Query" name:"OrderKeyType"`
+	ProductDomainType     string           `position:"Query" name:"ProductDomainType"`
+	PageNum               requests.Integer `position:"Query" name:"PageNum"`
+	PageSize              requests.Integer `position:"Query" name:"PageSize"`
+}
+
+// QueryDomainListResponse is the response struct for api QueryDomainList
+type QueryDomainListResponse struct {
+	*responses.BaseResponse
+	RequestId      string                `json:"RequestId" xml:"RequestId"`
+	TotalItemNum   int                   `json:"TotalItemNum" xml:"TotalItemNum"`
+	CurrentPageNum int                   `json:"CurrentPageNum" xml:"CurrentPageNum"`
+	TotalPageNum   int                   `json:"TotalPageNum" xml:"TotalPageNum"`
+	PageSize       int                   `json:"PageSize" xml:"PageSize"`
+	PrePage        bool                  `json:"PrePage" xml:"PrePage"`
+	NextPage       bool                  `json:"NextPage" xml:"NextPage"`
+	Data           DataInQueryDomainList `json:"Data" xml:"Data"`
+}
+
+// CreateQueryDomainListRequest creates a request to invoke QueryDomainList API
+func CreateQueryDomainListRequest() (request *QueryDomainListRequest) {
+	request = &QueryDomainListRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain", "2018-01-29", "QueryDomainList", "", "")
+	return
+}
+
+// CreateQueryDomainListResponse creates a response to parse from QueryDomainList response
+func CreateQueryDomainListResponse() (response *QueryDomainListResponse) {
+	response = &QueryDomainListResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/domain/query_fail_reason_for_domain_real_name_verification.go

@@ -0,0 +1,107 @@
+package domain
+
+//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"
+)
+
+// QueryFailReasonForDomainRealNameVerification invokes the domain.QueryFailReasonForDomainRealNameVerification API synchronously
+// api document: https://help.aliyun.com/api/domain/queryfailreasonfordomainrealnameverification.html
+func (client *Client) QueryFailReasonForDomainRealNameVerification(request *QueryFailReasonForDomainRealNameVerificationRequest) (response *QueryFailReasonForDomainRealNameVerificationResponse, err error) {
+	response = CreateQueryFailReasonForDomainRealNameVerificationResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// QueryFailReasonForDomainRealNameVerificationWithChan invokes the domain.QueryFailReasonForDomainRealNameVerification API asynchronously
+// api document: https://help.aliyun.com/api/domain/queryfailreasonfordomainrealnameverification.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryFailReasonForDomainRealNameVerificationWithChan(request *QueryFailReasonForDomainRealNameVerificationRequest) (<-chan *QueryFailReasonForDomainRealNameVerificationResponse, <-chan error) {
+	responseChan := make(chan *QueryFailReasonForDomainRealNameVerificationResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.QueryFailReasonForDomainRealNameVerification(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// QueryFailReasonForDomainRealNameVerificationWithCallback invokes the domain.QueryFailReasonForDomainRealNameVerification API asynchronously
+// api document: https://help.aliyun.com/api/domain/queryfailreasonfordomainrealnameverification.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryFailReasonForDomainRealNameVerificationWithCallback(request *QueryFailReasonForDomainRealNameVerificationRequest, callback func(response *QueryFailReasonForDomainRealNameVerificationResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *QueryFailReasonForDomainRealNameVerificationResponse
+		var err error
+		defer close(result)
+		response, err = client.QueryFailReasonForDomainRealNameVerification(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// QueryFailReasonForDomainRealNameVerificationRequest is the request struct for api QueryFailReasonForDomainRealNameVerification
+type QueryFailReasonForDomainRealNameVerificationRequest struct {
+	*requests.RpcRequest
+	UserClientIp               string `position:"Query" name:"UserClientIp"`
+	Lang                       string `position:"Query" name:"Lang"`
+	DomainName                 string `position:"Query" name:"DomainName"`
+	RealNameVerificationAction string `position:"Query" name:"RealNameVerificationAction"`
+}
+
+// QueryFailReasonForDomainRealNameVerificationResponse is the response struct for api QueryFailReasonForDomainRealNameVerification
+type QueryFailReasonForDomainRealNameVerificationResponse struct {
+	*responses.BaseResponse
+	RequestId string       `json:"RequestId" xml:"RequestId"`
+	Data      []FailRecord `json:"Data" xml:"Data"`
+}
+
+// CreateQueryFailReasonForDomainRealNameVerificationRequest creates a request to invoke QueryFailReasonForDomainRealNameVerification API
+func CreateQueryFailReasonForDomainRealNameVerificationRequest() (request *QueryFailReasonForDomainRealNameVerificationRequest) {
+	request = &QueryFailReasonForDomainRealNameVerificationRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain", "2018-01-29", "QueryFailReasonForDomainRealNameVerification", "", "")
+	return
+}
+
+// CreateQueryFailReasonForDomainRealNameVerificationResponse creates a response to parse from QueryFailReasonForDomainRealNameVerification response
+func CreateQueryFailReasonForDomainRealNameVerificationResponse() (response *QueryFailReasonForDomainRealNameVerificationResponse) {
+	response = &QueryFailReasonForDomainRealNameVerificationResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/domain/query_fail_reason_for_registrant_profile_real_name_verification.go

@@ -0,0 +1,106 @@
+package domain
+
+//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"
+)
+
+// QueryFailReasonForRegistrantProfileRealNameVerification invokes the domain.QueryFailReasonForRegistrantProfileRealNameVerification API synchronously
+// api document: https://help.aliyun.com/api/domain/queryfailreasonforregistrantprofilerealnameverification.html
+func (client *Client) QueryFailReasonForRegistrantProfileRealNameVerification(request *QueryFailReasonForRegistrantProfileRealNameVerificationRequest) (response *QueryFailReasonForRegistrantProfileRealNameVerificationResponse, err error) {
+	response = CreateQueryFailReasonForRegistrantProfileRealNameVerificationResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// QueryFailReasonForRegistrantProfileRealNameVerificationWithChan invokes the domain.QueryFailReasonForRegistrantProfileRealNameVerification API asynchronously
+// api document: https://help.aliyun.com/api/domain/queryfailreasonforregistrantprofilerealnameverification.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryFailReasonForRegistrantProfileRealNameVerificationWithChan(request *QueryFailReasonForRegistrantProfileRealNameVerificationRequest) (<-chan *QueryFailReasonForRegistrantProfileRealNameVerificationResponse, <-chan error) {
+	responseChan := make(chan *QueryFailReasonForRegistrantProfileRealNameVerificationResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.QueryFailReasonForRegistrantProfileRealNameVerification(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// QueryFailReasonForRegistrantProfileRealNameVerificationWithCallback invokes the domain.QueryFailReasonForRegistrantProfileRealNameVerification API asynchronously
+// api document: https://help.aliyun.com/api/domain/queryfailreasonforregistrantprofilerealnameverification.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryFailReasonForRegistrantProfileRealNameVerificationWithCallback(request *QueryFailReasonForRegistrantProfileRealNameVerificationRequest, callback func(response *QueryFailReasonForRegistrantProfileRealNameVerificationResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *QueryFailReasonForRegistrantProfileRealNameVerificationResponse
+		var err error
+		defer close(result)
+		response, err = client.QueryFailReasonForRegistrantProfileRealNameVerification(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// QueryFailReasonForRegistrantProfileRealNameVerificationRequest is the request struct for api QueryFailReasonForRegistrantProfileRealNameVerification
+type QueryFailReasonForRegistrantProfileRealNameVerificationRequest struct {
+	*requests.RpcRequest
+	UserClientIp        string           `position:"Query" name:"UserClientIp"`
+	Lang                string           `position:"Query" name:"Lang"`
+	RegistrantProfileID requests.Integer `position:"Query" name:"RegistrantProfileID"`
+}
+
+// QueryFailReasonForRegistrantProfileRealNameVerificationResponse is the response struct for api QueryFailReasonForRegistrantProfileRealNameVerification
+type QueryFailReasonForRegistrantProfileRealNameVerificationResponse struct {
+	*responses.BaseResponse
+	RequestId string       `json:"RequestId" xml:"RequestId"`
+	Data      []FailRecord `json:"Data" xml:"Data"`
+}
+
+// CreateQueryFailReasonForRegistrantProfileRealNameVerificationRequest creates a request to invoke QueryFailReasonForRegistrantProfileRealNameVerification API
+func CreateQueryFailReasonForRegistrantProfileRealNameVerificationRequest() (request *QueryFailReasonForRegistrantProfileRealNameVerificationRequest) {
+	request = &QueryFailReasonForRegistrantProfileRealNameVerificationRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain", "2018-01-29", "QueryFailReasonForRegistrantProfileRealNameVerification", "", "")
+	return
+}
+
+// CreateQueryFailReasonForRegistrantProfileRealNameVerificationResponse creates a response to parse from QueryFailReasonForRegistrantProfileRealNameVerification response
+func CreateQueryFailReasonForRegistrantProfileRealNameVerificationResponse() (response *QueryFailReasonForRegistrantProfileRealNameVerificationResponse) {
+	response = &QueryFailReasonForRegistrantProfileRealNameVerificationResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 112 - 0
services/domain/query_registrant_profile_real_name_verification_info.go

@@ -0,0 +1,112 @@
+package domain
+
+//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"
+)
+
+// QueryRegistrantProfileRealNameVerificationInfo invokes the domain.QueryRegistrantProfileRealNameVerificationInfo API synchronously
+// api document: https://help.aliyun.com/api/domain/queryregistrantprofilerealnameverificationinfo.html
+func (client *Client) QueryRegistrantProfileRealNameVerificationInfo(request *QueryRegistrantProfileRealNameVerificationInfoRequest) (response *QueryRegistrantProfileRealNameVerificationInfoResponse, err error) {
+	response = CreateQueryRegistrantProfileRealNameVerificationInfoResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// QueryRegistrantProfileRealNameVerificationInfoWithChan invokes the domain.QueryRegistrantProfileRealNameVerificationInfo API asynchronously
+// api document: https://help.aliyun.com/api/domain/queryregistrantprofilerealnameverificationinfo.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryRegistrantProfileRealNameVerificationInfoWithChan(request *QueryRegistrantProfileRealNameVerificationInfoRequest) (<-chan *QueryRegistrantProfileRealNameVerificationInfoResponse, <-chan error) {
+	responseChan := make(chan *QueryRegistrantProfileRealNameVerificationInfoResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.QueryRegistrantProfileRealNameVerificationInfo(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// QueryRegistrantProfileRealNameVerificationInfoWithCallback invokes the domain.QueryRegistrantProfileRealNameVerificationInfo API asynchronously
+// api document: https://help.aliyun.com/api/domain/queryregistrantprofilerealnameverificationinfo.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryRegistrantProfileRealNameVerificationInfoWithCallback(request *QueryRegistrantProfileRealNameVerificationInfoRequest, callback func(response *QueryRegistrantProfileRealNameVerificationInfoResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *QueryRegistrantProfileRealNameVerificationInfoResponse
+		var err error
+		defer close(result)
+		response, err = client.QueryRegistrantProfileRealNameVerificationInfo(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// QueryRegistrantProfileRealNameVerificationInfoRequest is the request struct for api QueryRegistrantProfileRealNameVerificationInfo
+type QueryRegistrantProfileRealNameVerificationInfoRequest struct {
+	*requests.RpcRequest
+	UserClientIp        string           `position:"Query" name:"UserClientIp"`
+	Lang                string           `position:"Query" name:"Lang"`
+	RegistrantProfileId requests.Integer `position:"Query" name:"RegistrantProfileId"`
+	FetchImage          requests.Boolean `position:"Query" name:"FetchImage"`
+}
+
+// QueryRegistrantProfileRealNameVerificationInfoResponse is the response struct for api QueryRegistrantProfileRealNameVerificationInfo
+type QueryRegistrantProfileRealNameVerificationInfoResponse struct {
+	*responses.BaseResponse
+	RequestId              string `json:"RequestId" xml:"RequestId"`
+	SubmissionDate         string `json:"SubmissionDate" xml:"SubmissionDate"`
+	ModificationDate       string `json:"ModificationDate" xml:"ModificationDate"`
+	IdentityCredential     string `json:"IdentityCredential" xml:"IdentityCredential"`
+	RegistrantProfileId    int    `json:"RegistrantProfileId" xml:"RegistrantProfileId"`
+	IdentityCredentialNo   string `json:"IdentityCredentialNo" xml:"IdentityCredentialNo"`
+	IdentityCredentialType string `json:"IdentityCredentialType" xml:"IdentityCredentialType"`
+}
+
+// CreateQueryRegistrantProfileRealNameVerificationInfoRequest creates a request to invoke QueryRegistrantProfileRealNameVerificationInfo API
+func CreateQueryRegistrantProfileRealNameVerificationInfoRequest() (request *QueryRegistrantProfileRealNameVerificationInfoRequest) {
+	request = &QueryRegistrantProfileRealNameVerificationInfoRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain", "2018-01-29", "QueryRegistrantProfileRealNameVerificationInfo", "", "")
+	return
+}
+
+// CreateQueryRegistrantProfileRealNameVerificationInfoResponse creates a response to parse from QueryRegistrantProfileRealNameVerificationInfo response
+func CreateQueryRegistrantProfileRealNameVerificationInfoResponse() (response *QueryRegistrantProfileRealNameVerificationInfoResponse) {
+	response = &QueryRegistrantProfileRealNameVerificationInfoResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 119 - 0
services/domain/query_registrant_profiles.go

@@ -0,0 +1,119 @@
+package domain
+
+//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"
+)
+
+// QueryRegistrantProfiles invokes the domain.QueryRegistrantProfiles API synchronously
+// api document: https://help.aliyun.com/api/domain/queryregistrantprofiles.html
+func (client *Client) QueryRegistrantProfiles(request *QueryRegistrantProfilesRequest) (response *QueryRegistrantProfilesResponse, err error) {
+	response = CreateQueryRegistrantProfilesResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// QueryRegistrantProfilesWithChan invokes the domain.QueryRegistrantProfiles API asynchronously
+// api document: https://help.aliyun.com/api/domain/queryregistrantprofiles.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryRegistrantProfilesWithChan(request *QueryRegistrantProfilesRequest) (<-chan *QueryRegistrantProfilesResponse, <-chan error) {
+	responseChan := make(chan *QueryRegistrantProfilesResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.QueryRegistrantProfiles(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// QueryRegistrantProfilesWithCallback invokes the domain.QueryRegistrantProfiles API asynchronously
+// api document: https://help.aliyun.com/api/domain/queryregistrantprofiles.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryRegistrantProfilesWithCallback(request *QueryRegistrantProfilesRequest, callback func(response *QueryRegistrantProfilesResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *QueryRegistrantProfilesResponse
+		var err error
+		defer close(result)
+		response, err = client.QueryRegistrantProfiles(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// QueryRegistrantProfilesRequest is the request struct for api QueryRegistrantProfiles
+type QueryRegistrantProfilesRequest struct {
+	*requests.RpcRequest
+	Lang                     string           `position:"Query" name:"Lang"`
+	RegistrantOrganization   string           `position:"Query" name:"RegistrantOrganization"`
+	UserClientIp             string           `position:"Query" name:"UserClientIp"`
+	RegistrantProfileId      requests.Integer `position:"Query" name:"RegistrantProfileId"`
+	DefaultRegistrantProfile requests.Boolean `position:"Query" name:"DefaultRegistrantProfile"`
+	PageNum                  requests.Integer `position:"Query" name:"PageNum"`
+	PageSize                 requests.Integer `position:"Query" name:"PageSize"`
+	ZhRegistrantOrganization string           `position:"Query" name:"ZhRegistrantOrganization"`
+	RegistrantType           string           `position:"Query" name:"RegistrantType"`
+	RealNameStatus           string           `position:"Query" name:"RealNameStatus"`
+}
+
+// QueryRegistrantProfilesResponse is the response struct for api QueryRegistrantProfiles
+type QueryRegistrantProfilesResponse struct {
+	*responses.BaseResponse
+	RequestId          string             `json:"RequestId" xml:"RequestId"`
+	TotalItemNum       int                `json:"TotalItemNum" xml:"TotalItemNum"`
+	CurrentPageNum     int                `json:"CurrentPageNum" xml:"CurrentPageNum"`
+	TotalPageNum       int                `json:"TotalPageNum" xml:"TotalPageNum"`
+	PageSize           int                `json:"PageSize" xml:"PageSize"`
+	PrePage            bool               `json:"PrePage" xml:"PrePage"`
+	NextPage           bool               `json:"NextPage" xml:"NextPage"`
+	RegistrantProfiles RegistrantProfiles `json:"RegistrantProfiles" xml:"RegistrantProfiles"`
+}
+
+// CreateQueryRegistrantProfilesRequest creates a request to invoke QueryRegistrantProfiles API
+func CreateQueryRegistrantProfilesRequest() (request *QueryRegistrantProfilesRequest) {
+	request = &QueryRegistrantProfilesRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain", "2018-01-29", "QueryRegistrantProfiles", "", "")
+	return
+}
+
+// CreateQueryRegistrantProfilesResponse creates a response to parse from QueryRegistrantProfiles response
+func CreateQueryRegistrantProfilesResponse() (response *QueryRegistrantProfilesResponse) {
+	response = &QueryRegistrantProfilesResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 115 - 0
services/domain/query_task_detail_history.go

@@ -0,0 +1,115 @@
+package domain
+
+//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"
+)
+
+// QueryTaskDetailHistory invokes the domain.QueryTaskDetailHistory API synchronously
+// api document: https://help.aliyun.com/api/domain/querytaskdetailhistory.html
+func (client *Client) QueryTaskDetailHistory(request *QueryTaskDetailHistoryRequest) (response *QueryTaskDetailHistoryResponse, err error) {
+	response = CreateQueryTaskDetailHistoryResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// QueryTaskDetailHistoryWithChan invokes the domain.QueryTaskDetailHistory API asynchronously
+// api document: https://help.aliyun.com/api/domain/querytaskdetailhistory.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryTaskDetailHistoryWithChan(request *QueryTaskDetailHistoryRequest) (<-chan *QueryTaskDetailHistoryResponse, <-chan error) {
+	responseChan := make(chan *QueryTaskDetailHistoryResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.QueryTaskDetailHistory(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// QueryTaskDetailHistoryWithCallback invokes the domain.QueryTaskDetailHistory API asynchronously
+// api document: https://help.aliyun.com/api/domain/querytaskdetailhistory.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryTaskDetailHistoryWithCallback(request *QueryTaskDetailHistoryRequest, callback func(response *QueryTaskDetailHistoryResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *QueryTaskDetailHistoryResponse
+		var err error
+		defer close(result)
+		response, err = client.QueryTaskDetailHistory(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// QueryTaskDetailHistoryRequest is the request struct for api QueryTaskDetailHistory
+type QueryTaskDetailHistoryRequest struct {
+	*requests.RpcRequest
+	Lang               string           `position:"Query" name:"Lang"`
+	UserClientIp       string           `position:"Query" name:"UserClientIp"`
+	TaskNo             string           `position:"Query" name:"TaskNo"`
+	DomainName         string           `position:"Query" name:"DomainName"`
+	DomainNameCursor   string           `position:"Query" name:"DomainNameCursor"`
+	TaskStatus         requests.Integer `position:"Query" name:"TaskStatus"`
+	PageSize           requests.Integer `position:"Query" name:"PageSize"`
+	TaskDetailNoCursor string           `position:"Query" name:"TaskDetailNoCursor"`
+}
+
+// QueryTaskDetailHistoryResponse is the response struct for api QueryTaskDetailHistory
+type QueryTaskDetailHistoryResponse struct {
+	*responses.BaseResponse
+	RequestId         string              `json:"RequestId" xml:"RequestId"`
+	PageSize          int                 `json:"PageSize" xml:"PageSize"`
+	CurrentPageCursor CurrentPageCursor   `json:"CurrentPageCursor" xml:"CurrentPageCursor"`
+	NextPageCursor    NextPageCursor      `json:"NextPageCursor" xml:"NextPageCursor"`
+	PrePageCursor     PrePageCursor       `json:"PrePageCursor" xml:"PrePageCursor"`
+	Objects           []TaskDetailHistory `json:"Objects" xml:"Objects"`
+}
+
+// CreateQueryTaskDetailHistoryRequest creates a request to invoke QueryTaskDetailHistory API
+func CreateQueryTaskDetailHistoryRequest() (request *QueryTaskDetailHistoryRequest) {
+	request = &QueryTaskDetailHistoryRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain", "2018-01-29", "QueryTaskDetailHistory", "", "")
+	return
+}
+
+// CreateQueryTaskDetailHistoryResponse creates a response to parse from QueryTaskDetailHistory response
+func CreateQueryTaskDetailHistoryResponse() (response *QueryTaskDetailHistoryResponse) {
+	response = &QueryTaskDetailHistoryResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 117 - 0
services/domain/query_task_detail_list.go

@@ -0,0 +1,117 @@
+package domain
+
+//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"
+)
+
+// QueryTaskDetailList invokes the domain.QueryTaskDetailList API synchronously
+// api document: https://help.aliyun.com/api/domain/querytaskdetaillist.html
+func (client *Client) QueryTaskDetailList(request *QueryTaskDetailListRequest) (response *QueryTaskDetailListResponse, err error) {
+	response = CreateQueryTaskDetailListResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// QueryTaskDetailListWithChan invokes the domain.QueryTaskDetailList API asynchronously
+// api document: https://help.aliyun.com/api/domain/querytaskdetaillist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryTaskDetailListWithChan(request *QueryTaskDetailListRequest) (<-chan *QueryTaskDetailListResponse, <-chan error) {
+	responseChan := make(chan *QueryTaskDetailListResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.QueryTaskDetailList(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// QueryTaskDetailListWithCallback invokes the domain.QueryTaskDetailList API asynchronously
+// api document: https://help.aliyun.com/api/domain/querytaskdetaillist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryTaskDetailListWithCallback(request *QueryTaskDetailListRequest, callback func(response *QueryTaskDetailListResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *QueryTaskDetailListResponse
+		var err error
+		defer close(result)
+		response, err = client.QueryTaskDetailList(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// QueryTaskDetailListRequest is the request struct for api QueryTaskDetailList
+type QueryTaskDetailListRequest struct {
+	*requests.RpcRequest
+	UserClientIp string           `position:"Query" name:"UserClientIp"`
+	Lang         string           `position:"Query" name:"Lang"`
+	TaskNo       string           `position:"Query" name:"TaskNo"`
+	DomainName   string           `position:"Query" name:"DomainName"`
+	InstanceId   string           `position:"Query" name:"InstanceId"`
+	TaskStatus   requests.Integer `position:"Query" name:"TaskStatus"`
+	PageNum      requests.Integer `position:"Query" name:"PageNum"`
+	PageSize     requests.Integer `position:"Query" name:"PageSize"`
+}
+
+// QueryTaskDetailListResponse is the response struct for api QueryTaskDetailList
+type QueryTaskDetailListResponse struct {
+	*responses.BaseResponse
+	RequestId      string                    `json:"RequestId" xml:"RequestId"`
+	TotalItemNum   int                       `json:"TotalItemNum" xml:"TotalItemNum"`
+	CurrentPageNum int                       `json:"CurrentPageNum" xml:"CurrentPageNum"`
+	TotalPageNum   int                       `json:"TotalPageNum" xml:"TotalPageNum"`
+	PageSize       int                       `json:"PageSize" xml:"PageSize"`
+	PrePage        bool                      `json:"PrePage" xml:"PrePage"`
+	NextPage       bool                      `json:"NextPage" xml:"NextPage"`
+	Data           DataInQueryTaskDetailList `json:"Data" xml:"Data"`
+}
+
+// CreateQueryTaskDetailListRequest creates a request to invoke QueryTaskDetailList API
+func CreateQueryTaskDetailListRequest() (request *QueryTaskDetailListRequest) {
+	request = &QueryTaskDetailListRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain", "2018-01-29", "QueryTaskDetailList", "", "")
+	return
+}
+
+// CreateQueryTaskDetailListResponse creates a response to parse from QueryTaskDetailList response
+func CreateQueryTaskDetailListResponse() (response *QueryTaskDetailListResponse) {
+	response = &QueryTaskDetailListResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 114 - 0
services/domain/query_task_info_history.go

@@ -0,0 +1,114 @@
+package domain
+
+//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"
+)
+
+// QueryTaskInfoHistory invokes the domain.QueryTaskInfoHistory API synchronously
+// api document: https://help.aliyun.com/api/domain/querytaskinfohistory.html
+func (client *Client) QueryTaskInfoHistory(request *QueryTaskInfoHistoryRequest) (response *QueryTaskInfoHistoryResponse, err error) {
+	response = CreateQueryTaskInfoHistoryResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// QueryTaskInfoHistoryWithChan invokes the domain.QueryTaskInfoHistory API asynchronously
+// api document: https://help.aliyun.com/api/domain/querytaskinfohistory.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryTaskInfoHistoryWithChan(request *QueryTaskInfoHistoryRequest) (<-chan *QueryTaskInfoHistoryResponse, <-chan error) {
+	responseChan := make(chan *QueryTaskInfoHistoryResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.QueryTaskInfoHistory(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// QueryTaskInfoHistoryWithCallback invokes the domain.QueryTaskInfoHistory API asynchronously
+// api document: https://help.aliyun.com/api/domain/querytaskinfohistory.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryTaskInfoHistoryWithCallback(request *QueryTaskInfoHistoryRequest, callback func(response *QueryTaskInfoHistoryResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *QueryTaskInfoHistoryResponse
+		var err error
+		defer close(result)
+		response, err = client.QueryTaskInfoHistory(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// QueryTaskInfoHistoryRequest is the request struct for api QueryTaskInfoHistory
+type QueryTaskInfoHistoryRequest struct {
+	*requests.RpcRequest
+	UserClientIp     string           `position:"Query" name:"UserClientIp"`
+	Lang             string           `position:"Query" name:"Lang"`
+	BeginCreateTime  requests.Integer `position:"Query" name:"BeginCreateTime"`
+	EndCreateTime    requests.Integer `position:"Query" name:"EndCreateTime"`
+	PageSize         requests.Integer `position:"Query" name:"PageSize"`
+	CreateTimeCursor requests.Integer `position:"Query" name:"CreateTimeCursor"`
+	TaskNoCursor     string           `position:"Query" name:"TaskNoCursor"`
+}
+
+// QueryTaskInfoHistoryResponse is the response struct for api QueryTaskInfoHistory
+type QueryTaskInfoHistoryResponse struct {
+	*responses.BaseResponse
+	RequestId         string            `json:"RequestId" xml:"RequestId"`
+	PageSize          int               `json:"PageSize" xml:"PageSize"`
+	CurrentPageCursor CurrentPageCursor `json:"CurrentPageCursor" xml:"CurrentPageCursor"`
+	NextPageCursor    NextPageCursor    `json:"NextPageCursor" xml:"NextPageCursor"`
+	PrePageCursor     PrePageCursor     `json:"PrePageCursor" xml:"PrePageCursor"`
+	Objects           []TaskInfoHistory `json:"Objects" xml:"Objects"`
+}
+
+// CreateQueryTaskInfoHistoryRequest creates a request to invoke QueryTaskInfoHistory API
+func CreateQueryTaskInfoHistoryRequest() (request *QueryTaskInfoHistoryRequest) {
+	request = &QueryTaskInfoHistoryRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain", "2018-01-29", "QueryTaskInfoHistory", "", "")
+	return
+}
+
+// CreateQueryTaskInfoHistoryResponse creates a response to parse from QueryTaskInfoHistory response
+func CreateQueryTaskInfoHistoryResponse() (response *QueryTaskInfoHistoryResponse) {
+	response = &QueryTaskInfoHistoryResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 115 - 0
services/domain/query_task_list.go

@@ -0,0 +1,115 @@
+package domain
+
+//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"
+)
+
+// QueryTaskList invokes the domain.QueryTaskList API synchronously
+// api document: https://help.aliyun.com/api/domain/querytasklist.html
+func (client *Client) QueryTaskList(request *QueryTaskListRequest) (response *QueryTaskListResponse, err error) {
+	response = CreateQueryTaskListResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// QueryTaskListWithChan invokes the domain.QueryTaskList API asynchronously
+// api document: https://help.aliyun.com/api/domain/querytasklist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryTaskListWithChan(request *QueryTaskListRequest) (<-chan *QueryTaskListResponse, <-chan error) {
+	responseChan := make(chan *QueryTaskListResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.QueryTaskList(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// QueryTaskListWithCallback invokes the domain.QueryTaskList API asynchronously
+// api document: https://help.aliyun.com/api/domain/querytasklist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryTaskListWithCallback(request *QueryTaskListRequest, callback func(response *QueryTaskListResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *QueryTaskListResponse
+		var err error
+		defer close(result)
+		response, err = client.QueryTaskList(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// QueryTaskListRequest is the request struct for api QueryTaskList
+type QueryTaskListRequest struct {
+	*requests.RpcRequest
+	UserClientIp    string           `position:"Query" name:"UserClientIp"`
+	Lang            string           `position:"Query" name:"Lang"`
+	BeginCreateTime requests.Integer `position:"Query" name:"BeginCreateTime"`
+	EndCreateTime   requests.Integer `position:"Query" name:"EndCreateTime"`
+	PageNum         requests.Integer `position:"Query" name:"PageNum"`
+	PageSize        requests.Integer `position:"Query" name:"PageSize"`
+}
+
+// QueryTaskListResponse is the response struct for api QueryTaskList
+type QueryTaskListResponse struct {
+	*responses.BaseResponse
+	RequestId      string              `json:"RequestId" xml:"RequestId"`
+	TotalItemNum   int                 `json:"TotalItemNum" xml:"TotalItemNum"`
+	CurrentPageNum int                 `json:"CurrentPageNum" xml:"CurrentPageNum"`
+	TotalPageNum   int                 `json:"TotalPageNum" xml:"TotalPageNum"`
+	PageSize       int                 `json:"PageSize" xml:"PageSize"`
+	PrePage        bool                `json:"PrePage" xml:"PrePage"`
+	NextPage       bool                `json:"NextPage" xml:"NextPage"`
+	Data           DataInQueryTaskList `json:"Data" xml:"Data"`
+}
+
+// CreateQueryTaskListRequest creates a request to invoke QueryTaskList API
+func CreateQueryTaskListRequest() (request *QueryTaskListRequest) {
+	request = &QueryTaskListRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain", "2018-01-29", "QueryTaskList", "", "")
+	return
+}
+
+// CreateQueryTaskListResponse creates a response to parse from QueryTaskList response
+func CreateQueryTaskListResponse() (response *QueryTaskListResponse) {
+	response = &QueryTaskListResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 126 - 0
services/domain/query_transfer_in_by_instance_id.go

@@ -0,0 +1,126 @@
+package domain
+
+//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"
+)
+
+// QueryTransferInByInstanceId invokes the domain.QueryTransferInByInstanceId API synchronously
+// api document: https://help.aliyun.com/api/domain/querytransferinbyinstanceid.html
+func (client *Client) QueryTransferInByInstanceId(request *QueryTransferInByInstanceIdRequest) (response *QueryTransferInByInstanceIdResponse, err error) {
+	response = CreateQueryTransferInByInstanceIdResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// QueryTransferInByInstanceIdWithChan invokes the domain.QueryTransferInByInstanceId API asynchronously
+// api document: https://help.aliyun.com/api/domain/querytransferinbyinstanceid.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryTransferInByInstanceIdWithChan(request *QueryTransferInByInstanceIdRequest) (<-chan *QueryTransferInByInstanceIdResponse, <-chan error) {
+	responseChan := make(chan *QueryTransferInByInstanceIdResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.QueryTransferInByInstanceId(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// QueryTransferInByInstanceIdWithCallback invokes the domain.QueryTransferInByInstanceId API asynchronously
+// api document: https://help.aliyun.com/api/domain/querytransferinbyinstanceid.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryTransferInByInstanceIdWithCallback(request *QueryTransferInByInstanceIdRequest, callback func(response *QueryTransferInByInstanceIdResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *QueryTransferInByInstanceIdResponse
+		var err error
+		defer close(result)
+		response, err = client.QueryTransferInByInstanceId(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// QueryTransferInByInstanceIdRequest is the request struct for api QueryTransferInByInstanceId
+type QueryTransferInByInstanceIdRequest struct {
+	*requests.RpcRequest
+	InstanceId   string `position:"Query" name:"InstanceId"`
+	Lang         string `position:"Query" name:"Lang"`
+	UserClientIp string `position:"Query" name:"UserClientIp"`
+}
+
+// QueryTransferInByInstanceIdResponse is the response struct for api QueryTransferInByInstanceId
+type QueryTransferInByInstanceIdResponse struct {
+	*responses.BaseResponse
+	RequestId                                   string `json:"RequestId" xml:"RequestId"`
+	SubmissionDate                              string `json:"SubmissionDate" xml:"SubmissionDate"`
+	ModificationDate                            string `json:"ModificationDate" xml:"ModificationDate"`
+	UserId                                      string `json:"UserId" xml:"UserId"`
+	InstanceId                                  string `json:"InstanceId" xml:"InstanceId"`
+	DomainName                                  string `json:"DomainName" xml:"DomainName"`
+	Status                                      int    `json:"Status" xml:"Status"`
+	SimpleTransferInStatus                      string `json:"SimpleTransferInStatus" xml:"SimpleTransferInStatus"`
+	ResultCode                                  string `json:"ResultCode" xml:"ResultCode"`
+	ResultDate                                  string `json:"ResultDate" xml:"ResultDate"`
+	ResultMsg                                   string `json:"ResultMsg" xml:"ResultMsg"`
+	TransferAuthorizationCodeSubmissionDate     string `json:"TransferAuthorizationCodeSubmissionDate" xml:"TransferAuthorizationCodeSubmissionDate"`
+	NeedMailCheck                               bool   `json:"NeedMailCheck" xml:"NeedMailCheck"`
+	Email                                       string `json:"Email" xml:"Email"`
+	WhoisMailStatus                             bool   `json:"WhoisMailStatus" xml:"WhoisMailStatus"`
+	ExpirationDate                              string `json:"ExpirationDate" xml:"ExpirationDate"`
+	ProgressBarType                             int    `json:"ProgressBarType" xml:"ProgressBarType"`
+	SubmissionDateLong                          int    `json:"SubmissionDateLong" xml:"SubmissionDateLong"`
+	ModificationDateLong                        int    `json:"ModificationDateLong" xml:"ModificationDateLong"`
+	ResultDateLong                              int    `json:"ResultDateLong" xml:"ResultDateLong"`
+	ExpirationDateLong                          int    `json:"ExpirationDateLong" xml:"ExpirationDateLong"`
+	TransferAuthorizationCodeSubmissionDateLong int    `json:"TransferAuthorizationCodeSubmissionDateLong" xml:"TransferAuthorizationCodeSubmissionDateLong"`
+}
+
+// CreateQueryTransferInByInstanceIdRequest creates a request to invoke QueryTransferInByInstanceId API
+func CreateQueryTransferInByInstanceIdRequest() (request *QueryTransferInByInstanceIdRequest) {
+	request = &QueryTransferInByInstanceIdRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain", "2018-01-29", "QueryTransferInByInstanceId", "", "")
+	return
+}
+
+// CreateQueryTransferInByInstanceIdResponse creates a response to parse from QueryTransferInByInstanceId response
+func CreateQueryTransferInByInstanceIdResponse() (response *QueryTransferInByInstanceIdResponse) {
+	response = &QueryTransferInByInstanceIdResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 117 - 0
services/domain/query_transfer_in_list.go

@@ -0,0 +1,117 @@
+package domain
+
+//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"
+)
+
+// QueryTransferInList invokes the domain.QueryTransferInList API synchronously
+// api document: https://help.aliyun.com/api/domain/querytransferinlist.html
+func (client *Client) QueryTransferInList(request *QueryTransferInListRequest) (response *QueryTransferInListResponse, err error) {
+	response = CreateQueryTransferInListResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// QueryTransferInListWithChan invokes the domain.QueryTransferInList API asynchronously
+// api document: https://help.aliyun.com/api/domain/querytransferinlist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryTransferInListWithChan(request *QueryTransferInListRequest) (<-chan *QueryTransferInListResponse, <-chan error) {
+	responseChan := make(chan *QueryTransferInListResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.QueryTransferInList(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// QueryTransferInListWithCallback invokes the domain.QueryTransferInList API asynchronously
+// api document: https://help.aliyun.com/api/domain/querytransferinlist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryTransferInListWithCallback(request *QueryTransferInListRequest, callback func(response *QueryTransferInListResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *QueryTransferInListResponse
+		var err error
+		defer close(result)
+		response, err = client.QueryTransferInList(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// QueryTransferInListRequest is the request struct for api QueryTransferInList
+type QueryTransferInListRequest struct {
+	*requests.RpcRequest
+	Lang                   string           `position:"Query" name:"Lang"`
+	UserClientIp           string           `position:"Query" name:"UserClientIp"`
+	SubmissionStartDate    requests.Integer `position:"Query" name:"SubmissionStartDate"`
+	SubmissionEndDate      requests.Integer `position:"Query" name:"SubmissionEndDate"`
+	DomainName             string           `position:"Query" name:"DomainName"`
+	SimpleTransferInStatus string           `position:"Query" name:"SimpleTransferInStatus"`
+	PageNum                requests.Integer `position:"Query" name:"PageNum"`
+	PageSize               requests.Integer `position:"Query" name:"PageSize"`
+}
+
+// QueryTransferInListResponse is the response struct for api QueryTransferInList
+type QueryTransferInListResponse struct {
+	*responses.BaseResponse
+	RequestId      string                    `json:"RequestId" xml:"RequestId"`
+	TotalItemNum   int                       `json:"TotalItemNum" xml:"TotalItemNum"`
+	CurrentPageNum int                       `json:"CurrentPageNum" xml:"CurrentPageNum"`
+	TotalPageNum   int                       `json:"TotalPageNum" xml:"TotalPageNum"`
+	PageSize       int                       `json:"PageSize" xml:"PageSize"`
+	PrePage        bool                      `json:"PrePage" xml:"PrePage"`
+	NextPage       bool                      `json:"NextPage" xml:"NextPage"`
+	Data           DataInQueryTransferInList `json:"Data" xml:"Data"`
+}
+
+// CreateQueryTransferInListRequest creates a request to invoke QueryTransferInList API
+func CreateQueryTransferInListRequest() (request *QueryTransferInListRequest) {
+	request = &QueryTransferInListRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain", "2018-01-29", "QueryTransferInList", "", "")
+	return
+}
+
+// CreateQueryTransferInListResponse creates a response to parse from QueryTransferInList response
+func CreateQueryTransferInListResponse() (response *QueryTransferInListResponse) {
+	response = &QueryTransferInListResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 112 - 0
services/domain/query_transfer_out_info.go

@@ -0,0 +1,112 @@
+package domain
+
+//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"
+)
+
+// QueryTransferOutInfo invokes the domain.QueryTransferOutInfo API synchronously
+// api document: https://help.aliyun.com/api/domain/querytransferoutinfo.html
+func (client *Client) QueryTransferOutInfo(request *QueryTransferOutInfoRequest) (response *QueryTransferOutInfoResponse, err error) {
+	response = CreateQueryTransferOutInfoResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// QueryTransferOutInfoWithChan invokes the domain.QueryTransferOutInfo API asynchronously
+// api document: https://help.aliyun.com/api/domain/querytransferoutinfo.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryTransferOutInfoWithChan(request *QueryTransferOutInfoRequest) (<-chan *QueryTransferOutInfoResponse, <-chan error) {
+	responseChan := make(chan *QueryTransferOutInfoResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.QueryTransferOutInfo(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// QueryTransferOutInfoWithCallback invokes the domain.QueryTransferOutInfo API asynchronously
+// api document: https://help.aliyun.com/api/domain/querytransferoutinfo.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryTransferOutInfoWithCallback(request *QueryTransferOutInfoRequest, callback func(response *QueryTransferOutInfoResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *QueryTransferOutInfoResponse
+		var err error
+		defer close(result)
+		response, err = client.QueryTransferOutInfo(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// QueryTransferOutInfoRequest is the request struct for api QueryTransferOutInfo
+type QueryTransferOutInfoRequest struct {
+	*requests.RpcRequest
+	DomainName   string `position:"Query" name:"DomainName"`
+	Lang         string `position:"Query" name:"Lang"`
+	UserClientIp string `position:"Query" name:"UserClientIp"`
+}
+
+// QueryTransferOutInfoResponse is the response struct for api QueryTransferOutInfo
+type QueryTransferOutInfoResponse struct {
+	*responses.BaseResponse
+	RequestId                         string `json:"RequestId" xml:"RequestId"`
+	Status                            int    `json:"Status" xml:"Status"`
+	Email                             string `json:"Email" xml:"Email"`
+	TransferAuthorizationCodeSendDate string `json:"TransferAuthorizationCodeSendDate" xml:"TransferAuthorizationCodeSendDate"`
+	ExpirationDate                    string `json:"ExpirationDate" xml:"ExpirationDate"`
+	PendingRequestDate                string `json:"PendingRequestDate" xml:"PendingRequestDate"`
+	ResultCode                        string `json:"ResultCode" xml:"ResultCode"`
+	ResultMsg                         string `json:"ResultMsg" xml:"ResultMsg"`
+}
+
+// CreateQueryTransferOutInfoRequest creates a request to invoke QueryTransferOutInfo API
+func CreateQueryTransferOutInfoRequest() (request *QueryTransferOutInfoRequest) {
+	request = &QueryTransferOutInfoRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain", "2018-01-29", "QueryTransferOutInfo", "", "")
+	return
+}
+
+// CreateQueryTransferOutInfoResponse creates a response to parse from QueryTransferOutInfo response
+func CreateQueryTransferOutInfoResponse() (response *QueryTransferOutInfoResponse) {
+	response = &QueryTransferOutInfoResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/domain/registrant_profile_real_name_verification.go

@@ -0,0 +1,108 @@
+package domain
+
+//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"
+)
+
+// RegistrantProfileRealNameVerification invokes the domain.RegistrantProfileRealNameVerification API synchronously
+// api document: https://help.aliyun.com/api/domain/registrantprofilerealnameverification.html
+func (client *Client) RegistrantProfileRealNameVerification(request *RegistrantProfileRealNameVerificationRequest) (response *RegistrantProfileRealNameVerificationResponse, err error) {
+	response = CreateRegistrantProfileRealNameVerificationResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// RegistrantProfileRealNameVerificationWithChan invokes the domain.RegistrantProfileRealNameVerification API asynchronously
+// api document: https://help.aliyun.com/api/domain/registrantprofilerealnameverification.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) RegistrantProfileRealNameVerificationWithChan(request *RegistrantProfileRealNameVerificationRequest) (<-chan *RegistrantProfileRealNameVerificationResponse, <-chan error) {
+	responseChan := make(chan *RegistrantProfileRealNameVerificationResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.RegistrantProfileRealNameVerification(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// RegistrantProfileRealNameVerificationWithCallback invokes the domain.RegistrantProfileRealNameVerification API asynchronously
+// api document: https://help.aliyun.com/api/domain/registrantprofilerealnameverification.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) RegistrantProfileRealNameVerificationWithCallback(request *RegistrantProfileRealNameVerificationRequest, callback func(response *RegistrantProfileRealNameVerificationResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *RegistrantProfileRealNameVerificationResponse
+		var err error
+		defer close(result)
+		response, err = client.RegistrantProfileRealNameVerification(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// RegistrantProfileRealNameVerificationRequest is the request struct for api RegistrantProfileRealNameVerification
+type RegistrantProfileRealNameVerificationRequest struct {
+	*requests.RpcRequest
+	UserClientIp           string           `position:"Query" name:"UserClientIp"`
+	Lang                   string           `position:"Query" name:"Lang"`
+	RegistrantProfileID    requests.Integer `position:"Query" name:"RegistrantProfileID"`
+	IdentityCredential     string           `position:"Body" name:"IdentityCredential"`
+	IdentityCredentialNo   string           `position:"Query" name:"IdentityCredentialNo"`
+	IdentityCredentialType string           `position:"Query" name:"IdentityCredentialType"`
+}
+
+// RegistrantProfileRealNameVerificationResponse is the response struct for api RegistrantProfileRealNameVerification
+type RegistrantProfileRealNameVerificationResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateRegistrantProfileRealNameVerificationRequest creates a request to invoke RegistrantProfileRealNameVerification API
+func CreateRegistrantProfileRealNameVerificationRequest() (request *RegistrantProfileRealNameVerificationRequest) {
+	request = &RegistrantProfileRealNameVerificationRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain", "2018-01-29", "RegistrantProfileRealNameVerification", "", "")
+	return
+}
+
+// CreateRegistrantProfileRealNameVerificationResponse creates a response to parse from RegistrantProfileRealNameVerification response
+func CreateRegistrantProfileRealNameVerificationResponse() (response *RegistrantProfileRealNameVerificationResponse) {
+	response = &RegistrantProfileRealNameVerificationResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/domain/resend_email_verification.go

@@ -0,0 +1,107 @@
+package domain
+
+//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"
+)
+
+// ResendEmailVerification invokes the domain.ResendEmailVerification API synchronously
+// api document: https://help.aliyun.com/api/domain/resendemailverification.html
+func (client *Client) ResendEmailVerification(request *ResendEmailVerificationRequest) (response *ResendEmailVerificationResponse, err error) {
+	response = CreateResendEmailVerificationResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ResendEmailVerificationWithChan invokes the domain.ResendEmailVerification API asynchronously
+// api document: https://help.aliyun.com/api/domain/resendemailverification.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ResendEmailVerificationWithChan(request *ResendEmailVerificationRequest) (<-chan *ResendEmailVerificationResponse, <-chan error) {
+	responseChan := make(chan *ResendEmailVerificationResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ResendEmailVerification(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ResendEmailVerificationWithCallback invokes the domain.ResendEmailVerification API asynchronously
+// api document: https://help.aliyun.com/api/domain/resendemailverification.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ResendEmailVerificationWithCallback(request *ResendEmailVerificationRequest, callback func(response *ResendEmailVerificationResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ResendEmailVerificationResponse
+		var err error
+		defer close(result)
+		response, err = client.ResendEmailVerification(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ResendEmailVerificationRequest is the request struct for api ResendEmailVerification
+type ResendEmailVerificationRequest struct {
+	*requests.RpcRequest
+	Lang         string `position:"Query" name:"Lang"`
+	Email        string `position:"Query" name:"Email"`
+	UserClientIp string `position:"Query" name:"UserClientIp"`
+}
+
+// ResendEmailVerificationResponse is the response struct for api ResendEmailVerification
+type ResendEmailVerificationResponse struct {
+	*responses.BaseResponse
+	RequestId   string       `json:"RequestId" xml:"RequestId"`
+	SuccessList []SendResult `json:"SuccessList" xml:"SuccessList"`
+	FailList    []SendResult `json:"FailList" xml:"FailList"`
+}
+
+// CreateResendEmailVerificationRequest creates a request to invoke ResendEmailVerification API
+func CreateResendEmailVerificationRequest() (request *ResendEmailVerificationRequest) {
+	request = &ResendEmailVerificationRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain", "2018-01-29", "ResendEmailVerification", "", "")
+	return
+}
+
+// CreateResendEmailVerificationResponse creates a response to parse from ResendEmailVerification response
+func CreateResendEmailVerificationResponse() (response *ResendEmailVerificationResponse) {
+	response = &ResendEmailVerificationResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 105 - 0
services/domain/reserve_domain.go

@@ -0,0 +1,105 @@
+package domain
+
+//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"
+)
+
+// ReserveDomain invokes the domain.ReserveDomain API synchronously
+// api document: https://help.aliyun.com/api/domain/reservedomain.html
+func (client *Client) ReserveDomain(request *ReserveDomainRequest) (response *ReserveDomainResponse, err error) {
+	response = CreateReserveDomainResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ReserveDomainWithChan invokes the domain.ReserveDomain API asynchronously
+// api document: https://help.aliyun.com/api/domain/reservedomain.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ReserveDomainWithChan(request *ReserveDomainRequest) (<-chan *ReserveDomainResponse, <-chan error) {
+	responseChan := make(chan *ReserveDomainResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ReserveDomain(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ReserveDomainWithCallback invokes the domain.ReserveDomain API asynchronously
+// api document: https://help.aliyun.com/api/domain/reservedomain.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ReserveDomainWithCallback(request *ReserveDomainRequest, callback func(response *ReserveDomainResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ReserveDomainResponse
+		var err error
+		defer close(result)
+		response, err = client.ReserveDomain(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ReserveDomainRequest is the request struct for api ReserveDomain
+type ReserveDomainRequest struct {
+	*requests.RpcRequest
+	DomainName string    `position:"Body" name:"DomainName"`
+	Channels   *[]string `position:"Body" name:"Channels"  type:"Repeated"`
+}
+
+// ReserveDomainResponse is the response struct for api ReserveDomain
+type ReserveDomainResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	AuctionId string `json:"AuctionId" xml:"AuctionId"`
+}
+
+// CreateReserveDomainRequest creates a request to invoke ReserveDomain API
+func CreateReserveDomainRequest() (request *ReserveDomainRequest) {
+	request = &ReserveDomainRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain", "2018-02-08", "ReserveDomain", "", "")
+	return
+}
+
+// CreateReserveDomainResponse creates a response to parse from ReserveDomain response
+func CreateReserveDomainResponse() (response *ReserveDomainResponse) {
+	response = &ReserveDomainResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 135 - 0
services/domain/save_batch_task_for_creating_order_activate.go

@@ -0,0 +1,135 @@
+package domain
+
+//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"
+)
+
+// SaveBatchTaskForCreatingOrderActivate invokes the domain.SaveBatchTaskForCreatingOrderActivate API synchronously
+// api document: https://help.aliyun.com/api/domain/savebatchtaskforcreatingorderactivate.html
+func (client *Client) SaveBatchTaskForCreatingOrderActivate(request *SaveBatchTaskForCreatingOrderActivateRequest) (response *SaveBatchTaskForCreatingOrderActivateResponse, err error) {
+	response = CreateSaveBatchTaskForCreatingOrderActivateResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// SaveBatchTaskForCreatingOrderActivateWithChan invokes the domain.SaveBatchTaskForCreatingOrderActivate API asynchronously
+// api document: https://help.aliyun.com/api/domain/savebatchtaskforcreatingorderactivate.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SaveBatchTaskForCreatingOrderActivateWithChan(request *SaveBatchTaskForCreatingOrderActivateRequest) (<-chan *SaveBatchTaskForCreatingOrderActivateResponse, <-chan error) {
+	responseChan := make(chan *SaveBatchTaskForCreatingOrderActivateResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.SaveBatchTaskForCreatingOrderActivate(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// SaveBatchTaskForCreatingOrderActivateWithCallback invokes the domain.SaveBatchTaskForCreatingOrderActivate API asynchronously
+// api document: https://help.aliyun.com/api/domain/savebatchtaskforcreatingorderactivate.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SaveBatchTaskForCreatingOrderActivateWithCallback(request *SaveBatchTaskForCreatingOrderActivateRequest, callback func(response *SaveBatchTaskForCreatingOrderActivateResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *SaveBatchTaskForCreatingOrderActivateResponse
+		var err error
+		defer close(result)
+		response, err = client.SaveBatchTaskForCreatingOrderActivate(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// SaveBatchTaskForCreatingOrderActivateRequest is the request struct for api SaveBatchTaskForCreatingOrderActivate
+type SaveBatchTaskForCreatingOrderActivateRequest struct {
+	*requests.RpcRequest
+	UserClientIp       string                                                     `position:"Query" name:"UserClientIp"`
+	Lang               string                                                     `position:"Query" name:"Lang"`
+	OrderActivateParam *[]SaveBatchTaskForCreatingOrderActivateOrderActivateParam `position:"Query" name:"OrderActivateParam"  type:"Repeated"`
+}
+
+// SaveBatchTaskForCreatingOrderActivateOrderActivateParam is a repeated param struct in SaveBatchTaskForCreatingOrderActivateRequest
+type SaveBatchTaskForCreatingOrderActivateOrderActivateParam struct {
+	DomainName               string `name:"DomainName"`
+	SubscriptionDuration     string `name:"SubscriptionDuration"`
+	RegistrantProfileId      string `name:"RegistrantProfileId"`
+	EnableDomainProxy        string `name:"EnableDomainProxy"`
+	PermitPremiumActivation  string `name:"PermitPremiumActivation"`
+	AliyunDns                string `name:"AliyunDns"`
+	Dns1                     string `name:"Dns1"`
+	Dns2                     string `name:"Dns2"`
+	ZhCity                   string `name:"ZhCity"`
+	ZhRegistrantOrganization string `name:"ZhRegistrantOrganization"`
+	Country                  string `name:"Country"`
+	ZhRegistrantName         string `name:"ZhRegistrantName"`
+	ZhProvince               string `name:"ZhProvince"`
+	ZhAddress                string `name:"ZhAddress"`
+	City                     string `name:"City"`
+	RegistrantOrganization   string `name:"RegistrantOrganization"`
+	RegistrantName           string `name:"RegistrantName"`
+	Province                 string `name:"Province"`
+	Address                  string `name:"Address"`
+	Email                    string `name:"Email"`
+	PostalCode               string `name:"PostalCode"`
+	TelArea                  string `name:"TelArea"`
+	Telephone                string `name:"Telephone"`
+	TelExt                   string `name:"TelExt"`
+	RegistrantType           string `name:"RegistrantType"`
+}
+
+// SaveBatchTaskForCreatingOrderActivateResponse is the response struct for api SaveBatchTaskForCreatingOrderActivate
+type SaveBatchTaskForCreatingOrderActivateResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	TaskNo    string `json:"TaskNo" xml:"TaskNo"`
+}
+
+// CreateSaveBatchTaskForCreatingOrderActivateRequest creates a request to invoke SaveBatchTaskForCreatingOrderActivate API
+func CreateSaveBatchTaskForCreatingOrderActivateRequest() (request *SaveBatchTaskForCreatingOrderActivateRequest) {
+	request = &SaveBatchTaskForCreatingOrderActivateRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain", "2018-01-29", "SaveBatchTaskForCreatingOrderActivate", "", "")
+	return
+}
+
+// CreateSaveBatchTaskForCreatingOrderActivateResponse creates a response to parse from SaveBatchTaskForCreatingOrderActivate response
+func CreateSaveBatchTaskForCreatingOrderActivateResponse() (response *SaveBatchTaskForCreatingOrderActivateResponse) {
+	response = &SaveBatchTaskForCreatingOrderActivateResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 112 - 0
services/domain/save_batch_task_for_creating_order_redeem.go

@@ -0,0 +1,112 @@
+package domain
+
+//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"
+)
+
+// SaveBatchTaskForCreatingOrderRedeem invokes the domain.SaveBatchTaskForCreatingOrderRedeem API synchronously
+// api document: https://help.aliyun.com/api/domain/savebatchtaskforcreatingorderredeem.html
+func (client *Client) SaveBatchTaskForCreatingOrderRedeem(request *SaveBatchTaskForCreatingOrderRedeemRequest) (response *SaveBatchTaskForCreatingOrderRedeemResponse, err error) {
+	response = CreateSaveBatchTaskForCreatingOrderRedeemResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// SaveBatchTaskForCreatingOrderRedeemWithChan invokes the domain.SaveBatchTaskForCreatingOrderRedeem API asynchronously
+// api document: https://help.aliyun.com/api/domain/savebatchtaskforcreatingorderredeem.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SaveBatchTaskForCreatingOrderRedeemWithChan(request *SaveBatchTaskForCreatingOrderRedeemRequest) (<-chan *SaveBatchTaskForCreatingOrderRedeemResponse, <-chan error) {
+	responseChan := make(chan *SaveBatchTaskForCreatingOrderRedeemResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.SaveBatchTaskForCreatingOrderRedeem(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// SaveBatchTaskForCreatingOrderRedeemWithCallback invokes the domain.SaveBatchTaskForCreatingOrderRedeem API asynchronously
+// api document: https://help.aliyun.com/api/domain/savebatchtaskforcreatingorderredeem.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SaveBatchTaskForCreatingOrderRedeemWithCallback(request *SaveBatchTaskForCreatingOrderRedeemRequest, callback func(response *SaveBatchTaskForCreatingOrderRedeemResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *SaveBatchTaskForCreatingOrderRedeemResponse
+		var err error
+		defer close(result)
+		response, err = client.SaveBatchTaskForCreatingOrderRedeem(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// SaveBatchTaskForCreatingOrderRedeemRequest is the request struct for api SaveBatchTaskForCreatingOrderRedeem
+type SaveBatchTaskForCreatingOrderRedeemRequest struct {
+	*requests.RpcRequest
+	UserClientIp     string                                                 `position:"Query" name:"UserClientIp"`
+	Lang             string                                                 `position:"Query" name:"Lang"`
+	OrderRedeemParam *[]SaveBatchTaskForCreatingOrderRedeemOrderRedeemParam `position:"Query" name:"OrderRedeemParam"  type:"Repeated"`
+}
+
+// SaveBatchTaskForCreatingOrderRedeemOrderRedeemParam is a repeated param struct in SaveBatchTaskForCreatingOrderRedeemRequest
+type SaveBatchTaskForCreatingOrderRedeemOrderRedeemParam struct {
+	DomainName            string `name:"DomainName"`
+	CurrentExpirationDate string `name:"CurrentExpirationDate"`
+}
+
+// SaveBatchTaskForCreatingOrderRedeemResponse is the response struct for api SaveBatchTaskForCreatingOrderRedeem
+type SaveBatchTaskForCreatingOrderRedeemResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	TaskNo    string `json:"TaskNo" xml:"TaskNo"`
+}
+
+// CreateSaveBatchTaskForCreatingOrderRedeemRequest creates a request to invoke SaveBatchTaskForCreatingOrderRedeem API
+func CreateSaveBatchTaskForCreatingOrderRedeemRequest() (request *SaveBatchTaskForCreatingOrderRedeemRequest) {
+	request = &SaveBatchTaskForCreatingOrderRedeemRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain", "2018-01-29", "SaveBatchTaskForCreatingOrderRedeem", "", "")
+	return
+}
+
+// CreateSaveBatchTaskForCreatingOrderRedeemResponse creates a response to parse from SaveBatchTaskForCreatingOrderRedeem response
+func CreateSaveBatchTaskForCreatingOrderRedeemResponse() (response *SaveBatchTaskForCreatingOrderRedeemResponse) {
+	response = &SaveBatchTaskForCreatingOrderRedeemResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 113 - 0
services/domain/save_batch_task_for_creating_order_renew.go

@@ -0,0 +1,113 @@
+package domain
+
+//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"
+)
+
+// SaveBatchTaskForCreatingOrderRenew invokes the domain.SaveBatchTaskForCreatingOrderRenew API synchronously
+// api document: https://help.aliyun.com/api/domain/savebatchtaskforcreatingorderrenew.html
+func (client *Client) SaveBatchTaskForCreatingOrderRenew(request *SaveBatchTaskForCreatingOrderRenewRequest) (response *SaveBatchTaskForCreatingOrderRenewResponse, err error) {
+	response = CreateSaveBatchTaskForCreatingOrderRenewResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// SaveBatchTaskForCreatingOrderRenewWithChan invokes the domain.SaveBatchTaskForCreatingOrderRenew API asynchronously
+// api document: https://help.aliyun.com/api/domain/savebatchtaskforcreatingorderrenew.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SaveBatchTaskForCreatingOrderRenewWithChan(request *SaveBatchTaskForCreatingOrderRenewRequest) (<-chan *SaveBatchTaskForCreatingOrderRenewResponse, <-chan error) {
+	responseChan := make(chan *SaveBatchTaskForCreatingOrderRenewResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.SaveBatchTaskForCreatingOrderRenew(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// SaveBatchTaskForCreatingOrderRenewWithCallback invokes the domain.SaveBatchTaskForCreatingOrderRenew API asynchronously
+// api document: https://help.aliyun.com/api/domain/savebatchtaskforcreatingorderrenew.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SaveBatchTaskForCreatingOrderRenewWithCallback(request *SaveBatchTaskForCreatingOrderRenewRequest, callback func(response *SaveBatchTaskForCreatingOrderRenewResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *SaveBatchTaskForCreatingOrderRenewResponse
+		var err error
+		defer close(result)
+		response, err = client.SaveBatchTaskForCreatingOrderRenew(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// SaveBatchTaskForCreatingOrderRenewRequest is the request struct for api SaveBatchTaskForCreatingOrderRenew
+type SaveBatchTaskForCreatingOrderRenewRequest struct {
+	*requests.RpcRequest
+	UserClientIp    string                                               `position:"Query" name:"UserClientIp"`
+	Lang            string                                               `position:"Query" name:"Lang"`
+	OrderRenewParam *[]SaveBatchTaskForCreatingOrderRenewOrderRenewParam `position:"Query" name:"OrderRenewParam"  type:"Repeated"`
+}
+
+// SaveBatchTaskForCreatingOrderRenewOrderRenewParam is a repeated param struct in SaveBatchTaskForCreatingOrderRenewRequest
+type SaveBatchTaskForCreatingOrderRenewOrderRenewParam struct {
+	DomainName            string `name:"DomainName"`
+	CurrentExpirationDate string `name:"CurrentExpirationDate"`
+	SubscriptionDuration  string `name:"SubscriptionDuration"`
+}
+
+// SaveBatchTaskForCreatingOrderRenewResponse is the response struct for api SaveBatchTaskForCreatingOrderRenew
+type SaveBatchTaskForCreatingOrderRenewResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	TaskNo    string `json:"TaskNo" xml:"TaskNo"`
+}
+
+// CreateSaveBatchTaskForCreatingOrderRenewRequest creates a request to invoke SaveBatchTaskForCreatingOrderRenew API
+func CreateSaveBatchTaskForCreatingOrderRenewRequest() (request *SaveBatchTaskForCreatingOrderRenewRequest) {
+	request = &SaveBatchTaskForCreatingOrderRenewRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain", "2018-01-29", "SaveBatchTaskForCreatingOrderRenew", "", "")
+	return
+}
+
+// CreateSaveBatchTaskForCreatingOrderRenewResponse creates a response to parse from SaveBatchTaskForCreatingOrderRenew response
+func CreateSaveBatchTaskForCreatingOrderRenewResponse() (response *SaveBatchTaskForCreatingOrderRenewResponse) {
+	response = &SaveBatchTaskForCreatingOrderRenewResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 114 - 0
services/domain/save_batch_task_for_creating_order_transfer.go

@@ -0,0 +1,114 @@
+package domain
+
+//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"
+)
+
+// SaveBatchTaskForCreatingOrderTransfer invokes the domain.SaveBatchTaskForCreatingOrderTransfer API synchronously
+// api document: https://help.aliyun.com/api/domain/savebatchtaskforcreatingordertransfer.html
+func (client *Client) SaveBatchTaskForCreatingOrderTransfer(request *SaveBatchTaskForCreatingOrderTransferRequest) (response *SaveBatchTaskForCreatingOrderTransferResponse, err error) {
+	response = CreateSaveBatchTaskForCreatingOrderTransferResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// SaveBatchTaskForCreatingOrderTransferWithChan invokes the domain.SaveBatchTaskForCreatingOrderTransfer API asynchronously
+// api document: https://help.aliyun.com/api/domain/savebatchtaskforcreatingordertransfer.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SaveBatchTaskForCreatingOrderTransferWithChan(request *SaveBatchTaskForCreatingOrderTransferRequest) (<-chan *SaveBatchTaskForCreatingOrderTransferResponse, <-chan error) {
+	responseChan := make(chan *SaveBatchTaskForCreatingOrderTransferResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.SaveBatchTaskForCreatingOrderTransfer(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// SaveBatchTaskForCreatingOrderTransferWithCallback invokes the domain.SaveBatchTaskForCreatingOrderTransfer API asynchronously
+// api document: https://help.aliyun.com/api/domain/savebatchtaskforcreatingordertransfer.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SaveBatchTaskForCreatingOrderTransferWithCallback(request *SaveBatchTaskForCreatingOrderTransferRequest, callback func(response *SaveBatchTaskForCreatingOrderTransferResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *SaveBatchTaskForCreatingOrderTransferResponse
+		var err error
+		defer close(result)
+		response, err = client.SaveBatchTaskForCreatingOrderTransfer(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// SaveBatchTaskForCreatingOrderTransferRequest is the request struct for api SaveBatchTaskForCreatingOrderTransfer
+type SaveBatchTaskForCreatingOrderTransferRequest struct {
+	*requests.RpcRequest
+	UserClientIp       string                                                     `position:"Query" name:"UserClientIp"`
+	Lang               string                                                     `position:"Query" name:"Lang"`
+	OrderTransferParam *[]SaveBatchTaskForCreatingOrderTransferOrderTransferParam `position:"Query" name:"OrderTransferParam"  type:"Repeated"`
+}
+
+// SaveBatchTaskForCreatingOrderTransferOrderTransferParam is a repeated param struct in SaveBatchTaskForCreatingOrderTransferRequest
+type SaveBatchTaskForCreatingOrderTransferOrderTransferParam struct {
+	DomainName            string `name:"DomainName"`
+	AuthorizationCode     string `name:"AuthorizationCode"`
+	RegistrantProfileId   string `name:"RegistrantProfileId"`
+	PermitPremiumTransfer string `name:"PermitPremiumTransfer"`
+}
+
+// SaveBatchTaskForCreatingOrderTransferResponse is the response struct for api SaveBatchTaskForCreatingOrderTransfer
+type SaveBatchTaskForCreatingOrderTransferResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	TaskNo    string `json:"TaskNo" xml:"TaskNo"`
+}
+
+// CreateSaveBatchTaskForCreatingOrderTransferRequest creates a request to invoke SaveBatchTaskForCreatingOrderTransfer API
+func CreateSaveBatchTaskForCreatingOrderTransferRequest() (request *SaveBatchTaskForCreatingOrderTransferRequest) {
+	request = &SaveBatchTaskForCreatingOrderTransferRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain", "2018-01-29", "SaveBatchTaskForCreatingOrderTransfer", "", "")
+	return
+}
+
+// CreateSaveBatchTaskForCreatingOrderTransferResponse creates a response to parse from SaveBatchTaskForCreatingOrderTransfer response
+func CreateSaveBatchTaskForCreatingOrderTransferResponse() (response *SaveBatchTaskForCreatingOrderTransferResponse) {
+	response = &SaveBatchTaskForCreatingOrderTransferResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/domain/save_batch_task_for_domain_name_proxy_service.go

@@ -0,0 +1,107 @@
+package domain
+
+//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"
+)
+
+// SaveBatchTaskForDomainNameProxyService invokes the domain.SaveBatchTaskForDomainNameProxyService API synchronously
+// api document: https://help.aliyun.com/api/domain/savebatchtaskfordomainnameproxyservice.html
+func (client *Client) SaveBatchTaskForDomainNameProxyService(request *SaveBatchTaskForDomainNameProxyServiceRequest) (response *SaveBatchTaskForDomainNameProxyServiceResponse, err error) {
+	response = CreateSaveBatchTaskForDomainNameProxyServiceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// SaveBatchTaskForDomainNameProxyServiceWithChan invokes the domain.SaveBatchTaskForDomainNameProxyService API asynchronously
+// api document: https://help.aliyun.com/api/domain/savebatchtaskfordomainnameproxyservice.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SaveBatchTaskForDomainNameProxyServiceWithChan(request *SaveBatchTaskForDomainNameProxyServiceRequest) (<-chan *SaveBatchTaskForDomainNameProxyServiceResponse, <-chan error) {
+	responseChan := make(chan *SaveBatchTaskForDomainNameProxyServiceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.SaveBatchTaskForDomainNameProxyService(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// SaveBatchTaskForDomainNameProxyServiceWithCallback invokes the domain.SaveBatchTaskForDomainNameProxyService API asynchronously
+// api document: https://help.aliyun.com/api/domain/savebatchtaskfordomainnameproxyservice.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SaveBatchTaskForDomainNameProxyServiceWithCallback(request *SaveBatchTaskForDomainNameProxyServiceRequest, callback func(response *SaveBatchTaskForDomainNameProxyServiceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *SaveBatchTaskForDomainNameProxyServiceResponse
+		var err error
+		defer close(result)
+		response, err = client.SaveBatchTaskForDomainNameProxyService(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// SaveBatchTaskForDomainNameProxyServiceRequest is the request struct for api SaveBatchTaskForDomainNameProxyService
+type SaveBatchTaskForDomainNameProxyServiceRequest struct {
+	*requests.RpcRequest
+	UserClientIp string           `position:"Query" name:"UserClientIp"`
+	Lang         string           `position:"Query" name:"Lang"`
+	DomainName   *[]string        `position:"Query" name:"DomainName"  type:"Repeated"`
+	Status       requests.Boolean `position:"Query" name:"Status"`
+}
+
+// SaveBatchTaskForDomainNameProxyServiceResponse is the response struct for api SaveBatchTaskForDomainNameProxyService
+type SaveBatchTaskForDomainNameProxyServiceResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	TaskNo    string `json:"TaskNo" xml:"TaskNo"`
+}
+
+// CreateSaveBatchTaskForDomainNameProxyServiceRequest creates a request to invoke SaveBatchTaskForDomainNameProxyService API
+func CreateSaveBatchTaskForDomainNameProxyServiceRequest() (request *SaveBatchTaskForDomainNameProxyServiceRequest) {
+	request = &SaveBatchTaskForDomainNameProxyServiceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain", "2018-01-29", "SaveBatchTaskForDomainNameProxyService", "", "")
+	return
+}
+
+// CreateSaveBatchTaskForDomainNameProxyServiceResponse creates a response to parse from SaveBatchTaskForDomainNameProxyService response
+func CreateSaveBatchTaskForDomainNameProxyServiceResponse() (response *SaveBatchTaskForDomainNameProxyServiceResponse) {
+	response = &SaveBatchTaskForDomainNameProxyServiceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/domain/save_batch_task_for_modifying_domain_dns.go

@@ -0,0 +1,108 @@
+package domain
+
+//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"
+)
+
+// SaveBatchTaskForModifyingDomainDns invokes the domain.SaveBatchTaskForModifyingDomainDns API synchronously
+// api document: https://help.aliyun.com/api/domain/savebatchtaskformodifyingdomaindns.html
+func (client *Client) SaveBatchTaskForModifyingDomainDns(request *SaveBatchTaskForModifyingDomainDnsRequest) (response *SaveBatchTaskForModifyingDomainDnsResponse, err error) {
+	response = CreateSaveBatchTaskForModifyingDomainDnsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// SaveBatchTaskForModifyingDomainDnsWithChan invokes the domain.SaveBatchTaskForModifyingDomainDns API asynchronously
+// api document: https://help.aliyun.com/api/domain/savebatchtaskformodifyingdomaindns.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SaveBatchTaskForModifyingDomainDnsWithChan(request *SaveBatchTaskForModifyingDomainDnsRequest) (<-chan *SaveBatchTaskForModifyingDomainDnsResponse, <-chan error) {
+	responseChan := make(chan *SaveBatchTaskForModifyingDomainDnsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.SaveBatchTaskForModifyingDomainDns(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// SaveBatchTaskForModifyingDomainDnsWithCallback invokes the domain.SaveBatchTaskForModifyingDomainDns API asynchronously
+// api document: https://help.aliyun.com/api/domain/savebatchtaskformodifyingdomaindns.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SaveBatchTaskForModifyingDomainDnsWithCallback(request *SaveBatchTaskForModifyingDomainDnsRequest, callback func(response *SaveBatchTaskForModifyingDomainDnsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *SaveBatchTaskForModifyingDomainDnsResponse
+		var err error
+		defer close(result)
+		response, err = client.SaveBatchTaskForModifyingDomainDns(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// SaveBatchTaskForModifyingDomainDnsRequest is the request struct for api SaveBatchTaskForModifyingDomainDns
+type SaveBatchTaskForModifyingDomainDnsRequest struct {
+	*requests.RpcRequest
+	UserClientIp     string           `position:"Query" name:"UserClientIp"`
+	Lang             string           `position:"Query" name:"Lang"`
+	DomainName       *[]string        `position:"Query" name:"DomainName"  type:"Repeated"`
+	AliyunDns        requests.Boolean `position:"Query" name:"AliyunDns"`
+	DomainNameServer *[]string        `position:"Query" name:"DomainNameServer"  type:"Repeated"`
+}
+
+// SaveBatchTaskForModifyingDomainDnsResponse is the response struct for api SaveBatchTaskForModifyingDomainDns
+type SaveBatchTaskForModifyingDomainDnsResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	TaskNo    string `json:"TaskNo" xml:"TaskNo"`
+}
+
+// CreateSaveBatchTaskForModifyingDomainDnsRequest creates a request to invoke SaveBatchTaskForModifyingDomainDns API
+func CreateSaveBatchTaskForModifyingDomainDnsRequest() (request *SaveBatchTaskForModifyingDomainDnsRequest) {
+	request = &SaveBatchTaskForModifyingDomainDnsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain", "2018-01-29", "SaveBatchTaskForModifyingDomainDns", "", "")
+	return
+}
+
+// CreateSaveBatchTaskForModifyingDomainDnsResponse creates a response to parse from SaveBatchTaskForModifyingDomainDns response
+func CreateSaveBatchTaskForModifyingDomainDnsResponse() (response *SaveBatchTaskForModifyingDomainDnsResponse) {
+	response = &SaveBatchTaskForModifyingDomainDnsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/domain/save_batch_task_for_transfer_prohibition_lock.go

@@ -0,0 +1,107 @@
+package domain
+
+//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"
+)
+
+// SaveBatchTaskForTransferProhibitionLock invokes the domain.SaveBatchTaskForTransferProhibitionLock API synchronously
+// api document: https://help.aliyun.com/api/domain/savebatchtaskfortransferprohibitionlock.html
+func (client *Client) SaveBatchTaskForTransferProhibitionLock(request *SaveBatchTaskForTransferProhibitionLockRequest) (response *SaveBatchTaskForTransferProhibitionLockResponse, err error) {
+	response = CreateSaveBatchTaskForTransferProhibitionLockResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// SaveBatchTaskForTransferProhibitionLockWithChan invokes the domain.SaveBatchTaskForTransferProhibitionLock API asynchronously
+// api document: https://help.aliyun.com/api/domain/savebatchtaskfortransferprohibitionlock.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SaveBatchTaskForTransferProhibitionLockWithChan(request *SaveBatchTaskForTransferProhibitionLockRequest) (<-chan *SaveBatchTaskForTransferProhibitionLockResponse, <-chan error) {
+	responseChan := make(chan *SaveBatchTaskForTransferProhibitionLockResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.SaveBatchTaskForTransferProhibitionLock(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// SaveBatchTaskForTransferProhibitionLockWithCallback invokes the domain.SaveBatchTaskForTransferProhibitionLock API asynchronously
+// api document: https://help.aliyun.com/api/domain/savebatchtaskfortransferprohibitionlock.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SaveBatchTaskForTransferProhibitionLockWithCallback(request *SaveBatchTaskForTransferProhibitionLockRequest, callback func(response *SaveBatchTaskForTransferProhibitionLockResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *SaveBatchTaskForTransferProhibitionLockResponse
+		var err error
+		defer close(result)
+		response, err = client.SaveBatchTaskForTransferProhibitionLock(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// SaveBatchTaskForTransferProhibitionLockRequest is the request struct for api SaveBatchTaskForTransferProhibitionLock
+type SaveBatchTaskForTransferProhibitionLockRequest struct {
+	*requests.RpcRequest
+	UserClientIp string           `position:"Query" name:"UserClientIp"`
+	Lang         string           `position:"Query" name:"Lang"`
+	DomainName   *[]string        `position:"Query" name:"DomainName"  type:"Repeated"`
+	Status       requests.Boolean `position:"Query" name:"Status"`
+}
+
+// SaveBatchTaskForTransferProhibitionLockResponse is the response struct for api SaveBatchTaskForTransferProhibitionLock
+type SaveBatchTaskForTransferProhibitionLockResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	TaskNo    string `json:"TaskNo" xml:"TaskNo"`
+}
+
+// CreateSaveBatchTaskForTransferProhibitionLockRequest creates a request to invoke SaveBatchTaskForTransferProhibitionLock API
+func CreateSaveBatchTaskForTransferProhibitionLockRequest() (request *SaveBatchTaskForTransferProhibitionLockRequest) {
+	request = &SaveBatchTaskForTransferProhibitionLockRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain", "2018-01-29", "SaveBatchTaskForTransferProhibitionLock", "", "")
+	return
+}
+
+// CreateSaveBatchTaskForTransferProhibitionLockResponse creates a response to parse from SaveBatchTaskForTransferProhibitionLock response
+func CreateSaveBatchTaskForTransferProhibitionLockResponse() (response *SaveBatchTaskForTransferProhibitionLockResponse) {
+	response = &SaveBatchTaskForTransferProhibitionLockResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/domain/save_batch_task_for_update_prohibition_lock.go

@@ -0,0 +1,107 @@
+package domain
+
+//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"
+)
+
+// SaveBatchTaskForUpdateProhibitionLock invokes the domain.SaveBatchTaskForUpdateProhibitionLock API synchronously
+// api document: https://help.aliyun.com/api/domain/savebatchtaskforupdateprohibitionlock.html
+func (client *Client) SaveBatchTaskForUpdateProhibitionLock(request *SaveBatchTaskForUpdateProhibitionLockRequest) (response *SaveBatchTaskForUpdateProhibitionLockResponse, err error) {
+	response = CreateSaveBatchTaskForUpdateProhibitionLockResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// SaveBatchTaskForUpdateProhibitionLockWithChan invokes the domain.SaveBatchTaskForUpdateProhibitionLock API asynchronously
+// api document: https://help.aliyun.com/api/domain/savebatchtaskforupdateprohibitionlock.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SaveBatchTaskForUpdateProhibitionLockWithChan(request *SaveBatchTaskForUpdateProhibitionLockRequest) (<-chan *SaveBatchTaskForUpdateProhibitionLockResponse, <-chan error) {
+	responseChan := make(chan *SaveBatchTaskForUpdateProhibitionLockResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.SaveBatchTaskForUpdateProhibitionLock(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// SaveBatchTaskForUpdateProhibitionLockWithCallback invokes the domain.SaveBatchTaskForUpdateProhibitionLock API asynchronously
+// api document: https://help.aliyun.com/api/domain/savebatchtaskforupdateprohibitionlock.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SaveBatchTaskForUpdateProhibitionLockWithCallback(request *SaveBatchTaskForUpdateProhibitionLockRequest, callback func(response *SaveBatchTaskForUpdateProhibitionLockResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *SaveBatchTaskForUpdateProhibitionLockResponse
+		var err error
+		defer close(result)
+		response, err = client.SaveBatchTaskForUpdateProhibitionLock(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// SaveBatchTaskForUpdateProhibitionLockRequest is the request struct for api SaveBatchTaskForUpdateProhibitionLock
+type SaveBatchTaskForUpdateProhibitionLockRequest struct {
+	*requests.RpcRequest
+	UserClientIp string           `position:"Query" name:"UserClientIp"`
+	Lang         string           `position:"Query" name:"Lang"`
+	DomainName   *[]string        `position:"Query" name:"DomainName"  type:"Repeated"`
+	Status       requests.Boolean `position:"Query" name:"Status"`
+}
+
+// SaveBatchTaskForUpdateProhibitionLockResponse is the response struct for api SaveBatchTaskForUpdateProhibitionLock
+type SaveBatchTaskForUpdateProhibitionLockResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	TaskNo    string `json:"TaskNo" xml:"TaskNo"`
+}
+
+// CreateSaveBatchTaskForUpdateProhibitionLockRequest creates a request to invoke SaveBatchTaskForUpdateProhibitionLock API
+func CreateSaveBatchTaskForUpdateProhibitionLockRequest() (request *SaveBatchTaskForUpdateProhibitionLockRequest) {
+	request = &SaveBatchTaskForUpdateProhibitionLockRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain", "2018-01-29", "SaveBatchTaskForUpdateProhibitionLock", "", "")
+	return
+}
+
+// CreateSaveBatchTaskForUpdateProhibitionLockResponse creates a response to parse from SaveBatchTaskForUpdateProhibitionLock response
+func CreateSaveBatchTaskForUpdateProhibitionLockResponse() (response *SaveBatchTaskForUpdateProhibitionLockResponse) {
+	response = &SaveBatchTaskForUpdateProhibitionLockResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 125 - 0
services/domain/save_batch_task_for_updating_contact_info_by_new_contact.go

@@ -0,0 +1,125 @@
+package domain
+
+//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"
+)
+
+// SaveBatchTaskForUpdatingContactInfoByNewContact invokes the domain.SaveBatchTaskForUpdatingContactInfoByNewContact API synchronously
+// api document: https://help.aliyun.com/api/domain/savebatchtaskforupdatingcontactinfobynewcontact.html
+func (client *Client) SaveBatchTaskForUpdatingContactInfoByNewContact(request *SaveBatchTaskForUpdatingContactInfoByNewContactRequest) (response *SaveBatchTaskForUpdatingContactInfoByNewContactResponse, err error) {
+	response = CreateSaveBatchTaskForUpdatingContactInfoByNewContactResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// SaveBatchTaskForUpdatingContactInfoByNewContactWithChan invokes the domain.SaveBatchTaskForUpdatingContactInfoByNewContact API asynchronously
+// api document: https://help.aliyun.com/api/domain/savebatchtaskforupdatingcontactinfobynewcontact.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SaveBatchTaskForUpdatingContactInfoByNewContactWithChan(request *SaveBatchTaskForUpdatingContactInfoByNewContactRequest) (<-chan *SaveBatchTaskForUpdatingContactInfoByNewContactResponse, <-chan error) {
+	responseChan := make(chan *SaveBatchTaskForUpdatingContactInfoByNewContactResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.SaveBatchTaskForUpdatingContactInfoByNewContact(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// SaveBatchTaskForUpdatingContactInfoByNewContactWithCallback invokes the domain.SaveBatchTaskForUpdatingContactInfoByNewContact API asynchronously
+// api document: https://help.aliyun.com/api/domain/savebatchtaskforupdatingcontactinfobynewcontact.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SaveBatchTaskForUpdatingContactInfoByNewContactWithCallback(request *SaveBatchTaskForUpdatingContactInfoByNewContactRequest, callback func(response *SaveBatchTaskForUpdatingContactInfoByNewContactResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *SaveBatchTaskForUpdatingContactInfoByNewContactResponse
+		var err error
+		defer close(result)
+		response, err = client.SaveBatchTaskForUpdatingContactInfoByNewContact(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// SaveBatchTaskForUpdatingContactInfoByNewContactRequest is the request struct for api SaveBatchTaskForUpdatingContactInfoByNewContact
+type SaveBatchTaskForUpdatingContactInfoByNewContactRequest struct {
+	*requests.RpcRequest
+	Address                  string           `position:"Query" name:"Address"`
+	UserClientIp             string           `position:"Query" name:"UserClientIp"`
+	Lang                     string           `position:"Query" name:"Lang"`
+	City                     string           `position:"Query" name:"City"`
+	RegistrantOrganization   string           `position:"Query" name:"RegistrantOrganization"`
+	RegistrantName           string           `position:"Query" name:"RegistrantName"`
+	Province                 string           `position:"Query" name:"Province"`
+	Country                  string           `position:"Query" name:"Country"`
+	Email                    string           `position:"Query" name:"Email"`
+	PostalCode               string           `position:"Query" name:"PostalCode"`
+	TelArea                  string           `position:"Query" name:"TelArea"`
+	Telephone                string           `position:"Query" name:"Telephone"`
+	TelExt                   string           `position:"Query" name:"TelExt"`
+	ZhCity                   string           `position:"Query" name:"ZhCity"`
+	ZhRegistrantOrganization string           `position:"Query" name:"ZhRegistrantOrganization"`
+	ZhRegistrantName         string           `position:"Query" name:"ZhRegistrantName"`
+	ZhProvince               string           `position:"Query" name:"ZhProvince"`
+	ZhAddress                string           `position:"Query" name:"ZhAddress"`
+	ContactType              string           `position:"Query" name:"ContactType"`
+	RegistrantType           string           `position:"Query" name:"RegistrantType"`
+	TransferOutProhibited    requests.Boolean `position:"Query" name:"TransferOutProhibited"`
+	DomainName               *[]string        `position:"Query" name:"DomainName"  type:"Repeated"`
+}
+
+// SaveBatchTaskForUpdatingContactInfoByNewContactResponse is the response struct for api SaveBatchTaskForUpdatingContactInfoByNewContact
+type SaveBatchTaskForUpdatingContactInfoByNewContactResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	TaskNo    string `json:"TaskNo" xml:"TaskNo"`
+}
+
+// CreateSaveBatchTaskForUpdatingContactInfoByNewContactRequest creates a request to invoke SaveBatchTaskForUpdatingContactInfoByNewContact API
+func CreateSaveBatchTaskForUpdatingContactInfoByNewContactRequest() (request *SaveBatchTaskForUpdatingContactInfoByNewContactRequest) {
+	request = &SaveBatchTaskForUpdatingContactInfoByNewContactRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain", "2018-01-29", "SaveBatchTaskForUpdatingContactInfoByNewContact", "", "")
+	return
+}
+
+// CreateSaveBatchTaskForUpdatingContactInfoByNewContactResponse creates a response to parse from SaveBatchTaskForUpdatingContactInfoByNewContact response
+func CreateSaveBatchTaskForUpdatingContactInfoByNewContactResponse() (response *SaveBatchTaskForUpdatingContactInfoByNewContactResponse) {
+	response = &SaveBatchTaskForUpdatingContactInfoByNewContactResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/domain/save_batch_task_for_updating_contact_info_by_registrant_profile_id.go

@@ -0,0 +1,109 @@
+package domain
+
+//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"
+)
+
+// SaveBatchTaskForUpdatingContactInfoByRegistrantProfileId invokes the domain.SaveBatchTaskForUpdatingContactInfoByRegistrantProfileId API synchronously
+// api document: https://help.aliyun.com/api/domain/savebatchtaskforupdatingcontactinfobyregistrantprofileid.html
+func (client *Client) SaveBatchTaskForUpdatingContactInfoByRegistrantProfileId(request *SaveBatchTaskForUpdatingContactInfoByRegistrantProfileIdRequest) (response *SaveBatchTaskForUpdatingContactInfoByRegistrantProfileIdResponse, err error) {
+	response = CreateSaveBatchTaskForUpdatingContactInfoByRegistrantProfileIdResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// SaveBatchTaskForUpdatingContactInfoByRegistrantProfileIdWithChan invokes the domain.SaveBatchTaskForUpdatingContactInfoByRegistrantProfileId API asynchronously
+// api document: https://help.aliyun.com/api/domain/savebatchtaskforupdatingcontactinfobyregistrantprofileid.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SaveBatchTaskForUpdatingContactInfoByRegistrantProfileIdWithChan(request *SaveBatchTaskForUpdatingContactInfoByRegistrantProfileIdRequest) (<-chan *SaveBatchTaskForUpdatingContactInfoByRegistrantProfileIdResponse, <-chan error) {
+	responseChan := make(chan *SaveBatchTaskForUpdatingContactInfoByRegistrantProfileIdResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.SaveBatchTaskForUpdatingContactInfoByRegistrantProfileId(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// SaveBatchTaskForUpdatingContactInfoByRegistrantProfileIdWithCallback invokes the domain.SaveBatchTaskForUpdatingContactInfoByRegistrantProfileId API asynchronously
+// api document: https://help.aliyun.com/api/domain/savebatchtaskforupdatingcontactinfobyregistrantprofileid.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SaveBatchTaskForUpdatingContactInfoByRegistrantProfileIdWithCallback(request *SaveBatchTaskForUpdatingContactInfoByRegistrantProfileIdRequest, callback func(response *SaveBatchTaskForUpdatingContactInfoByRegistrantProfileIdResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *SaveBatchTaskForUpdatingContactInfoByRegistrantProfileIdResponse
+		var err error
+		defer close(result)
+		response, err = client.SaveBatchTaskForUpdatingContactInfoByRegistrantProfileId(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// SaveBatchTaskForUpdatingContactInfoByRegistrantProfileIdRequest is the request struct for api SaveBatchTaskForUpdatingContactInfoByRegistrantProfileId
+type SaveBatchTaskForUpdatingContactInfoByRegistrantProfileIdRequest struct {
+	*requests.RpcRequest
+	UserClientIp          string           `position:"Query" name:"UserClientIp"`
+	Lang                  string           `position:"Query" name:"Lang"`
+	RegistrantProfileId   requests.Integer `position:"Query" name:"RegistrantProfileId"`
+	ContactType           string           `position:"Query" name:"ContactType"`
+	TransferOutProhibited requests.Boolean `position:"Query" name:"TransferOutProhibited"`
+	DomainName            *[]string        `position:"Query" name:"DomainName"  type:"Repeated"`
+}
+
+// SaveBatchTaskForUpdatingContactInfoByRegistrantProfileIdResponse is the response struct for api SaveBatchTaskForUpdatingContactInfoByRegistrantProfileId
+type SaveBatchTaskForUpdatingContactInfoByRegistrantProfileIdResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	TaskNo    string `json:"TaskNo" xml:"TaskNo"`
+}
+
+// CreateSaveBatchTaskForUpdatingContactInfoByRegistrantProfileIdRequest creates a request to invoke SaveBatchTaskForUpdatingContactInfoByRegistrantProfileId API
+func CreateSaveBatchTaskForUpdatingContactInfoByRegistrantProfileIdRequest() (request *SaveBatchTaskForUpdatingContactInfoByRegistrantProfileIdRequest) {
+	request = &SaveBatchTaskForUpdatingContactInfoByRegistrantProfileIdRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain", "2018-01-29", "SaveBatchTaskForUpdatingContactInfoByRegistrantProfileId", "", "")
+	return
+}
+
+// CreateSaveBatchTaskForUpdatingContactInfoByRegistrantProfileIdResponse creates a response to parse from SaveBatchTaskForUpdatingContactInfoByRegistrantProfileId response
+func CreateSaveBatchTaskForUpdatingContactInfoByRegistrantProfileIdResponse() (response *SaveBatchTaskForUpdatingContactInfoByRegistrantProfileIdResponse) {
+	response = &SaveBatchTaskForUpdatingContactInfoByRegistrantProfileIdResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 124 - 0
services/domain/save_registrant_profile.go

@@ -0,0 +1,124 @@
+package domain
+
+//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"
+)
+
+// SaveRegistrantProfile invokes the domain.SaveRegistrantProfile API synchronously
+// api document: https://help.aliyun.com/api/domain/saveregistrantprofile.html
+func (client *Client) SaveRegistrantProfile(request *SaveRegistrantProfileRequest) (response *SaveRegistrantProfileResponse, err error) {
+	response = CreateSaveRegistrantProfileResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// SaveRegistrantProfileWithChan invokes the domain.SaveRegistrantProfile API asynchronously
+// api document: https://help.aliyun.com/api/domain/saveregistrantprofile.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SaveRegistrantProfileWithChan(request *SaveRegistrantProfileRequest) (<-chan *SaveRegistrantProfileResponse, <-chan error) {
+	responseChan := make(chan *SaveRegistrantProfileResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.SaveRegistrantProfile(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// SaveRegistrantProfileWithCallback invokes the domain.SaveRegistrantProfile API asynchronously
+// api document: https://help.aliyun.com/api/domain/saveregistrantprofile.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SaveRegistrantProfileWithCallback(request *SaveRegistrantProfileRequest, callback func(response *SaveRegistrantProfileResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *SaveRegistrantProfileResponse
+		var err error
+		defer close(result)
+		response, err = client.SaveRegistrantProfile(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// SaveRegistrantProfileRequest is the request struct for api SaveRegistrantProfile
+type SaveRegistrantProfileRequest struct {
+	*requests.RpcRequest
+	DefaultRegistrantProfile requests.Boolean `position:"Query" name:"DefaultRegistrantProfile"`
+	Country                  string           `position:"Query" name:"Country"`
+	UserClientIp             string           `position:"Query" name:"UserClientIp"`
+	Lang                     string           `position:"Query" name:"Lang"`
+	RegistrantProfileId      requests.Integer `position:"Query" name:"RegistrantProfileId"`
+	City                     string           `position:"Query" name:"City"`
+	RegistrantOrganization   string           `position:"Query" name:"RegistrantOrganization"`
+	RegistrantName           string           `position:"Query" name:"RegistrantName"`
+	Province                 string           `position:"Query" name:"Province"`
+	Address                  string           `position:"Query" name:"Address"`
+	Email                    string           `position:"Query" name:"Email"`
+	PostalCode               string           `position:"Query" name:"PostalCode"`
+	TelArea                  string           `position:"Query" name:"TelArea"`
+	Telephone                string           `position:"Query" name:"Telephone"`
+	TelExt                   string           `position:"Query" name:"TelExt"`
+	ZhRegistrantOrganization string           `position:"Query" name:"ZhRegistrantOrganization"`
+	ZhRegistrantName         string           `position:"Query" name:"ZhRegistrantName"`
+	ZhProvince               string           `position:"Query" name:"ZhProvince"`
+	ZhAddress                string           `position:"Query" name:"ZhAddress"`
+	ZhCity                   string           `position:"Query" name:"ZhCity"`
+	RegistrantType           string           `position:"Query" name:"RegistrantType"`
+}
+
+// SaveRegistrantProfileResponse is the response struct for api SaveRegistrantProfile
+type SaveRegistrantProfileResponse struct {
+	*responses.BaseResponse
+	RequestId           string `json:"RequestId" xml:"RequestId"`
+	RegistrantProfileId int    `json:"RegistrantProfileId" xml:"RegistrantProfileId"`
+}
+
+// CreateSaveRegistrantProfileRequest creates a request to invoke SaveRegistrantProfile API
+func CreateSaveRegistrantProfileRequest() (request *SaveRegistrantProfileRequest) {
+	request = &SaveRegistrantProfileRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain", "2018-01-29", "SaveRegistrantProfile", "", "")
+	return
+}
+
+// CreateSaveRegistrantProfileResponse creates a response to parse from SaveRegistrantProfile response
+func CreateSaveRegistrantProfileResponse() (response *SaveRegistrantProfileResponse) {
+	response = &SaveRegistrantProfileResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/domain/save_single_task_for_approving_transfer_out.go

@@ -0,0 +1,106 @@
+package domain
+
+//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"
+)
+
+// SaveSingleTaskForApprovingTransferOut invokes the domain.SaveSingleTaskForApprovingTransferOut API synchronously
+// api document: https://help.aliyun.com/api/domain/savesingletaskforapprovingtransferout.html
+func (client *Client) SaveSingleTaskForApprovingTransferOut(request *SaveSingleTaskForApprovingTransferOutRequest) (response *SaveSingleTaskForApprovingTransferOutResponse, err error) {
+	response = CreateSaveSingleTaskForApprovingTransferOutResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// SaveSingleTaskForApprovingTransferOutWithChan invokes the domain.SaveSingleTaskForApprovingTransferOut API asynchronously
+// api document: https://help.aliyun.com/api/domain/savesingletaskforapprovingtransferout.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SaveSingleTaskForApprovingTransferOutWithChan(request *SaveSingleTaskForApprovingTransferOutRequest) (<-chan *SaveSingleTaskForApprovingTransferOutResponse, <-chan error) {
+	responseChan := make(chan *SaveSingleTaskForApprovingTransferOutResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.SaveSingleTaskForApprovingTransferOut(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// SaveSingleTaskForApprovingTransferOutWithCallback invokes the domain.SaveSingleTaskForApprovingTransferOut API asynchronously
+// api document: https://help.aliyun.com/api/domain/savesingletaskforapprovingtransferout.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SaveSingleTaskForApprovingTransferOutWithCallback(request *SaveSingleTaskForApprovingTransferOutRequest, callback func(response *SaveSingleTaskForApprovingTransferOutResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *SaveSingleTaskForApprovingTransferOutResponse
+		var err error
+		defer close(result)
+		response, err = client.SaveSingleTaskForApprovingTransferOut(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// SaveSingleTaskForApprovingTransferOutRequest is the request struct for api SaveSingleTaskForApprovingTransferOut
+type SaveSingleTaskForApprovingTransferOutRequest struct {
+	*requests.RpcRequest
+	DomainName   string `position:"Query" name:"DomainName"`
+	Lang         string `position:"Query" name:"Lang"`
+	UserClientIp string `position:"Query" name:"UserClientIp"`
+}
+
+// SaveSingleTaskForApprovingTransferOutResponse is the response struct for api SaveSingleTaskForApprovingTransferOut
+type SaveSingleTaskForApprovingTransferOutResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	TaskNo    string `json:"TaskNo" xml:"TaskNo"`
+}
+
+// CreateSaveSingleTaskForApprovingTransferOutRequest creates a request to invoke SaveSingleTaskForApprovingTransferOut API
+func CreateSaveSingleTaskForApprovingTransferOutRequest() (request *SaveSingleTaskForApprovingTransferOutRequest) {
+	request = &SaveSingleTaskForApprovingTransferOutRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain", "2018-01-29", "SaveSingleTaskForApprovingTransferOut", "", "")
+	return
+}
+
+// CreateSaveSingleTaskForApprovingTransferOutResponse creates a response to parse from SaveSingleTaskForApprovingTransferOut response
+func CreateSaveSingleTaskForApprovingTransferOutResponse() (response *SaveSingleTaskForApprovingTransferOutResponse) {
+	response = &SaveSingleTaskForApprovingTransferOutResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/domain/save_single_task_for_canceling_transfer_in.go

@@ -0,0 +1,106 @@
+package domain
+
+//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"
+)
+
+// SaveSingleTaskForCancelingTransferIn invokes the domain.SaveSingleTaskForCancelingTransferIn API synchronously
+// api document: https://help.aliyun.com/api/domain/savesingletaskforcancelingtransferin.html
+func (client *Client) SaveSingleTaskForCancelingTransferIn(request *SaveSingleTaskForCancelingTransferInRequest) (response *SaveSingleTaskForCancelingTransferInResponse, err error) {
+	response = CreateSaveSingleTaskForCancelingTransferInResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// SaveSingleTaskForCancelingTransferInWithChan invokes the domain.SaveSingleTaskForCancelingTransferIn API asynchronously
+// api document: https://help.aliyun.com/api/domain/savesingletaskforcancelingtransferin.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SaveSingleTaskForCancelingTransferInWithChan(request *SaveSingleTaskForCancelingTransferInRequest) (<-chan *SaveSingleTaskForCancelingTransferInResponse, <-chan error) {
+	responseChan := make(chan *SaveSingleTaskForCancelingTransferInResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.SaveSingleTaskForCancelingTransferIn(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// SaveSingleTaskForCancelingTransferInWithCallback invokes the domain.SaveSingleTaskForCancelingTransferIn API asynchronously
+// api document: https://help.aliyun.com/api/domain/savesingletaskforcancelingtransferin.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SaveSingleTaskForCancelingTransferInWithCallback(request *SaveSingleTaskForCancelingTransferInRequest, callback func(response *SaveSingleTaskForCancelingTransferInResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *SaveSingleTaskForCancelingTransferInResponse
+		var err error
+		defer close(result)
+		response, err = client.SaveSingleTaskForCancelingTransferIn(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// SaveSingleTaskForCancelingTransferInRequest is the request struct for api SaveSingleTaskForCancelingTransferIn
+type SaveSingleTaskForCancelingTransferInRequest struct {
+	*requests.RpcRequest
+	DomainName   string `position:"Query" name:"DomainName"`
+	Lang         string `position:"Query" name:"Lang"`
+	UserClientIp string `position:"Query" name:"UserClientIp"`
+}
+
+// SaveSingleTaskForCancelingTransferInResponse is the response struct for api SaveSingleTaskForCancelingTransferIn
+type SaveSingleTaskForCancelingTransferInResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	TaskNo    string `json:"TaskNo" xml:"TaskNo"`
+}
+
+// CreateSaveSingleTaskForCancelingTransferInRequest creates a request to invoke SaveSingleTaskForCancelingTransferIn API
+func CreateSaveSingleTaskForCancelingTransferInRequest() (request *SaveSingleTaskForCancelingTransferInRequest) {
+	request = &SaveSingleTaskForCancelingTransferInRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain", "2018-01-29", "SaveSingleTaskForCancelingTransferIn", "", "")
+	return
+}
+
+// CreateSaveSingleTaskForCancelingTransferInResponse creates a response to parse from SaveSingleTaskForCancelingTransferIn response
+func CreateSaveSingleTaskForCancelingTransferInResponse() (response *SaveSingleTaskForCancelingTransferInResponse) {
+	response = &SaveSingleTaskForCancelingTransferInResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/domain/save_single_task_for_canceling_transfer_out.go

@@ -0,0 +1,106 @@
+package domain
+
+//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"
+)
+
+// SaveSingleTaskForCancelingTransferOut invokes the domain.SaveSingleTaskForCancelingTransferOut API synchronously
+// api document: https://help.aliyun.com/api/domain/savesingletaskforcancelingtransferout.html
+func (client *Client) SaveSingleTaskForCancelingTransferOut(request *SaveSingleTaskForCancelingTransferOutRequest) (response *SaveSingleTaskForCancelingTransferOutResponse, err error) {
+	response = CreateSaveSingleTaskForCancelingTransferOutResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// SaveSingleTaskForCancelingTransferOutWithChan invokes the domain.SaveSingleTaskForCancelingTransferOut API asynchronously
+// api document: https://help.aliyun.com/api/domain/savesingletaskforcancelingtransferout.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SaveSingleTaskForCancelingTransferOutWithChan(request *SaveSingleTaskForCancelingTransferOutRequest) (<-chan *SaveSingleTaskForCancelingTransferOutResponse, <-chan error) {
+	responseChan := make(chan *SaveSingleTaskForCancelingTransferOutResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.SaveSingleTaskForCancelingTransferOut(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// SaveSingleTaskForCancelingTransferOutWithCallback invokes the domain.SaveSingleTaskForCancelingTransferOut API asynchronously
+// api document: https://help.aliyun.com/api/domain/savesingletaskforcancelingtransferout.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SaveSingleTaskForCancelingTransferOutWithCallback(request *SaveSingleTaskForCancelingTransferOutRequest, callback func(response *SaveSingleTaskForCancelingTransferOutResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *SaveSingleTaskForCancelingTransferOutResponse
+		var err error
+		defer close(result)
+		response, err = client.SaveSingleTaskForCancelingTransferOut(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// SaveSingleTaskForCancelingTransferOutRequest is the request struct for api SaveSingleTaskForCancelingTransferOut
+type SaveSingleTaskForCancelingTransferOutRequest struct {
+	*requests.RpcRequest
+	DomainName   string `position:"Query" name:"DomainName"`
+	Lang         string `position:"Query" name:"Lang"`
+	UserClientIp string `position:"Query" name:"UserClientIp"`
+}
+
+// SaveSingleTaskForCancelingTransferOutResponse is the response struct for api SaveSingleTaskForCancelingTransferOut
+type SaveSingleTaskForCancelingTransferOutResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	TaskNo    string `json:"TaskNo" xml:"TaskNo"`
+}
+
+// CreateSaveSingleTaskForCancelingTransferOutRequest creates a request to invoke SaveSingleTaskForCancelingTransferOut API
+func CreateSaveSingleTaskForCancelingTransferOutRequest() (request *SaveSingleTaskForCancelingTransferOutRequest) {
+	request = &SaveSingleTaskForCancelingTransferOutRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain", "2018-01-29", "SaveSingleTaskForCancelingTransferOut", "", "")
+	return
+}
+
+// CreateSaveSingleTaskForCancelingTransferOutResponse creates a response to parse from SaveSingleTaskForCancelingTransferOut response
+func CreateSaveSingleTaskForCancelingTransferOutResponse() (response *SaveSingleTaskForCancelingTransferOutResponse) {
+	response = &SaveSingleTaskForCancelingTransferOutResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/domain/save_single_task_for_creating_dns_host.go

@@ -0,0 +1,107 @@
+package domain
+
+//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"
+)
+
+// SaveSingleTaskForCreatingDnsHost invokes the domain.SaveSingleTaskForCreatingDnsHost API synchronously
+// api document: https://help.aliyun.com/api/domain/savesingletaskforcreatingdnshost.html
+func (client *Client) SaveSingleTaskForCreatingDnsHost(request *SaveSingleTaskForCreatingDnsHostRequest) (response *SaveSingleTaskForCreatingDnsHostResponse, err error) {
+	response = CreateSaveSingleTaskForCreatingDnsHostResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// SaveSingleTaskForCreatingDnsHostWithChan invokes the domain.SaveSingleTaskForCreatingDnsHost API asynchronously
+// api document: https://help.aliyun.com/api/domain/savesingletaskforcreatingdnshost.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SaveSingleTaskForCreatingDnsHostWithChan(request *SaveSingleTaskForCreatingDnsHostRequest) (<-chan *SaveSingleTaskForCreatingDnsHostResponse, <-chan error) {
+	responseChan := make(chan *SaveSingleTaskForCreatingDnsHostResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.SaveSingleTaskForCreatingDnsHost(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// SaveSingleTaskForCreatingDnsHostWithCallback invokes the domain.SaveSingleTaskForCreatingDnsHost API asynchronously
+// api document: https://help.aliyun.com/api/domain/savesingletaskforcreatingdnshost.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SaveSingleTaskForCreatingDnsHostWithCallback(request *SaveSingleTaskForCreatingDnsHostRequest, callback func(response *SaveSingleTaskForCreatingDnsHostResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *SaveSingleTaskForCreatingDnsHostResponse
+		var err error
+		defer close(result)
+		response, err = client.SaveSingleTaskForCreatingDnsHost(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// SaveSingleTaskForCreatingDnsHostRequest is the request struct for api SaveSingleTaskForCreatingDnsHost
+type SaveSingleTaskForCreatingDnsHostRequest struct {
+	*requests.RpcRequest
+	InstanceId string    `position:"Query" name:"InstanceId"`
+	Lang       string    `position:"Query" name:"Lang"`
+	DnsName    string    `position:"Query" name:"DnsName"`
+	Ip         *[]string `position:"Query" name:"Ip"  type:"Repeated"`
+}
+
+// SaveSingleTaskForCreatingDnsHostResponse is the response struct for api SaveSingleTaskForCreatingDnsHost
+type SaveSingleTaskForCreatingDnsHostResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	TaskNo    string `json:"TaskNo" xml:"TaskNo"`
+}
+
+// CreateSaveSingleTaskForCreatingDnsHostRequest creates a request to invoke SaveSingleTaskForCreatingDnsHost API
+func CreateSaveSingleTaskForCreatingDnsHostRequest() (request *SaveSingleTaskForCreatingDnsHostRequest) {
+	request = &SaveSingleTaskForCreatingDnsHostRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain", "2018-01-29", "SaveSingleTaskForCreatingDnsHost", "", "")
+	return
+}
+
+// CreateSaveSingleTaskForCreatingDnsHostResponse creates a response to parse from SaveSingleTaskForCreatingDnsHost response
+func CreateSaveSingleTaskForCreatingDnsHostResponse() (response *SaveSingleTaskForCreatingDnsHostResponse) {
+	response = &SaveSingleTaskForCreatingDnsHostResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 130 - 0
services/domain/save_single_task_for_creating_order_activate.go

@@ -0,0 +1,130 @@
+package domain
+
+//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"
+)
+
+// SaveSingleTaskForCreatingOrderActivate invokes the domain.SaveSingleTaskForCreatingOrderActivate API synchronously
+// api document: https://help.aliyun.com/api/domain/savesingletaskforcreatingorderactivate.html
+func (client *Client) SaveSingleTaskForCreatingOrderActivate(request *SaveSingleTaskForCreatingOrderActivateRequest) (response *SaveSingleTaskForCreatingOrderActivateResponse, err error) {
+	response = CreateSaveSingleTaskForCreatingOrderActivateResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// SaveSingleTaskForCreatingOrderActivateWithChan invokes the domain.SaveSingleTaskForCreatingOrderActivate API asynchronously
+// api document: https://help.aliyun.com/api/domain/savesingletaskforcreatingorderactivate.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SaveSingleTaskForCreatingOrderActivateWithChan(request *SaveSingleTaskForCreatingOrderActivateRequest) (<-chan *SaveSingleTaskForCreatingOrderActivateResponse, <-chan error) {
+	responseChan := make(chan *SaveSingleTaskForCreatingOrderActivateResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.SaveSingleTaskForCreatingOrderActivate(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// SaveSingleTaskForCreatingOrderActivateWithCallback invokes the domain.SaveSingleTaskForCreatingOrderActivate API asynchronously
+// api document: https://help.aliyun.com/api/domain/savesingletaskforcreatingorderactivate.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SaveSingleTaskForCreatingOrderActivateWithCallback(request *SaveSingleTaskForCreatingOrderActivateRequest, callback func(response *SaveSingleTaskForCreatingOrderActivateResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *SaveSingleTaskForCreatingOrderActivateResponse
+		var err error
+		defer close(result)
+		response, err = client.SaveSingleTaskForCreatingOrderActivate(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// SaveSingleTaskForCreatingOrderActivateRequest is the request struct for api SaveSingleTaskForCreatingOrderActivate
+type SaveSingleTaskForCreatingOrderActivateRequest struct {
+	*requests.RpcRequest
+	Dns2                     string           `position:"Query" name:"Dns2"`
+	Lang                     string           `position:"Query" name:"Lang"`
+	DomainName               string           `position:"Query" name:"DomainName"`
+	SubscriptionDuration     requests.Integer `position:"Query" name:"SubscriptionDuration"`
+	RegistrantProfileId      requests.Integer `position:"Query" name:"RegistrantProfileId"`
+	EnableDomainProxy        requests.Boolean `position:"Query" name:"EnableDomainProxy"`
+	PermitPremiumActivation  requests.Boolean `position:"Query" name:"PermitPremiumActivation"`
+	AliyunDns                requests.Boolean `position:"Query" name:"AliyunDns"`
+	Dns1                     string           `position:"Query" name:"Dns1"`
+	UserClientIp             string           `position:"Query" name:"UserClientIp"`
+	ZhCity                   string           `position:"Query" name:"ZhCity"`
+	ZhRegistrantOrganization string           `position:"Query" name:"ZhRegistrantOrganization"`
+	Country                  string           `position:"Query" name:"Country"`
+	ZhRegistrantName         string           `position:"Query" name:"ZhRegistrantName"`
+	ZhProvince               string           `position:"Query" name:"ZhProvince"`
+	ZhAddress                string           `position:"Query" name:"ZhAddress"`
+	City                     string           `position:"Query" name:"City"`
+	RegistrantOrganization   string           `position:"Query" name:"RegistrantOrganization"`
+	RegistrantName           string           `position:"Query" name:"RegistrantName"`
+	Province                 string           `position:"Query" name:"Province"`
+	Address                  string           `position:"Query" name:"Address"`
+	Email                    string           `position:"Query" name:"Email"`
+	PostalCode               string           `position:"Query" name:"PostalCode"`
+	TelArea                  string           `position:"Query" name:"TelArea"`
+	Telephone                string           `position:"Query" name:"Telephone"`
+	TelExt                   string           `position:"Query" name:"TelExt"`
+	RegistrantType           string           `position:"Query" name:"RegistrantType"`
+}
+
+// SaveSingleTaskForCreatingOrderActivateResponse is the response struct for api SaveSingleTaskForCreatingOrderActivate
+type SaveSingleTaskForCreatingOrderActivateResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	TaskNo    string `json:"TaskNo" xml:"TaskNo"`
+}
+
+// CreateSaveSingleTaskForCreatingOrderActivateRequest creates a request to invoke SaveSingleTaskForCreatingOrderActivate API
+func CreateSaveSingleTaskForCreatingOrderActivateRequest() (request *SaveSingleTaskForCreatingOrderActivateRequest) {
+	request = &SaveSingleTaskForCreatingOrderActivateRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain", "2018-01-29", "SaveSingleTaskForCreatingOrderActivate", "", "")
+	return
+}
+
+// CreateSaveSingleTaskForCreatingOrderActivateResponse creates a response to parse from SaveSingleTaskForCreatingOrderActivate response
+func CreateSaveSingleTaskForCreatingOrderActivateResponse() (response *SaveSingleTaskForCreatingOrderActivateResponse) {
+	response = &SaveSingleTaskForCreatingOrderActivateResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/domain/save_single_task_for_creating_order_redeem.go

@@ -0,0 +1,107 @@
+package domain
+
+//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"
+)
+
+// SaveSingleTaskForCreatingOrderRedeem invokes the domain.SaveSingleTaskForCreatingOrderRedeem API synchronously
+// api document: https://help.aliyun.com/api/domain/savesingletaskforcreatingorderredeem.html
+func (client *Client) SaveSingleTaskForCreatingOrderRedeem(request *SaveSingleTaskForCreatingOrderRedeemRequest) (response *SaveSingleTaskForCreatingOrderRedeemResponse, err error) {
+	response = CreateSaveSingleTaskForCreatingOrderRedeemResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// SaveSingleTaskForCreatingOrderRedeemWithChan invokes the domain.SaveSingleTaskForCreatingOrderRedeem API asynchronously
+// api document: https://help.aliyun.com/api/domain/savesingletaskforcreatingorderredeem.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SaveSingleTaskForCreatingOrderRedeemWithChan(request *SaveSingleTaskForCreatingOrderRedeemRequest) (<-chan *SaveSingleTaskForCreatingOrderRedeemResponse, <-chan error) {
+	responseChan := make(chan *SaveSingleTaskForCreatingOrderRedeemResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.SaveSingleTaskForCreatingOrderRedeem(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// SaveSingleTaskForCreatingOrderRedeemWithCallback invokes the domain.SaveSingleTaskForCreatingOrderRedeem API asynchronously
+// api document: https://help.aliyun.com/api/domain/savesingletaskforcreatingorderredeem.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SaveSingleTaskForCreatingOrderRedeemWithCallback(request *SaveSingleTaskForCreatingOrderRedeemRequest, callback func(response *SaveSingleTaskForCreatingOrderRedeemResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *SaveSingleTaskForCreatingOrderRedeemResponse
+		var err error
+		defer close(result)
+		response, err = client.SaveSingleTaskForCreatingOrderRedeem(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// SaveSingleTaskForCreatingOrderRedeemRequest is the request struct for api SaveSingleTaskForCreatingOrderRedeem
+type SaveSingleTaskForCreatingOrderRedeemRequest struct {
+	*requests.RpcRequest
+	UserClientIp          string           `position:"Query" name:"UserClientIp"`
+	Lang                  string           `position:"Query" name:"Lang"`
+	DomainName            string           `position:"Query" name:"DomainName"`
+	CurrentExpirationDate requests.Integer `position:"Query" name:"CurrentExpirationDate"`
+}
+
+// SaveSingleTaskForCreatingOrderRedeemResponse is the response struct for api SaveSingleTaskForCreatingOrderRedeem
+type SaveSingleTaskForCreatingOrderRedeemResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	TaskNo    string `json:"TaskNo" xml:"TaskNo"`
+}
+
+// CreateSaveSingleTaskForCreatingOrderRedeemRequest creates a request to invoke SaveSingleTaskForCreatingOrderRedeem API
+func CreateSaveSingleTaskForCreatingOrderRedeemRequest() (request *SaveSingleTaskForCreatingOrderRedeemRequest) {
+	request = &SaveSingleTaskForCreatingOrderRedeemRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain", "2018-01-29", "SaveSingleTaskForCreatingOrderRedeem", "", "")
+	return
+}
+
+// CreateSaveSingleTaskForCreatingOrderRedeemResponse creates a response to parse from SaveSingleTaskForCreatingOrderRedeem response
+func CreateSaveSingleTaskForCreatingOrderRedeemResponse() (response *SaveSingleTaskForCreatingOrderRedeemResponse) {
+	response = &SaveSingleTaskForCreatingOrderRedeemResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/domain/save_single_task_for_creating_order_renew.go

@@ -0,0 +1,108 @@
+package domain
+
+//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"
+)
+
+// SaveSingleTaskForCreatingOrderRenew invokes the domain.SaveSingleTaskForCreatingOrderRenew API synchronously
+// api document: https://help.aliyun.com/api/domain/savesingletaskforcreatingorderrenew.html
+func (client *Client) SaveSingleTaskForCreatingOrderRenew(request *SaveSingleTaskForCreatingOrderRenewRequest) (response *SaveSingleTaskForCreatingOrderRenewResponse, err error) {
+	response = CreateSaveSingleTaskForCreatingOrderRenewResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// SaveSingleTaskForCreatingOrderRenewWithChan invokes the domain.SaveSingleTaskForCreatingOrderRenew API asynchronously
+// api document: https://help.aliyun.com/api/domain/savesingletaskforcreatingorderrenew.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SaveSingleTaskForCreatingOrderRenewWithChan(request *SaveSingleTaskForCreatingOrderRenewRequest) (<-chan *SaveSingleTaskForCreatingOrderRenewResponse, <-chan error) {
+	responseChan := make(chan *SaveSingleTaskForCreatingOrderRenewResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.SaveSingleTaskForCreatingOrderRenew(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// SaveSingleTaskForCreatingOrderRenewWithCallback invokes the domain.SaveSingleTaskForCreatingOrderRenew API asynchronously
+// api document: https://help.aliyun.com/api/domain/savesingletaskforcreatingorderrenew.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SaveSingleTaskForCreatingOrderRenewWithCallback(request *SaveSingleTaskForCreatingOrderRenewRequest, callback func(response *SaveSingleTaskForCreatingOrderRenewResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *SaveSingleTaskForCreatingOrderRenewResponse
+		var err error
+		defer close(result)
+		response, err = client.SaveSingleTaskForCreatingOrderRenew(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// SaveSingleTaskForCreatingOrderRenewRequest is the request struct for api SaveSingleTaskForCreatingOrderRenew
+type SaveSingleTaskForCreatingOrderRenewRequest struct {
+	*requests.RpcRequest
+	UserClientIp          string           `position:"Query" name:"UserClientIp"`
+	Lang                  string           `position:"Query" name:"Lang"`
+	DomainName            string           `position:"Query" name:"DomainName"`
+	SubscriptionDuration  requests.Integer `position:"Query" name:"SubscriptionDuration"`
+	CurrentExpirationDate requests.Integer `position:"Query" name:"CurrentExpirationDate"`
+}
+
+// SaveSingleTaskForCreatingOrderRenewResponse is the response struct for api SaveSingleTaskForCreatingOrderRenew
+type SaveSingleTaskForCreatingOrderRenewResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	TaskNo    string `json:"TaskNo" xml:"TaskNo"`
+}
+
+// CreateSaveSingleTaskForCreatingOrderRenewRequest creates a request to invoke SaveSingleTaskForCreatingOrderRenew API
+func CreateSaveSingleTaskForCreatingOrderRenewRequest() (request *SaveSingleTaskForCreatingOrderRenewRequest) {
+	request = &SaveSingleTaskForCreatingOrderRenewRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain", "2018-01-29", "SaveSingleTaskForCreatingOrderRenew", "", "")
+	return
+}
+
+// CreateSaveSingleTaskForCreatingOrderRenewResponse creates a response to parse from SaveSingleTaskForCreatingOrderRenew response
+func CreateSaveSingleTaskForCreatingOrderRenewResponse() (response *SaveSingleTaskForCreatingOrderRenewResponse) {
+	response = &SaveSingleTaskForCreatingOrderRenewResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/domain/save_single_task_for_creating_order_transfer.go

@@ -0,0 +1,109 @@
+package domain
+
+//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"
+)
+
+// SaveSingleTaskForCreatingOrderTransfer invokes the domain.SaveSingleTaskForCreatingOrderTransfer API synchronously
+// api document: https://help.aliyun.com/api/domain/savesingletaskforcreatingordertransfer.html
+func (client *Client) SaveSingleTaskForCreatingOrderTransfer(request *SaveSingleTaskForCreatingOrderTransferRequest) (response *SaveSingleTaskForCreatingOrderTransferResponse, err error) {
+	response = CreateSaveSingleTaskForCreatingOrderTransferResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// SaveSingleTaskForCreatingOrderTransferWithChan invokes the domain.SaveSingleTaskForCreatingOrderTransfer API asynchronously
+// api document: https://help.aliyun.com/api/domain/savesingletaskforcreatingordertransfer.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SaveSingleTaskForCreatingOrderTransferWithChan(request *SaveSingleTaskForCreatingOrderTransferRequest) (<-chan *SaveSingleTaskForCreatingOrderTransferResponse, <-chan error) {
+	responseChan := make(chan *SaveSingleTaskForCreatingOrderTransferResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.SaveSingleTaskForCreatingOrderTransfer(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// SaveSingleTaskForCreatingOrderTransferWithCallback invokes the domain.SaveSingleTaskForCreatingOrderTransfer API asynchronously
+// api document: https://help.aliyun.com/api/domain/savesingletaskforcreatingordertransfer.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SaveSingleTaskForCreatingOrderTransferWithCallback(request *SaveSingleTaskForCreatingOrderTransferRequest, callback func(response *SaveSingleTaskForCreatingOrderTransferResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *SaveSingleTaskForCreatingOrderTransferResponse
+		var err error
+		defer close(result)
+		response, err = client.SaveSingleTaskForCreatingOrderTransfer(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// SaveSingleTaskForCreatingOrderTransferRequest is the request struct for api SaveSingleTaskForCreatingOrderTransfer
+type SaveSingleTaskForCreatingOrderTransferRequest struct {
+	*requests.RpcRequest
+	UserClientIp          string           `position:"Query" name:"UserClientIp"`
+	Lang                  string           `position:"Query" name:"Lang"`
+	DomainName            string           `position:"Query" name:"DomainName"`
+	AuthorizationCode     string           `position:"Query" name:"AuthorizationCode"`
+	RegistrantProfileId   requests.Integer `position:"Query" name:"RegistrantProfileId"`
+	PermitPremiumTransfer requests.Boolean `position:"Query" name:"PermitPremiumTransfer"`
+}
+
+// SaveSingleTaskForCreatingOrderTransferResponse is the response struct for api SaveSingleTaskForCreatingOrderTransfer
+type SaveSingleTaskForCreatingOrderTransferResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	TaskNo    string `json:"TaskNo" xml:"TaskNo"`
+}
+
+// CreateSaveSingleTaskForCreatingOrderTransferRequest creates a request to invoke SaveSingleTaskForCreatingOrderTransfer API
+func CreateSaveSingleTaskForCreatingOrderTransferRequest() (request *SaveSingleTaskForCreatingOrderTransferRequest) {
+	request = &SaveSingleTaskForCreatingOrderTransferRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain", "2018-01-29", "SaveSingleTaskForCreatingOrderTransfer", "", "")
+	return
+}
+
+// CreateSaveSingleTaskForCreatingOrderTransferResponse creates a response to parse from SaveSingleTaskForCreatingOrderTransfer response
+func CreateSaveSingleTaskForCreatingOrderTransferResponse() (response *SaveSingleTaskForCreatingOrderTransferResponse) {
+	response = &SaveSingleTaskForCreatingOrderTransferResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/domain/save_single_task_for_domain_name_proxy_service.go

@@ -0,0 +1,107 @@
+package domain
+
+//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"
+)
+
+// SaveSingleTaskForDomainNameProxyService invokes the domain.SaveSingleTaskForDomainNameProxyService API synchronously
+// api document: https://help.aliyun.com/api/domain/savesingletaskfordomainnameproxyservice.html
+func (client *Client) SaveSingleTaskForDomainNameProxyService(request *SaveSingleTaskForDomainNameProxyServiceRequest) (response *SaveSingleTaskForDomainNameProxyServiceResponse, err error) {
+	response = CreateSaveSingleTaskForDomainNameProxyServiceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// SaveSingleTaskForDomainNameProxyServiceWithChan invokes the domain.SaveSingleTaskForDomainNameProxyService API asynchronously
+// api document: https://help.aliyun.com/api/domain/savesingletaskfordomainnameproxyservice.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SaveSingleTaskForDomainNameProxyServiceWithChan(request *SaveSingleTaskForDomainNameProxyServiceRequest) (<-chan *SaveSingleTaskForDomainNameProxyServiceResponse, <-chan error) {
+	responseChan := make(chan *SaveSingleTaskForDomainNameProxyServiceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.SaveSingleTaskForDomainNameProxyService(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// SaveSingleTaskForDomainNameProxyServiceWithCallback invokes the domain.SaveSingleTaskForDomainNameProxyService API asynchronously
+// api document: https://help.aliyun.com/api/domain/savesingletaskfordomainnameproxyservice.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SaveSingleTaskForDomainNameProxyServiceWithCallback(request *SaveSingleTaskForDomainNameProxyServiceRequest, callback func(response *SaveSingleTaskForDomainNameProxyServiceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *SaveSingleTaskForDomainNameProxyServiceResponse
+		var err error
+		defer close(result)
+		response, err = client.SaveSingleTaskForDomainNameProxyService(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// SaveSingleTaskForDomainNameProxyServiceRequest is the request struct for api SaveSingleTaskForDomainNameProxyService
+type SaveSingleTaskForDomainNameProxyServiceRequest struct {
+	*requests.RpcRequest
+	UserClientIp string           `position:"Query" name:"UserClientIp"`
+	Lang         string           `position:"Query" name:"Lang"`
+	DomainName   string           `position:"Query" name:"DomainName"`
+	Status       requests.Boolean `position:"Query" name:"Status"`
+}
+
+// SaveSingleTaskForDomainNameProxyServiceResponse is the response struct for api SaveSingleTaskForDomainNameProxyService
+type SaveSingleTaskForDomainNameProxyServiceResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	TaskNo    string `json:"TaskNo" xml:"TaskNo"`
+}
+
+// CreateSaveSingleTaskForDomainNameProxyServiceRequest creates a request to invoke SaveSingleTaskForDomainNameProxyService API
+func CreateSaveSingleTaskForDomainNameProxyServiceRequest() (request *SaveSingleTaskForDomainNameProxyServiceRequest) {
+	request = &SaveSingleTaskForDomainNameProxyServiceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain", "2018-01-29", "SaveSingleTaskForDomainNameProxyService", "", "")
+	return
+}
+
+// CreateSaveSingleTaskForDomainNameProxyServiceResponse creates a response to parse from SaveSingleTaskForDomainNameProxyService response
+func CreateSaveSingleTaskForDomainNameProxyServiceResponse() (response *SaveSingleTaskForDomainNameProxyServiceResponse) {
+	response = &SaveSingleTaskForDomainNameProxyServiceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/domain/save_single_task_for_modifying_dns_host.go

@@ -0,0 +1,107 @@
+package domain
+
+//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"
+)
+
+// SaveSingleTaskForModifyingDnsHost invokes the domain.SaveSingleTaskForModifyingDnsHost API synchronously
+// api document: https://help.aliyun.com/api/domain/savesingletaskformodifyingdnshost.html
+func (client *Client) SaveSingleTaskForModifyingDnsHost(request *SaveSingleTaskForModifyingDnsHostRequest) (response *SaveSingleTaskForModifyingDnsHostResponse, err error) {
+	response = CreateSaveSingleTaskForModifyingDnsHostResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// SaveSingleTaskForModifyingDnsHostWithChan invokes the domain.SaveSingleTaskForModifyingDnsHost API asynchronously
+// api document: https://help.aliyun.com/api/domain/savesingletaskformodifyingdnshost.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SaveSingleTaskForModifyingDnsHostWithChan(request *SaveSingleTaskForModifyingDnsHostRequest) (<-chan *SaveSingleTaskForModifyingDnsHostResponse, <-chan error) {
+	responseChan := make(chan *SaveSingleTaskForModifyingDnsHostResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.SaveSingleTaskForModifyingDnsHost(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// SaveSingleTaskForModifyingDnsHostWithCallback invokes the domain.SaveSingleTaskForModifyingDnsHost API asynchronously
+// api document: https://help.aliyun.com/api/domain/savesingletaskformodifyingdnshost.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SaveSingleTaskForModifyingDnsHostWithCallback(request *SaveSingleTaskForModifyingDnsHostRequest, callback func(response *SaveSingleTaskForModifyingDnsHostResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *SaveSingleTaskForModifyingDnsHostResponse
+		var err error
+		defer close(result)
+		response, err = client.SaveSingleTaskForModifyingDnsHost(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// SaveSingleTaskForModifyingDnsHostRequest is the request struct for api SaveSingleTaskForModifyingDnsHost
+type SaveSingleTaskForModifyingDnsHostRequest struct {
+	*requests.RpcRequest
+	InstanceId string    `position:"Query" name:"InstanceId"`
+	Lang       string    `position:"Query" name:"Lang"`
+	DnsName    string    `position:"Query" name:"DnsName"`
+	Ip         *[]string `position:"Query" name:"Ip"  type:"Repeated"`
+}
+
+// SaveSingleTaskForModifyingDnsHostResponse is the response struct for api SaveSingleTaskForModifyingDnsHost
+type SaveSingleTaskForModifyingDnsHostResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	TaskNo    string `json:"TaskNo" xml:"TaskNo"`
+}
+
+// CreateSaveSingleTaskForModifyingDnsHostRequest creates a request to invoke SaveSingleTaskForModifyingDnsHost API
+func CreateSaveSingleTaskForModifyingDnsHostRequest() (request *SaveSingleTaskForModifyingDnsHostRequest) {
+	request = &SaveSingleTaskForModifyingDnsHostRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain", "2018-01-29", "SaveSingleTaskForModifyingDnsHost", "", "")
+	return
+}
+
+// CreateSaveSingleTaskForModifyingDnsHostResponse creates a response to parse from SaveSingleTaskForModifyingDnsHost response
+func CreateSaveSingleTaskForModifyingDnsHostResponse() (response *SaveSingleTaskForModifyingDnsHostResponse) {
+	response = &SaveSingleTaskForModifyingDnsHostResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/domain/save_single_task_for_querying_transfer_authorization_code.go

@@ -0,0 +1,106 @@
+package domain
+
+//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"
+)
+
+// SaveSingleTaskForQueryingTransferAuthorizationCode invokes the domain.SaveSingleTaskForQueryingTransferAuthorizationCode API synchronously
+// api document: https://help.aliyun.com/api/domain/savesingletaskforqueryingtransferauthorizationcode.html
+func (client *Client) SaveSingleTaskForQueryingTransferAuthorizationCode(request *SaveSingleTaskForQueryingTransferAuthorizationCodeRequest) (response *SaveSingleTaskForQueryingTransferAuthorizationCodeResponse, err error) {
+	response = CreateSaveSingleTaskForQueryingTransferAuthorizationCodeResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// SaveSingleTaskForQueryingTransferAuthorizationCodeWithChan invokes the domain.SaveSingleTaskForQueryingTransferAuthorizationCode API asynchronously
+// api document: https://help.aliyun.com/api/domain/savesingletaskforqueryingtransferauthorizationcode.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SaveSingleTaskForQueryingTransferAuthorizationCodeWithChan(request *SaveSingleTaskForQueryingTransferAuthorizationCodeRequest) (<-chan *SaveSingleTaskForQueryingTransferAuthorizationCodeResponse, <-chan error) {
+	responseChan := make(chan *SaveSingleTaskForQueryingTransferAuthorizationCodeResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.SaveSingleTaskForQueryingTransferAuthorizationCode(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// SaveSingleTaskForQueryingTransferAuthorizationCodeWithCallback invokes the domain.SaveSingleTaskForQueryingTransferAuthorizationCode API asynchronously
+// api document: https://help.aliyun.com/api/domain/savesingletaskforqueryingtransferauthorizationcode.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SaveSingleTaskForQueryingTransferAuthorizationCodeWithCallback(request *SaveSingleTaskForQueryingTransferAuthorizationCodeRequest, callback func(response *SaveSingleTaskForQueryingTransferAuthorizationCodeResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *SaveSingleTaskForQueryingTransferAuthorizationCodeResponse
+		var err error
+		defer close(result)
+		response, err = client.SaveSingleTaskForQueryingTransferAuthorizationCode(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// SaveSingleTaskForQueryingTransferAuthorizationCodeRequest is the request struct for api SaveSingleTaskForQueryingTransferAuthorizationCode
+type SaveSingleTaskForQueryingTransferAuthorizationCodeRequest struct {
+	*requests.RpcRequest
+	DomainName   string `position:"Query" name:"DomainName"`
+	Lang         string `position:"Query" name:"Lang"`
+	UserClientIp string `position:"Query" name:"UserClientIp"`
+}
+
+// SaveSingleTaskForQueryingTransferAuthorizationCodeResponse is the response struct for api SaveSingleTaskForQueryingTransferAuthorizationCode
+type SaveSingleTaskForQueryingTransferAuthorizationCodeResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	TaskNo    string `json:"TaskNo" xml:"TaskNo"`
+}
+
+// CreateSaveSingleTaskForQueryingTransferAuthorizationCodeRequest creates a request to invoke SaveSingleTaskForQueryingTransferAuthorizationCode API
+func CreateSaveSingleTaskForQueryingTransferAuthorizationCodeRequest() (request *SaveSingleTaskForQueryingTransferAuthorizationCodeRequest) {
+	request = &SaveSingleTaskForQueryingTransferAuthorizationCodeRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain", "2018-01-29", "SaveSingleTaskForQueryingTransferAuthorizationCode", "", "")
+	return
+}
+
+// CreateSaveSingleTaskForQueryingTransferAuthorizationCodeResponse creates a response to parse from SaveSingleTaskForQueryingTransferAuthorizationCode response
+func CreateSaveSingleTaskForQueryingTransferAuthorizationCodeResponse() (response *SaveSingleTaskForQueryingTransferAuthorizationCodeResponse) {
+	response = &SaveSingleTaskForQueryingTransferAuthorizationCodeResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 105 - 0
services/domain/save_single_task_for_synchronizing_dns_host.go

@@ -0,0 +1,105 @@
+package domain
+
+//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"
+)
+
+// SaveSingleTaskForSynchronizingDnsHost invokes the domain.SaveSingleTaskForSynchronizingDnsHost API synchronously
+// api document: https://help.aliyun.com/api/domain/savesingletaskforsynchronizingdnshost.html
+func (client *Client) SaveSingleTaskForSynchronizingDnsHost(request *SaveSingleTaskForSynchronizingDnsHostRequest) (response *SaveSingleTaskForSynchronizingDnsHostResponse, err error) {
+	response = CreateSaveSingleTaskForSynchronizingDnsHostResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// SaveSingleTaskForSynchronizingDnsHostWithChan invokes the domain.SaveSingleTaskForSynchronizingDnsHost API asynchronously
+// api document: https://help.aliyun.com/api/domain/savesingletaskforsynchronizingdnshost.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SaveSingleTaskForSynchronizingDnsHostWithChan(request *SaveSingleTaskForSynchronizingDnsHostRequest) (<-chan *SaveSingleTaskForSynchronizingDnsHostResponse, <-chan error) {
+	responseChan := make(chan *SaveSingleTaskForSynchronizingDnsHostResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.SaveSingleTaskForSynchronizingDnsHost(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// SaveSingleTaskForSynchronizingDnsHostWithCallback invokes the domain.SaveSingleTaskForSynchronizingDnsHost API asynchronously
+// api document: https://help.aliyun.com/api/domain/savesingletaskforsynchronizingdnshost.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SaveSingleTaskForSynchronizingDnsHostWithCallback(request *SaveSingleTaskForSynchronizingDnsHostRequest, callback func(response *SaveSingleTaskForSynchronizingDnsHostResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *SaveSingleTaskForSynchronizingDnsHostResponse
+		var err error
+		defer close(result)
+		response, err = client.SaveSingleTaskForSynchronizingDnsHost(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// SaveSingleTaskForSynchronizingDnsHostRequest is the request struct for api SaveSingleTaskForSynchronizingDnsHost
+type SaveSingleTaskForSynchronizingDnsHostRequest struct {
+	*requests.RpcRequest
+	InstanceId string `position:"Query" name:"InstanceId"`
+	Lang       string `position:"Query" name:"Lang"`
+}
+
+// SaveSingleTaskForSynchronizingDnsHostResponse is the response struct for api SaveSingleTaskForSynchronizingDnsHost
+type SaveSingleTaskForSynchronizingDnsHostResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	TaskNo    string `json:"TaskNo" xml:"TaskNo"`
+}
+
+// CreateSaveSingleTaskForSynchronizingDnsHostRequest creates a request to invoke SaveSingleTaskForSynchronizingDnsHost API
+func CreateSaveSingleTaskForSynchronizingDnsHostRequest() (request *SaveSingleTaskForSynchronizingDnsHostRequest) {
+	request = &SaveSingleTaskForSynchronizingDnsHostRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain", "2018-01-29", "SaveSingleTaskForSynchronizingDnsHost", "", "")
+	return
+}
+
+// CreateSaveSingleTaskForSynchronizingDnsHostResponse creates a response to parse from SaveSingleTaskForSynchronizingDnsHost response
+func CreateSaveSingleTaskForSynchronizingDnsHostResponse() (response *SaveSingleTaskForSynchronizingDnsHostResponse) {
+	response = &SaveSingleTaskForSynchronizingDnsHostResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/domain/save_single_task_for_transfer_prohibition_lock.go

@@ -0,0 +1,107 @@
+package domain
+
+//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"
+)
+
+// SaveSingleTaskForTransferProhibitionLock invokes the domain.SaveSingleTaskForTransferProhibitionLock API synchronously
+// api document: https://help.aliyun.com/api/domain/savesingletaskfortransferprohibitionlock.html
+func (client *Client) SaveSingleTaskForTransferProhibitionLock(request *SaveSingleTaskForTransferProhibitionLockRequest) (response *SaveSingleTaskForTransferProhibitionLockResponse, err error) {
+	response = CreateSaveSingleTaskForTransferProhibitionLockResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// SaveSingleTaskForTransferProhibitionLockWithChan invokes the domain.SaveSingleTaskForTransferProhibitionLock API asynchronously
+// api document: https://help.aliyun.com/api/domain/savesingletaskfortransferprohibitionlock.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SaveSingleTaskForTransferProhibitionLockWithChan(request *SaveSingleTaskForTransferProhibitionLockRequest) (<-chan *SaveSingleTaskForTransferProhibitionLockResponse, <-chan error) {
+	responseChan := make(chan *SaveSingleTaskForTransferProhibitionLockResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.SaveSingleTaskForTransferProhibitionLock(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// SaveSingleTaskForTransferProhibitionLockWithCallback invokes the domain.SaveSingleTaskForTransferProhibitionLock API asynchronously
+// api document: https://help.aliyun.com/api/domain/savesingletaskfortransferprohibitionlock.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SaveSingleTaskForTransferProhibitionLockWithCallback(request *SaveSingleTaskForTransferProhibitionLockRequest, callback func(response *SaveSingleTaskForTransferProhibitionLockResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *SaveSingleTaskForTransferProhibitionLockResponse
+		var err error
+		defer close(result)
+		response, err = client.SaveSingleTaskForTransferProhibitionLock(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// SaveSingleTaskForTransferProhibitionLockRequest is the request struct for api SaveSingleTaskForTransferProhibitionLock
+type SaveSingleTaskForTransferProhibitionLockRequest struct {
+	*requests.RpcRequest
+	UserClientIp string           `position:"Query" name:"UserClientIp"`
+	Lang         string           `position:"Query" name:"Lang"`
+	DomainName   string           `position:"Query" name:"DomainName"`
+	Status       requests.Boolean `position:"Query" name:"Status"`
+}
+
+// SaveSingleTaskForTransferProhibitionLockResponse is the response struct for api SaveSingleTaskForTransferProhibitionLock
+type SaveSingleTaskForTransferProhibitionLockResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	TaskNo    string `json:"TaskNo" xml:"TaskNo"`
+}
+
+// CreateSaveSingleTaskForTransferProhibitionLockRequest creates a request to invoke SaveSingleTaskForTransferProhibitionLock API
+func CreateSaveSingleTaskForTransferProhibitionLockRequest() (request *SaveSingleTaskForTransferProhibitionLockRequest) {
+	request = &SaveSingleTaskForTransferProhibitionLockRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain", "2018-01-29", "SaveSingleTaskForTransferProhibitionLock", "", "")
+	return
+}
+
+// CreateSaveSingleTaskForTransferProhibitionLockResponse creates a response to parse from SaveSingleTaskForTransferProhibitionLock response
+func CreateSaveSingleTaskForTransferProhibitionLockResponse() (response *SaveSingleTaskForTransferProhibitionLockResponse) {
+	response = &SaveSingleTaskForTransferProhibitionLockResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/domain/save_single_task_for_update_prohibition_lock.go

@@ -0,0 +1,107 @@
+package domain
+
+//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"
+)
+
+// SaveSingleTaskForUpdateProhibitionLock invokes the domain.SaveSingleTaskForUpdateProhibitionLock API synchronously
+// api document: https://help.aliyun.com/api/domain/savesingletaskforupdateprohibitionlock.html
+func (client *Client) SaveSingleTaskForUpdateProhibitionLock(request *SaveSingleTaskForUpdateProhibitionLockRequest) (response *SaveSingleTaskForUpdateProhibitionLockResponse, err error) {
+	response = CreateSaveSingleTaskForUpdateProhibitionLockResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// SaveSingleTaskForUpdateProhibitionLockWithChan invokes the domain.SaveSingleTaskForUpdateProhibitionLock API asynchronously
+// api document: https://help.aliyun.com/api/domain/savesingletaskforupdateprohibitionlock.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SaveSingleTaskForUpdateProhibitionLockWithChan(request *SaveSingleTaskForUpdateProhibitionLockRequest) (<-chan *SaveSingleTaskForUpdateProhibitionLockResponse, <-chan error) {
+	responseChan := make(chan *SaveSingleTaskForUpdateProhibitionLockResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.SaveSingleTaskForUpdateProhibitionLock(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// SaveSingleTaskForUpdateProhibitionLockWithCallback invokes the domain.SaveSingleTaskForUpdateProhibitionLock API asynchronously
+// api document: https://help.aliyun.com/api/domain/savesingletaskforupdateprohibitionlock.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SaveSingleTaskForUpdateProhibitionLockWithCallback(request *SaveSingleTaskForUpdateProhibitionLockRequest, callback func(response *SaveSingleTaskForUpdateProhibitionLockResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *SaveSingleTaskForUpdateProhibitionLockResponse
+		var err error
+		defer close(result)
+		response, err = client.SaveSingleTaskForUpdateProhibitionLock(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// SaveSingleTaskForUpdateProhibitionLockRequest is the request struct for api SaveSingleTaskForUpdateProhibitionLock
+type SaveSingleTaskForUpdateProhibitionLockRequest struct {
+	*requests.RpcRequest
+	UserClientIp string           `position:"Query" name:"UserClientIp"`
+	Lang         string           `position:"Query" name:"Lang"`
+	DomainName   string           `position:"Query" name:"DomainName"`
+	Status       requests.Boolean `position:"Query" name:"Status"`
+}
+
+// SaveSingleTaskForUpdateProhibitionLockResponse is the response struct for api SaveSingleTaskForUpdateProhibitionLock
+type SaveSingleTaskForUpdateProhibitionLockResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	TaskNo    string `json:"TaskNo" xml:"TaskNo"`
+}
+
+// CreateSaveSingleTaskForUpdateProhibitionLockRequest creates a request to invoke SaveSingleTaskForUpdateProhibitionLock API
+func CreateSaveSingleTaskForUpdateProhibitionLockRequest() (request *SaveSingleTaskForUpdateProhibitionLockRequest) {
+	request = &SaveSingleTaskForUpdateProhibitionLockRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain", "2018-01-29", "SaveSingleTaskForUpdateProhibitionLock", "", "")
+	return
+}
+
+// CreateSaveSingleTaskForUpdateProhibitionLockResponse creates a response to parse from SaveSingleTaskForUpdateProhibitionLock response
+func CreateSaveSingleTaskForUpdateProhibitionLockResponse() (response *SaveSingleTaskForUpdateProhibitionLockResponse) {
+	response = &SaveSingleTaskForUpdateProhibitionLockResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 110 - 0
services/domain/save_single_task_for_updating_contact_info.go

@@ -0,0 +1,110 @@
+package domain
+
+//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"
+)
+
+// SaveSingleTaskForUpdatingContactInfo invokes the domain.SaveSingleTaskForUpdatingContactInfo API synchronously
+// api document: https://help.aliyun.com/api/domain/savesingletaskforupdatingcontactinfo.html
+func (client *Client) SaveSingleTaskForUpdatingContactInfo(request *SaveSingleTaskForUpdatingContactInfoRequest) (response *SaveSingleTaskForUpdatingContactInfoResponse, err error) {
+	response = CreateSaveSingleTaskForUpdatingContactInfoResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// SaveSingleTaskForUpdatingContactInfoWithChan invokes the domain.SaveSingleTaskForUpdatingContactInfo API asynchronously
+// api document: https://help.aliyun.com/api/domain/savesingletaskforupdatingcontactinfo.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SaveSingleTaskForUpdatingContactInfoWithChan(request *SaveSingleTaskForUpdatingContactInfoRequest) (<-chan *SaveSingleTaskForUpdatingContactInfoResponse, <-chan error) {
+	responseChan := make(chan *SaveSingleTaskForUpdatingContactInfoResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.SaveSingleTaskForUpdatingContactInfo(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// SaveSingleTaskForUpdatingContactInfoWithCallback invokes the domain.SaveSingleTaskForUpdatingContactInfo API asynchronously
+// api document: https://help.aliyun.com/api/domain/savesingletaskforupdatingcontactinfo.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SaveSingleTaskForUpdatingContactInfoWithCallback(request *SaveSingleTaskForUpdatingContactInfoRequest, callback func(response *SaveSingleTaskForUpdatingContactInfoResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *SaveSingleTaskForUpdatingContactInfoResponse
+		var err error
+		defer close(result)
+		response, err = client.SaveSingleTaskForUpdatingContactInfo(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// SaveSingleTaskForUpdatingContactInfoRequest is the request struct for api SaveSingleTaskForUpdatingContactInfo
+type SaveSingleTaskForUpdatingContactInfoRequest struct {
+	*requests.RpcRequest
+	UserClientIp        string           `position:"Query" name:"UserClientIp"`
+	Lang                string           `position:"Query" name:"Lang"`
+	DomainName          string           `position:"Query" name:"DomainName"`
+	InstanceId          string           `position:"Query" name:"InstanceId"`
+	RegistrantProfileId requests.Integer `position:"Query" name:"RegistrantProfileId"`
+	ContactType         string           `position:"Query" name:"ContactType"`
+	AddTransferLock     requests.Boolean `position:"Query" name:"AddTransferLock"`
+}
+
+// SaveSingleTaskForUpdatingContactInfoResponse is the response struct for api SaveSingleTaskForUpdatingContactInfo
+type SaveSingleTaskForUpdatingContactInfoResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	TaskNo    string `json:"TaskNo" xml:"TaskNo"`
+}
+
+// CreateSaveSingleTaskForUpdatingContactInfoRequest creates a request to invoke SaveSingleTaskForUpdatingContactInfo API
+func CreateSaveSingleTaskForUpdatingContactInfoRequest() (request *SaveSingleTaskForUpdatingContactInfoRequest) {
+	request = &SaveSingleTaskForUpdatingContactInfoRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain", "2018-01-29", "SaveSingleTaskForUpdatingContactInfo", "", "")
+	return
+}
+
+// CreateSaveSingleTaskForUpdatingContactInfoResponse creates a response to parse from SaveSingleTaskForUpdatingContactInfo response
+func CreateSaveSingleTaskForUpdatingContactInfoResponse() (response *SaveSingleTaskForUpdatingContactInfoResponse) {
+	response = &SaveSingleTaskForUpdatingContactInfoResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/domain/save_task_for_submitting_domain_delete.go

@@ -0,0 +1,106 @@
+package domain
+
+//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"
+)
+
+// SaveTaskForSubmittingDomainDelete invokes the domain.SaveTaskForSubmittingDomainDelete API synchronously
+// api document: https://help.aliyun.com/api/domain/savetaskforsubmittingdomaindelete.html
+func (client *Client) SaveTaskForSubmittingDomainDelete(request *SaveTaskForSubmittingDomainDeleteRequest) (response *SaveTaskForSubmittingDomainDeleteResponse, err error) {
+	response = CreateSaveTaskForSubmittingDomainDeleteResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// SaveTaskForSubmittingDomainDeleteWithChan invokes the domain.SaveTaskForSubmittingDomainDelete API asynchronously
+// api document: https://help.aliyun.com/api/domain/savetaskforsubmittingdomaindelete.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SaveTaskForSubmittingDomainDeleteWithChan(request *SaveTaskForSubmittingDomainDeleteRequest) (<-chan *SaveTaskForSubmittingDomainDeleteResponse, <-chan error) {
+	responseChan := make(chan *SaveTaskForSubmittingDomainDeleteResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.SaveTaskForSubmittingDomainDelete(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// SaveTaskForSubmittingDomainDeleteWithCallback invokes the domain.SaveTaskForSubmittingDomainDelete API asynchronously
+// api document: https://help.aliyun.com/api/domain/savetaskforsubmittingdomaindelete.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SaveTaskForSubmittingDomainDeleteWithCallback(request *SaveTaskForSubmittingDomainDeleteRequest, callback func(response *SaveTaskForSubmittingDomainDeleteResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *SaveTaskForSubmittingDomainDeleteResponse
+		var err error
+		defer close(result)
+		response, err = client.SaveTaskForSubmittingDomainDelete(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// SaveTaskForSubmittingDomainDeleteRequest is the request struct for api SaveTaskForSubmittingDomainDelete
+type SaveTaskForSubmittingDomainDeleteRequest struct {
+	*requests.RpcRequest
+	Lang         string `position:"Query" name:"Lang"`
+	UserClientIp string `position:"Query" name:"UserClientIp"`
+	InstanceId   string `position:"Query" name:"InstanceId"`
+}
+
+// SaveTaskForSubmittingDomainDeleteResponse is the response struct for api SaveTaskForSubmittingDomainDelete
+type SaveTaskForSubmittingDomainDeleteResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	TaskNo    string `json:"TaskNo" xml:"TaskNo"`
+}
+
+// CreateSaveTaskForSubmittingDomainDeleteRequest creates a request to invoke SaveTaskForSubmittingDomainDelete API
+func CreateSaveTaskForSubmittingDomainDeleteRequest() (request *SaveTaskForSubmittingDomainDeleteRequest) {
+	request = &SaveTaskForSubmittingDomainDeleteRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain", "2018-01-29", "SaveTaskForSubmittingDomainDelete", "", "")
+	return
+}
+
+// CreateSaveTaskForSubmittingDomainDeleteResponse creates a response to parse from SaveTaskForSubmittingDomainDelete response
+func CreateSaveTaskForSubmittingDomainDeleteResponse() (response *SaveTaskForSubmittingDomainDeleteResponse) {
+	response = &SaveTaskForSubmittingDomainDeleteResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/domain/save_task_for_submitting_domain_real_name_verification_by_identity_credential.go

@@ -0,0 +1,109 @@
+package domain
+
+//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"
+)
+
+// SaveTaskForSubmittingDomainRealNameVerificationByIdentityCredential invokes the domain.SaveTaskForSubmittingDomainRealNameVerificationByIdentityCredential API synchronously
+// api document: https://help.aliyun.com/api/domain/savetaskforsubmittingdomainrealnameverificationbyidentitycredential.html
+func (client *Client) SaveTaskForSubmittingDomainRealNameVerificationByIdentityCredential(request *SaveTaskForSubmittingDomainRealNameVerificationByIdentityCredentialRequest) (response *SaveTaskForSubmittingDomainRealNameVerificationByIdentityCredentialResponse, err error) {
+	response = CreateSaveTaskForSubmittingDomainRealNameVerificationByIdentityCredentialResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// SaveTaskForSubmittingDomainRealNameVerificationByIdentityCredentialWithChan invokes the domain.SaveTaskForSubmittingDomainRealNameVerificationByIdentityCredential API asynchronously
+// api document: https://help.aliyun.com/api/domain/savetaskforsubmittingdomainrealnameverificationbyidentitycredential.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SaveTaskForSubmittingDomainRealNameVerificationByIdentityCredentialWithChan(request *SaveTaskForSubmittingDomainRealNameVerificationByIdentityCredentialRequest) (<-chan *SaveTaskForSubmittingDomainRealNameVerificationByIdentityCredentialResponse, <-chan error) {
+	responseChan := make(chan *SaveTaskForSubmittingDomainRealNameVerificationByIdentityCredentialResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.SaveTaskForSubmittingDomainRealNameVerificationByIdentityCredential(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// SaveTaskForSubmittingDomainRealNameVerificationByIdentityCredentialWithCallback invokes the domain.SaveTaskForSubmittingDomainRealNameVerificationByIdentityCredential API asynchronously
+// api document: https://help.aliyun.com/api/domain/savetaskforsubmittingdomainrealnameverificationbyidentitycredential.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SaveTaskForSubmittingDomainRealNameVerificationByIdentityCredentialWithCallback(request *SaveTaskForSubmittingDomainRealNameVerificationByIdentityCredentialRequest, callback func(response *SaveTaskForSubmittingDomainRealNameVerificationByIdentityCredentialResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *SaveTaskForSubmittingDomainRealNameVerificationByIdentityCredentialResponse
+		var err error
+		defer close(result)
+		response, err = client.SaveTaskForSubmittingDomainRealNameVerificationByIdentityCredential(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// SaveTaskForSubmittingDomainRealNameVerificationByIdentityCredentialRequest is the request struct for api SaveTaskForSubmittingDomainRealNameVerificationByIdentityCredential
+type SaveTaskForSubmittingDomainRealNameVerificationByIdentityCredentialRequest struct {
+	*requests.RpcRequest
+	UserClientIp           string    `position:"Query" name:"UserClientIp"`
+	Lang                   string    `position:"Query" name:"Lang"`
+	IdentityCredential     string    `position:"Body" name:"IdentityCredential"`
+	IdentityCredentialNo   string    `position:"Query" name:"IdentityCredentialNo"`
+	IdentityCredentialType string    `position:"Query" name:"IdentityCredentialType"`
+	DomainName             *[]string `position:"Query" name:"DomainName"  type:"Repeated"`
+}
+
+// SaveTaskForSubmittingDomainRealNameVerificationByIdentityCredentialResponse is the response struct for api SaveTaskForSubmittingDomainRealNameVerificationByIdentityCredential
+type SaveTaskForSubmittingDomainRealNameVerificationByIdentityCredentialResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	TaskNo    string `json:"TaskNo" xml:"TaskNo"`
+}
+
+// CreateSaveTaskForSubmittingDomainRealNameVerificationByIdentityCredentialRequest creates a request to invoke SaveTaskForSubmittingDomainRealNameVerificationByIdentityCredential API
+func CreateSaveTaskForSubmittingDomainRealNameVerificationByIdentityCredentialRequest() (request *SaveTaskForSubmittingDomainRealNameVerificationByIdentityCredentialRequest) {
+	request = &SaveTaskForSubmittingDomainRealNameVerificationByIdentityCredentialRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain", "2018-01-29", "SaveTaskForSubmittingDomainRealNameVerificationByIdentityCredential", "", "")
+	return
+}
+
+// CreateSaveTaskForSubmittingDomainRealNameVerificationByIdentityCredentialResponse creates a response to parse from SaveTaskForSubmittingDomainRealNameVerificationByIdentityCredential response
+func CreateSaveTaskForSubmittingDomainRealNameVerificationByIdentityCredentialResponse() (response *SaveTaskForSubmittingDomainRealNameVerificationByIdentityCredentialResponse) {
+	response = &SaveTaskForSubmittingDomainRealNameVerificationByIdentityCredentialResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/domain/save_task_for_submitting_domain_real_name_verification_by_registrant_profile_id.go

@@ -0,0 +1,108 @@
+package domain
+
+//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"
+)
+
+// SaveTaskForSubmittingDomainRealNameVerificationByRegistrantProfileID invokes the domain.SaveTaskForSubmittingDomainRealNameVerificationByRegistrantProfileID API synchronously
+// api document: https://help.aliyun.com/api/domain/savetaskforsubmittingdomainrealnameverificationbyregistrantprofileid.html
+func (client *Client) SaveTaskForSubmittingDomainRealNameVerificationByRegistrantProfileID(request *SaveTaskForSubmittingDomainRealNameVerificationByRegistrantProfileIDRequest) (response *SaveTaskForSubmittingDomainRealNameVerificationByRegistrantProfileIDResponse, err error) {
+	response = CreateSaveTaskForSubmittingDomainRealNameVerificationByRegistrantProfileIDResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// SaveTaskForSubmittingDomainRealNameVerificationByRegistrantProfileIDWithChan invokes the domain.SaveTaskForSubmittingDomainRealNameVerificationByRegistrantProfileID API asynchronously
+// api document: https://help.aliyun.com/api/domain/savetaskforsubmittingdomainrealnameverificationbyregistrantprofileid.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SaveTaskForSubmittingDomainRealNameVerificationByRegistrantProfileIDWithChan(request *SaveTaskForSubmittingDomainRealNameVerificationByRegistrantProfileIDRequest) (<-chan *SaveTaskForSubmittingDomainRealNameVerificationByRegistrantProfileIDResponse, <-chan error) {
+	responseChan := make(chan *SaveTaskForSubmittingDomainRealNameVerificationByRegistrantProfileIDResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.SaveTaskForSubmittingDomainRealNameVerificationByRegistrantProfileID(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// SaveTaskForSubmittingDomainRealNameVerificationByRegistrantProfileIDWithCallback invokes the domain.SaveTaskForSubmittingDomainRealNameVerificationByRegistrantProfileID API asynchronously
+// api document: https://help.aliyun.com/api/domain/savetaskforsubmittingdomainrealnameverificationbyregistrantprofileid.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SaveTaskForSubmittingDomainRealNameVerificationByRegistrantProfileIDWithCallback(request *SaveTaskForSubmittingDomainRealNameVerificationByRegistrantProfileIDRequest, callback func(response *SaveTaskForSubmittingDomainRealNameVerificationByRegistrantProfileIDResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *SaveTaskForSubmittingDomainRealNameVerificationByRegistrantProfileIDResponse
+		var err error
+		defer close(result)
+		response, err = client.SaveTaskForSubmittingDomainRealNameVerificationByRegistrantProfileID(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// SaveTaskForSubmittingDomainRealNameVerificationByRegistrantProfileIDRequest is the request struct for api SaveTaskForSubmittingDomainRealNameVerificationByRegistrantProfileID
+type SaveTaskForSubmittingDomainRealNameVerificationByRegistrantProfileIDRequest struct {
+	*requests.RpcRequest
+	UserClientIp        string           `position:"Query" name:"UserClientIp"`
+	Lang                string           `position:"Query" name:"Lang"`
+	DomainName          string           `position:"Query" name:"DomainName"`
+	InstanceId          string           `position:"Query" name:"InstanceId"`
+	RegistrantProfileId requests.Integer `position:"Query" name:"RegistrantProfileId"`
+}
+
+// SaveTaskForSubmittingDomainRealNameVerificationByRegistrantProfileIDResponse is the response struct for api SaveTaskForSubmittingDomainRealNameVerificationByRegistrantProfileID
+type SaveTaskForSubmittingDomainRealNameVerificationByRegistrantProfileIDResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	TaskNo    string `json:"TaskNo" xml:"TaskNo"`
+}
+
+// CreateSaveTaskForSubmittingDomainRealNameVerificationByRegistrantProfileIDRequest creates a request to invoke SaveTaskForSubmittingDomainRealNameVerificationByRegistrantProfileID API
+func CreateSaveTaskForSubmittingDomainRealNameVerificationByRegistrantProfileIDRequest() (request *SaveTaskForSubmittingDomainRealNameVerificationByRegistrantProfileIDRequest) {
+	request = &SaveTaskForSubmittingDomainRealNameVerificationByRegistrantProfileIDRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain", "2018-01-29", "SaveTaskForSubmittingDomainRealNameVerificationByRegistrantProfileID", "", "")
+	return
+}
+
+// CreateSaveTaskForSubmittingDomainRealNameVerificationByRegistrantProfileIDResponse creates a response to parse from SaveTaskForSubmittingDomainRealNameVerificationByRegistrantProfileID response
+func CreateSaveTaskForSubmittingDomainRealNameVerificationByRegistrantProfileIDResponse() (response *SaveTaskForSubmittingDomainRealNameVerificationByRegistrantProfileIDResponse) {
+	response = &SaveTaskForSubmittingDomainRealNameVerificationByRegistrantProfileIDResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 127 - 0
services/domain/save_task_for_updating_registrant_info_by_identity_credential.go

@@ -0,0 +1,127 @@
+package domain
+
+//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"
+)
+
+// SaveTaskForUpdatingRegistrantInfoByIdentityCredential invokes the domain.SaveTaskForUpdatingRegistrantInfoByIdentityCredential API synchronously
+// api document: https://help.aliyun.com/api/domain/savetaskforupdatingregistrantinfobyidentitycredential.html
+func (client *Client) SaveTaskForUpdatingRegistrantInfoByIdentityCredential(request *SaveTaskForUpdatingRegistrantInfoByIdentityCredentialRequest) (response *SaveTaskForUpdatingRegistrantInfoByIdentityCredentialResponse, err error) {
+	response = CreateSaveTaskForUpdatingRegistrantInfoByIdentityCredentialResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// SaveTaskForUpdatingRegistrantInfoByIdentityCredentialWithChan invokes the domain.SaveTaskForUpdatingRegistrantInfoByIdentityCredential API asynchronously
+// api document: https://help.aliyun.com/api/domain/savetaskforupdatingregistrantinfobyidentitycredential.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SaveTaskForUpdatingRegistrantInfoByIdentityCredentialWithChan(request *SaveTaskForUpdatingRegistrantInfoByIdentityCredentialRequest) (<-chan *SaveTaskForUpdatingRegistrantInfoByIdentityCredentialResponse, <-chan error) {
+	responseChan := make(chan *SaveTaskForUpdatingRegistrantInfoByIdentityCredentialResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.SaveTaskForUpdatingRegistrantInfoByIdentityCredential(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// SaveTaskForUpdatingRegistrantInfoByIdentityCredentialWithCallback invokes the domain.SaveTaskForUpdatingRegistrantInfoByIdentityCredential API asynchronously
+// api document: https://help.aliyun.com/api/domain/savetaskforupdatingregistrantinfobyidentitycredential.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SaveTaskForUpdatingRegistrantInfoByIdentityCredentialWithCallback(request *SaveTaskForUpdatingRegistrantInfoByIdentityCredentialRequest, callback func(response *SaveTaskForUpdatingRegistrantInfoByIdentityCredentialResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *SaveTaskForUpdatingRegistrantInfoByIdentityCredentialResponse
+		var err error
+		defer close(result)
+		response, err = client.SaveTaskForUpdatingRegistrantInfoByIdentityCredential(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// SaveTaskForUpdatingRegistrantInfoByIdentityCredentialRequest is the request struct for api SaveTaskForUpdatingRegistrantInfoByIdentityCredential
+type SaveTaskForUpdatingRegistrantInfoByIdentityCredentialRequest struct {
+	*requests.RpcRequest
+	PostalCode               string           `position:"Query" name:"PostalCode"`
+	Address                  string           `position:"Query" name:"Address"`
+	UserClientIp             string           `position:"Query" name:"UserClientIp"`
+	Lang                     string           `position:"Query" name:"Lang"`
+	City                     string           `position:"Query" name:"City"`
+	RegistrantOrganization   string           `position:"Query" name:"RegistrantOrganization"`
+	RegistrantName           string           `position:"Query" name:"RegistrantName"`
+	Province                 string           `position:"Query" name:"Province"`
+	Email                    string           `position:"Query" name:"Email"`
+	Country                  string           `position:"Query" name:"Country"`
+	TelArea                  string           `position:"Query" name:"TelArea"`
+	Telephone                string           `position:"Query" name:"Telephone"`
+	TelExt                   string           `position:"Query" name:"TelExt"`
+	ZhCity                   string           `position:"Query" name:"ZhCity"`
+	ZhRegistrantOrganization string           `position:"Query" name:"ZhRegistrantOrganization"`
+	ZhRegistrantName         string           `position:"Query" name:"ZhRegistrantName"`
+	ZhProvince               string           `position:"Query" name:"ZhProvince"`
+	ZhAddress                string           `position:"Query" name:"ZhAddress"`
+	RegistrantType           string           `position:"Query" name:"RegistrantType"`
+	DomainName               *[]string        `position:"Query" name:"DomainName"  type:"Repeated"`
+	IdentityCredentialType   string           `position:"Query" name:"IdentityCredentialType"`
+	IdentityCredentialNo     string           `position:"Query" name:"IdentityCredentialNo"`
+	IdentityCredential       string           `position:"Body" name:"IdentityCredential"`
+	TransferOutProhibited    requests.Boolean `position:"Query" name:"TransferOutProhibited"`
+}
+
+// SaveTaskForUpdatingRegistrantInfoByIdentityCredentialResponse is the response struct for api SaveTaskForUpdatingRegistrantInfoByIdentityCredential
+type SaveTaskForUpdatingRegistrantInfoByIdentityCredentialResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	TaskNo    string `json:"TaskNo" xml:"TaskNo"`
+}
+
+// CreateSaveTaskForUpdatingRegistrantInfoByIdentityCredentialRequest creates a request to invoke SaveTaskForUpdatingRegistrantInfoByIdentityCredential API
+func CreateSaveTaskForUpdatingRegistrantInfoByIdentityCredentialRequest() (request *SaveTaskForUpdatingRegistrantInfoByIdentityCredentialRequest) {
+	request = &SaveTaskForUpdatingRegistrantInfoByIdentityCredentialRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain", "2018-01-29", "SaveTaskForUpdatingRegistrantInfoByIdentityCredential", "", "")
+	return
+}
+
+// CreateSaveTaskForUpdatingRegistrantInfoByIdentityCredentialResponse creates a response to parse from SaveTaskForUpdatingRegistrantInfoByIdentityCredential response
+func CreateSaveTaskForUpdatingRegistrantInfoByIdentityCredentialResponse() (response *SaveTaskForUpdatingRegistrantInfoByIdentityCredentialResponse) {
+	response = &SaveTaskForUpdatingRegistrantInfoByIdentityCredentialResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/domain/save_task_for_updating_registrant_info_by_registrant_profile_id.go

@@ -0,0 +1,108 @@
+package domain
+
+//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"
+)
+
+// SaveTaskForUpdatingRegistrantInfoByRegistrantProfileID invokes the domain.SaveTaskForUpdatingRegistrantInfoByRegistrantProfileID API synchronously
+// api document: https://help.aliyun.com/api/domain/savetaskforupdatingregistrantinfobyregistrantprofileid.html
+func (client *Client) SaveTaskForUpdatingRegistrantInfoByRegistrantProfileID(request *SaveTaskForUpdatingRegistrantInfoByRegistrantProfileIDRequest) (response *SaveTaskForUpdatingRegistrantInfoByRegistrantProfileIDResponse, err error) {
+	response = CreateSaveTaskForUpdatingRegistrantInfoByRegistrantProfileIDResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// SaveTaskForUpdatingRegistrantInfoByRegistrantProfileIDWithChan invokes the domain.SaveTaskForUpdatingRegistrantInfoByRegistrantProfileID API asynchronously
+// api document: https://help.aliyun.com/api/domain/savetaskforupdatingregistrantinfobyregistrantprofileid.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SaveTaskForUpdatingRegistrantInfoByRegistrantProfileIDWithChan(request *SaveTaskForUpdatingRegistrantInfoByRegistrantProfileIDRequest) (<-chan *SaveTaskForUpdatingRegistrantInfoByRegistrantProfileIDResponse, <-chan error) {
+	responseChan := make(chan *SaveTaskForUpdatingRegistrantInfoByRegistrantProfileIDResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.SaveTaskForUpdatingRegistrantInfoByRegistrantProfileID(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// SaveTaskForUpdatingRegistrantInfoByRegistrantProfileIDWithCallback invokes the domain.SaveTaskForUpdatingRegistrantInfoByRegistrantProfileID API asynchronously
+// api document: https://help.aliyun.com/api/domain/savetaskforupdatingregistrantinfobyregistrantprofileid.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SaveTaskForUpdatingRegistrantInfoByRegistrantProfileIDWithCallback(request *SaveTaskForUpdatingRegistrantInfoByRegistrantProfileIDRequest, callback func(response *SaveTaskForUpdatingRegistrantInfoByRegistrantProfileIDResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *SaveTaskForUpdatingRegistrantInfoByRegistrantProfileIDResponse
+		var err error
+		defer close(result)
+		response, err = client.SaveTaskForUpdatingRegistrantInfoByRegistrantProfileID(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// SaveTaskForUpdatingRegistrantInfoByRegistrantProfileIDRequest is the request struct for api SaveTaskForUpdatingRegistrantInfoByRegistrantProfileID
+type SaveTaskForUpdatingRegistrantInfoByRegistrantProfileIDRequest struct {
+	*requests.RpcRequest
+	UserClientIp          string           `position:"Query" name:"UserClientIp"`
+	Lang                  string           `position:"Query" name:"Lang"`
+	RegistrantProfileId   requests.Integer `position:"Query" name:"RegistrantProfileId"`
+	DomainName            *[]string        `position:"Query" name:"DomainName"  type:"Repeated"`
+	TransferOutProhibited requests.Boolean `position:"Query" name:"TransferOutProhibited"`
+}
+
+// SaveTaskForUpdatingRegistrantInfoByRegistrantProfileIDResponse is the response struct for api SaveTaskForUpdatingRegistrantInfoByRegistrantProfileID
+type SaveTaskForUpdatingRegistrantInfoByRegistrantProfileIDResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	TaskNo    string `json:"TaskNo" xml:"TaskNo"`
+}
+
+// CreateSaveTaskForUpdatingRegistrantInfoByRegistrantProfileIDRequest creates a request to invoke SaveTaskForUpdatingRegistrantInfoByRegistrantProfileID API
+func CreateSaveTaskForUpdatingRegistrantInfoByRegistrantProfileIDRequest() (request *SaveTaskForUpdatingRegistrantInfoByRegistrantProfileIDRequest) {
+	request = &SaveTaskForUpdatingRegistrantInfoByRegistrantProfileIDRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain", "2018-01-29", "SaveTaskForUpdatingRegistrantInfoByRegistrantProfileID", "", "")
+	return
+}
+
+// CreateSaveTaskForUpdatingRegistrantInfoByRegistrantProfileIDResponse creates a response to parse from SaveTaskForUpdatingRegistrantInfoByRegistrantProfileID response
+func CreateSaveTaskForUpdatingRegistrantInfoByRegistrantProfileIDResponse() (response *SaveTaskForUpdatingRegistrantInfoByRegistrantProfileIDResponse) {
+	response = &SaveTaskForUpdatingRegistrantInfoByRegistrantProfileIDResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 42 - 0
services/domain/struct_auction_detail.go

@@ -0,0 +1,42 @@
+package domain
+
+//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.
+
+// AuctionDetail is a nested struct in domain response
+type AuctionDetail struct {
+	DomainName      string  `json:"DomainName" xml:"DomainName"`
+	AuctionId       string  `json:"AuctionId" xml:"AuctionId"`
+	DomainType      string  `json:"DomainType" xml:"DomainType"`
+	BookedPartner   string  `json:"BookedPartner" xml:"BookedPartner"`
+	PartnerType     string  `json:"PartnerType" xml:"PartnerType"`
+	Currency        string  `json:"Currency" xml:"Currency"`
+	YourCurrentBid  float64 `json:"YourCurrentBid" xml:"YourCurrentBid"`
+	YourMaxBid      float64 `json:"YourMaxBid" xml:"YourMaxBid"`
+	HighBid         float64 `json:"HighBid" xml:"HighBid"`
+	NextValidBid    float64 `json:"NextValidBid" xml:"NextValidBid"`
+	ReserveMet      bool    `json:"ReserveMet" xml:"ReserveMet"`
+	TransferInPrice float64 `json:"TransferInPrice" xml:"TransferInPrice"`
+	PayPrice        float64 `json:"PayPrice" xml:"PayPrice"`
+	HighBidder      string  `json:"HighBidder" xml:"HighBidder"`
+	Status          string  `json:"Status" xml:"Status"`
+	PayStatus       string  `json:"PayStatus" xml:"PayStatus"`
+	ProduceStatus   string  `json:"ProduceStatus" xml:"ProduceStatus"`
+	AuctionEndTime  int     `json:"AuctionEndTime" xml:"AuctionEndTime"`
+	BookEndTime     int     `json:"BookEndTime" xml:"BookEndTime"`
+	PayEndTime      int     `json:"PayEndTime" xml:"PayEndTime"`
+	DeliveryTime    int     `json:"DeliveryTime" xml:"DeliveryTime"`
+	FailCode        string  `json:"FailCode" xml:"FailCode"`
+}

+ 25 - 0
services/domain/struct_bid_record.go

@@ -0,0 +1,25 @@
+package domain
+
+//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.
+
+// BidRecord is a nested struct in domain response
+type BidRecord struct {
+	DomainName string  `json:"DomainName" xml:"DomainName"`
+	Currency   string  `json:"Currency" xml:"Currency"`
+	Bid        float64 `json:"Bid" xml:"Bid"`
+	BidTime    int     `json:"BidTime" xml:"BidTime"`
+	Bidder     string  `json:"Bidder" xml:"Bidder"`
+}

+ 26 - 0
services/domain/struct_change_log.go

@@ -0,0 +1,26 @@
+package domain
+
+//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.
+
+// ChangeLog is a nested struct in domain response
+type ChangeLog struct {
+	DomainName         string `json:"DomainName" xml:"DomainName"`
+	Result             string `json:"Result" xml:"Result"`
+	Operation          string `json:"Operation" xml:"Operation"`
+	OperationIPAddress string `json:"OperationIPAddress" xml:"OperationIPAddress"`
+	Details            string `json:"Details" xml:"Details"`
+	Time               string `json:"Time" xml:"Time"`
+}

+ 35 - 0
services/domain/struct_current_page_cursor.go

@@ -0,0 +1,35 @@
+package domain
+
+//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.
+
+// CurrentPageCursor is a nested struct in domain response
+type CurrentPageCursor struct {
+	ErrorMsg            string `json:"ErrorMsg" xml:"ErrorMsg"`
+	TaskDetailNo        string `json:"TaskDetailNo" xml:"TaskDetailNo"`
+	UpdateTime          string `json:"UpdateTime" xml:"UpdateTime"`
+	CreateTimeLong      int    `json:"CreateTimeLong" xml:"CreateTimeLong"`
+	TaskStatusCode      int    `json:"TaskStatusCode" xml:"TaskStatusCode"`
+	DomainName          string `json:"DomainName" xml:"DomainName"`
+	CreateTime          string `json:"CreateTime" xml:"CreateTime"`
+	TaskTypeDescription string `json:"TaskTypeDescription" xml:"TaskTypeDescription"`
+	TaskStatus          string `json:"TaskStatus" xml:"TaskStatus"`
+	TaskNum             int    `json:"TaskNum" xml:"TaskNum"`
+	TaskNo              string `json:"TaskNo" xml:"TaskNo"`
+	InstanceId          string `json:"InstanceId" xml:"InstanceId"`
+	Clientip            string `json:"Clientip" xml:"Clientip"`
+	TryCount            int    `json:"TryCount" xml:"TryCount"`
+	TaskType            string `json:"TaskType" xml:"TaskType"`
+}

+ 21 - 0
services/domain/struct_data_in_list_email_verification.go

@@ -0,0 +1,21 @@
+package domain
+
+//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.
+
+// DataInListEmailVerification is a nested struct in domain response
+type DataInListEmailVerification struct {
+	EmailVerification []EmailVerification `json:"EmailVerification" xml:"EmailVerification"`
+}

+ 21 - 0
services/domain/struct_data_in_poll_task_result.go

@@ -0,0 +1,21 @@
+package domain
+
+//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.
+
+// DataInPollTaskResult is a nested struct in domain response
+type DataInPollTaskResult struct {
+	TaskDetail []TaskDetail `json:"TaskDetail" xml:"TaskDetail"`
+}

+ 21 - 0
services/domain/struct_data_in_query_auctions.go

@@ -0,0 +1,21 @@
+package domain
+
+//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.
+
+// DataInQueryAuctions is a nested struct in domain response
+type DataInQueryAuctions struct {
+	AuctionDetail []AuctionDetail `json:"AuctionDetail" xml:"AuctionDetail"`
+}

+ 21 - 0
services/domain/struct_data_in_query_bid_records.go

@@ -0,0 +1,21 @@
+package domain
+
+//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.
+
+// DataInQueryBidRecords is a nested struct in domain response
+type DataInQueryBidRecords struct {
+	BidRecord []BidRecord `json:"BidRecord" xml:"BidRecord"`
+}

+ 21 - 0
services/domain/struct_data_in_query_change_log_list.go

@@ -0,0 +1,21 @@
+package domain
+
+//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.
+
+// DataInQueryChangeLogList is a nested struct in domain response
+type DataInQueryChangeLogList struct {
+	ChangeLog []ChangeLog `json:"ChangeLog" xml:"ChangeLog"`
+}

+ 21 - 0
services/domain/struct_data_in_query_domain_group_list.go

@@ -0,0 +1,21 @@
+package domain
+
+//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.
+
+// DataInQueryDomainGroupList is a nested struct in domain response
+type DataInQueryDomainGroupList struct {
+	Domain []Domain `json:"Domain" xml:"Domain"`
+}

+ 21 - 0
services/domain/struct_data_in_query_domain_list.go

@@ -0,0 +1,21 @@
+package domain
+
+//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.
+
+// DataInQueryDomainList is a nested struct in domain response
+type DataInQueryDomainList struct {
+	Domain []Domain `json:"Domain" xml:"Domain"`
+}

+ 21 - 0
services/domain/struct_data_in_query_fail_reason_for_domain_real_name_verification.go

@@ -0,0 +1,21 @@
+package domain
+
+//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.
+
+// DataInQueryFailReasonForDomainRealNameVerification is a nested struct in domain response
+type DataInQueryFailReasonForDomainRealNameVerification struct {
+	FailRecord []FailRecord `json:"FailRecord" xml:"FailRecord"`
+}

+ 21 - 0
services/domain/struct_data_in_query_fail_reason_for_registrant_profile_real_name_verification.go

@@ -0,0 +1,21 @@
+package domain
+
+//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.
+
+// DataInQueryFailReasonForRegistrantProfileRealNameVerification is a nested struct in domain response
+type DataInQueryFailReasonForRegistrantProfileRealNameVerification struct {
+	FailRecord []FailRecord `json:"FailRecord" xml:"FailRecord"`
+}

+ 21 - 0
services/domain/struct_data_in_query_task_detail_list.go

@@ -0,0 +1,21 @@
+package domain
+
+//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.
+
+// DataInQueryTaskDetailList is a nested struct in domain response
+type DataInQueryTaskDetailList struct {
+	TaskDetail []TaskDetail `json:"TaskDetail" xml:"TaskDetail"`
+}

+ 21 - 0
services/domain/struct_data_in_query_task_list.go

@@ -0,0 +1,21 @@
+package domain
+
+//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.
+
+// DataInQueryTaskList is a nested struct in domain response
+type DataInQueryTaskList struct {
+	TaskInfo []TaskInfo `json:"TaskInfo" xml:"TaskInfo"`
+}

+ 21 - 0
services/domain/struct_data_in_query_transfer_in_list.go

@@ -0,0 +1,21 @@
+package domain
+
+//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.
+
+// DataInQueryTransferInList is a nested struct in domain response
+type DataInQueryTransferInList struct {
+	TransferInInfo []TransferInInfo `json:"TransferInInfo" xml:"TransferInInfo"`
+}

+ 22 - 0
services/domain/struct_dns_host.go

@@ -0,0 +1,22 @@
+package domain
+
+//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.
+
+// DnsHost is a nested struct in domain response
+type DnsHost struct {
+	DnsName string   `json:"DnsName" xml:"DnsName"`
+	IpList  []string `json:"IpList" xml:"IpList"`
+}

+ 21 - 0
services/domain/struct_dns_host_list.go

@@ -0,0 +1,21 @@
+package domain
+
+//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.
+
+// DnsHostList is a nested struct in domain response
+type DnsHostList struct {
+	DnsHost []DnsHost `json:"DnsHost" xml:"DnsHost"`
+}

+ 21 - 0
services/domain/struct_dns_list.go

@@ -0,0 +1,21 @@
+package domain
+
+//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.
+
+// DnsList is a nested struct in domain response
+type DnsList struct {
+	Dns []string `json:"Dns" xml:"Dns"`
+}

+ 39 - 0
services/domain/struct_domain.go

@@ -0,0 +1,39 @@
+package domain
+
+//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.
+
+// Domain is a nested struct in domain response
+type Domain struct {
+	RegistrationDate     string `json:"RegistrationDate" xml:"RegistrationDate"`
+	RegistrationDateLong int    `json:"RegistrationDateLong" xml:"RegistrationDateLong"`
+	DomainStatus         string `json:"DomainStatus" xml:"DomainStatus"`
+	DomainType           string `json:"DomainType" xml:"DomainType"`
+	Remark               string `json:"Remark" xml:"Remark"`
+	DomainName           string `json:"DomainName" xml:"DomainName"`
+	ProductId            string `json:"ProductId" xml:"ProductId"`
+	ExpirationDateStatus string `json:"ExpirationDateStatus" xml:"ExpirationDateStatus"`
+	ExpirationDateLong   int    `json:"ExpirationDateLong" xml:"ExpirationDateLong"`
+	RegistrantType       string `json:"RegistrantType" xml:"RegistrantType"`
+	ExpirationDate       string `json:"ExpirationDate" xml:"ExpirationDate"`
+	Premium              bool   `json:"Premium" xml:"Premium"`
+	DomainGroupName      string `json:"DomainGroupName" xml:"DomainGroupName"`
+	DomainAuditStatus    string `json:"DomainAuditStatus" xml:"DomainAuditStatus"`
+	CreationDate         string `json:"CreationDate" xml:"CreationDate"`
+	InstanceId           string `json:"InstanceId" xml:"InstanceId"`
+	TotalNumber          int    `json:"TotalNumber" xml:"TotalNumber"`
+	DomainGroupId        string `json:"DomainGroupId" xml:"DomainGroupId"`
+	ModificationDate     string `json:"ModificationDate" xml:"ModificationDate"`
+}

+ 30 - 0
services/domain/struct_email_verification.go

@@ -0,0 +1,30 @@
+package domain
+
+//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.
+
+// EmailVerification is a nested struct in domain response
+type EmailVerification struct {
+	GmtCreate           string `json:"GmtCreate" xml:"GmtCreate"`
+	GmtModified         string `json:"GmtModified" xml:"GmtModified"`
+	Email               string `json:"Email" xml:"Email"`
+	UserId              string `json:"UserId" xml:"UserId"`
+	EmailVerificationNo string `json:"EmailVerificationNo" xml:"EmailVerificationNo"`
+	TokenSendTime       string `json:"TokenSendTime" xml:"TokenSendTime"`
+	VerificationStatus  int    `json:"VerificationStatus" xml:"VerificationStatus"`
+	VerificationTime    string `json:"VerificationTime" xml:"VerificationTime"`
+	SendIp              string `json:"SendIp" xml:"SendIp"`
+	ConfirmIp           string `json:"ConfirmIp" xml:"ConfirmIp"`
+}

+ 21 - 0
services/domain/struct_exist_list.go

@@ -0,0 +1,21 @@
+package domain
+
+//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.
+
+// ExistList is a nested struct in domain response
+type ExistList struct {
+	SendResult []SendResult `json:"SendResult" xml:"SendResult"`
+}

+ 21 - 0
services/domain/struct_fail_list_in_confirm_transfer_in_email.go

@@ -0,0 +1,21 @@
+package domain
+
+//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.
+
+// FailListInConfirmTransferInEmail is a nested struct in domain response
+type FailListInConfirmTransferInEmail struct {
+	FailDomain []string `json:"FailDomain" xml:"FailDomain"`
+}

+ 21 - 0
services/domain/struct_fail_list_in_delete_email_verification.go

@@ -0,0 +1,21 @@
+package domain
+
+//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.
+
+// FailListInDeleteEmailVerification is a nested struct in domain response
+type FailListInDeleteEmailVerification struct {
+	SendResult []SendResult `json:"SendResult" xml:"SendResult"`
+}

+ 21 - 0
services/domain/struct_fail_list_in_resend_email_verification.go

@@ -0,0 +1,21 @@
+package domain
+
+//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.
+
+// FailListInResendEmailVerification is a nested struct in domain response
+type FailListInResendEmailVerification struct {
+	SendResult []SendResult `json:"SendResult" xml:"SendResult"`
+}

+ 21 - 0
services/domain/struct_fail_list_in_submit_email_verification.go

@@ -0,0 +1,21 @@
+package domain
+
+//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.
+
+// FailListInSubmitEmailVerification is a nested struct in domain response
+type FailListInSubmitEmailVerification struct {
+	SendResult []SendResult `json:"SendResult" xml:"SendResult"`
+}

+ 21 - 0
services/domain/struct_fail_list_in_transfer_in_check_mail_token.go

@@ -0,0 +1,21 @@
+package domain
+
+//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.
+
+// FailListInTransferInCheckMailToken is a nested struct in domain response
+type FailListInTransferInCheckMailToken struct {
+	FailDomain []string `json:"FailDomain" xml:"FailDomain"`
+}

+ 23 - 0
services/domain/struct_fail_record.go

@@ -0,0 +1,23 @@
+package domain
+
+//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.
+
+// FailRecord is a nested struct in domain response
+type FailRecord struct {
+	Date                         string `json:"Date" xml:"Date"`
+	FailReason                   string `json:"FailReason" xml:"FailReason"`
+	DomainNameVerificationStatus string `json:"DomainNameVerificationStatus" xml:"DomainNameVerificationStatus"`
+}

+ 21 - 0
services/domain/struct_ip_list.go

@@ -0,0 +1,21 @@
+package domain
+
+//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.
+
+// IpList is a nested struct in domain response
+type IpList struct {
+	Ip []string `json:"ip" xml:"ip"`
+}

+ 35 - 0
services/domain/struct_next_page_cursor.go

@@ -0,0 +1,35 @@
+package domain
+
+//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.
+
+// NextPageCursor is a nested struct in domain response
+type NextPageCursor struct {
+	ErrorMsg            string `json:"ErrorMsg" xml:"ErrorMsg"`
+	TaskDetailNo        string `json:"TaskDetailNo" xml:"TaskDetailNo"`
+	UpdateTime          string `json:"UpdateTime" xml:"UpdateTime"`
+	CreateTimeLong      int    `json:"CreateTimeLong" xml:"CreateTimeLong"`
+	TaskStatusCode      int    `json:"TaskStatusCode" xml:"TaskStatusCode"`
+	DomainName          string `json:"DomainName" xml:"DomainName"`
+	CreateTime          string `json:"CreateTime" xml:"CreateTime"`
+	TaskTypeDescription string `json:"TaskTypeDescription" xml:"TaskTypeDescription"`
+	TaskStatus          string `json:"TaskStatus" xml:"TaskStatus"`
+	TaskNum             int    `json:"TaskNum" xml:"TaskNum"`
+	TaskNo              string `json:"TaskNo" xml:"TaskNo"`
+	InstanceId          string `json:"InstanceId" xml:"InstanceId"`
+	Clientip            string `json:"Clientip" xml:"Clientip"`
+	TryCount            int    `json:"TryCount" xml:"TryCount"`
+	TaskType            string `json:"TaskType" xml:"TaskType"`
+}

+ 21 - 0
services/domain/struct_objects_in_query_task_detail_history.go

@@ -0,0 +1,21 @@
+package domain
+
+//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.
+
+// ObjectsInQueryTaskDetailHistory is a nested struct in domain response
+type ObjectsInQueryTaskDetailHistory struct {
+	TaskDetailHistory []TaskDetailHistory `json:"TaskDetailHistory" xml:"TaskDetailHistory"`
+}

+ 21 - 0
services/domain/struct_objects_in_query_task_info_history.go

@@ -0,0 +1,21 @@
+package domain
+
+//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.
+
+// ObjectsInQueryTaskInfoHistory is a nested struct in domain response
+type ObjectsInQueryTaskInfoHistory struct {
+	TaskInfoHistory []TaskInfoHistory `json:"TaskInfoHistory" xml:"TaskInfoHistory"`
+}

部分文件因为文件数量过多而无法显示