Browse Source

Supported API BindInstanceDomains.

sdk-team 6 years ago
parent
commit
3c878f48d6

+ 9 - 0
ChangeLog.txt

@@ -1,3 +1,12 @@
+2019-11-26 Version: v1.60.265
+- Supported API BindInstanceDomains.
+- Supported API UnbindInstanceDomains.
+- Supported API AddCustomLine.
+- Supported API UpdateCustomLine.
+- Supported API DeleteCustomLines.
+- Supported API DescribeCustomLine.
+- Supported API DescribeCustomLines.
+
 2019-11-26 Version: v1.60.264
 - Generated 2015-12-01 for `Dds`.
 

+ 115 - 0
services/alidns/add_custom_line.go

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

+ 108 - 0
services/alidns/add_domain_backup.go

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

+ 108 - 0
services/alidns/bind_instance_domains.go

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

+ 105 - 0
services/alidns/delete_custom_lines.go

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

+ 1 - 0
services/alidns/describe_batch_result_detail.go

@@ -82,6 +82,7 @@ type DescribeBatchResultDetailRequest struct {
 	PageSize     requests.Integer `position:"Query" name:"PageSize"`
 	Lang         string           `position:"Query" name:"Lang"`
 	TaskId       requests.Integer `position:"Query" name:"TaskId"`
+	Status       string           `position:"Query" name:"Status"`
 }
 
 // DescribeBatchResultDetailResponse is the response struct for api DescribeBatchResultDetail

+ 113 - 0
services/alidns/describe_custom_line.go

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

+ 112 - 0
services/alidns/describe_custom_lines.go

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

+ 111 - 0
services/alidns/describe_transfer_domains.go

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

+ 27 - 0
services/alidns/struct_custom_line.go

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

+ 21 - 0
services/alidns/struct_custom_lines.go

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

+ 26 - 0
services/alidns/struct_domain_transfer.go

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

+ 21 - 0
services/alidns/struct_domain_transfers.go

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

+ 23 - 0
services/alidns/struct_ip_segment.go

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

+ 21 - 0
services/alidns/struct_ip_segment_list_in_describe_custom_line.go

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

+ 21 - 0
services/alidns/struct_ip_segment_list_in_describe_custom_lines.go

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

+ 108 - 0
services/alidns/transfer_domain.go

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

+ 108 - 0
services/alidns/unbind_instance_domains.go

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

+ 113 - 0
services/alidns/update_custom_line.go

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