Ver código fonte

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

Signed-off-by: haowei.yao <haowei.yao@alibaba-inc.com>
haowei.yao 7 anos atrás
pai
commit
b04d92b15d

+ 4 - 0
ChangeLog.txt

@@ -1,3 +1,7 @@
+2018-04-26 Version: 1.10.0
+1, Add apis for domain group.
+3, Add fields for QueryDomainList.
+
 2018-04-25 Version: 1.9.6
 1, CreateMyGroups add parameter "options"
 

+ 105 - 0
services/domain/delete_domain_group.go

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

+ 135 - 0
services/domain/query_advanced_domain_list.go

@@ -0,0 +1,135 @@
+package domain
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// QueryAdvancedDomainList invokes the domain.QueryAdvancedDomainList API synchronously
+// api document: https://help.aliyun.com/api/domain/queryadvanceddomainlist.html
+func (client *Client) QueryAdvancedDomainList(request *QueryAdvancedDomainListRequest) (response *QueryAdvancedDomainListResponse, err error) {
+	response = CreateQueryAdvancedDomainListResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// QueryAdvancedDomainListWithChan invokes the domain.QueryAdvancedDomainList API asynchronously
+// api document: https://help.aliyun.com/api/domain/queryadvanceddomainlist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryAdvancedDomainListWithChan(request *QueryAdvancedDomainListRequest) (<-chan *QueryAdvancedDomainListResponse, <-chan error) {
+	responseChan := make(chan *QueryAdvancedDomainListResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.QueryAdvancedDomainList(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// QueryAdvancedDomainListWithCallback invokes the domain.QueryAdvancedDomainList API asynchronously
+// api document: https://help.aliyun.com/api/domain/queryadvanceddomainlist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryAdvancedDomainListWithCallback(request *QueryAdvancedDomainListRequest, callback func(response *QueryAdvancedDomainListResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *QueryAdvancedDomainListResponse
+		var err error
+		defer close(result)
+		response, err = client.QueryAdvancedDomainList(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// QueryAdvancedDomainListRequest is the request struct for api QueryAdvancedDomainList
+type QueryAdvancedDomainListRequest struct {
+	*requests.RpcRequest
+	EndExpirationDate     requests.Integer `position:"Query" name:"EndExpirationDate"`
+	UserClientIp          string           `position:"Query" name:"UserClientIp"`
+	Lang                  string           `position:"Query" name:"Lang"`
+	StartExpirationDate   requests.Integer `position:"Query" name:"StartExpirationDate"`
+	ProductDomainType     string           `position:"Query" name:"ProductDomainType"`
+	PageNum               requests.Integer `position:"Query" name:"PageNum"`
+	PageSize              requests.Integer `position:"Query" name:"PageSize"`
+	DomainGroupId         requests.Integer `position:"Query" name:"DomainGroupId"`
+	DomainNameSort        requests.Boolean `position:"Query" name:"DomainNameSort"`
+	DomainStatus          requests.Integer `position:"Query" name:"DomainStatus"`
+	EndLength             requests.Integer `position:"Query" name:"EndLength"`
+	Excluded              string           `position:"Query" name:"Excluded"`
+	ExcludedPrefix        requests.Boolean `position:"Query" name:"ExcludedPrefix"`
+	ExcludedSuffix        requests.Boolean `position:"Query" name:"ExcludedSuffix"`
+	ExpirationDateSort    requests.Boolean `position:"Query" name:"ExpirationDateSort"`
+	Form                  requests.Integer `position:"Query" name:"Form"`
+	KeyWord               string           `position:"Query" name:"KeyWord"`
+	KeyWordPrefix         requests.Boolean `position:"Query" name:"KeyWordPrefix"`
+	KeyWordSuffix         requests.Boolean `position:"Query" name:"KeyWordSuffix"`
+	ProductDomainTypeSort requests.Boolean `position:"Query" name:"ProductDomainTypeSort"`
+	RegistrationDateSort  requests.Boolean `position:"Query" name:"RegistrationDateSort"`
+	StartLength           requests.Integer `position:"Query" name:"StartLength"`
+	TradeType             requests.Integer `position:"Query" name:"TradeType"`
+	Suffixs               string           `position:"Query" name:"Suffixs"`
+	StartRegistrationDate requests.Integer `position:"Query" name:"StartRegistrationDate"`
+	EndRegistrationDate   requests.Integer `position:"Query" name:"EndRegistrationDate"`
+}
+
+// QueryAdvancedDomainListResponse is the response struct for api QueryAdvancedDomainList
+type QueryAdvancedDomainListResponse struct {
+	*responses.BaseResponse
+	RequestId      string                        `json:"RequestId" xml:"RequestId"`
+	TotalItemNum   int                           `json:"TotalItemNum" xml:"TotalItemNum"`
+	CurrentPageNum int                           `json:"CurrentPageNum" xml:"CurrentPageNum"`
+	TotalPageNum   int                           `json:"TotalPageNum" xml:"TotalPageNum"`
+	PageSize       int                           `json:"PageSize" xml:"PageSize"`
+	PrePage        bool                          `json:"PrePage" xml:"PrePage"`
+	NextPage       bool                          `json:"NextPage" xml:"NextPage"`
+	Data           DataInQueryAdvancedDomainList `json:"Data" xml:"Data"`
+}
+
+// CreateQueryAdvancedDomainListRequest creates a request to invoke QueryAdvancedDomainList API
+func CreateQueryAdvancedDomainListRequest() (request *QueryAdvancedDomainListRequest) {
+	request = &QueryAdvancedDomainListRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Domain", "2018-01-29", "QueryAdvancedDomainList", "", "")
+	return
+}
+
+// CreateQueryAdvancedDomainListResponse creates a response to parse from QueryAdvancedDomainList response
+func CreateQueryAdvancedDomainListResponse() (response *QueryAdvancedDomainListResponse) {
+	response = &QueryAdvancedDomainListResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 1 - 0
services/domain/query_domain_by_instance_id.go

@@ -103,6 +103,7 @@ type QueryDomainByInstanceIdResponse struct {
 	TransferOutStatus            string  `json:"TransferOutStatus" xml:"TransferOutStatus"`
 	RegistrantType               string  `json:"RegistrantType" xml:"RegistrantType"`
 	DomainNameVerificationStatus string  `json:"DomainNameVerificationStatus" xml:"DomainNameVerificationStatus"`
+	RequestId                    string  `json:"RequestId" xml:"RequestId"`
 	DnsList                      DnsList `json:"DnsList" xml:"DnsList"`
 }
 

+ 4 - 3
services/domain/query_domain_group_list.go

@@ -76,9 +76,10 @@ func (client *Client) QueryDomainGroupListWithCallback(request *QueryDomainGroup
 // QueryDomainGroupListRequest is the request struct for api QueryDomainGroupList
 type QueryDomainGroupListRequest struct {
 	*requests.RpcRequest
-	UserClientIp    string `position:"Query" name:"UserClientIp"`
-	Lang            string `position:"Query" name:"Lang"`
-	DomainGroupName string `position:"Query" name:"DomainGroupName"`
+	Lang              string           `position:"Query" name:"Lang"`
+	UserClientIp      string           `position:"Query" name:"UserClientIp"`
+	DomainGroupName   string           `position:"Query" name:"DomainGroupName"`
+	ShowDeletingGroup requests.Boolean `position:"Query" name:"ShowDeletingGroup"`
 }
 
 // QueryDomainGroupListResponse is the response struct for api QueryDomainGroupList

+ 2 - 1
services/domain/query_domain_list.go

@@ -76,11 +76,11 @@ func (client *Client) QueryDomainListWithCallback(request *QueryDomainListReques
 // QueryDomainListRequest is the request struct for api QueryDomainList
 type QueryDomainListRequest struct {
 	*requests.RpcRequest
+	EndExpirationDate     requests.Integer `position:"Query" name:"EndExpirationDate"`
 	StartExpirationDate   requests.Integer `position:"Query" name:"StartExpirationDate"`
 	UserClientIp          string           `position:"Query" name:"UserClientIp"`
 	Lang                  string           `position:"Query" name:"Lang"`
 	QueryType             string           `position:"Query" name:"QueryType"`
-	EndExpirationDate     requests.Integer `position:"Query" name:"EndExpirationDate"`
 	StartRegistrationDate requests.Integer `position:"Query" name:"StartRegistrationDate"`
 	EndRegistrationDate   requests.Integer `position:"Query" name:"EndRegistrationDate"`
 	DomainName            string           `position:"Query" name:"DomainName"`
@@ -89,6 +89,7 @@ type QueryDomainListRequest struct {
 	ProductDomainType     string           `position:"Query" name:"ProductDomainType"`
 	PageNum               requests.Integer `position:"Query" name:"PageNum"`
 	PageSize              requests.Integer `position:"Query" name:"PageSize"`
+	DomainGroupId         string           `position:"Query" name:"DomainGroupId"`
 }
 
 // QueryDomainListResponse is the response struct for api QueryDomainList

+ 104 - 0
services/domain/query_domain_suffix.go

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

+ 105 - 0
services/domain/save_batch_domain_remark.go

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

+ 113 - 0
services/domain/save_domain_group.go

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

+ 21 - 0
services/domain/struct_data_in_query_advanced_domain_list.go

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

+ 1 - 1
services/domain/struct_data_in_query_domain_group_list.go

@@ -17,5 +17,5 @@ package domain
 
 // DataInQueryDomainGroupList is a nested struct in domain response
 type DataInQueryDomainGroupList struct {
-	Domain []Domain `json:"Domain" xml:"Domain"`
+	DomainGroup []DomainGroup `json:"DomainGroup" xml:"DomainGroup"`
 }

+ 17 - 19
services/domain/struct_domain.go

@@ -17,23 +17,21 @@ package domain
 
 // Domain is a nested struct in domain response
 type Domain struct {
-	RegistrationDate     string `json:"RegistrationDate" xml:"RegistrationDate"`
-	RegistrationDateLong int    `json:"RegistrationDateLong" xml:"RegistrationDateLong"`
-	DomainStatus         string `json:"DomainStatus" xml:"DomainStatus"`
-	DomainType           string `json:"DomainType" xml:"DomainType"`
-	Remark               string `json:"Remark" xml:"Remark"`
-	DomainName           string `json:"DomainName" xml:"DomainName"`
-	ProductId            string `json:"ProductId" xml:"ProductId"`
-	ExpirationDateStatus string `json:"ExpirationDateStatus" xml:"ExpirationDateStatus"`
-	ExpirationDateLong   int    `json:"ExpirationDateLong" xml:"ExpirationDateLong"`
-	RegistrantType       string `json:"RegistrantType" xml:"RegistrantType"`
-	ExpirationDate       string `json:"ExpirationDate" xml:"ExpirationDate"`
-	Premium              bool   `json:"Premium" xml:"Premium"`
-	DomainGroupName      string `json:"DomainGroupName" xml:"DomainGroupName"`
-	DomainAuditStatus    string `json:"DomainAuditStatus" xml:"DomainAuditStatus"`
-	CreationDate         string `json:"CreationDate" xml:"CreationDate"`
-	InstanceId           string `json:"InstanceId" xml:"InstanceId"`
-	TotalNumber          int    `json:"TotalNumber" xml:"TotalNumber"`
-	DomainGroupId        string `json:"DomainGroupId" xml:"DomainGroupId"`
-	ModificationDate     string `json:"ModificationDate" xml:"ModificationDate"`
+	RegistrationDate       string `json:"RegistrationDate" xml:"RegistrationDate"`
+	RegistrationDateLong   int    `json:"RegistrationDateLong" xml:"RegistrationDateLong"`
+	DomainStatus           string `json:"DomainStatus" xml:"DomainStatus"`
+	DomainType             string `json:"DomainType" xml:"DomainType"`
+	Remark                 string `json:"Remark" xml:"Remark"`
+	DomainName             string `json:"DomainName" xml:"DomainName"`
+	ProductId              string `json:"ProductId" xml:"ProductId"`
+	ExpirationDateStatus   string `json:"ExpirationDateStatus" xml:"ExpirationDateStatus"`
+	ExpirationDateLong     int    `json:"ExpirationDateLong" xml:"ExpirationDateLong"`
+	RegistrantType         string `json:"RegistrantType" xml:"RegistrantType"`
+	ExpirationDate         string `json:"ExpirationDate" xml:"ExpirationDate"`
+	Premium                bool   `json:"Premium" xml:"Premium"`
+	DomainAuditStatus      string `json:"DomainAuditStatus" xml:"DomainAuditStatus"`
+	DomainGroupName        string `json:"DomainGroupName" xml:"DomainGroupName"`
+	InstanceId             string `json:"InstanceId" xml:"InstanceId"`
+	ExpirationCurrDateDiff int    `json:"ExpirationCurrDateDiff" xml:"ExpirationCurrDateDiff"`
+	DomainGroupId          string `json:"DomainGroupId" xml:"DomainGroupId"`
 }

+ 27 - 0
services/domain/struct_domain_group.go

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

+ 21 - 0
services/domain/struct_suffix_list.go

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

+ 109 - 0
services/domain/update_domain_to_domain_group.go

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