Explorar el Código

由温仰发起的DOMAIN-INTL SDK自动发布, BUILD_ID=318, 版本号:0.7.0

Signed-off-by: haowei.yao <haowei.yao@alibaba-inc.com>
haowei.yao hace 8 años
padre
commit
8b7a38da93
Se han modificado 37 ficheros con 3486 adiciones y 0 borrados
  1. 4 0
      ChangeLog.txt
  2. 91 0
      services/domain-intl/check_domain.go
  3. 43 0
      services/domain-intl/client.go
  4. 100 0
      services/domain-intl/delete_email_verification.go
  5. 90 0
      services/domain-intl/delete_registrant_profile.go
  6. 90 0
      services/domain-intl/email_verified.go
  7. 112 0
      services/domain-intl/list_email_verification.go
  8. 111 0
      services/domain-intl/query_change_log_list.go
  9. 103 0
      services/domain-intl/query_contact_info.go
  10. 93 0
      services/domain-intl/query_dns_host.go
  11. 106 0
      services/domain-intl/query_domain_by_instance_id.go
  12. 120 0
      services/domain-intl/query_domain_list.go
  13. 120 0
      services/domain-intl/query_registrant_profiles.go
  14. 115 0
      services/domain-intl/query_task_detail_list.go
  15. 109 0
      services/domain-intl/query_task_list.go
  16. 100 0
      services/domain-intl/resend_email_verification.go
  17. 99 0
      services/domain-intl/save_batch_task_for_creating_order_activate.go
  18. 96 0
      services/domain-intl/save_batch_task_for_creating_order_redeem.go
  19. 97 0
      services/domain-intl/save_batch_task_for_creating_order_renew.go
  20. 92 0
      services/domain-intl/save_batch_task_for_domain_name_proxy_service.go
  21. 93 0
      services/domain-intl/save_batch_task_for_modifying_domain_dns.go
  22. 92 0
      services/domain-intl/save_batch_task_for_transfer_prohibition_lock.go
  23. 92 0
      services/domain-intl/save_batch_task_for_update_prohibition_lock.go
  24. 94 0
      services/domain-intl/save_batch_task_for_updating_contact_info.go
  25. 103 0
      services/domain-intl/save_registrant_profile.go
  26. 92 0
      services/domain-intl/save_single_task_for_creating_dns_host.go
  27. 95 0
      services/domain-intl/save_single_task_for_creating_order_activate.go
  28. 92 0
      services/domain-intl/save_single_task_for_creating_order_redeem.go
  29. 93 0
      services/domain-intl/save_single_task_for_creating_order_renew.go
  30. 92 0
      services/domain-intl/save_single_task_for_domain_name_proxy_service.go
  31. 92 0
      services/domain-intl/save_single_task_for_modifying_dns_host.go
  32. 90 0
      services/domain-intl/save_single_task_for_synchronizing_dns_host.go
  33. 92 0
      services/domain-intl/save_single_task_for_transfer_prohibition_lock.go
  34. 92 0
      services/domain-intl/save_single_task_for_update_prohibition_lock.go
  35. 95 0
      services/domain-intl/save_single_task_for_updating_contact_info.go
  36. 106 0
      services/domain-intl/submit_email_verification.go
  37. 90 0
      services/domain-intl/verify_email.go

+ 4 - 0
ChangeLog.txt

@@ -1,3 +1,7 @@
+2017-12-29 Version: 0.7.0
+1, First release for Domain-intl.
+2, Add interfaces for domain name registration and management.
+
 2017-12-29 Version: 0.6.8
 2017-12-29 Version: 0.6.8
 1, Allow the setting of AcceptFormat in the Request.
 1, Allow the setting of AcceptFormat in the Request.
 
 

+ 91 - 0
services/domain-intl/check_domain.go

@@ -0,0 +1,91 @@
+package domain_intl
+
+//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"
+)
+
+func (client *Client) CheckDomain(request *CheckDomainRequest) (response *CheckDomainResponse, err error) {
+	response = CreateCheckDomainResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+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)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+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
+}
+
+type CheckDomainRequest struct {
+	*requests.RpcRequest
+	DomainName string `position:"Query" name:"DomainName"`
+}
+
+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"`
+}
+
+func CreateCheckDomainRequest() (request *CheckDomainRequest) {
+	request = &CheckDomainRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain-intl", "2017-12-18", "CheckDomain", "", "")
+	return
+}
+
+func CreateCheckDomainResponse() (response *CheckDomainResponse) {
+	response = &CheckDomainResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 43 - 0
services/domain-intl/client.go

@@ -0,0 +1,43 @@
+package domain_intl
+
+//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"
+)
+
+type Client struct {
+	sdk.Client
+}
+
+func NewClient() (client *Client, err error) {
+	client = &Client{}
+	err = client.Init()
+	return
+}
+
+func NewClientWithOptions(regionId string, config *sdk.Config, credential auth.Credential) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithOptions(regionId, config, credential)
+	return
+}
+
+func NewClientWithAccessKey(regionId, accessKeyId, accessKeySecret string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithAccessKey(regionId, accessKeyId, accessKeySecret)
+	return
+}

+ 100 - 0
services/domain-intl/delete_email_verification.go

@@ -0,0 +1,100 @@
+package domain_intl
+
+//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"
+)
+
+func (client *Client) DeleteEmailVerification(request *DeleteEmailVerificationRequest) (response *DeleteEmailVerificationResponse, err error) {
+	response = CreateDeleteEmailVerificationResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+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)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+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
+}
+
+type DeleteEmailVerificationRequest struct {
+	*requests.RpcRequest
+	UserClientIp string `position:"Query" name:"UserClientIp"`
+	Lang         string `position:"Query" name:"Lang"`
+	Email        string `position:"Query" name:"Email"`
+}
+
+type DeleteEmailVerificationResponse struct {
+	*responses.BaseResponse
+	RequestId   string `json:"RequestId" xml:"RequestId"`
+	SuccessList []struct {
+		Email   string `json:"Email" xml:"Email"`
+		Code    string `json:"Code" xml:"Code"`
+		Message string `json:"Message" xml:"Message"`
+	} `json:"SuccessList" xml:"SuccessList"`
+	FailList []struct {
+		Email   string `json:"Email" xml:"Email"`
+		Code    string `json:"Code" xml:"Code"`
+		Message string `json:"Message" xml:"Message"`
+	} `json:"FailList" xml:"FailList"`
+}
+
+func CreateDeleteEmailVerificationRequest() (request *DeleteEmailVerificationRequest) {
+	request = &DeleteEmailVerificationRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain-intl", "2017-12-18", "DeleteEmailVerification", "", "")
+	return
+}
+
+func CreateDeleteEmailVerificationResponse() (response *DeleteEmailVerificationResponse) {
+	response = &DeleteEmailVerificationResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 90 - 0
services/domain-intl/delete_registrant_profile.go

@@ -0,0 +1,90 @@
+package domain_intl
+
+//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"
+)
+
+func (client *Client) DeleteRegistrantProfile(request *DeleteRegistrantProfileRequest) (response *DeleteRegistrantProfileResponse, err error) {
+	response = CreateDeleteRegistrantProfileResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+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)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+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
+}
+
+type DeleteRegistrantProfileRequest struct {
+	*requests.RpcRequest
+	UserClientIp        string           `position:"Query" name:"UserClientIp"`
+	RegistrantProfileId requests.Integer `position:"Query" name:"RegistrantProfileId"`
+	Lang                string           `position:"Query" name:"Lang"`
+}
+
+type DeleteRegistrantProfileResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+func CreateDeleteRegistrantProfileRequest() (request *DeleteRegistrantProfileRequest) {
+	request = &DeleteRegistrantProfileRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain-intl", "2017-12-18", "DeleteRegistrantProfile", "", "")
+	return
+}
+
+func CreateDeleteRegistrantProfileResponse() (response *DeleteRegistrantProfileResponse) {
+	response = &DeleteRegistrantProfileResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 90 - 0
services/domain-intl/email_verified.go

@@ -0,0 +1,90 @@
+package domain_intl
+
+//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"
+)
+
+func (client *Client) EmailVerified(request *EmailVerifiedRequest) (response *EmailVerifiedResponse, err error) {
+	response = CreateEmailVerifiedResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+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)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+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
+}
+
+type EmailVerifiedRequest struct {
+	*requests.RpcRequest
+	UserClientIp string `position:"Query" name:"UserClientIp"`
+	Lang         string `position:"Query" name:"Lang"`
+	Email        string `position:"Query" name:"Email"`
+}
+
+type EmailVerifiedResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+func CreateEmailVerifiedRequest() (request *EmailVerifiedRequest) {
+	request = &EmailVerifiedRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain-intl", "2017-12-18", "EmailVerified", "", "")
+	return
+}
+
+func CreateEmailVerifiedResponse() (response *EmailVerifiedResponse) {
+	response = &EmailVerifiedResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 112 - 0
services/domain-intl/list_email_verification.go

@@ -0,0 +1,112 @@
+package domain_intl
+
+//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"
+)
+
+func (client *Client) ListEmailVerification(request *ListEmailVerificationRequest) (response *ListEmailVerificationResponse, err error) {
+	response = CreateListEmailVerificationResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+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)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+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
+}
+
+type ListEmailVerificationRequest struct {
+	*requests.RpcRequest
+	BeginCreateTime    requests.Integer `position:"Query" name:"BeginCreateTime"`
+	EndCreateTime      requests.Integer `position:"Query" name:"EndCreateTime"`
+	PageSize           requests.Integer `position:"Query" name:"PageSize"`
+	Lang               string           `position:"Query" name:"Lang"`
+	PageNum            requests.Integer `position:"Query" name:"PageNum"`
+	Email              string           `position:"Query" name:"Email"`
+	VerificationStatus requests.Integer `position:"Query" name:"VerificationStatus"`
+}
+
+type ListEmailVerificationResponse struct {
+	*responses.BaseResponse
+	RequestId      string           `json:"RequestId" xml:"RequestId"`
+	TotalItemNum   requests.Integer `json:"TotalItemNum" xml:"TotalItemNum"`
+	CurrentPageNum requests.Integer `json:"CurrentPageNum" xml:"CurrentPageNum"`
+	TotalPageNum   requests.Integer `json:"TotalPageNum" xml:"TotalPageNum"`
+	PageSize       requests.Integer `json:"PageSize" xml:"PageSize"`
+	PrePage        requests.Boolean `json:"PrePage" xml:"PrePage"`
+	NextPage       requests.Boolean `json:"NextPage" xml:"NextPage"`
+	Data           []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  requests.Integer `json:"VerificationStatus" xml:"VerificationStatus"`
+		VerificationTime    string           `json:"VerificationTime" xml:"VerificationTime"`
+		SendIp              string           `json:"SendIp" xml:"SendIp"`
+		ConfirmIp           string           `json:"ConfirmIp" xml:"ConfirmIp"`
+	} `json:"Data" xml:"Data"`
+}
+
+func CreateListEmailVerificationRequest() (request *ListEmailVerificationRequest) {
+	request = &ListEmailVerificationRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain-intl", "2017-12-18", "ListEmailVerification", "", "")
+	return
+}
+
+func CreateListEmailVerificationResponse() (response *ListEmailVerificationResponse) {
+	response = &ListEmailVerificationResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 111 - 0
services/domain-intl/query_change_log_list.go

@@ -0,0 +1,111 @@
+package domain_intl
+
+//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"
+)
+
+func (client *Client) QueryChangeLogList(request *QueryChangeLogListRequest) (response *QueryChangeLogListResponse, err error) {
+	response = CreateQueryChangeLogListResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+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)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+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
+}
+
+type QueryChangeLogListRequest struct {
+	*requests.RpcRequest
+	EndDate      requests.Integer `position:"Query" name:"EndDate"`
+	UserClientIp string           `position:"Query" name:"UserClientIp"`
+	DomainName   string           `position:"Query" name:"DomainName"`
+	PageSize     requests.Integer `position:"Query" name:"PageSize"`
+	Lang         string           `position:"Query" name:"Lang"`
+	PageNum      requests.Integer `position:"Query" name:"PageNum"`
+	StartDate    requests.Integer `position:"Query" name:"StartDate"`
+}
+
+type QueryChangeLogListResponse struct {
+	*responses.BaseResponse
+	RequestId      string           `json:"RequestId" xml:"RequestId"`
+	TotalItemNum   requests.Integer `json:"TotalItemNum" xml:"TotalItemNum"`
+	CurrentPageNum requests.Integer `json:"CurrentPageNum" xml:"CurrentPageNum"`
+	TotalPageNum   requests.Integer `json:"TotalPageNum" xml:"TotalPageNum"`
+	PageSize       requests.Integer `json:"PageSize" xml:"PageSize"`
+	PrePage        requests.Boolean `json:"PrePage" xml:"PrePage"`
+	NextPage       requests.Boolean `json:"NextPage" xml:"NextPage"`
+	ResultLimit    requests.Boolean `json:"ResultLimit" xml:"ResultLimit"`
+	Data           struct {
+		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"`
+		} `json:"ChangeLog" xml:"ChangeLog"`
+	} `json:"Data" xml:"Data"`
+}
+
+func CreateQueryChangeLogListRequest() (request *QueryChangeLogListRequest) {
+	request = &QueryChangeLogListRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain-intl", "2017-12-18", "QueryChangeLogList", "", "")
+	return
+}
+
+func CreateQueryChangeLogListResponse() (response *QueryChangeLogListResponse) {
+	response = &QueryChangeLogListResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 103 - 0
services/domain-intl/query_contact_info.go

@@ -0,0 +1,103 @@
+package domain_intl
+
+//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"
+)
+
+func (client *Client) QueryContactInfo(request *QueryContactInfoRequest) (response *QueryContactInfoResponse, err error) {
+	response = CreateQueryContactInfoResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+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)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+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
+}
+
+type QueryContactInfoRequest struct {
+	*requests.RpcRequest
+	ContactType  string `position:"Query" name:"ContactType"`
+	UserClientIp string `position:"Query" name:"UserClientIp"`
+	DomainName   string `position:"Query" name:"DomainName"`
+	Lang         string `position:"Query" name:"Lang"`
+}
+
+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"`
+}
+
+func CreateQueryContactInfoRequest() (request *QueryContactInfoRequest) {
+	request = &QueryContactInfoRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain-intl", "2017-12-18", "QueryContactInfo", "", "")
+	return
+}
+
+func CreateQueryContactInfoResponse() (response *QueryContactInfoResponse) {
+	response = &QueryContactInfoResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 93 - 0
services/domain-intl/query_dns_host.go

@@ -0,0 +1,93 @@
+package domain_intl
+
+//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"
+)
+
+func (client *Client) QueryDnsHost(request *QueryDnsHostRequest) (response *QueryDnsHostResponse, err error) {
+	response = CreateQueryDnsHostResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+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)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+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
+}
+
+type QueryDnsHostRequest struct {
+	*requests.RpcRequest
+	InstanceId string `position:"Query" name:"InstanceId"`
+	Lang       string `position:"Query" name:"Lang"`
+}
+
+type QueryDnsHostResponse struct {
+	*responses.BaseResponse
+	RequestId   string `json:"RequestId" xml:"RequestId"`
+	DnsHostList []struct {
+		DnsName string   `json:"DnsName" xml:"DnsName"`
+		IpList  []string `json:"IpList" xml:"IpList"`
+	} `json:"DnsHostList" xml:"DnsHostList"`
+}
+
+func CreateQueryDnsHostRequest() (request *QueryDnsHostRequest) {
+	request = &QueryDnsHostRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain-intl", "2017-12-18", "QueryDnsHost", "", "")
+	return
+}
+
+func CreateQueryDnsHostResponse() (response *QueryDnsHostResponse) {
+	response = &QueryDnsHostResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/domain-intl/query_domain_by_instance_id.go

@@ -0,0 +1,106 @@
+package domain_intl
+
+//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"
+)
+
+func (client *Client) QueryDomainByInstanceId(request *QueryDomainByInstanceIdRequest) (response *QueryDomainByInstanceIdResponse, err error) {
+	response = CreateQueryDomainByInstanceIdResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+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)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+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
+}
+
+type QueryDomainByInstanceIdRequest struct {
+	*requests.RpcRequest
+	InstanceId   string `position:"Query" name:"InstanceId"`
+	UserClientIp string `position:"Query" name:"UserClientIp"`
+	Lang         string `position:"Query" name:"Lang"`
+}
+
+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      requests.Boolean `json:"DomainNameProxyService" xml:"DomainNameProxyService"`
+	Premium                     requests.Boolean `json:"Premium" xml:"Premium"`
+	EmailVerificationStatus     requests.Integer `json:"EmailVerificationStatus" xml:"EmailVerificationStatus"`
+	EmailVerificationClientHold requests.Boolean `json:"EmailVerificationClientHold" xml:"EmailVerificationClientHold"`
+	DnsList                     struct {
+		Dns []string `json:"Dns" xml:"Dns"`
+	} `json:"DnsList" xml:"DnsList"`
+}
+
+func CreateQueryDomainByInstanceIdRequest() (request *QueryDomainByInstanceIdRequest) {
+	request = &QueryDomainByInstanceIdRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain-intl", "2017-12-18", "QueryDomainByInstanceId", "", "")
+	return
+}
+
+func CreateQueryDomainByInstanceIdResponse() (response *QueryDomainByInstanceIdResponse) {
+	response = &QueryDomainByInstanceIdResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 120 - 0
services/domain-intl/query_domain_list.go

@@ -0,0 +1,120 @@
+package domain_intl
+
+//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"
+)
+
+func (client *Client) QueryDomainList(request *QueryDomainListRequest) (response *QueryDomainListResponse, err error) {
+	response = CreateQueryDomainListResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+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)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+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
+}
+
+type QueryDomainListRequest struct {
+	*requests.RpcRequest
+	EndExpirationDate     requests.Integer `position:"Query" name:"EndExpirationDate"`
+	ProductDomainType     string           `position:"Query" name:"ProductDomainType"`
+	OrderKeyType          string           `position:"Query" name:"OrderKeyType"`
+	DomainName            string           `position:"Query" name:"DomainName"`
+	StartExpirationDate   requests.Integer `position:"Query" name:"StartExpirationDate"`
+	PageNum               requests.Integer `position:"Query" name:"PageNum"`
+	OrderByType           string           `position:"Query" name:"OrderByType"`
+	EndRegistrationDate   requests.Integer `position:"Query" name:"EndRegistrationDate"`
+	UserClientIp          string           `position:"Query" name:"UserClientIp"`
+	PageSize              requests.Integer `position:"Query" name:"PageSize"`
+	Lang                  string           `position:"Query" name:"Lang"`
+	QueryType             string           `position:"Query" name:"QueryType"`
+	StartRegistrationDate requests.Integer `position:"Query" name:"StartRegistrationDate"`
+}
+
+type QueryDomainListResponse struct {
+	*responses.BaseResponse
+	RequestId      string           `json:"RequestId" xml:"RequestId"`
+	TotalItemNum   requests.Integer `json:"TotalItemNum" xml:"TotalItemNum"`
+	CurrentPageNum requests.Integer `json:"CurrentPageNum" xml:"CurrentPageNum"`
+	TotalPageNum   requests.Integer `json:"TotalPageNum" xml:"TotalPageNum"`
+	PageSize       requests.Integer `json:"PageSize" xml:"PageSize"`
+	PrePage        requests.Boolean `json:"PrePage" xml:"PrePage"`
+	NextPage       requests.Boolean `json:"NextPage" xml:"NextPage"`
+	Data           struct {
+		Domain []struct {
+			DomainName           string           `json:"DomainName" xml:"DomainName"`
+			InstanceId           string           `json:"InstanceId" xml:"InstanceId"`
+			ExpirationDate       string           `json:"ExpirationDate" xml:"ExpirationDate"`
+			RegistrationDate     string           `json:"RegistrationDate" xml:"RegistrationDate"`
+			DomainType           string           `json:"DomainType" xml:"DomainType"`
+			DomainStatus         string           `json:"DomainStatus" xml:"DomainStatus"`
+			ProductId            string           `json:"ProductId" xml:"ProductId"`
+			ExpirationDateLong   requests.Integer `json:"ExpirationDateLong" xml:"ExpirationDateLong"`
+			RegistrationDateLong requests.Integer `json:"RegistrationDateLong" xml:"RegistrationDateLong"`
+			Premium              requests.Boolean `json:"Premium" xml:"Premium"`
+		} `json:"Domain" xml:"Domain"`
+	} `json:"Data" xml:"Data"`
+}
+
+func CreateQueryDomainListRequest() (request *QueryDomainListRequest) {
+	request = &QueryDomainListRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain-intl", "2017-12-18", "QueryDomainList", "", "")
+	return
+}
+
+func CreateQueryDomainListResponse() (response *QueryDomainListResponse) {
+	response = &QueryDomainListResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 120 - 0
services/domain-intl/query_registrant_profiles.go

@@ -0,0 +1,120 @@
+package domain_intl
+
+//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"
+)
+
+func (client *Client) QueryRegistrantProfiles(request *QueryRegistrantProfilesRequest) (response *QueryRegistrantProfilesResponse, err error) {
+	response = CreateQueryRegistrantProfilesResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+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)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+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
+}
+
+type QueryRegistrantProfilesRequest struct {
+	*requests.RpcRequest
+	RegistrantOrganization   string           `position:"Query" name:"RegistrantOrganization"`
+	UserClientIp             string           `position:"Query" name:"UserClientIp"`
+	RegistrantProfileId      requests.Integer `position:"Query" name:"RegistrantProfileId"`
+	PageSize                 requests.Integer `position:"Query" name:"PageSize"`
+	Lang                     string           `position:"Query" name:"Lang"`
+	PageNum                  requests.Integer `position:"Query" name:"PageNum"`
+	DefaultRegistrantProfile requests.Boolean `position:"Query" name:"DefaultRegistrantProfile"`
+}
+
+type QueryRegistrantProfilesResponse struct {
+	*responses.BaseResponse
+	RequestId          string           `json:"RequestId" xml:"RequestId"`
+	TotalItemNum       requests.Integer `json:"TotalItemNum" xml:"TotalItemNum"`
+	CurrentPageNum     requests.Integer `json:"CurrentPageNum" xml:"CurrentPageNum"`
+	TotalPageNum       requests.Integer `json:"TotalPageNum" xml:"TotalPageNum"`
+	PageSize           requests.Integer `json:"PageSize" xml:"PageSize"`
+	PrePage            requests.Boolean `json:"PrePage" xml:"PrePage"`
+	NextPage           requests.Boolean `json:"NextPage" xml:"NextPage"`
+	RegistrantProfiles struct {
+		RegistrantProfile []struct {
+			RegistrantProfileId      requests.Integer `json:"RegistrantProfileId" xml:"RegistrantProfileId"`
+			CreateTime               string           `json:"CreateTime" xml:"CreateTime"`
+			UpdateTime               string           `json:"UpdateTime" xml:"UpdateTime"`
+			DefaultRegistrantProfile requests.Boolean `json:"DefaultRegistrantProfile" xml:"DefaultRegistrantProfile"`
+			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"`
+			EmailVerificationStatus  requests.Integer `json:"EmailVerificationStatus" xml:"EmailVerificationStatus"`
+		} `json:"RegistrantProfile" xml:"RegistrantProfile"`
+	} `json:"RegistrantProfiles" xml:"RegistrantProfiles"`
+}
+
+func CreateQueryRegistrantProfilesRequest() (request *QueryRegistrantProfilesRequest) {
+	request = &QueryRegistrantProfilesRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain-intl", "2017-12-18", "QueryRegistrantProfiles", "", "")
+	return
+}
+
+func CreateQueryRegistrantProfilesResponse() (response *QueryRegistrantProfilesResponse) {
+	response = &QueryRegistrantProfilesResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 115 - 0
services/domain-intl/query_task_detail_list.go

@@ -0,0 +1,115 @@
+package domain_intl
+
+//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"
+)
+
+func (client *Client) QueryTaskDetailList(request *QueryTaskDetailListRequest) (response *QueryTaskDetailListResponse, err error) {
+	response = CreateQueryTaskDetailListResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+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)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+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
+}
+
+type QueryTaskDetailListRequest struct {
+	*requests.RpcRequest
+	TaskStatus   requests.Integer `position:"Query" name:"TaskStatus"`
+	InstanceId   string           `position:"Query" name:"InstanceId"`
+	UserClientIp string           `position:"Query" name:"UserClientIp"`
+	TaskNo       string           `position:"Query" name:"TaskNo"`
+	DomainName   string           `position:"Query" name:"DomainName"`
+	PageSize     requests.Integer `position:"Query" name:"PageSize"`
+	Lang         string           `position:"Query" name:"Lang"`
+	PageNum      requests.Integer `position:"Query" name:"PageNum"`
+}
+
+type QueryTaskDetailListResponse struct {
+	*responses.BaseResponse
+	RequestId      string           `json:"RequestId" xml:"RequestId"`
+	TotalItemNum   requests.Integer `json:"TotalItemNum" xml:"TotalItemNum"`
+	CurrentPageNum requests.Integer `json:"CurrentPageNum" xml:"CurrentPageNum"`
+	TotalPageNum   requests.Integer `json:"TotalPageNum" xml:"TotalPageNum"`
+	PageSize       requests.Integer `json:"PageSize" xml:"PageSize"`
+	PrePage        requests.Boolean `json:"PrePage" xml:"PrePage"`
+	NextPage       requests.Boolean `json:"NextPage" xml:"NextPage"`
+	Data           struct {
+		TaskDetail []struct {
+			TaskNo       string           `json:"TaskNo" xml:"TaskNo"`
+			TaskDetailNo string           `json:"TaskDetailNo" xml:"TaskDetailNo"`
+			TaskType     string           `json:"TaskType" xml:"TaskType"`
+			InstanceId   string           `json:"InstanceId" xml:"InstanceId"`
+			DomainName   string           `json:"DomainName" xml:"DomainName"`
+			TaskStatus   string           `json:"TaskStatus" xml:"TaskStatus"`
+			UpdateTime   string           `json:"UpdateTime" xml:"UpdateTime"`
+			CreateTime   string           `json:"CreateTime" xml:"CreateTime"`
+			TryCount     requests.Integer `json:"TryCount" xml:"TryCount"`
+			ErrorMsg     string           `json:"ErrorMsg" xml:"ErrorMsg"`
+		} `json:"TaskDetail" xml:"TaskDetail"`
+	} `json:"Data" xml:"Data"`
+}
+
+func CreateQueryTaskDetailListRequest() (request *QueryTaskDetailListRequest) {
+	request = &QueryTaskDetailListRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain-intl", "2017-12-18", "QueryTaskDetailList", "", "")
+	return
+}
+
+func CreateQueryTaskDetailListResponse() (response *QueryTaskDetailListResponse) {
+	response = &QueryTaskDetailListResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/domain-intl/query_task_list.go

@@ -0,0 +1,109 @@
+package domain_intl
+
+//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"
+)
+
+func (client *Client) QueryTaskList(request *QueryTaskListRequest) (response *QueryTaskListResponse, err error) {
+	response = CreateQueryTaskListResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+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)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+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
+}
+
+type QueryTaskListRequest struct {
+	*requests.RpcRequest
+	BeginCreateTime requests.Integer `position:"Query" name:"BeginCreateTime"`
+	EndCreateTime   requests.Integer `position:"Query" name:"EndCreateTime"`
+	UserClientIp    string           `position:"Query" name:"UserClientIp"`
+	PageSize        requests.Integer `position:"Query" name:"PageSize"`
+	Lang            string           `position:"Query" name:"Lang"`
+	PageNum         requests.Integer `position:"Query" name:"PageNum"`
+}
+
+type QueryTaskListResponse struct {
+	*responses.BaseResponse
+	RequestId      string           `json:"RequestId" xml:"RequestId"`
+	TotalItemNum   requests.Integer `json:"TotalItemNum" xml:"TotalItemNum"`
+	CurrentPageNum requests.Integer `json:"CurrentPageNum" xml:"CurrentPageNum"`
+	TotalPageNum   requests.Integer `json:"TotalPageNum" xml:"TotalPageNum"`
+	PageSize       requests.Integer `json:"PageSize" xml:"PageSize"`
+	PrePage        requests.Boolean `json:"PrePage" xml:"PrePage"`
+	NextPage       requests.Boolean `json:"NextPage" xml:"NextPage"`
+	Data           struct {
+		TaskInfo []struct {
+			TaskType   string           `json:"TaskType" xml:"TaskType"`
+			TaskNum    requests.Integer `json:"TaskNum" xml:"TaskNum"`
+			TaskStatus string           `json:"TaskStatus" xml:"TaskStatus"`
+			CreateTime string           `json:"CreateTime" xml:"CreateTime"`
+			Clientip   string           `json:"Clientip" xml:"Clientip"`
+			TaskNo     string           `json:"TaskNo" xml:"TaskNo"`
+		} `json:"TaskInfo" xml:"TaskInfo"`
+	} `json:"Data" xml:"Data"`
+}
+
+func CreateQueryTaskListRequest() (request *QueryTaskListRequest) {
+	request = &QueryTaskListRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain-intl", "2017-12-18", "QueryTaskList", "", "")
+	return
+}
+
+func CreateQueryTaskListResponse() (response *QueryTaskListResponse) {
+	response = &QueryTaskListResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 100 - 0
services/domain-intl/resend_email_verification.go

@@ -0,0 +1,100 @@
+package domain_intl
+
+//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"
+)
+
+func (client *Client) ResendEmailVerification(request *ResendEmailVerificationRequest) (response *ResendEmailVerificationResponse, err error) {
+	response = CreateResendEmailVerificationResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+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)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+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
+}
+
+type ResendEmailVerificationRequest struct {
+	*requests.RpcRequest
+	UserClientIp string `position:"Query" name:"UserClientIp"`
+	Lang         string `position:"Query" name:"Lang"`
+	Email        string `position:"Query" name:"Email"`
+}
+
+type ResendEmailVerificationResponse struct {
+	*responses.BaseResponse
+	RequestId   string `json:"RequestId" xml:"RequestId"`
+	SuccessList []struct {
+		Email   string `json:"Email" xml:"Email"`
+		Code    string `json:"Code" xml:"Code"`
+		Message string `json:"Message" xml:"Message"`
+	} `json:"SuccessList" xml:"SuccessList"`
+	FailList []struct {
+		Email   string `json:"Email" xml:"Email"`
+		Code    string `json:"Code" xml:"Code"`
+		Message string `json:"Message" xml:"Message"`
+	} `json:"FailList" xml:"FailList"`
+}
+
+func CreateResendEmailVerificationRequest() (request *ResendEmailVerificationRequest) {
+	request = &ResendEmailVerificationRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain-intl", "2017-12-18", "ResendEmailVerification", "", "")
+	return
+}
+
+func CreateResendEmailVerificationResponse() (response *ResendEmailVerificationResponse) {
+	response = &ResendEmailVerificationResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 99 - 0
services/domain-intl/save_batch_task_for_creating_order_activate.go

@@ -0,0 +1,99 @@
+package domain_intl
+
+//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"
+)
+
+func (client *Client) SaveBatchTaskForCreatingOrderActivate(request *SaveBatchTaskForCreatingOrderActivateRequest) (response *SaveBatchTaskForCreatingOrderActivateResponse, err error) {
+	response = CreateSaveBatchTaskForCreatingOrderActivateResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+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)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+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
+}
+
+type SaveBatchTaskForCreatingOrderActivateRequest struct {
+	*requests.RpcRequest
+	OrderActivateParam *[]SaveBatchTaskForCreatingOrderActivateOrderActivateParam `position:"Query" name:"OrderActivateParam"  type:"Repeated"`
+	UserClientIp       string                                                     `position:"Query" name:"UserClientIp"`
+	Lang               string                                                     `position:"Query" name:"Lang"`
+}
+
+type SaveBatchTaskForCreatingOrderActivateOrderActivateParam struct {
+	DomainName              string `name:"DomainName"`
+	SubscriptionDuration    string `name:"SubscriptionDuration"`
+	RegistrantProfileId     string `name:"RegistrantProfileId"`
+	EnableDomainProxy       string `name:"EnableDomainProxy"`
+	PermitPremiumActivation string `name:"PermitPremiumActivation"`
+}
+
+type SaveBatchTaskForCreatingOrderActivateResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	TaskNo    string `json:"TaskNo" xml:"TaskNo"`
+}
+
+func CreateSaveBatchTaskForCreatingOrderActivateRequest() (request *SaveBatchTaskForCreatingOrderActivateRequest) {
+	request = &SaveBatchTaskForCreatingOrderActivateRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain-intl", "2017-12-18", "SaveBatchTaskForCreatingOrderActivate", "", "")
+	return
+}
+
+func CreateSaveBatchTaskForCreatingOrderActivateResponse() (response *SaveBatchTaskForCreatingOrderActivateResponse) {
+	response = &SaveBatchTaskForCreatingOrderActivateResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 96 - 0
services/domain-intl/save_batch_task_for_creating_order_redeem.go

@@ -0,0 +1,96 @@
+package domain_intl
+
+//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"
+)
+
+func (client *Client) SaveBatchTaskForCreatingOrderRedeem(request *SaveBatchTaskForCreatingOrderRedeemRequest) (response *SaveBatchTaskForCreatingOrderRedeemResponse, err error) {
+	response = CreateSaveBatchTaskForCreatingOrderRedeemResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+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)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+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
+}
+
+type SaveBatchTaskForCreatingOrderRedeemRequest struct {
+	*requests.RpcRequest
+	OrderRedeemParam *[]SaveBatchTaskForCreatingOrderRedeemOrderRedeemParam `position:"Query" name:"OrderRedeemParam"  type:"Repeated"`
+	UserClientIp     string                                                 `position:"Query" name:"UserClientIp"`
+	Lang             string                                                 `position:"Query" name:"Lang"`
+}
+
+type SaveBatchTaskForCreatingOrderRedeemOrderRedeemParam struct {
+	DomainName            string `name:"DomainName"`
+	CurrentExpirationDate string `name:"CurrentExpirationDate"`
+}
+
+type SaveBatchTaskForCreatingOrderRedeemResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	TaskNo    string `json:"TaskNo" xml:"TaskNo"`
+}
+
+func CreateSaveBatchTaskForCreatingOrderRedeemRequest() (request *SaveBatchTaskForCreatingOrderRedeemRequest) {
+	request = &SaveBatchTaskForCreatingOrderRedeemRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain-intl", "2017-12-18", "SaveBatchTaskForCreatingOrderRedeem", "", "")
+	return
+}
+
+func CreateSaveBatchTaskForCreatingOrderRedeemResponse() (response *SaveBatchTaskForCreatingOrderRedeemResponse) {
+	response = &SaveBatchTaskForCreatingOrderRedeemResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 97 - 0
services/domain-intl/save_batch_task_for_creating_order_renew.go

@@ -0,0 +1,97 @@
+package domain_intl
+
+//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"
+)
+
+func (client *Client) SaveBatchTaskForCreatingOrderRenew(request *SaveBatchTaskForCreatingOrderRenewRequest) (response *SaveBatchTaskForCreatingOrderRenewResponse, err error) {
+	response = CreateSaveBatchTaskForCreatingOrderRenewResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+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)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+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
+}
+
+type SaveBatchTaskForCreatingOrderRenewRequest struct {
+	*requests.RpcRequest
+	UserClientIp    string                                               `position:"Query" name:"UserClientIp"`
+	OrderRenewParam *[]SaveBatchTaskForCreatingOrderRenewOrderRenewParam `position:"Query" name:"OrderRenewParam"  type:"Repeated"`
+	Lang            string                                               `position:"Query" name:"Lang"`
+}
+
+type SaveBatchTaskForCreatingOrderRenewOrderRenewParam struct {
+	DomainName            string `name:"DomainName"`
+	CurrentExpirationDate string `name:"CurrentExpirationDate"`
+	SubscriptionDuration  string `name:"SubscriptionDuration"`
+}
+
+type SaveBatchTaskForCreatingOrderRenewResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	TaskNo    string `json:"TaskNo" xml:"TaskNo"`
+}
+
+func CreateSaveBatchTaskForCreatingOrderRenewRequest() (request *SaveBatchTaskForCreatingOrderRenewRequest) {
+	request = &SaveBatchTaskForCreatingOrderRenewRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain-intl", "2017-12-18", "SaveBatchTaskForCreatingOrderRenew", "", "")
+	return
+}
+
+func CreateSaveBatchTaskForCreatingOrderRenewResponse() (response *SaveBatchTaskForCreatingOrderRenewResponse) {
+	response = &SaveBatchTaskForCreatingOrderRenewResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 92 - 0
services/domain-intl/save_batch_task_for_domain_name_proxy_service.go

@@ -0,0 +1,92 @@
+package domain_intl
+
+//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"
+)
+
+func (client *Client) SaveBatchTaskForDomainNameProxyService(request *SaveBatchTaskForDomainNameProxyServiceRequest) (response *SaveBatchTaskForDomainNameProxyServiceResponse, err error) {
+	response = CreateSaveBatchTaskForDomainNameProxyServiceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+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)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+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
+}
+
+type SaveBatchTaskForDomainNameProxyServiceRequest struct {
+	*requests.RpcRequest
+	UserClientIp string           `position:"Query" name:"UserClientIp"`
+	DomainName   *[]string        `position:"Query" name:"DomainName"  type:"Repeated"`
+	Lang         string           `position:"Query" name:"Lang"`
+	Status       requests.Boolean `position:"Query" name:"status"`
+}
+
+type SaveBatchTaskForDomainNameProxyServiceResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	TaskNo    string `json:"TaskNo" xml:"TaskNo"`
+}
+
+func CreateSaveBatchTaskForDomainNameProxyServiceRequest() (request *SaveBatchTaskForDomainNameProxyServiceRequest) {
+	request = &SaveBatchTaskForDomainNameProxyServiceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain-intl", "2017-12-18", "SaveBatchTaskForDomainNameProxyService", "", "")
+	return
+}
+
+func CreateSaveBatchTaskForDomainNameProxyServiceResponse() (response *SaveBatchTaskForDomainNameProxyServiceResponse) {
+	response = &SaveBatchTaskForDomainNameProxyServiceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 93 - 0
services/domain-intl/save_batch_task_for_modifying_domain_dns.go

@@ -0,0 +1,93 @@
+package domain_intl
+
+//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"
+)
+
+func (client *Client) SaveBatchTaskForModifyingDomainDns(request *SaveBatchTaskForModifyingDomainDnsRequest) (response *SaveBatchTaskForModifyingDomainDnsResponse, err error) {
+	response = CreateSaveBatchTaskForModifyingDomainDnsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+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)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+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
+}
+
+type SaveBatchTaskForModifyingDomainDnsRequest struct {
+	*requests.RpcRequest
+	UserClientIp     string           `position:"Query" name:"UserClientIp"`
+	DomainName       *[]string        `position:"Query" name:"DomainName"  type:"Repeated"`
+	DomainNameServer *[]string        `position:"Query" name:"DomainNameServer"  type:"Repeated"`
+	Lang             string           `position:"Query" name:"Lang"`
+	AliyunDns        requests.Boolean `position:"Query" name:"AliyunDns"`
+}
+
+type SaveBatchTaskForModifyingDomainDnsResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	TaskNo    string `json:"TaskNo" xml:"TaskNo"`
+}
+
+func CreateSaveBatchTaskForModifyingDomainDnsRequest() (request *SaveBatchTaskForModifyingDomainDnsRequest) {
+	request = &SaveBatchTaskForModifyingDomainDnsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain-intl", "2017-12-18", "SaveBatchTaskForModifyingDomainDns", "", "")
+	return
+}
+
+func CreateSaveBatchTaskForModifyingDomainDnsResponse() (response *SaveBatchTaskForModifyingDomainDnsResponse) {
+	response = &SaveBatchTaskForModifyingDomainDnsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 92 - 0
services/domain-intl/save_batch_task_for_transfer_prohibition_lock.go

@@ -0,0 +1,92 @@
+package domain_intl
+
+//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"
+)
+
+func (client *Client) SaveBatchTaskForTransferProhibitionLock(request *SaveBatchTaskForTransferProhibitionLockRequest) (response *SaveBatchTaskForTransferProhibitionLockResponse, err error) {
+	response = CreateSaveBatchTaskForTransferProhibitionLockResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+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)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+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
+}
+
+type SaveBatchTaskForTransferProhibitionLockRequest struct {
+	*requests.RpcRequest
+	UserClientIp string           `position:"Query" name:"UserClientIp"`
+	DomainName   *[]string        `position:"Query" name:"DomainName"  type:"Repeated"`
+	Lang         string           `position:"Query" name:"Lang"`
+	Status       requests.Boolean `position:"Query" name:"Status"`
+}
+
+type SaveBatchTaskForTransferProhibitionLockResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	TaskNo    string `json:"TaskNo" xml:"TaskNo"`
+}
+
+func CreateSaveBatchTaskForTransferProhibitionLockRequest() (request *SaveBatchTaskForTransferProhibitionLockRequest) {
+	request = &SaveBatchTaskForTransferProhibitionLockRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain-intl", "2017-12-18", "SaveBatchTaskForTransferProhibitionLock", "", "")
+	return
+}
+
+func CreateSaveBatchTaskForTransferProhibitionLockResponse() (response *SaveBatchTaskForTransferProhibitionLockResponse) {
+	response = &SaveBatchTaskForTransferProhibitionLockResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 92 - 0
services/domain-intl/save_batch_task_for_update_prohibition_lock.go

@@ -0,0 +1,92 @@
+package domain_intl
+
+//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"
+)
+
+func (client *Client) SaveBatchTaskForUpdateProhibitionLock(request *SaveBatchTaskForUpdateProhibitionLockRequest) (response *SaveBatchTaskForUpdateProhibitionLockResponse, err error) {
+	response = CreateSaveBatchTaskForUpdateProhibitionLockResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+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)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+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
+}
+
+type SaveBatchTaskForUpdateProhibitionLockRequest struct {
+	*requests.RpcRequest
+	UserClientIp string           `position:"Query" name:"UserClientIp"`
+	DomainName   *[]string        `position:"Query" name:"DomainName"  type:"Repeated"`
+	Lang         string           `position:"Query" name:"Lang"`
+	Status       requests.Boolean `position:"Query" name:"Status"`
+}
+
+type SaveBatchTaskForUpdateProhibitionLockResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	TaskNo    string `json:"TaskNo" xml:"TaskNo"`
+}
+
+func CreateSaveBatchTaskForUpdateProhibitionLockRequest() (request *SaveBatchTaskForUpdateProhibitionLockRequest) {
+	request = &SaveBatchTaskForUpdateProhibitionLockRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain-intl", "2017-12-18", "SaveBatchTaskForUpdateProhibitionLock", "", "")
+	return
+}
+
+func CreateSaveBatchTaskForUpdateProhibitionLockResponse() (response *SaveBatchTaskForUpdateProhibitionLockResponse) {
+	response = &SaveBatchTaskForUpdateProhibitionLockResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 94 - 0
services/domain-intl/save_batch_task_for_updating_contact_info.go

@@ -0,0 +1,94 @@
+package domain_intl
+
+//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"
+)
+
+func (client *Client) SaveBatchTaskForUpdatingContactInfo(request *SaveBatchTaskForUpdatingContactInfoRequest) (response *SaveBatchTaskForUpdatingContactInfoResponse, err error) {
+	response = CreateSaveBatchTaskForUpdatingContactInfoResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) SaveBatchTaskForUpdatingContactInfoWithChan(request *SaveBatchTaskForUpdatingContactInfoRequest) (<-chan *SaveBatchTaskForUpdatingContactInfoResponse, <-chan error) {
+	responseChan := make(chan *SaveBatchTaskForUpdatingContactInfoResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.SaveBatchTaskForUpdatingContactInfo(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) SaveBatchTaskForUpdatingContactInfoWithCallback(request *SaveBatchTaskForUpdatingContactInfoRequest, callback func(response *SaveBatchTaskForUpdatingContactInfoResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *SaveBatchTaskForUpdatingContactInfoResponse
+		var err error
+		defer close(result)
+		response, err = client.SaveBatchTaskForUpdatingContactInfo(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type SaveBatchTaskForUpdatingContactInfoRequest struct {
+	*requests.RpcRequest
+	ContactType         string           `position:"Query" name:"ContactType"`
+	UserClientIp        string           `position:"Query" name:"UserClientIp"`
+	RegistrantProfileId requests.Integer `position:"Query" name:"RegistrantProfileId"`
+	DomainName          *[]string        `position:"Query" name:"DomainName"  type:"Repeated"`
+	AddTransferLock     requests.Boolean `position:"Query" name:"AddTransferLock"`
+	Lang                string           `position:"Query" name:"Lang"`
+}
+
+type SaveBatchTaskForUpdatingContactInfoResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	TaskNo    string `json:"TaskNo" xml:"TaskNo"`
+}
+
+func CreateSaveBatchTaskForUpdatingContactInfoRequest() (request *SaveBatchTaskForUpdatingContactInfoRequest) {
+	request = &SaveBatchTaskForUpdatingContactInfoRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain-intl", "2017-12-18", "SaveBatchTaskForUpdatingContactInfo", "", "")
+	return
+}
+
+func CreateSaveBatchTaskForUpdatingContactInfoResponse() (response *SaveBatchTaskForUpdatingContactInfoResponse) {
+	response = &SaveBatchTaskForUpdatingContactInfoResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 103 - 0
services/domain-intl/save_registrant_profile.go

@@ -0,0 +1,103 @@
+package domain_intl
+
+//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"
+)
+
+func (client *Client) SaveRegistrantProfile(request *SaveRegistrantProfileRequest) (response *SaveRegistrantProfileResponse, err error) {
+	response = CreateSaveRegistrantProfileResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+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)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+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
+}
+
+type SaveRegistrantProfileRequest struct {
+	*requests.RpcRequest
+	Country                  string           `position:"Query" name:"Country"`
+	Address                  string           `position:"Query" name:"Address"`
+	TelArea                  string           `position:"Query" name:"TelArea"`
+	City                     string           `position:"Query" name:"City"`
+	RegistrantProfileId      requests.Integer `position:"Query" name:"RegistrantProfileId"`
+	Telephone                string           `position:"Query" name:"Telephone"`
+	DefaultRegistrantProfile requests.Boolean `position:"Query" name:"DefaultRegistrantProfile"`
+	RegistrantOrganization   string           `position:"Query" name:"RegistrantOrganization"`
+	TelExt                   string           `position:"Query" name:"TelExt"`
+	Province                 string           `position:"Query" name:"Province"`
+	PostalCode               string           `position:"Query" name:"PostalCode"`
+	UserClientIp             string           `position:"Query" name:"UserClientIp"`
+	Lang                     string           `position:"Query" name:"Lang"`
+	Email                    string           `position:"Query" name:"Email"`
+	RegistrantName           string           `position:"Query" name:"RegistrantName"`
+}
+
+type SaveRegistrantProfileResponse struct {
+	*responses.BaseResponse
+	RequestId           string           `json:"RequestId" xml:"RequestId"`
+	RegistrantProfileId requests.Integer `json:"RegistrantProfileId" xml:"RegistrantProfileId"`
+}
+
+func CreateSaveRegistrantProfileRequest() (request *SaveRegistrantProfileRequest) {
+	request = &SaveRegistrantProfileRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain-intl", "2017-12-18", "SaveRegistrantProfile", "", "")
+	return
+}
+
+func CreateSaveRegistrantProfileResponse() (response *SaveRegistrantProfileResponse) {
+	response = &SaveRegistrantProfileResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 92 - 0
services/domain-intl/save_single_task_for_creating_dns_host.go

@@ -0,0 +1,92 @@
+package domain_intl
+
+//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"
+)
+
+func (client *Client) SaveSingleTaskForCreatingDnsHost(request *SaveSingleTaskForCreatingDnsHostRequest) (response *SaveSingleTaskForCreatingDnsHostResponse, err error) {
+	response = CreateSaveSingleTaskForCreatingDnsHostResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+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)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+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
+}
+
+type SaveSingleTaskForCreatingDnsHostRequest struct {
+	*requests.RpcRequest
+	InstanceId string    `position:"Query" name:"InstanceId"`
+	Ip         *[]string `position:"Query" name:"Ip"  type:"Repeated"`
+	DnsName    string    `position:"Query" name:"DnsName"`
+	Lang       string    `position:"Query" name:"Lang"`
+}
+
+type SaveSingleTaskForCreatingDnsHostResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	TaskNo    string `json:"TaskNo" xml:"TaskNo"`
+}
+
+func CreateSaveSingleTaskForCreatingDnsHostRequest() (request *SaveSingleTaskForCreatingDnsHostRequest) {
+	request = &SaveSingleTaskForCreatingDnsHostRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain-intl", "2017-12-18", "SaveSingleTaskForCreatingDnsHost", "", "")
+	return
+}
+
+func CreateSaveSingleTaskForCreatingDnsHostResponse() (response *SaveSingleTaskForCreatingDnsHostResponse) {
+	response = &SaveSingleTaskForCreatingDnsHostResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 95 - 0
services/domain-intl/save_single_task_for_creating_order_activate.go

@@ -0,0 +1,95 @@
+package domain_intl
+
+//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"
+)
+
+func (client *Client) SaveSingleTaskForCreatingOrderActivate(request *SaveSingleTaskForCreatingOrderActivateRequest) (response *SaveSingleTaskForCreatingOrderActivateResponse, err error) {
+	response = CreateSaveSingleTaskForCreatingOrderActivateResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+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)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+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
+}
+
+type SaveSingleTaskForCreatingOrderActivateRequest struct {
+	*requests.RpcRequest
+	SubscriptionDuration    requests.Integer `position:"Query" name:"SubscriptionDuration"`
+	PermitPremiumActivation requests.Boolean `position:"Query" name:"PermitPremiumActivation"`
+	UserClientIp            string           `position:"Query" name:"UserClientIp"`
+	DomainName              string           `position:"Query" name:"DomainName"`
+	RegistrantProfileId     requests.Integer `position:"Query" name:"RegistrantProfileId"`
+	EnableDomainProxy       requests.Boolean `position:"Query" name:"EnableDomainProxy"`
+	Lang                    string           `position:"Query" name:"Lang"`
+}
+
+type SaveSingleTaskForCreatingOrderActivateResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	TaskNo    string `json:"TaskNo" xml:"TaskNo"`
+}
+
+func CreateSaveSingleTaskForCreatingOrderActivateRequest() (request *SaveSingleTaskForCreatingOrderActivateRequest) {
+	request = &SaveSingleTaskForCreatingOrderActivateRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain-intl", "2017-12-18", "SaveSingleTaskForCreatingOrderActivate", "", "")
+	return
+}
+
+func CreateSaveSingleTaskForCreatingOrderActivateResponse() (response *SaveSingleTaskForCreatingOrderActivateResponse) {
+	response = &SaveSingleTaskForCreatingOrderActivateResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 92 - 0
services/domain-intl/save_single_task_for_creating_order_redeem.go

@@ -0,0 +1,92 @@
+package domain_intl
+
+//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"
+)
+
+func (client *Client) SaveSingleTaskForCreatingOrderRedeem(request *SaveSingleTaskForCreatingOrderRedeemRequest) (response *SaveSingleTaskForCreatingOrderRedeemResponse, err error) {
+	response = CreateSaveSingleTaskForCreatingOrderRedeemResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+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)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+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
+}
+
+type SaveSingleTaskForCreatingOrderRedeemRequest struct {
+	*requests.RpcRequest
+	CurrentExpirationDate requests.Integer `position:"Query" name:"CurrentExpirationDate"`
+	UserClientIp          string           `position:"Query" name:"UserClientIp"`
+	DomainName            string           `position:"Query" name:"DomainName"`
+	Lang                  string           `position:"Query" name:"Lang"`
+}
+
+type SaveSingleTaskForCreatingOrderRedeemResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	TaskNo    string `json:"TaskNo" xml:"TaskNo"`
+}
+
+func CreateSaveSingleTaskForCreatingOrderRedeemRequest() (request *SaveSingleTaskForCreatingOrderRedeemRequest) {
+	request = &SaveSingleTaskForCreatingOrderRedeemRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain-intl", "2017-12-18", "SaveSingleTaskForCreatingOrderRedeem", "", "")
+	return
+}
+
+func CreateSaveSingleTaskForCreatingOrderRedeemResponse() (response *SaveSingleTaskForCreatingOrderRedeemResponse) {
+	response = &SaveSingleTaskForCreatingOrderRedeemResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 93 - 0
services/domain-intl/save_single_task_for_creating_order_renew.go

@@ -0,0 +1,93 @@
+package domain_intl
+
+//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"
+)
+
+func (client *Client) SaveSingleTaskForCreatingOrderRenew(request *SaveSingleTaskForCreatingOrderRenewRequest) (response *SaveSingleTaskForCreatingOrderRenewResponse, err error) {
+	response = CreateSaveSingleTaskForCreatingOrderRenewResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+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)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+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
+}
+
+type SaveSingleTaskForCreatingOrderRenewRequest struct {
+	*requests.RpcRequest
+	SubscriptionDuration  requests.Integer `position:"Query" name:"SubscriptionDuration"`
+	CurrentExpirationDate requests.Integer `position:"Query" name:"CurrentExpirationDate"`
+	UserClientIp          string           `position:"Query" name:"UserClientIp"`
+	DomainName            string           `position:"Query" name:"DomainName"`
+	Lang                  string           `position:"Query" name:"Lang"`
+}
+
+type SaveSingleTaskForCreatingOrderRenewResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	TaskNo    string `json:"TaskNo" xml:"TaskNo"`
+}
+
+func CreateSaveSingleTaskForCreatingOrderRenewRequest() (request *SaveSingleTaskForCreatingOrderRenewRequest) {
+	request = &SaveSingleTaskForCreatingOrderRenewRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain-intl", "2017-12-18", "SaveSingleTaskForCreatingOrderRenew", "", "")
+	return
+}
+
+func CreateSaveSingleTaskForCreatingOrderRenewResponse() (response *SaveSingleTaskForCreatingOrderRenewResponse) {
+	response = &SaveSingleTaskForCreatingOrderRenewResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 92 - 0
services/domain-intl/save_single_task_for_domain_name_proxy_service.go

@@ -0,0 +1,92 @@
+package domain_intl
+
+//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"
+)
+
+func (client *Client) SaveSingleTaskForDomainNameProxyService(request *SaveSingleTaskForDomainNameProxyServiceRequest) (response *SaveSingleTaskForDomainNameProxyServiceResponse, err error) {
+	response = CreateSaveSingleTaskForDomainNameProxyServiceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+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)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+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
+}
+
+type SaveSingleTaskForDomainNameProxyServiceRequest struct {
+	*requests.RpcRequest
+	UserClientIp string           `position:"Query" name:"UserClientIp"`
+	DomainName   string           `position:"Query" name:"DomainName"`
+	Lang         string           `position:"Query" name:"Lang"`
+	Status       requests.Boolean `position:"Query" name:"Status"`
+}
+
+type SaveSingleTaskForDomainNameProxyServiceResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	TaskNo    string `json:"TaskNo" xml:"TaskNo"`
+}
+
+func CreateSaveSingleTaskForDomainNameProxyServiceRequest() (request *SaveSingleTaskForDomainNameProxyServiceRequest) {
+	request = &SaveSingleTaskForDomainNameProxyServiceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain-intl", "2017-12-18", "SaveSingleTaskForDomainNameProxyService", "", "")
+	return
+}
+
+func CreateSaveSingleTaskForDomainNameProxyServiceResponse() (response *SaveSingleTaskForDomainNameProxyServiceResponse) {
+	response = &SaveSingleTaskForDomainNameProxyServiceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 92 - 0
services/domain-intl/save_single_task_for_modifying_dns_host.go

@@ -0,0 +1,92 @@
+package domain_intl
+
+//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"
+)
+
+func (client *Client) SaveSingleTaskForModifyingDnsHost(request *SaveSingleTaskForModifyingDnsHostRequest) (response *SaveSingleTaskForModifyingDnsHostResponse, err error) {
+	response = CreateSaveSingleTaskForModifyingDnsHostResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+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)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+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
+}
+
+type SaveSingleTaskForModifyingDnsHostRequest struct {
+	*requests.RpcRequest
+	InstanceId string    `position:"Query" name:"InstanceId"`
+	Ip         *[]string `position:"Query" name:"Ip"  type:"Repeated"`
+	DnsName    string    `position:"Query" name:"DnsName"`
+	Lang       string    `position:"Query" name:"Lang"`
+}
+
+type SaveSingleTaskForModifyingDnsHostResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	TaskNo    string `json:"TaskNo" xml:"TaskNo"`
+}
+
+func CreateSaveSingleTaskForModifyingDnsHostRequest() (request *SaveSingleTaskForModifyingDnsHostRequest) {
+	request = &SaveSingleTaskForModifyingDnsHostRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain-intl", "2017-12-18", "SaveSingleTaskForModifyingDnsHost", "", "")
+	return
+}
+
+func CreateSaveSingleTaskForModifyingDnsHostResponse() (response *SaveSingleTaskForModifyingDnsHostResponse) {
+	response = &SaveSingleTaskForModifyingDnsHostResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 90 - 0
services/domain-intl/save_single_task_for_synchronizing_dns_host.go

@@ -0,0 +1,90 @@
+package domain_intl
+
+//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"
+)
+
+func (client *Client) SaveSingleTaskForSynchronizingDnsHost(request *SaveSingleTaskForSynchronizingDnsHostRequest) (response *SaveSingleTaskForSynchronizingDnsHostResponse, err error) {
+	response = CreateSaveSingleTaskForSynchronizingDnsHostResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+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)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+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
+}
+
+type SaveSingleTaskForSynchronizingDnsHostRequest struct {
+	*requests.RpcRequest
+	InstanceId string `position:"Query" name:"InstanceId"`
+	Lang       string `position:"Query" name:"Lang"`
+}
+
+type SaveSingleTaskForSynchronizingDnsHostResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	TaskNo    string `json:"TaskNo" xml:"TaskNo"`
+}
+
+func CreateSaveSingleTaskForSynchronizingDnsHostRequest() (request *SaveSingleTaskForSynchronizingDnsHostRequest) {
+	request = &SaveSingleTaskForSynchronizingDnsHostRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain-intl", "2017-12-18", "SaveSingleTaskForSynchronizingDnsHost", "", "")
+	return
+}
+
+func CreateSaveSingleTaskForSynchronizingDnsHostResponse() (response *SaveSingleTaskForSynchronizingDnsHostResponse) {
+	response = &SaveSingleTaskForSynchronizingDnsHostResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 92 - 0
services/domain-intl/save_single_task_for_transfer_prohibition_lock.go

@@ -0,0 +1,92 @@
+package domain_intl
+
+//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"
+)
+
+func (client *Client) SaveSingleTaskForTransferProhibitionLock(request *SaveSingleTaskForTransferProhibitionLockRequest) (response *SaveSingleTaskForTransferProhibitionLockResponse, err error) {
+	response = CreateSaveSingleTaskForTransferProhibitionLockResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+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)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+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
+}
+
+type SaveSingleTaskForTransferProhibitionLockRequest struct {
+	*requests.RpcRequest
+	UserClientIp string           `position:"Query" name:"UserClientIp"`
+	DomainName   string           `position:"Query" name:"DomainName"`
+	Lang         string           `position:"Query" name:"Lang"`
+	Status       requests.Boolean `position:"Query" name:"Status"`
+}
+
+type SaveSingleTaskForTransferProhibitionLockResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	TaskNo    string `json:"TaskNo" xml:"TaskNo"`
+}
+
+func CreateSaveSingleTaskForTransferProhibitionLockRequest() (request *SaveSingleTaskForTransferProhibitionLockRequest) {
+	request = &SaveSingleTaskForTransferProhibitionLockRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain-intl", "2017-12-18", "SaveSingleTaskForTransferProhibitionLock", "", "")
+	return
+}
+
+func CreateSaveSingleTaskForTransferProhibitionLockResponse() (response *SaveSingleTaskForTransferProhibitionLockResponse) {
+	response = &SaveSingleTaskForTransferProhibitionLockResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 92 - 0
services/domain-intl/save_single_task_for_update_prohibition_lock.go

@@ -0,0 +1,92 @@
+package domain_intl
+
+//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"
+)
+
+func (client *Client) SaveSingleTaskForUpdateProhibitionLock(request *SaveSingleTaskForUpdateProhibitionLockRequest) (response *SaveSingleTaskForUpdateProhibitionLockResponse, err error) {
+	response = CreateSaveSingleTaskForUpdateProhibitionLockResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+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)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+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
+}
+
+type SaveSingleTaskForUpdateProhibitionLockRequest struct {
+	*requests.RpcRequest
+	UserClientIp string           `position:"Query" name:"UserClientIp"`
+	DomainName   string           `position:"Query" name:"DomainName"`
+	Lang         string           `position:"Query" name:"Lang"`
+	Status       requests.Boolean `position:"Query" name:"Status"`
+}
+
+type SaveSingleTaskForUpdateProhibitionLockResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	TaskNo    string `json:"TaskNo" xml:"TaskNo"`
+}
+
+func CreateSaveSingleTaskForUpdateProhibitionLockRequest() (request *SaveSingleTaskForUpdateProhibitionLockRequest) {
+	request = &SaveSingleTaskForUpdateProhibitionLockRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain-intl", "2017-12-18", "SaveSingleTaskForUpdateProhibitionLock", "", "")
+	return
+}
+
+func CreateSaveSingleTaskForUpdateProhibitionLockResponse() (response *SaveSingleTaskForUpdateProhibitionLockResponse) {
+	response = &SaveSingleTaskForUpdateProhibitionLockResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 95 - 0
services/domain-intl/save_single_task_for_updating_contact_info.go

@@ -0,0 +1,95 @@
+package domain_intl
+
+//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"
+)
+
+func (client *Client) SaveSingleTaskForUpdatingContactInfo(request *SaveSingleTaskForUpdatingContactInfoRequest) (response *SaveSingleTaskForUpdatingContactInfoResponse, err error) {
+	response = CreateSaveSingleTaskForUpdatingContactInfoResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+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)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+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
+}
+
+type SaveSingleTaskForUpdatingContactInfoRequest struct {
+	*requests.RpcRequest
+	InstanceId          string           `position:"Query" name:"InstanceId"`
+	ContactType         string           `position:"Query" name:"ContactType"`
+	UserClientIp        string           `position:"Query" name:"UserClientIp"`
+	DomainName          string           `position:"Query" name:"DomainName"`
+	RegistrantProfileId requests.Integer `position:"Query" name:"RegistrantProfileId"`
+	AddTransferLock     requests.Boolean `position:"Query" name:"AddTransferLock"`
+	Lang                string           `position:"Query" name:"Lang"`
+}
+
+type SaveSingleTaskForUpdatingContactInfoResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	TaskNo    string `json:"TaskNo" xml:"TaskNo"`
+}
+
+func CreateSaveSingleTaskForUpdatingContactInfoRequest() (request *SaveSingleTaskForUpdatingContactInfoRequest) {
+	request = &SaveSingleTaskForUpdatingContactInfoRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain-intl", "2017-12-18", "SaveSingleTaskForUpdatingContactInfo", "", "")
+	return
+}
+
+func CreateSaveSingleTaskForUpdatingContactInfoResponse() (response *SaveSingleTaskForUpdatingContactInfoResponse) {
+	response = &SaveSingleTaskForUpdatingContactInfoResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/domain-intl/submit_email_verification.go

@@ -0,0 +1,106 @@
+package domain_intl
+
+//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"
+)
+
+func (client *Client) SubmitEmailVerification(request *SubmitEmailVerificationRequest) (response *SubmitEmailVerificationResponse, err error) {
+	response = CreateSubmitEmailVerificationResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) SubmitEmailVerificationWithChan(request *SubmitEmailVerificationRequest) (<-chan *SubmitEmailVerificationResponse, <-chan error) {
+	responseChan := make(chan *SubmitEmailVerificationResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.SubmitEmailVerification(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) SubmitEmailVerificationWithCallback(request *SubmitEmailVerificationRequest, callback func(response *SubmitEmailVerificationResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *SubmitEmailVerificationResponse
+		var err error
+		defer close(result)
+		response, err = client.SubmitEmailVerification(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type SubmitEmailVerificationRequest struct {
+	*requests.RpcRequest
+	SendIfExist  requests.Boolean `position:"Query" name:"SendIfExist"`
+	UserClientIp string           `position:"Query" name:"UserClientIp"`
+	Lang         string           `position:"Query" name:"Lang"`
+	Email        string           `position:"Query" name:"Email"`
+}
+
+type SubmitEmailVerificationResponse struct {
+	*responses.BaseResponse
+	RequestId   string `json:"RequestId" xml:"RequestId"`
+	SuccessList []struct {
+		Email   string `json:"Email" xml:"Email"`
+		Code    string `json:"Code" xml:"Code"`
+		Message string `json:"Message" xml:"Message"`
+	} `json:"SuccessList" xml:"SuccessList"`
+	FailList []struct {
+		Email   string `json:"Email" xml:"Email"`
+		Code    string `json:"Code" xml:"Code"`
+		Message string `json:"Message" xml:"Message"`
+	} `json:"FailList" xml:"FailList"`
+	ExistList []struct {
+		Email   string `json:"Email" xml:"Email"`
+		Code    string `json:"Code" xml:"Code"`
+		Message string `json:"Message" xml:"Message"`
+	} `json:"ExistList" xml:"ExistList"`
+}
+
+func CreateSubmitEmailVerificationRequest() (request *SubmitEmailVerificationRequest) {
+	request = &SubmitEmailVerificationRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain-intl", "2017-12-18", "SubmitEmailVerification", "", "")
+	return
+}
+
+func CreateSubmitEmailVerificationResponse() (response *SubmitEmailVerificationResponse) {
+	response = &SubmitEmailVerificationResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 90 - 0
services/domain-intl/verify_email.go

@@ -0,0 +1,90 @@
+package domain_intl
+
+//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"
+)
+
+func (client *Client) VerifyEmail(request *VerifyEmailRequest) (response *VerifyEmailResponse, err error) {
+	response = CreateVerifyEmailResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) VerifyEmailWithChan(request *VerifyEmailRequest) (<-chan *VerifyEmailResponse, <-chan error) {
+	responseChan := make(chan *VerifyEmailResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.VerifyEmail(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) VerifyEmailWithCallback(request *VerifyEmailRequest, callback func(response *VerifyEmailResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *VerifyEmailResponse
+		var err error
+		defer close(result)
+		response, err = client.VerifyEmail(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type VerifyEmailRequest struct {
+	*requests.RpcRequest
+	UserClientIp string `position:"Query" name:"UserClientIp"`
+	Lang         string `position:"Query" name:"Lang"`
+	Token        string `position:"Query" name:"Token"`
+}
+
+type VerifyEmailResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+func CreateVerifyEmailRequest() (request *VerifyEmailRequest) {
+	request = &VerifyEmailRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain-intl", "2017-12-18", "VerifyEmail", "", "")
+	return
+}
+
+func CreateVerifyEmailResponse() (response *VerifyEmailResponse) {
+	response = &VerifyEmailResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}