Quellcode durchsuchen

Optimize the nested structs in all response

Signed-off-by: gaort <rutong.grt@alibaba-inc.com>
gaort vor 7 Jahren
Ursprung
Commit
99d29d275c
100 geänderte Dateien mit 1026 neuen und 882 gelöschten Zeilen
  1. 5 0
      ChangeLog.txt
  2. 0 2
      sdk/auth/roa_signature_composer.go
  3. 25 0
      sdk/client_test.go
  4. 1 1
      sdk/errors/server_error.go
  5. 5 5
      sdk/errors/signature_does_not_match_wrapper.go
  6. 4 4
      sdk/requests/roa_request.go
  7. 18 2
      sdk/utils/utils.go
  8. 2 2
      services/alidns/add_batch_domain_records.go
  9. 9 11
      services/alidns/add_domain.go
  10. 2 2
      services/alidns/add_domain_group.go
  11. 6 6
      services/alidns/add_domain_record.go
  12. 2 2
      services/alidns/apply_for_retrieval_domain_name.go
  13. 2 2
      services/alidns/change_domain_group.go
  14. 3 3
      services/alidns/change_domain_of_dns_product.go
  15. 3 3
      services/alidns/check_domain_record.go
  16. 2 2
      services/alidns/delete_batch_domain_records.go
  17. 2 2
      services/alidns/delete_batch_domains.go
  18. 2 2
      services/alidns/delete_domain.go
  19. 2 2
      services/alidns/delete_domain_group.go
  20. 1 1
      services/alidns/delete_domain_record.go
  21. 2 2
      services/alidns/delete_sub_domain_records.go
  22. 7 12
      services/alidns/describe_batch_result.go
  23. 31 33
      services/alidns/describe_dns_product_instance.go
  24. 8 39
      services/alidns/describe_dns_product_instances.go
  25. 8 15
      services/alidns/describe_dnsslb_sub_domains.go
  26. 9 15
      services/alidns/describe_domain_groups.go
  27. 21 32
      services/alidns/describe_domain_info.go
  28. 10 19
      services/alidns/describe_domain_logs.go
  29. 7 11
      services/alidns/describe_domain_ns.go
  30. 1 1
      services/alidns/describe_domain_record_info.go
  31. 12 27
      services/alidns/describe_domain_records.go
  32. 10 14
      services/alidns/describe_domain_whois_info.go
  33. 9 29
      services/alidns/describe_domains.go
  34. 9 17
      services/alidns/describe_record_logs.go
  35. 9 23
      services/alidns/describe_sub_domain_records.go
  36. 3 10
      services/alidns/describe_support_lines.go
  37. 1 1
      services/alidns/get_main_domain_name.go
  38. 5 9
      services/alidns/modify_hichina_domain_dns.go
  39. 2 2
      services/alidns/retrieval_domain_name.go
  40. 3 3
      services/alidns/set_dnsslb_status.go
  41. 2 2
      services/alidns/set_domain_record_status.go
  42. 20 0
      services/alidns/struct_available_ttls.go
  43. 47 0
      services/alidns/struct_dns_product.go
  44. 20 0
      services/alidns/struct_dns_products.go
  45. 20 0
      services/alidns/struct_dns_servers.go
  46. 34 0
      services/alidns/struct_domain.go
  47. 22 0
      services/alidns/struct_domain_group.go
  48. 20 0
      services/alidns/struct_domain_groups.go
  49. 25 0
      services/alidns/struct_domain_log.go
  50. 20 0
      services/alidns/struct_domain_logs.go
  51. 20 0
      services/alidns/struct_domain_records.go
  52. 20 0
      services/alidns/struct_domains.go
  53. 20 0
      services/alidns/struct_expect_dns_servers.go
  54. 21 0
      services/alidns/struct_fail_result.go
  55. 20 0
      services/alidns/struct_fail_results.go
  56. 20 0
      services/alidns/struct_new_dns_servers.go
  57. 20 0
      services/alidns/struct_original_dns_servers.go
  58. 31 0
      services/alidns/struct_record.go
  59. 23 0
      services/alidns/struct_record_line.go
  60. 20 0
      services/alidns/struct_record_lines.go
  61. 24 0
      services/alidns/struct_record_log.go
  62. 20 0
      services/alidns/struct_record_logs.go
  63. 23 0
      services/alidns/struct_slb_sub_domain.go
  64. 20 0
      services/alidns/struct_slb_sub_domains.go
  65. 20 0
      services/alidns/struct_status_list.go
  66. 2 2
      services/alidns/update_batch_domain_records.go
  67. 2 2
      services/alidns/update_dnsslb_weight.go
  68. 3 3
      services/alidns/update_domain_group.go
  69. 7 7
      services/alidns/update_domain_record.go
  70. 11 11
      services/arms/arms_query_data_set.go
  71. 7 7
      services/arms/where_in_dim_query.go
  72. 4 4
      services/arms4finance/arms_query_data_set.go
  73. 5 5
      services/arms4finance/where_in_dim_query.go
  74. 7 24
      services/ccc/add_phone_number.go
  75. 2 2
      services/ccc/assign_users.go
  76. 4 4
      services/ccc/create_skill_group.go
  77. 4 4
      services/ccc/create_user.go
  78. 1 1
      services/ccc/delete_skill_group.go
  79. 7 10
      services/ccc/download_recording.go
  80. 8 11
      services/ccc/get_config.go
  81. 7 12
      services/ccc/get_service_extensions.go
  82. 2 33
      services/ccc/get_user.go
  83. 9 58
      services/ccc/list_call_detail_records.go
  84. 6 39
      services/ccc/list_contact_flows.go
  85. 7 26
      services/ccc/list_phone_numbers.go
  86. 11 32
      services/ccc/list_recordings.go
  87. 1 8
      services/ccc/list_roles.go
  88. 6 29
      services/ccc/list_skill_groups.go
  89. 7 31
      services/ccc/list_skill_groups_of_user.go
  90. 3 42
      services/ccc/list_users.go
  91. 4 50
      services/ccc/list_users_of_skill_group.go
  92. 7 24
      services/ccc/modify_phone_number.go
  93. 4 4
      services/ccc/modify_skill_group.go
  94. 5 5
      services/ccc/modify_user.go
  95. 1 4
      services/ccc/refresh_token.go
  96. 1 1
      services/ccc/remove_phone_number.go
  97. 1 1
      services/ccc/remove_users.go
  98. 6 16
      services/ccc/request_login_info.go
  99. 20 0
      services/ccc/struct_agents.go
  100. 29 0
      services/ccc/struct_call_detail_agent.go

+ 5 - 0
ChangeLog.txt

@@ -1,3 +1,8 @@
+2018-01-31 Version: 0.11.1
+1. Fixed bugs that could cause signature errors while a ROA request contains lots of special symbols
+2. Optimization of the serverError.Error() interface
+3. When there is an error of "SignatureDoseNotMatch", it is now possible to tell user if the AccessKeySecret is wrong or caused by a sdk bug
+
 2018-01-29 Version: 0.11.0
 1, Support dep
 2, Add 4 usage of credentials for each services

+ 0 - 2
sdk/auth/roa_signature_composer.go

@@ -100,8 +100,6 @@ func buildRoaStringToSign(request requests.AcsRequest) (stringToSign string) {
 	return
 }
 
-
-
 func appendIfContain(sourceMap map[string]string, target *bytes.Buffer, key, separator string) {
 	if value, contain := sourceMap[key]; contain && len(value) > 0 {
 		target.WriteString(sourceMap[key])

+ 25 - 0
sdk/client_test.go

@@ -512,6 +512,31 @@ func TestRpcGetForRoleArn(t *testing.T) {
 	assert.Equal(t, "QueryParamValue", responseBean.Params["QueryParam"])
 }
 
+func TestRoaGetForRoleArn(t *testing.T) {
+	request := getFtTestRoaRequest()
+	request.Method = requests.GET
+
+	response := &responses.BaseResponse{}
+	err := clientRoleArn.DoAction(request, response)
+	assert.Nil(t, err)
+	assert.Equal(t, http.StatusOK, response.GetHttpStatus(), response.GetHttpContentString())
+	assert.NotNil(t, response.GetHttpContentString())
+
+	var responseBean MockResponse
+	json.Unmarshal([]byte(response.GetHttpContentString()), &responseBean)
+
+	assert.Equal(t, "QueryParamValue", responseBean.Params["QueryParam"])
+
+	err = clientRoleArn.DoAction(request, response)
+	assert.Nil(t, err)
+	assert.Equal(t, http.StatusOK, response.GetHttpStatus(), response.GetHttpContentString())
+	assert.NotNil(t, response.GetHttpContentString())
+
+	json.Unmarshal([]byte(response.GetHttpContentString()), &responseBean)
+
+	assert.Equal(t, "QueryParamValue", responseBean.Params["QueryParam"])
+}
+
 //测试Sts的时候要先获取一套stsToken和ak,由于有时效性,所以先把代码注释掉,测试的时候先获取stsToken完成后再调用
 //func TestRpcGetForSts(t *testing.T) {
 //	request := getFtTestRpcRequest()

+ 1 - 1
sdk/errors/server_error.go

@@ -15,8 +15,8 @@
 package errors
 
 import (
-	"fmt"
 	"encoding/json"
+	"fmt"
 	"github.com/jmespath/go-jmespath"
 )
 

+ 5 - 5
sdk/errors/signature_does_not_match_wrapper.go

@@ -12,14 +12,14 @@ func (*SignatureDostNotMatchWrapper) tryWrap(error *ServerError, wrapInfo map[st
 	clientStringToSign := wrapInfo["StringToSign"]
 	if error.errorCode == SignatureDostNotMatchErrorCode && clientStringToSign != "" {
 		message := error.message
-		if strings.HasPrefix(message, MessagePrefix){
-			serverStringToSign := message[len(MessagePrefix):len(message)]
-			if clientStringToSign == serverStringToSign{
+		if strings.HasPrefix(message, MessagePrefix) {
+			serverStringToSign := message[len(MessagePrefix):]
+			if clientStringToSign == serverStringToSign {
 				// user secret is error
 				error.recommend = "Please check you AccessKeySecret"
-			}else{
+			} else {
 				error.recommend = "This may be a bug with the SDK and we hope you can submit this question in the " +
-						"github issue(https://github.com/aliyun/alibaba-cloud-sdk-go/issues), thanks very much"
+					"github issue(https://github.com/aliyun/alibaba-cloud-sdk-go/issues), thanks very much"
 			}
 		}
 		return true, error

+ 4 - 4
sdk/requests/roa_request.go

@@ -18,9 +18,9 @@ import (
 	"bytes"
 	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/utils"
 	"io"
+	"net/url"
 	"sort"
 	"strings"
-	"net/url"
 )
 
 type RoaRequest struct {
@@ -83,9 +83,9 @@ func (request *RoaRequest) buildQueries(needParamEncode bool) string {
 		urlBuilder.WriteString(queryKey)
 		if value := queryParams[queryKey]; len(value) > 0 {
 			urlBuilder.WriteString("=")
-			if needParamEncode{
+			if needParamEncode {
 				urlBuilder.WriteString(url.QueryEscape(value))
-			}else{
+			} else {
 				urlBuilder.WriteString(value)
 			}
 		}
@@ -99,7 +99,7 @@ func (request *RoaRequest) buildQueries(needParamEncode bool) string {
 	return request.queries
 }
 
-func popStandardUrlencode(stringToSign string)(result string){
+func popStandardUrlencode(stringToSign string) (result string) {
 	result = strings.Replace(stringToSign, "+", "%20", -1)
 	result = strings.Replace(result, "*", "%2A", -1)
 	result = strings.Replace(result, "%7E", "~", -1)

+ 18 - 2
sdk/utils/utils.go

@@ -27,6 +27,10 @@ import (
 	"time"
 )
 
+// if you use go 1.10 or higher, you can hack this util by these to avoid "TimeZone.zip not found" on Windows
+var LoadLocationFromTZData func(name string, data []byte) (*time.Location, error) = nil
+var TZData []byte = nil
+
 func GetUUIDV4() (uuidHex string) {
 	uuidV4 := uuid.NewV4()
 	uuidHex = hex.EncodeToString(uuidV4.Bytes())
@@ -42,7 +46,13 @@ func GetMD5Base64(bytes []byte) (base64Value string) {
 }
 
 func GetTimeInFormatISO8601() (timeStr string) {
-	gmt, err := time.LoadLocation("GMT")
+	var gmt *time.Location
+	var err error
+	if LoadLocationFromTZData != nil && TZData != nil {
+		gmt, err = LoadLocationFromTZData("GMT", TZData)
+	} else {
+		gmt, err = time.LoadLocation("GMT")
+	}
 	if err != nil {
 		panic(err)
 	}
@@ -50,7 +60,13 @@ func GetTimeInFormatISO8601() (timeStr string) {
 }
 
 func GetTimeInFormatRFC2616() (timeStr string) {
-	gmt, err := time.LoadLocation("GMT")
+	var gmt *time.Location
+	var err error
+	if LoadLocationFromTZData != nil && TZData != nil {
+		gmt, err = LoadLocationFromTZData("GMT", TZData)
+	} else {
+		gmt, err = time.LoadLocation("GMT")
+	}
 	if err != nil {
 		panic(err)
 	}

+ 2 - 2
services/alidns/add_batch_domain_records.go

@@ -67,9 +67,9 @@ func (client *Client) AddBatchDomainRecordsWithCallback(request *AddBatchDomainR
 
 type AddBatchDomainRecordsRequest struct {
 	*requests.RpcRequest
-	Records      string `position:"Query" name:"Records"`
-	UserClientIp string `position:"Query" name:"UserClientIp"`
 	Lang         string `position:"Query" name:"Lang"`
+	UserClientIp string `position:"Query" name:"UserClientIp"`
+	Records      string `position:"Query" name:"Records"`
 }
 
 type AddBatchDomainRecordsResponse struct {

+ 9 - 11
services/alidns/add_domain.go

@@ -67,23 +67,21 @@ func (client *Client) AddDomainWithCallback(request *AddDomainRequest, callback
 
 type AddDomainRequest struct {
 	*requests.RpcRequest
+	Lang         string `position:"Query" name:"Lang"`
+	UserClientIp string `position:"Query" name:"UserClientIp"`
 	DomainName   string `position:"Query" name:"DomainName"`
 	GroupId      string `position:"Query" name:"GroupId"`
-	UserClientIp string `position:"Query" name:"UserClientIp"`
-	Lang         string `position:"Query" name:"Lang"`
 }
 
 type AddDomainResponse struct {
 	*responses.BaseResponse
-	RequestId  string `json:"RequestId" xml:"RequestId"`
-	DomainId   string `json:"DomainId" xml:"DomainId"`
-	DomainName string `json:"DomainName" xml:"DomainName"`
-	PunyCode   string `json:"PunyCode" xml:"PunyCode"`
-	GroupId    string `json:"GroupId" xml:"GroupId"`
-	GroupName  string `json:"GroupName" xml:"GroupName"`
-	DnsServers struct {
-		DnsServer []string `json:"DnsServer" xml:"DnsServer"`
-	} `json:"DnsServers" xml:"DnsServers"`
+	RequestId  string     `json:"RequestId" xml:"RequestId"`
+	DomainId   string     `json:"DomainId" xml:"DomainId"`
+	DomainName string     `json:"DomainName" xml:"DomainName"`
+	PunyCode   string     `json:"PunyCode" xml:"PunyCode"`
+	GroupId    string     `json:"GroupId" xml:"GroupId"`
+	GroupName  string     `json:"GroupName" xml:"GroupName"`
+	DnsServers DnsServers `json:"DnsServers" xml:"DnsServers"`
 }
 
 func CreateAddDomainRequest() (request *AddDomainRequest) {

+ 2 - 2
services/alidns/add_domain_group.go

@@ -67,9 +67,9 @@ func (client *Client) AddDomainGroupWithCallback(request *AddDomainGroupRequest,
 
 type AddDomainGroupRequest struct {
 	*requests.RpcRequest
-	GroupName    string `position:"Query" name:"GroupName"`
-	UserClientIp string `position:"Query" name:"UserClientIp"`
 	Lang         string `position:"Query" name:"Lang"`
+	UserClientIp string `position:"Query" name:"UserClientIp"`
+	GroupName    string `position:"Query" name:"GroupName"`
 }
 
 type AddDomainGroupResponse struct {

+ 6 - 6
services/alidns/add_domain_record.go

@@ -67,15 +67,15 @@ func (client *Client) AddDomainRecordWithCallback(request *AddDomainRecordReques
 
 type AddDomainRecordRequest struct {
 	*requests.RpcRequest
+	Lang         string           `position:"Query" name:"Lang"`
+	UserClientIp string           `position:"Query" name:"UserClientIp"`
 	DomainName   string           `position:"Query" name:"DomainName"`
-	Priority     requests.Integer `position:"Query" name:"Priority"`
-	Value        string           `position:"Query" name:"Value"`
 	RR           string           `position:"Query" name:"RR"`
-	Line         string           `position:"Query" name:"Line"`
-	TTL          requests.Integer `position:"Query" name:"TTL"`
 	Type         string           `position:"Query" name:"Type"`
-	UserClientIp string           `position:"Query" name:"UserClientIp"`
-	Lang         string           `position:"Query" name:"Lang"`
+	Value        string           `position:"Query" name:"Value"`
+	TTL          requests.Integer `position:"Query" name:"TTL"`
+	Priority     requests.Integer `position:"Query" name:"Priority"`
+	Line         string           `position:"Query" name:"Line"`
 }
 
 type AddDomainRecordResponse struct {

+ 2 - 2
services/alidns/apply_for_retrieval_domain_name.go

@@ -67,9 +67,9 @@ func (client *Client) ApplyForRetrievalDomainNameWithCallback(request *ApplyForR
 
 type ApplyForRetrievalDomainNameRequest struct {
 	*requests.RpcRequest
-	DomainName   string `position:"Query" name:"DomainName"`
-	UserClientIp string `position:"Query" name:"UserClientIp"`
 	Lang         string `position:"Query" name:"Lang"`
+	UserClientIp string `position:"Query" name:"UserClientIp"`
+	DomainName   string `position:"Query" name:"DomainName"`
 }
 
 type ApplyForRetrievalDomainNameResponse struct {

+ 2 - 2
services/alidns/change_domain_group.go

@@ -67,10 +67,10 @@ func (client *Client) ChangeDomainGroupWithCallback(request *ChangeDomainGroupRe
 
 type ChangeDomainGroupRequest struct {
 	*requests.RpcRequest
+	Lang         string `position:"Query" name:"Lang"`
+	UserClientIp string `position:"Query" name:"UserClientIp"`
 	DomainName   string `position:"Query" name:"DomainName"`
 	GroupId      string `position:"Query" name:"GroupId"`
-	UserClientIp string `position:"Query" name:"UserClientIp"`
-	Lang         string `position:"Query" name:"Lang"`
 }
 
 type ChangeDomainGroupResponse struct {

+ 3 - 3
services/alidns/change_domain_of_dns_product.go

@@ -67,11 +67,11 @@ func (client *Client) ChangeDomainOfDnsProductWithCallback(request *ChangeDomain
 
 type ChangeDomainOfDnsProductRequest struct {
 	*requests.RpcRequest
-	NewDomain    string           `position:"Query" name:"NewDomain"`
-	Force        requests.Boolean `position:"Query" name:"Force"`
-	UserClientIp string           `position:"Query" name:"UserClientIp"`
 	Lang         string           `position:"Query" name:"Lang"`
+	UserClientIp string           `position:"Query" name:"UserClientIp"`
 	InstanceId   string           `position:"Query" name:"InstanceId"`
+	NewDomain    string           `position:"Query" name:"NewDomain"`
+	Force        requests.Boolean `position:"Query" name:"Force"`
 }
 
 type ChangeDomainOfDnsProductResponse struct {

+ 3 - 3
services/alidns/check_domain_record.go

@@ -67,12 +67,12 @@ func (client *Client) CheckDomainRecordWithCallback(request *CheckDomainRecordRe
 
 type CheckDomainRecordRequest struct {
 	*requests.RpcRequest
+	Lang         string `position:"Query" name:"Lang"`
+	UserClientIp string `position:"Query" name:"UserClientIp"`
 	DomainName   string `position:"Query" name:"DomainName"`
-	Value        string `position:"Query" name:"Value"`
 	RR           string `position:"Query" name:"RR"`
 	Type         string `position:"Query" name:"Type"`
-	UserClientIp string `position:"Query" name:"UserClientIp"`
-	Lang         string `position:"Query" name:"Lang"`
+	Value        string `position:"Query" name:"Value"`
 }
 
 type CheckDomainRecordResponse struct {

+ 2 - 2
services/alidns/delete_batch_domain_records.go

@@ -67,9 +67,9 @@ func (client *Client) DeleteBatchDomainRecordsWithCallback(request *DeleteBatchD
 
 type DeleteBatchDomainRecordsRequest struct {
 	*requests.RpcRequest
-	Records      string `position:"Query" name:"Records"`
-	UserClientIp string `position:"Query" name:"UserClientIp"`
 	Lang         string `position:"Query" name:"Lang"`
+	UserClientIp string `position:"Query" name:"UserClientIp"`
+	Records      string `position:"Query" name:"Records"`
 }
 
 type DeleteBatchDomainRecordsResponse struct {

+ 2 - 2
services/alidns/delete_batch_domains.go

@@ -67,9 +67,9 @@ func (client *Client) DeleteBatchDomainsWithCallback(request *DeleteBatchDomains
 
 type DeleteBatchDomainsRequest struct {
 	*requests.RpcRequest
-	Domains      string `position:"Query" name:"Domains"`
-	UserClientIp string `position:"Query" name:"UserClientIp"`
 	Lang         string `position:"Query" name:"Lang"`
+	UserClientIp string `position:"Query" name:"UserClientIp"`
+	Domains      string `position:"Query" name:"Domains"`
 }
 
 type DeleteBatchDomainsResponse struct {

+ 2 - 2
services/alidns/delete_domain.go

@@ -67,9 +67,9 @@ func (client *Client) DeleteDomainWithCallback(request *DeleteDomainRequest, cal
 
 type DeleteDomainRequest struct {
 	*requests.RpcRequest
-	DomainName   string `position:"Query" name:"DomainName"`
-	UserClientIp string `position:"Query" name:"UserClientIp"`
 	Lang         string `position:"Query" name:"Lang"`
+	UserClientIp string `position:"Query" name:"UserClientIp"`
+	DomainName   string `position:"Query" name:"DomainName"`
 }
 
 type DeleteDomainResponse struct {

+ 2 - 2
services/alidns/delete_domain_group.go

@@ -67,9 +67,9 @@ func (client *Client) DeleteDomainGroupWithCallback(request *DeleteDomainGroupRe
 
 type DeleteDomainGroupRequest struct {
 	*requests.RpcRequest
-	GroupId      string `position:"Query" name:"GroupId"`
-	UserClientIp string `position:"Query" name:"UserClientIp"`
 	Lang         string `position:"Query" name:"Lang"`
+	UserClientIp string `position:"Query" name:"UserClientIp"`
+	GroupId      string `position:"Query" name:"GroupId"`
 }
 
 type DeleteDomainGroupResponse struct {

+ 1 - 1
services/alidns/delete_domain_record.go

@@ -67,8 +67,8 @@ func (client *Client) DeleteDomainRecordWithCallback(request *DeleteDomainRecord
 
 type DeleteDomainRecordRequest struct {
 	*requests.RpcRequest
-	UserClientIp string `position:"Query" name:"UserClientIp"`
 	Lang         string `position:"Query" name:"Lang"`
+	UserClientIp string `position:"Query" name:"UserClientIp"`
 	RecordId     string `position:"Query" name:"RecordId"`
 }
 

+ 2 - 2
services/alidns/delete_sub_domain_records.go

@@ -67,11 +67,11 @@ func (client *Client) DeleteSubDomainRecordsWithCallback(request *DeleteSubDomai
 
 type DeleteSubDomainRecordsRequest struct {
 	*requests.RpcRequest
+	Lang         string `position:"Query" name:"Lang"`
+	UserClientIp string `position:"Query" name:"UserClientIp"`
 	DomainName   string `position:"Query" name:"DomainName"`
 	RR           string `position:"Query" name:"RR"`
 	Type         string `position:"Query" name:"Type"`
-	UserClientIp string `position:"Query" name:"UserClientIp"`
-	Lang         string `position:"Query" name:"Lang"`
 }
 
 type DeleteSubDomainRecordsResponse struct {

+ 7 - 12
services/alidns/describe_batch_result.go

@@ -67,24 +67,19 @@ func (client *Client) DescribeBatchResultWithCallback(request *DescribeBatchResu
 
 type DescribeBatchResultRequest struct {
 	*requests.RpcRequest
-	UserClientIp string `position:"Query" name:"UserClientIp"`
 	Lang         string `position:"Query" name:"Lang"`
+	UserClientIp string `position:"Query" name:"UserClientIp"`
 	TraceId      string `position:"Query" name:"TraceId"`
 }
 
 type DescribeBatchResultResponse struct {
 	*responses.BaseResponse
-	RequestId     string `json:"RequestId" xml:"RequestId"`
-	TraceId       string `json:"TraceId" xml:"TraceId"`
-	Status        int    `json:"Status" xml:"Status"`
-	BatchCount    int    `json:"BatchCount" xml:"BatchCount"`
-	SuccessNumber int    `json:"SuccessNumber" xml:"SuccessNumber"`
-	FailResults   struct {
-		FailResult []struct {
-			BatchIndex string `json:"BatchIndex" xml:"BatchIndex"`
-			ErrorCode  string `json:"ErrorCode" xml:"ErrorCode"`
-		} `json:"FailResult" xml:"FailResult"`
-	} `json:"FailResults" xml:"FailResults"`
+	RequestId     string      `json:"RequestId" xml:"RequestId"`
+	TraceId       string      `json:"TraceId" xml:"TraceId"`
+	Status        int         `json:"Status" xml:"Status"`
+	BatchCount    int         `json:"BatchCount" xml:"BatchCount"`
+	SuccessNumber int         `json:"SuccessNumber" xml:"SuccessNumber"`
+	FailResults   FailResults `json:"FailResults" xml:"FailResults"`
 }
 
 func CreateDescribeBatchResultRequest() (request *DescribeBatchResultRequest) {

+ 31 - 33
services/alidns/describe_dns_product_instance.go

@@ -67,45 +67,43 @@ func (client *Client) DescribeDnsProductInstanceWithCallback(request *DescribeDn
 
 type DescribeDnsProductInstanceRequest struct {
 	*requests.RpcRequest
-	UserClientIp string `position:"Query" name:"UserClientIp"`
 	Lang         string `position:"Query" name:"Lang"`
+	UserClientIp string `position:"Query" name:"UserClientIp"`
 	InstanceId   string `position:"Query" name:"InstanceId"`
 }
 
 type DescribeDnsProductInstanceResponse struct {
 	*responses.BaseResponse
-	RequestId             string `json:"RequestId" xml:"RequestId"`
-	InstanceId            string `json:"InstanceId" xml:"InstanceId"`
-	VersionCode           string `json:"VersionCode" xml:"VersionCode"`
-	VersionName           string `json:"VersionName" xml:"VersionName"`
-	StartTime             string `json:"StartTime" xml:"StartTime"`
-	StartTimestamp        int    `json:"StartTimestamp" xml:"StartTimestamp"`
-	EndTime               string `json:"EndTime" xml:"EndTime"`
-	EndTimestamp          int    `json:"EndTimestamp" xml:"EndTimestamp"`
-	Domain                string `json:"Domain" xml:"Domain"`
-	BindCount             int    `json:"BindCount" xml:"BindCount"`
-	BindUsedCount         int    `json:"BindUsedCount" xml:"BindUsedCount"`
-	TTLMinValue           int    `json:"TTLMinValue" xml:"TTLMinValue"`
-	SubDomainLevel        int    `json:"SubDomainLevel" xml:"SubDomainLevel"`
-	DnsSLBCount           int    `json:"DnsSLBCount" xml:"DnsSLBCount"`
-	URLForwardCount       int    `json:"URLForwardCount" xml:"URLForwardCount"`
-	DDosDefendFlow        int    `json:"DDosDefendFlow" xml:"DDosDefendFlow"`
-	DDosDefendQuery       int    `json:"DDosDefendQuery" xml:"DDosDefendQuery"`
-	OverseaDDosDefendFlow int    `json:"OverseaDDosDefendFlow" xml:"OverseaDDosDefendFlow"`
-	SearchEngineLines     string `json:"SearchEngineLines" xml:"SearchEngineLines"`
-	ISPLines              string `json:"ISPLines" xml:"ISPLines"`
-	ISPRegionLines        string `json:"ISPRegionLines" xml:"ISPRegionLines"`
-	OverseaLine           string `json:"OverseaLine" xml:"OverseaLine"`
-	MonitorNodeCount      int    `json:"MonitorNodeCount" xml:"MonitorNodeCount"`
-	MonitorFrequency      int    `json:"MonitorFrequency" xml:"MonitorFrequency"`
-	MonitorTaskCount      int    `json:"MonitorTaskCount" xml:"MonitorTaskCount"`
-	RegionLines           bool   `json:"RegionLines" xml:"RegionLines"`
-	Gslb                  bool   `json:"Gslb" xml:"Gslb"`
-	InClean               bool   `json:"InClean" xml:"InClean"`
-	InBlackHole           bool   `json:"InBlackHole" xml:"InBlackHole"`
-	DnsServers            struct {
-		DnsServer []string `json:"DnsServer" xml:"DnsServer"`
-	} `json:"DnsServers" xml:"DnsServers"`
+	RequestId             string     `json:"RequestId" xml:"RequestId"`
+	InstanceId            string     `json:"InstanceId" xml:"InstanceId"`
+	VersionCode           string     `json:"VersionCode" xml:"VersionCode"`
+	VersionName           string     `json:"VersionName" xml:"VersionName"`
+	StartTime             string     `json:"StartTime" xml:"StartTime"`
+	StartTimestamp        int        `json:"StartTimestamp" xml:"StartTimestamp"`
+	EndTime               string     `json:"EndTime" xml:"EndTime"`
+	EndTimestamp          int        `json:"EndTimestamp" xml:"EndTimestamp"`
+	Domain                string     `json:"Domain" xml:"Domain"`
+	BindCount             int        `json:"BindCount" xml:"BindCount"`
+	BindUsedCount         int        `json:"BindUsedCount" xml:"BindUsedCount"`
+	TTLMinValue           int        `json:"TTLMinValue" xml:"TTLMinValue"`
+	SubDomainLevel        int        `json:"SubDomainLevel" xml:"SubDomainLevel"`
+	DnsSLBCount           int        `json:"DnsSLBCount" xml:"DnsSLBCount"`
+	URLForwardCount       int        `json:"URLForwardCount" xml:"URLForwardCount"`
+	DDosDefendFlow        int        `json:"DDosDefendFlow" xml:"DDosDefendFlow"`
+	DDosDefendQuery       int        `json:"DDosDefendQuery" xml:"DDosDefendQuery"`
+	OverseaDDosDefendFlow int        `json:"OverseaDDosDefendFlow" xml:"OverseaDDosDefendFlow"`
+	SearchEngineLines     string     `json:"SearchEngineLines" xml:"SearchEngineLines"`
+	ISPLines              string     `json:"ISPLines" xml:"ISPLines"`
+	ISPRegionLines        string     `json:"ISPRegionLines" xml:"ISPRegionLines"`
+	OverseaLine           string     `json:"OverseaLine" xml:"OverseaLine"`
+	MonitorNodeCount      int        `json:"MonitorNodeCount" xml:"MonitorNodeCount"`
+	MonitorFrequency      int        `json:"MonitorFrequency" xml:"MonitorFrequency"`
+	MonitorTaskCount      int        `json:"MonitorTaskCount" xml:"MonitorTaskCount"`
+	RegionLines           bool       `json:"RegionLines" xml:"RegionLines"`
+	Gslb                  bool       `json:"Gslb" xml:"Gslb"`
+	InClean               bool       `json:"InClean" xml:"InClean"`
+	InBlackHole           bool       `json:"InBlackHole" xml:"InBlackHole"`
+	DnsServers            DnsServers `json:"DnsServers" xml:"DnsServers"`
 }
 
 func CreateDescribeDnsProductInstanceRequest() (request *DescribeDnsProductInstanceRequest) {

+ 8 - 39
services/alidns/describe_dns_product_instances.go

@@ -67,51 +67,20 @@ func (client *Client) DescribeDnsProductInstancesWithCallback(request *DescribeD
 
 type DescribeDnsProductInstancesRequest struct {
 	*requests.RpcRequest
-	PageSize     requests.Integer `position:"Query" name:"PageSize"`
+	Lang         string           `position:"Query" name:"Lang"`
+	UserClientIp string           `position:"Query" name:"UserClientIp"`
 	PageNumber   requests.Integer `position:"Query" name:"PageNumber"`
+	PageSize     requests.Integer `position:"Query" name:"PageSize"`
 	VersionCode  string           `position:"Query" name:"VersionCode"`
-	UserClientIp string           `position:"Query" name:"UserClientIp"`
-	Lang         string           `position:"Query" name:"Lang"`
 }
 
 type DescribeDnsProductInstancesResponse struct {
 	*responses.BaseResponse
-	RequestId   string `json:"RequestId" xml:"RequestId"`
-	TotalCount  int    `json:"TotalCount" xml:"TotalCount"`
-	PageNumber  int    `json:"PageNumber" xml:"PageNumber"`
-	PageSize    int    `json:"PageSize" xml:"PageSize"`
-	DnsProducts struct {
-		DnsProduct []struct {
-			InstanceId            string `json:"InstanceId" xml:"InstanceId"`
-			VersionCode           string `json:"VersionCode" xml:"VersionCode"`
-			VersionName           string `json:"VersionName" xml:"VersionName"`
-			StartTime             string `json:"StartTime" xml:"StartTime"`
-			EndTime               string `json:"EndTime" xml:"EndTime"`
-			StartTimestamp        int    `json:"StartTimestamp" xml:"StartTimestamp"`
-			EndTimestamp          int    `json:"EndTimestamp" xml:"EndTimestamp"`
-			Domain                string `json:"Domain" xml:"Domain"`
-			BindCount             int    `json:"BindCount" xml:"BindCount"`
-			BindUsedCount         int    `json:"BindUsedCount" xml:"BindUsedCount"`
-			TTLMinValue           int    `json:"TTLMinValue" xml:"TTLMinValue"`
-			SubDomainLevel        int    `json:"SubDomainLevel" xml:"SubDomainLevel"`
-			DnsSLBCount           int    `json:"DnsSLBCount" xml:"DnsSLBCount"`
-			URLForwardCount       int    `json:"URLForwardCount" xml:"URLForwardCount"`
-			DDosDefendFlow        int    `json:"DDosDefendFlow" xml:"DDosDefendFlow"`
-			DDosDefendQuery       int    `json:"DDosDefendQuery" xml:"DDosDefendQuery"`
-			OverseaDDosDefendFlow int    `json:"OverseaDDosDefendFlow" xml:"OverseaDDosDefendFlow"`
-			SearchEngineLines     string `json:"SearchEngineLines" xml:"SearchEngineLines"`
-			ISPLines              string `json:"ISPLines" xml:"ISPLines"`
-			ISPRegionLines        string `json:"ISPRegionLines" xml:"ISPRegionLines"`
-			OverseaLine           string `json:"OverseaLine" xml:"OverseaLine"`
-			MonitorNodeCount      int    `json:"MonitorNodeCount" xml:"MonitorNodeCount"`
-			MonitorFrequency      int    `json:"MonitorFrequency" xml:"MonitorFrequency"`
-			MonitorTaskCount      int    `json:"MonitorTaskCount" xml:"MonitorTaskCount"`
-			RegionLines           bool   `json:"RegionLines" xml:"RegionLines"`
-			Gslb                  bool   `json:"Gslb" xml:"Gslb"`
-			InClean               bool   `json:"InClean" xml:"InClean"`
-			InBlackHole           bool   `json:"InBlackHole" xml:"InBlackHole"`
-		} `json:"DnsProduct" xml:"DnsProduct"`
-	} `json:"DnsProducts" xml:"DnsProducts"`
+	RequestId   string      `json:"RequestId" xml:"RequestId"`
+	TotalCount  int         `json:"TotalCount" xml:"TotalCount"`
+	PageNumber  int         `json:"PageNumber" xml:"PageNumber"`
+	PageSize    int         `json:"PageSize" xml:"PageSize"`
+	DnsProducts DnsProducts `json:"DnsProducts" xml:"DnsProducts"`
 }
 
 func CreateDescribeDnsProductInstancesRequest() (request *DescribeDnsProductInstancesRequest) {

+ 8 - 15
services/alidns/describe_dnsslb_sub_domains.go

@@ -67,27 +67,20 @@ func (client *Client) DescribeDNSSLBSubDomainsWithCallback(request *DescribeDNSS
 
 type DescribeDNSSLBSubDomainsRequest struct {
 	*requests.RpcRequest
-	PageSize     requests.Integer `position:"Query" name:"PageSize"`
+	Lang         string           `position:"Query" name:"Lang"`
+	UserClientIp string           `position:"Query" name:"UserClientIp"`
 	DomainName   string           `position:"Query" name:"DomainName"`
 	PageNumber   requests.Integer `position:"Query" name:"PageNumber"`
-	UserClientIp string           `position:"Query" name:"UserClientIp"`
-	Lang         string           `position:"Query" name:"Lang"`
+	PageSize     requests.Integer `position:"Query" name:"PageSize"`
 }
 
 type DescribeDNSSLBSubDomainsResponse struct {
 	*responses.BaseResponse
-	RequestId     string `json:"RequestId" xml:"RequestId"`
-	TotalCount    int    `json:"TotalCount" xml:"TotalCount"`
-	PageNumber    int    `json:"PageNumber" xml:"PageNumber"`
-	PageSize      int    `json:"PageSize" xml:"PageSize"`
-	SlbSubDomains struct {
-		SlbSubDomain []struct {
-			SubDomain   string `json:"SubDomain" xml:"SubDomain"`
-			RecordCount int    `json:"RecordCount" xml:"RecordCount"`
-			Open        bool   `json:"Open" xml:"Open"`
-			Type        string `json:"Type" xml:"Type"`
-		} `json:"SlbSubDomain" xml:"SlbSubDomain"`
-	} `json:"SlbSubDomains" xml:"SlbSubDomains"`
+	RequestId     string        `json:"RequestId" xml:"RequestId"`
+	TotalCount    int           `json:"TotalCount" xml:"TotalCount"`
+	PageNumber    int           `json:"PageNumber" xml:"PageNumber"`
+	PageSize      int           `json:"PageSize" xml:"PageSize"`
+	SlbSubDomains SlbSubDomains `json:"SlbSubDomains" xml:"SlbSubDomains"`
 }
 
 func CreateDescribeDNSSLBSubDomainsRequest() (request *DescribeDNSSLBSubDomainsRequest) {

+ 9 - 15
services/alidns/describe_domain_groups.go

@@ -67,26 +67,20 @@ func (client *Client) DescribeDomainGroupsWithCallback(request *DescribeDomainGr
 
 type DescribeDomainGroupsRequest struct {
 	*requests.RpcRequest
-	PageSize     requests.Integer `position:"Query" name:"PageSize"`
-	PageNumber   requests.Integer `position:"Query" name:"PageNumber"`
-	KeyWord      string           `position:"Query" name:"KeyWord"`
-	UserClientIp string           `position:"Query" name:"UserClientIp"`
 	Lang         string           `position:"Query" name:"Lang"`
+	UserClientIp string           `position:"Query" name:"UserClientIp"`
+	KeyWord      string           `position:"Query" name:"KeyWord"`
+	PageNumber   requests.Integer `position:"Query" name:"PageNumber"`
+	PageSize     requests.Integer `position:"Query" name:"PageSize"`
 }
 
 type DescribeDomainGroupsResponse struct {
 	*responses.BaseResponse
-	RequestId    string `json:"RequestId" xml:"RequestId"`
-	TotalCount   int    `json:"TotalCount" xml:"TotalCount"`
-	PageNumber   int    `json:"PageNumber" xml:"PageNumber"`
-	PageSize     int    `json:"PageSize" xml:"PageSize"`
-	DomainGroups struct {
-		DomainGroup []struct {
-			GroupId     string `json:"GroupId" xml:"GroupId"`
-			GroupName   string `json:"GroupName" xml:"GroupName"`
-			DomainCount int    `json:"DomainCount" xml:"DomainCount"`
-		} `json:"DomainGroup" xml:"DomainGroup"`
-	} `json:"DomainGroups" xml:"DomainGroups"`
+	RequestId    string       `json:"RequestId" xml:"RequestId"`
+	TotalCount   int          `json:"TotalCount" xml:"TotalCount"`
+	PageNumber   int          `json:"PageNumber" xml:"PageNumber"`
+	PageSize     int          `json:"PageSize" xml:"PageSize"`
+	DomainGroups DomainGroups `json:"DomainGroups" xml:"DomainGroups"`
 }
 
 func CreateDescribeDomainGroupsRequest() (request *DescribeDomainGroupsRequest) {

+ 21 - 32
services/alidns/describe_domain_info.go

@@ -67,43 +67,32 @@ func (client *Client) DescribeDomainInfoWithCallback(request *DescribeDomainInfo
 
 type DescribeDomainInfoRequest struct {
 	*requests.RpcRequest
-	NeedDetailAttributes requests.Boolean `position:"Query" name:"NeedDetailAttributes"`
-	DomainName           string           `position:"Query" name:"DomainName"`
-	UserClientIp         string           `position:"Query" name:"UserClientIp"`
 	Lang                 string           `position:"Query" name:"Lang"`
+	UserClientIp         string           `position:"Query" name:"UserClientIp"`
+	DomainName           string           `position:"Query" name:"DomainName"`
+	NeedDetailAttributes requests.Boolean `position:"Query" name:"NeedDetailAttributes"`
 }
 
 type DescribeDomainInfoResponse struct {
 	*responses.BaseResponse
-	RequestId          string `json:"RequestId" xml:"RequestId"`
-	DomainId           string `json:"DomainId" xml:"DomainId"`
-	DomainName         string `json:"DomainName" xml:"DomainName"`
-	PunyCode           string `json:"PunyCode" xml:"PunyCode"`
-	AliDomain          bool   `json:"AliDomain" xml:"AliDomain"`
-	Remark             string `json:"Remark" xml:"Remark"`
-	GroupId            string `json:"GroupId" xml:"GroupId"`
-	GroupName          string `json:"GroupName" xml:"GroupName"`
-	InstanceId         string `json:"InstanceId" xml:"InstanceId"`
-	VersionCode        string `json:"VersionCode" xml:"VersionCode"`
-	VersionName        string `json:"VersionName" xml:"VersionName"`
-	MinTtl             int    `json:"MinTtl" xml:"MinTtl"`
-	RecordLineTreeJson string `json:"RecordLineTreeJson" xml:"RecordLineTreeJson"`
-	LineType           string `json:"LineType" xml:"LineType"`
-	RegionLines        bool   `json:"RegionLines" xml:"RegionLines"`
-	DnsServers         struct {
-		DnsServer []string `json:"DnsServer" xml:"DnsServer"`
-	} `json:"DnsServers" xml:"DnsServers"`
-	AvailableTtls struct {
-		AvailableTtl []string `json:"AvailableTtl" xml:"AvailableTtl"`
-	} `json:"AvailableTtls" xml:"AvailableTtls"`
-	RecordLines struct {
-		RecordLine []struct {
-			LineCode        string `json:"LineCode" xml:"LineCode"`
-			FatherCode      string `json:"FatherCode" xml:"FatherCode"`
-			LineName        string `json:"LineName" xml:"LineName"`
-			LineDisplayName string `json:"LineDisplayName" xml:"LineDisplayName"`
-		} `json:"RecordLine" xml:"RecordLine"`
-	} `json:"RecordLines" xml:"RecordLines"`
+	RequestId          string        `json:"RequestId" xml:"RequestId"`
+	DomainId           string        `json:"DomainId" xml:"DomainId"`
+	DomainName         string        `json:"DomainName" xml:"DomainName"`
+	PunyCode           string        `json:"PunyCode" xml:"PunyCode"`
+	AliDomain          bool          `json:"AliDomain" xml:"AliDomain"`
+	Remark             string        `json:"Remark" xml:"Remark"`
+	GroupId            string        `json:"GroupId" xml:"GroupId"`
+	GroupName          string        `json:"GroupName" xml:"GroupName"`
+	InstanceId         string        `json:"InstanceId" xml:"InstanceId"`
+	VersionCode        string        `json:"VersionCode" xml:"VersionCode"`
+	VersionName        string        `json:"VersionName" xml:"VersionName"`
+	MinTtl             int           `json:"MinTtl" xml:"MinTtl"`
+	RecordLineTreeJson string        `json:"RecordLineTreeJson" xml:"RecordLineTreeJson"`
+	LineType           string        `json:"LineType" xml:"LineType"`
+	RegionLines        bool          `json:"RegionLines" xml:"RegionLines"`
+	DnsServers         DnsServers    `json:"DnsServers" xml:"DnsServers"`
+	AvailableTtls      AvailableTtls `json:"AvailableTtls" xml:"AvailableTtls"`
+	RecordLines        RecordLines   `json:"RecordLines" xml:"RecordLines"`
 }
 
 func CreateDescribeDomainInfoRequest() (request *DescribeDomainInfoRequest) {

+ 10 - 19
services/alidns/describe_domain_logs.go

@@ -67,32 +67,23 @@ func (client *Client) DescribeDomainLogsWithCallback(request *DescribeDomainLogs
 
 type DescribeDomainLogsRequest struct {
 	*requests.RpcRequest
-	PageSize     requests.Integer `position:"Query" name:"PageSize"`
-	StartDate    string           `position:"Query" name:"StartDate"`
-	PageNumber   requests.Integer `position:"Query" name:"PageNumber"`
+	Lang         string           `position:"Query" name:"Lang"`
+	UserClientIp string           `position:"Query" name:"UserClientIp"`
 	KeyWord      string           `position:"Query" name:"KeyWord"`
 	GroupId      string           `position:"Query" name:"GroupId"`
+	PageNumber   requests.Integer `position:"Query" name:"PageNumber"`
+	PageSize     requests.Integer `position:"Query" name:"PageSize"`
+	StartDate    string           `position:"Query" name:"StartDate"`
 	EndDate      string           `position:"Query" name:"endDate"`
-	UserClientIp string           `position:"Query" name:"UserClientIp"`
-	Lang         string           `position:"Query" name:"Lang"`
 }
 
 type DescribeDomainLogsResponse struct {
 	*responses.BaseResponse
-	RequestId  string `json:"RequestId" xml:"RequestId"`
-	TotalCount int    `json:"TotalCount" xml:"TotalCount"`
-	PageNumber int    `json:"PageNumber" xml:"PageNumber"`
-	PageSize   int    `json:"PageSize" xml:"PageSize"`
-	DomainLogs struct {
-		DomainLog []struct {
-			ActionTime      string `json:"ActionTime" xml:"ActionTime"`
-			ActionTimestamp int    `json:"ActionTimestamp" xml:"ActionTimestamp"`
-			DomainName      string `json:"DomainName" xml:"DomainName"`
-			Action          string `json:"Action" xml:"Action"`
-			Message         string `json:"Message" xml:"Message"`
-			ClientIp        string `json:"ClientIp" xml:"ClientIp"`
-		} `json:"DomainLog" xml:"DomainLog"`
-	} `json:"DomainLogs" xml:"DomainLogs"`
+	RequestId  string     `json:"RequestId" xml:"RequestId"`
+	TotalCount int        `json:"TotalCount" xml:"TotalCount"`
+	PageNumber int        `json:"PageNumber" xml:"PageNumber"`
+	PageSize   int        `json:"PageSize" xml:"PageSize"`
+	DomainLogs DomainLogs `json:"DomainLogs" xml:"DomainLogs"`
 }
 
 func CreateDescribeDomainLogsRequest() (request *DescribeDomainLogsRequest) {

+ 7 - 11
services/alidns/describe_domain_ns.go

@@ -67,22 +67,18 @@ func (client *Client) DescribeDomainNsWithCallback(request *DescribeDomainNsRequ
 
 type DescribeDomainNsRequest struct {
 	*requests.RpcRequest
-	DomainName   string `position:"Query" name:"DomainName"`
-	UserClientIp string `position:"Query" name:"UserClientIp"`
 	Lang         string `position:"Query" name:"Lang"`
+	UserClientIp string `position:"Query" name:"UserClientIp"`
+	DomainName   string `position:"Query" name:"DomainName"`
 }
 
 type DescribeDomainNsResponse struct {
 	*responses.BaseResponse
-	RequestId     string `json:"RequestId" xml:"RequestId"`
-	AllAliDns     bool   `json:"AllAliDns" xml:"AllAliDns"`
-	IncludeAliDns bool   `json:"IncludeAliDns" xml:"IncludeAliDns"`
-	DnsServers    struct {
-		DnsServer []string `json:"DnsServer" xml:"DnsServer"`
-	} `json:"DnsServers" xml:"DnsServers"`
-	ExpectDnsServers struct {
-		ExpectDnsServer []string `json:"ExpectDnsServer" xml:"ExpectDnsServer"`
-	} `json:"ExpectDnsServers" xml:"ExpectDnsServers"`
+	RequestId        string           `json:"RequestId" xml:"RequestId"`
+	AllAliDns        bool             `json:"AllAliDns" xml:"AllAliDns"`
+	IncludeAliDns    bool             `json:"IncludeAliDns" xml:"IncludeAliDns"`
+	DnsServers       DnsServers       `json:"DnsServers" xml:"DnsServers"`
+	ExpectDnsServers ExpectDnsServers `json:"ExpectDnsServers" xml:"ExpectDnsServers"`
 }
 
 func CreateDescribeDomainNsRequest() (request *DescribeDomainNsRequest) {

+ 1 - 1
services/alidns/describe_domain_record_info.go

@@ -67,8 +67,8 @@ func (client *Client) DescribeDomainRecordInfoWithCallback(request *DescribeDoma
 
 type DescribeDomainRecordInfoRequest struct {
 	*requests.RpcRequest
-	UserClientIp string `position:"Query" name:"UserClientIp"`
 	Lang         string `position:"Query" name:"Lang"`
+	UserClientIp string `position:"Query" name:"UserClientIp"`
 	RecordId     string `position:"Query" name:"RecordId"`
 }
 

+ 12 - 27
services/alidns/describe_domain_records.go

@@ -67,41 +67,26 @@ func (client *Client) DescribeDomainRecordsWithCallback(request *DescribeDomainR
 
 type DescribeDomainRecordsRequest struct {
 	*requests.RpcRequest
-	PageSize     requests.Integer `position:"Query" name:"PageSize"`
+	Lang         string           `position:"Query" name:"Lang"`
+	UserClientIp string           `position:"Query" name:"UserClientIp"`
 	DomainName   string           `position:"Query" name:"DomainName"`
-	ValueKeyWord string           `position:"Query" name:"ValueKeyWord"`
 	PageNumber   requests.Integer `position:"Query" name:"PageNumber"`
-	Direction    string           `position:"Query" name:"Direction"`
+	PageSize     requests.Integer `position:"Query" name:"PageSize"`
 	KeyWord      string           `position:"Query" name:"KeyWord"`
-	OrderBy      string           `position:"Query" name:"OrderBy"`
-	TypeKeyWord  string           `position:"Query" name:"TypeKeyWord"`
-	UserClientIp string           `position:"Query" name:"UserClientIp"`
-	Lang         string           `position:"Query" name:"Lang"`
 	RRKeyWord    string           `position:"Query" name:"RRKeyWord"`
+	TypeKeyWord  string           `position:"Query" name:"TypeKeyWord"`
+	ValueKeyWord string           `position:"Query" name:"ValueKeyWord"`
+	OrderBy      string           `position:"Query" name:"OrderBy"`
+	Direction    string           `position:"Query" name:"Direction"`
 }
 
 type DescribeDomainRecordsResponse struct {
 	*responses.BaseResponse
-	RequestId     string `json:"RequestId" xml:"RequestId"`
-	TotalCount    int    `json:"TotalCount" xml:"TotalCount"`
-	PageNumber    int    `json:"PageNumber" xml:"PageNumber"`
-	PageSize      int    `json:"PageSize" xml:"PageSize"`
-	DomainRecords struct {
-		Record []struct {
-			DomainName string `json:"DomainName" xml:"DomainName"`
-			RecordId   string `json:"RecordId" xml:"RecordId"`
-			RR         string `json:"RR" xml:"RR"`
-			Type       string `json:"Type" xml:"Type"`
-			Value      string `json:"Value" xml:"Value"`
-			TTL        int    `json:"TTL" xml:"TTL"`
-			Priority   int    `json:"Priority" xml:"Priority"`
-			Line       string `json:"Line" xml:"Line"`
-			Status     string `json:"Status" xml:"Status"`
-			Locked     bool   `json:"Locked" xml:"Locked"`
-			Weight     int    `json:"Weight" xml:"Weight"`
-			Remark     string `json:"Remark" xml:"Remark"`
-		} `json:"Record" xml:"Record"`
-	} `json:"DomainRecords" xml:"DomainRecords"`
+	RequestId     string        `json:"RequestId" xml:"RequestId"`
+	TotalCount    int           `json:"TotalCount" xml:"TotalCount"`
+	PageNumber    int           `json:"PageNumber" xml:"PageNumber"`
+	PageSize      int           `json:"PageSize" xml:"PageSize"`
+	DomainRecords DomainRecords `json:"DomainRecords" xml:"DomainRecords"`
 }
 
 func CreateDescribeDomainRecordsRequest() (request *DescribeDomainRecordsRequest) {

+ 10 - 14
services/alidns/describe_domain_whois_info.go

@@ -67,26 +67,22 @@ func (client *Client) DescribeDomainWhoisInfoWithCallback(request *DescribeDomai
 
 type DescribeDomainWhoisInfoRequest struct {
 	*requests.RpcRequest
+	Lang         string `position:"Query" name:"Lang"`
+	UserClientIp string `position:"Query" name:"UserClientIp"`
 	DomainName   string `position:"Query" name:"DomainName"`
 	GroupId      string `position:"Query" name:"GroupId"`
-	UserClientIp string `position:"Query" name:"UserClientIp"`
-	Lang         string `position:"Query" name:"Lang"`
 }
 
 type DescribeDomainWhoisInfoResponse struct {
 	*responses.BaseResponse
-	RequestId        string `json:"RequestId" xml:"RequestId"`
-	RegistrantName   string `json:"RegistrantName" xml:"RegistrantName"`
-	RegistrantEmail  string `json:"RegistrantEmail" xml:"RegistrantEmail"`
-	Registrar        string `json:"Registrar" xml:"Registrar"`
-	RegistrationDate string `json:"RegistrationDate" xml:"RegistrationDate"`
-	ExpirationDate   string `json:"ExpirationDate" xml:"ExpirationDate"`
-	StatusList       struct {
-		Status []string `json:"Status" xml:"Status"`
-	} `json:"StatusList" xml:"StatusList"`
-	DnsServers struct {
-		DnsServer []string `json:"DnsServer" xml:"DnsServer"`
-	} `json:"DnsServers" xml:"DnsServers"`
+	RequestId        string     `json:"RequestId" xml:"RequestId"`
+	RegistrantName   string     `json:"RegistrantName" xml:"RegistrantName"`
+	RegistrantEmail  string     `json:"RegistrantEmail" xml:"RegistrantEmail"`
+	Registrar        string     `json:"Registrar" xml:"Registrar"`
+	RegistrationDate string     `json:"RegistrationDate" xml:"RegistrationDate"`
+	ExpirationDate   string     `json:"ExpirationDate" xml:"ExpirationDate"`
+	StatusList       StatusList `json:"StatusList" xml:"StatusList"`
+	DnsServers       DnsServers `json:"DnsServers" xml:"DnsServers"`
 }
 
 func CreateDescribeDomainWhoisInfoRequest() (request *DescribeDomainWhoisInfoRequest) {

+ 9 - 29
services/alidns/describe_domains.go

@@ -67,41 +67,21 @@ func (client *Client) DescribeDomainsWithCallback(request *DescribeDomainsReques
 
 type DescribeDomainsRequest struct {
 	*requests.RpcRequest
-	PageSize     requests.Integer `position:"Query" name:"PageSize"`
-	PageNumber   requests.Integer `position:"Query" name:"PageNumber"`
+	Lang         string           `position:"Query" name:"Lang"`
+	UserClientIp string           `position:"Query" name:"UserClientIp"`
 	KeyWord      string           `position:"Query" name:"KeyWord"`
 	GroupId      string           `position:"Query" name:"GroupId"`
-	UserClientIp string           `position:"Query" name:"UserClientIp"`
-	Lang         string           `position:"Query" name:"Lang"`
+	PageNumber   requests.Integer `position:"Query" name:"PageNumber"`
+	PageSize     requests.Integer `position:"Query" name:"PageSize"`
 }
 
 type DescribeDomainsResponse struct {
 	*responses.BaseResponse
-	RequestId  string `json:"RequestId" xml:"RequestId"`
-	TotalCount int    `json:"TotalCount" xml:"TotalCount"`
-	PageNumber int    `json:"PageNumber" xml:"PageNumber"`
-	PageSize   int    `json:"PageSize" xml:"PageSize"`
-	Domains    struct {
-		Domain []struct {
-			DomainId        string `json:"DomainId" xml:"DomainId"`
-			DomainName      string `json:"DomainName" xml:"DomainName"`
-			PunyCode        string `json:"PunyCode" xml:"PunyCode"`
-			AliDomain       bool   `json:"AliDomain" xml:"AliDomain"`
-			RecordCount     int    `json:"RecordCount" xml:"RecordCount"`
-			RegistrantEmail string `json:"RegistrantEmail" xml:"RegistrantEmail"`
-			Remark          string `json:"Remark" xml:"Remark"`
-			GroupId         string `json:"GroupId" xml:"GroupId"`
-			GroupName       string `json:"GroupName" xml:"GroupName"`
-			InstanceId      string `json:"InstanceId" xml:"InstanceId"`
-			VersionCode     string `json:"VersionCode" xml:"VersionCode"`
-			VersionName     string `json:"VersionName" xml:"VersionName"`
-			InstanceEndTime string `json:"InstanceEndTime" xml:"InstanceEndTime"`
-			InstanceExpired bool   `json:"InstanceExpired" xml:"InstanceExpired"`
-			DnsServers      struct {
-				DnsServer []string `json:"DnsServer" xml:"DnsServer"`
-			} `json:"DnsServers" xml:"DnsServers"`
-		} `json:"Domain" xml:"Domain"`
-	} `json:"Domains" xml:"Domains"`
+	RequestId  string  `json:"RequestId" xml:"RequestId"`
+	TotalCount int     `json:"TotalCount" xml:"TotalCount"`
+	PageNumber int     `json:"PageNumber" xml:"PageNumber"`
+	PageSize   int     `json:"PageSize" xml:"PageSize"`
+	Domains    Domains `json:"Domains" xml:"Domains"`
 }
 
 func CreateDescribeDomainsRequest() (request *DescribeDomainsRequest) {

+ 9 - 17
services/alidns/describe_record_logs.go

@@ -67,31 +67,23 @@ func (client *Client) DescribeRecordLogsWithCallback(request *DescribeRecordLogs
 
 type DescribeRecordLogsRequest struct {
 	*requests.RpcRequest
-	PageSize     requests.Integer `position:"Query" name:"PageSize"`
-	StartDate    string           `position:"Query" name:"StartDate"`
+	Lang         string           `position:"Query" name:"Lang"`
+	UserClientIp string           `position:"Query" name:"UserClientIp"`
 	DomainName   string           `position:"Query" name:"DomainName"`
 	PageNumber   requests.Integer `position:"Query" name:"PageNumber"`
+	PageSize     requests.Integer `position:"Query" name:"PageSize"`
 	KeyWord      string           `position:"Query" name:"KeyWord"`
+	StartDate    string           `position:"Query" name:"StartDate"`
 	EndDate      string           `position:"Query" name:"endDate"`
-	UserClientIp string           `position:"Query" name:"UserClientIp"`
-	Lang         string           `position:"Query" name:"Lang"`
 }
 
 type DescribeRecordLogsResponse struct {
 	*responses.BaseResponse
-	RequestId  string `json:"RequestId" xml:"RequestId"`
-	TotalCount int    `json:"TotalCount" xml:"TotalCount"`
-	PageNumber int    `json:"PageNumber" xml:"PageNumber"`
-	PageSize   int    `json:"PageSize" xml:"PageSize"`
-	RecordLogs struct {
-		RecordLog []struct {
-			ActionTime      string `json:"ActionTime" xml:"ActionTime"`
-			ActionTimestamp int    `json:"ActionTimestamp" xml:"ActionTimestamp"`
-			Action          string `json:"Action" xml:"Action"`
-			Message         string `json:"Message" xml:"Message"`
-			ClientIp        string `json:"ClientIp" xml:"ClientIp"`
-		} `json:"RecordLog" xml:"RecordLog"`
-	} `json:"RecordLogs" xml:"RecordLogs"`
+	RequestId  string     `json:"RequestId" xml:"RequestId"`
+	TotalCount int        `json:"TotalCount" xml:"TotalCount"`
+	PageNumber int        `json:"PageNumber" xml:"PageNumber"`
+	PageSize   int        `json:"PageSize" xml:"PageSize"`
+	RecordLogs RecordLogs `json:"RecordLogs" xml:"RecordLogs"`
 }
 
 func CreateDescribeRecordLogsRequest() (request *DescribeRecordLogsRequest) {

+ 9 - 23
services/alidns/describe_sub_domain_records.go

@@ -67,35 +67,21 @@ func (client *Client) DescribeSubDomainRecordsWithCallback(request *DescribeSubD
 
 type DescribeSubDomainRecordsRequest struct {
 	*requests.RpcRequest
-	PageSize     requests.Integer `position:"Query" name:"PageSize"`
-	PageNumber   requests.Integer `position:"Query" name:"PageNumber"`
+	Lang         string           `position:"Query" name:"Lang"`
+	UserClientIp string           `position:"Query" name:"UserClientIp"`
 	SubDomain    string           `position:"Query" name:"SubDomain"`
+	PageNumber   requests.Integer `position:"Query" name:"PageNumber"`
+	PageSize     requests.Integer `position:"Query" name:"PageSize"`
 	Type         string           `position:"Query" name:"Type"`
-	UserClientIp string           `position:"Query" name:"UserClientIp"`
-	Lang         string           `position:"Query" name:"Lang"`
 }
 
 type DescribeSubDomainRecordsResponse struct {
 	*responses.BaseResponse
-	RequestId     string `json:"RequestId" xml:"RequestId"`
-	TotalCount    int    `json:"TotalCount" xml:"TotalCount"`
-	PageNumber    int    `json:"PageNumber" xml:"PageNumber"`
-	PageSize      int    `json:"PageSize" xml:"PageSize"`
-	DomainRecords struct {
-		Record []struct {
-			DomainName string `json:"DomainName" xml:"DomainName"`
-			RecordId   string `json:"RecordId" xml:"RecordId"`
-			RR         string `json:"RR" xml:"RR"`
-			Type       string `json:"Type" xml:"Type"`
-			Value      string `json:"Value" xml:"Value"`
-			TTL        int    `json:"TTL" xml:"TTL"`
-			Priority   int    `json:"Priority" xml:"Priority"`
-			Line       string `json:"Line" xml:"Line"`
-			Status     string `json:"Status" xml:"Status"`
-			Locked     bool   `json:"Locked" xml:"Locked"`
-			Weight     int    `json:"Weight" xml:"Weight"`
-		} `json:"Record" xml:"Record"`
-	} `json:"DomainRecords" xml:"DomainRecords"`
+	RequestId     string        `json:"RequestId" xml:"RequestId"`
+	TotalCount    int           `json:"TotalCount" xml:"TotalCount"`
+	PageNumber    int           `json:"PageNumber" xml:"PageNumber"`
+	PageSize      int           `json:"PageSize" xml:"PageSize"`
+	DomainRecords DomainRecords `json:"DomainRecords" xml:"DomainRecords"`
 }
 
 func CreateDescribeSubDomainRecordsRequest() (request *DescribeSubDomainRecordsRequest) {

+ 3 - 10
services/alidns/describe_support_lines.go

@@ -67,21 +67,14 @@ func (client *Client) DescribeSupportLinesWithCallback(request *DescribeSupportL
 
 type DescribeSupportLinesRequest struct {
 	*requests.RpcRequest
-	UserClientIp string `position:"Query" name:"UserClientIp"`
 	Lang         string `position:"Query" name:"Lang"`
+	UserClientIp string `position:"Query" name:"UserClientIp"`
 }
 
 type DescribeSupportLinesResponse struct {
 	*responses.BaseResponse
-	RequestId   string `json:"RequestId" xml:"RequestId"`
-	RecordLines struct {
-		RecordLine []struct {
-			LineCode        string `json:"LineCode" xml:"LineCode"`
-			FatherCode      string `json:"FatherCode" xml:"FatherCode"`
-			LineName        string `json:"LineName" xml:"LineName"`
-			LineDisplayName string `json:"LineDisplayName" xml:"LineDisplayName"`
-		} `json:"RecordLine" xml:"RecordLine"`
-	} `json:"RecordLines" xml:"RecordLines"`
+	RequestId   string      `json:"RequestId" xml:"RequestId"`
+	RecordLines RecordLines `json:"RecordLines" xml:"RecordLines"`
 }
 
 func CreateDescribeSupportLinesRequest() (request *DescribeSupportLinesRequest) {

+ 1 - 1
services/alidns/get_main_domain_name.go

@@ -67,9 +67,9 @@ func (client *Client) GetMainDomainNameWithCallback(request *GetMainDomainNameRe
 
 type GetMainDomainNameRequest struct {
 	*requests.RpcRequest
+	Lang         string `position:"Query" name:"Lang"`
 	UserClientIp string `position:"Query" name:"UserClientIp"`
 	InputString  string `position:"Query" name:"InputString"`
-	Lang         string `position:"Query" name:"Lang"`
 }
 
 type GetMainDomainNameResponse struct {

+ 5 - 9
services/alidns/modify_hichina_domain_dns.go

@@ -67,20 +67,16 @@ func (client *Client) ModifyHichinaDomainDNSWithCallback(request *ModifyHichinaD
 
 type ModifyHichinaDomainDNSRequest struct {
 	*requests.RpcRequest
-	DomainName   string `position:"Query" name:"DomainName"`
-	UserClientIp string `position:"Query" name:"UserClientIp"`
 	Lang         string `position:"Query" name:"Lang"`
+	UserClientIp string `position:"Query" name:"UserClientIp"`
+	DomainName   string `position:"Query" name:"DomainName"`
 }
 
 type ModifyHichinaDomainDNSResponse struct {
 	*responses.BaseResponse
-	RequestId          string `json:"RequestId" xml:"RequestId"`
-	OriginalDnsServers struct {
-		DnsServer []string `json:"DnsServer" xml:"DnsServer"`
-	} `json:"OriginalDnsServers" xml:"OriginalDnsServers"`
-	NewDnsServers struct {
-		DnsServer []string `json:"DnsServer" xml:"DnsServer"`
-	} `json:"NewDnsServers" xml:"NewDnsServers"`
+	RequestId          string             `json:"RequestId" xml:"RequestId"`
+	OriginalDnsServers OriginalDnsServers `json:"OriginalDnsServers" xml:"OriginalDnsServers"`
+	NewDnsServers      NewDnsServers      `json:"NewDnsServers" xml:"NewDnsServers"`
 }
 
 func CreateModifyHichinaDomainDNSRequest() (request *ModifyHichinaDomainDNSRequest) {

+ 2 - 2
services/alidns/retrieval_domain_name.go

@@ -67,9 +67,9 @@ func (client *Client) RetrievalDomainNameWithCallback(request *RetrievalDomainNa
 
 type RetrievalDomainNameRequest struct {
 	*requests.RpcRequest
-	DomainName   string `position:"Query" name:"DomainName"`
-	UserClientIp string `position:"Query" name:"UserClientIp"`
 	Lang         string `position:"Query" name:"Lang"`
+	UserClientIp string `position:"Query" name:"UserClientIp"`
+	DomainName   string `position:"Query" name:"DomainName"`
 }
 
 type RetrievalDomainNameResponse struct {

+ 3 - 3
services/alidns/set_dnsslb_status.go

@@ -67,10 +67,10 @@ func (client *Client) SetDNSSLBStatusWithCallback(request *SetDNSSLBStatusReques
 
 type SetDNSSLBStatusRequest struct {
 	*requests.RpcRequest
-	Open         requests.Boolean `position:"Query" name:"Open"`
-	SubDomain    string           `position:"Query" name:"SubDomain"`
-	UserClientIp string           `position:"Query" name:"UserClientIp"`
 	Lang         string           `position:"Query" name:"Lang"`
+	UserClientIp string           `position:"Query" name:"UserClientIp"`
+	SubDomain    string           `position:"Query" name:"SubDomain"`
+	Open         requests.Boolean `position:"Query" name:"Open"`
 }
 
 type SetDNSSLBStatusResponse struct {

+ 2 - 2
services/alidns/set_domain_record_status.go

@@ -67,10 +67,10 @@ func (client *Client) SetDomainRecordStatusWithCallback(request *SetDomainRecord
 
 type SetDomainRecordStatusRequest struct {
 	*requests.RpcRequest
-	Status       string `position:"Query" name:"Status"`
-	UserClientIp string `position:"Query" name:"UserClientIp"`
 	Lang         string `position:"Query" name:"Lang"`
+	UserClientIp string `position:"Query" name:"UserClientIp"`
 	RecordId     string `position:"Query" name:"RecordId"`
+	Status       string `position:"Query" name:"Status"`
 }
 
 type SetDomainRecordStatusResponse struct {

+ 20 - 0
services/alidns/struct_available_ttls.go

@@ -0,0 +1,20 @@
+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.
+
+type AvailableTtls struct {
+	AvailableTtl []string `json:"AvailableTtls" xml:"AvailableTtls"`
+}

+ 47 - 0
services/alidns/struct_dns_product.go

@@ -0,0 +1,47 @@
+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.
+
+type DnsProduct struct {
+	InstanceId            string `json:"InstanceId" xml:"InstanceId"`
+	VersionCode           string `json:"VersionCode" xml:"VersionCode"`
+	VersionName           string `json:"VersionName" xml:"VersionName"`
+	StartTime             string `json:"StartTime" xml:"StartTime"`
+	EndTime               string `json:"EndTime" xml:"EndTime"`
+	StartTimestamp        int    `json:"StartTimestamp" xml:"StartTimestamp"`
+	EndTimestamp          int    `json:"EndTimestamp" xml:"EndTimestamp"`
+	Domain                string `json:"Domain" xml:"Domain"`
+	BindCount             int    `json:"BindCount" xml:"BindCount"`
+	BindUsedCount         int    `json:"BindUsedCount" xml:"BindUsedCount"`
+	TTLMinValue           int    `json:"TTLMinValue" xml:"TTLMinValue"`
+	SubDomainLevel        int    `json:"SubDomainLevel" xml:"SubDomainLevel"`
+	DnsSLBCount           int    `json:"DnsSLBCount" xml:"DnsSLBCount"`
+	URLForwardCount       int    `json:"URLForwardCount" xml:"URLForwardCount"`
+	DDosDefendFlow        int    `json:"DDosDefendFlow" xml:"DDosDefendFlow"`
+	DDosDefendQuery       int    `json:"DDosDefendQuery" xml:"DDosDefendQuery"`
+	OverseaDDosDefendFlow int    `json:"OverseaDDosDefendFlow" xml:"OverseaDDosDefendFlow"`
+	SearchEngineLines     string `json:"SearchEngineLines" xml:"SearchEngineLines"`
+	ISPLines              string `json:"ISPLines" xml:"ISPLines"`
+	ISPRegionLines        string `json:"ISPRegionLines" xml:"ISPRegionLines"`
+	OverseaLine           string `json:"OverseaLine" xml:"OverseaLine"`
+	MonitorNodeCount      int    `json:"MonitorNodeCount" xml:"MonitorNodeCount"`
+	MonitorFrequency      int    `json:"MonitorFrequency" xml:"MonitorFrequency"`
+	MonitorTaskCount      int    `json:"MonitorTaskCount" xml:"MonitorTaskCount"`
+	RegionLines           bool   `json:"RegionLines" xml:"RegionLines"`
+	Gslb                  bool   `json:"Gslb" xml:"Gslb"`
+	InClean               bool   `json:"InClean" xml:"InClean"`
+	InBlackHole           bool   `json:"InBlackHole" xml:"InBlackHole"`
+}

+ 20 - 0
services/alidns/struct_dns_products.go

@@ -0,0 +1,20 @@
+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.
+
+type DnsProducts struct {
+	DnsProduct []DnsProduct `json:"DnsProducts" xml:"DnsProducts"`
+}

+ 20 - 0
services/alidns/struct_dns_servers.go

@@ -0,0 +1,20 @@
+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.
+
+type DnsServers struct {
+	DnsServer []string `json:"DnsServers" xml:"DnsServers"`
+}

+ 34 - 0
services/alidns/struct_domain.go

@@ -0,0 +1,34 @@
+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.
+
+type Domain struct {
+	DomainId        string     `json:"DomainId" xml:"DomainId"`
+	DomainName      string     `json:"DomainName" xml:"DomainName"`
+	PunyCode        string     `json:"PunyCode" xml:"PunyCode"`
+	AliDomain       bool       `json:"AliDomain" xml:"AliDomain"`
+	RecordCount     int        `json:"RecordCount" xml:"RecordCount"`
+	RegistrantEmail string     `json:"RegistrantEmail" xml:"RegistrantEmail"`
+	Remark          string     `json:"Remark" xml:"Remark"`
+	GroupId         string     `json:"GroupId" xml:"GroupId"`
+	GroupName       string     `json:"GroupName" xml:"GroupName"`
+	InstanceId      string     `json:"InstanceId" xml:"InstanceId"`
+	VersionCode     string     `json:"VersionCode" xml:"VersionCode"`
+	VersionName     string     `json:"VersionName" xml:"VersionName"`
+	InstanceEndTime string     `json:"InstanceEndTime" xml:"InstanceEndTime"`
+	InstanceExpired bool       `json:"InstanceExpired" xml:"InstanceExpired"`
+	DnsServers      DnsServers `json:"DnsServers" xml:"DnsServers"`
+}

+ 22 - 0
services/alidns/struct_domain_group.go

@@ -0,0 +1,22 @@
+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.
+
+type DomainGroup struct {
+	GroupId     string `json:"GroupId" xml:"GroupId"`
+	GroupName   string `json:"GroupName" xml:"GroupName"`
+	DomainCount int    `json:"DomainCount" xml:"DomainCount"`
+}

+ 20 - 0
services/alidns/struct_domain_groups.go

@@ -0,0 +1,20 @@
+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.
+
+type DomainGroups struct {
+	DomainGroup []DomainGroup `json:"DomainGroups" xml:"DomainGroups"`
+}

+ 25 - 0
services/alidns/struct_domain_log.go

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

+ 20 - 0
services/alidns/struct_domain_logs.go

@@ -0,0 +1,20 @@
+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.
+
+type DomainLogs struct {
+	DomainLog []DomainLog `json:"DomainLogs" xml:"DomainLogs"`
+}

+ 20 - 0
services/alidns/struct_domain_records.go

@@ -0,0 +1,20 @@
+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.
+
+type DomainRecords struct {
+	Record []Record `json:"DomainRecords" xml:"DomainRecords"`
+}

+ 20 - 0
services/alidns/struct_domains.go

@@ -0,0 +1,20 @@
+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.
+
+type Domains struct {
+	Domain []Domain `json:"Domains" xml:"Domains"`
+}

+ 20 - 0
services/alidns/struct_expect_dns_servers.go

@@ -0,0 +1,20 @@
+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.
+
+type ExpectDnsServers struct {
+	ExpectDnsServer []string `json:"ExpectDnsServers" xml:"ExpectDnsServers"`
+}

+ 21 - 0
services/alidns/struct_fail_result.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.
+
+type FailResult struct {
+	BatchIndex string `json:"BatchIndex" xml:"BatchIndex"`
+	ErrorCode  string `json:"ErrorCode" xml:"ErrorCode"`
+}

+ 20 - 0
services/alidns/struct_fail_results.go

@@ -0,0 +1,20 @@
+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.
+
+type FailResults struct {
+	FailResult []FailResult `json:"FailResults" xml:"FailResults"`
+}

+ 20 - 0
services/alidns/struct_new_dns_servers.go

@@ -0,0 +1,20 @@
+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.
+
+type NewDnsServers struct {
+	DnsServer []string `json:"NewDnsServers" xml:"NewDnsServers"`
+}

+ 20 - 0
services/alidns/struct_original_dns_servers.go

@@ -0,0 +1,20 @@
+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.
+
+type OriginalDnsServers struct {
+	DnsServer []string `json:"OriginalDnsServers" xml:"OriginalDnsServers"`
+}

+ 31 - 0
services/alidns/struct_record.go

@@ -0,0 +1,31 @@
+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.
+
+type Record struct {
+	DomainName string `json:"DomainName" xml:"DomainName"`
+	RecordId   string `json:"RecordId" xml:"RecordId"`
+	RR         string `json:"RR" xml:"RR"`
+	Type       string `json:"Type" xml:"Type"`
+	Value      string `json:"Value" xml:"Value"`
+	TTL        int    `json:"TTL" xml:"TTL"`
+	Priority   int    `json:"Priority" xml:"Priority"`
+	Line       string `json:"Line" xml:"Line"`
+	Status     string `json:"Status" xml:"Status"`
+	Locked     bool   `json:"Locked" xml:"Locked"`
+	Weight     int    `json:"Weight" xml:"Weight"`
+	Remark     string `json:"Remark" xml:"Remark"`
+}

+ 23 - 0
services/alidns/struct_record_line.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.
+
+type RecordLine struct {
+	LineName        string `json:"LineName" xml:"LineName"`
+	FatherCode      string `json:"FatherCode" xml:"FatherCode"`
+	LineDisplayName string `json:"LineDisplayName" xml:"LineDisplayName"`
+	LineCode        string `json:"LineCode" xml:"LineCode"`
+}

+ 20 - 0
services/alidns/struct_record_lines.go

@@ -0,0 +1,20 @@
+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.
+
+type RecordLines struct {
+	RecordLine []RecordLine `json:"RecordLines" xml:"RecordLines"`
+}

+ 24 - 0
services/alidns/struct_record_log.go

@@ -0,0 +1,24 @@
+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.
+
+type RecordLog struct {
+	ActionTime      string `json:"ActionTime" xml:"ActionTime"`
+	ActionTimestamp int    `json:"ActionTimestamp" xml:"ActionTimestamp"`
+	Action          string `json:"Action" xml:"Action"`
+	Message         string `json:"Message" xml:"Message"`
+	ClientIp        string `json:"ClientIp" xml:"ClientIp"`
+}

+ 20 - 0
services/alidns/struct_record_logs.go

@@ -0,0 +1,20 @@
+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.
+
+type RecordLogs struct {
+	RecordLog []RecordLog `json:"RecordLogs" xml:"RecordLogs"`
+}

+ 23 - 0
services/alidns/struct_slb_sub_domain.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.
+
+type SlbSubDomain struct {
+	SubDomain   string `json:"SubDomain" xml:"SubDomain"`
+	RecordCount int    `json:"RecordCount" xml:"RecordCount"`
+	Open        bool   `json:"Open" xml:"Open"`
+	Type        string `json:"Type" xml:"Type"`
+}

+ 20 - 0
services/alidns/struct_slb_sub_domains.go

@@ -0,0 +1,20 @@
+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.
+
+type SlbSubDomains struct {
+	SlbSubDomain []SlbSubDomain `json:"SlbSubDomains" xml:"SlbSubDomains"`
+}

+ 20 - 0
services/alidns/struct_status_list.go

@@ -0,0 +1,20 @@
+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.
+
+type StatusList struct {
+	Status []string `json:"StatusList" xml:"StatusList"`
+}

+ 2 - 2
services/alidns/update_batch_domain_records.go

@@ -67,9 +67,9 @@ func (client *Client) UpdateBatchDomainRecordsWithCallback(request *UpdateBatchD
 
 type UpdateBatchDomainRecordsRequest struct {
 	*requests.RpcRequest
-	Records      string `position:"Query" name:"Records"`
-	UserClientIp string `position:"Query" name:"UserClientIp"`
 	Lang         string `position:"Query" name:"Lang"`
+	UserClientIp string `position:"Query" name:"UserClientIp"`
+	Records      string `position:"Query" name:"Records"`
 }
 
 type UpdateBatchDomainRecordsResponse struct {

+ 2 - 2
services/alidns/update_dnsslb_weight.go

@@ -67,10 +67,10 @@ func (client *Client) UpdateDNSSLBWeightWithCallback(request *UpdateDNSSLBWeight
 
 type UpdateDNSSLBWeightRequest struct {
 	*requests.RpcRequest
-	Weight       requests.Integer `position:"Query" name:"Weight"`
-	UserClientIp string           `position:"Query" name:"UserClientIp"`
 	Lang         string           `position:"Query" name:"Lang"`
+	UserClientIp string           `position:"Query" name:"UserClientIp"`
 	RecordId     string           `position:"Query" name:"RecordId"`
+	Weight       requests.Integer `position:"Query" name:"Weight"`
 }
 
 type UpdateDNSSLBWeightResponse struct {

+ 3 - 3
services/alidns/update_domain_group.go

@@ -67,10 +67,10 @@ func (client *Client) UpdateDomainGroupWithCallback(request *UpdateDomainGroupRe
 
 type UpdateDomainGroupRequest struct {
 	*requests.RpcRequest
-	GroupName    string `position:"Query" name:"GroupName"`
-	GroupId      string `position:"Query" name:"GroupId"`
-	UserClientIp string `position:"Query" name:"UserClientIp"`
 	Lang         string `position:"Query" name:"Lang"`
+	UserClientIp string `position:"Query" name:"UserClientIp"`
+	GroupId      string `position:"Query" name:"GroupId"`
+	GroupName    string `position:"Query" name:"GroupName"`
 }
 
 type UpdateDomainGroupResponse struct {

+ 7 - 7
services/alidns/update_domain_record.go

@@ -67,15 +67,15 @@ func (client *Client) UpdateDomainRecordWithCallback(request *UpdateDomainRecord
 
 type UpdateDomainRecordRequest struct {
 	*requests.RpcRequest
-	Priority     requests.Integer `position:"Query" name:"Priority"`
-	Value        string           `position:"Query" name:"Value"`
-	RR           string           `position:"Query" name:"RR"`
-	Line         string           `position:"Query" name:"Line"`
-	TTL          requests.Integer `position:"Query" name:"TTL"`
-	Type         string           `position:"Query" name:"Type"`
-	UserClientIp string           `position:"Query" name:"UserClientIp"`
 	Lang         string           `position:"Query" name:"Lang"`
+	UserClientIp string           `position:"Query" name:"UserClientIp"`
 	RecordId     string           `position:"Query" name:"RecordId"`
+	RR           string           `position:"Query" name:"RR"`
+	Type         string           `position:"Query" name:"Type"`
+	Value        string           `position:"Query" name:"Value"`
+	TTL          requests.Integer `position:"Query" name:"TTL"`
+	Priority     requests.Integer `position:"Query" name:"Priority"`
+	Line         string           `position:"Query" name:"Line"`
 }
 
 type UpdateDomainRecordResponse struct {

+ 11 - 11
services/arms/arms_query_data_set.go

@@ -67,33 +67,33 @@ func (client *Client) ARMSQueryDataSetWithCallback(request *ARMSQueryDataSetRequ
 
 type ARMSQueryDataSetRequest struct {
 	*requests.RpcRequest
-	Limit         requests.Integer                `position:"Query" name:"Limit"`
-	IntervalInSec requests.Integer                `position:"Query" name:"IntervalInSec"`
-	RequiredDims  *[]ARMSQueryDataSetRequiredDims `position:"Query" name:"RequiredDims"  type:"Repeated"`
 	DatasetId     requests.Integer                `position:"Query" name:"DatasetId"`
-	ReduceTail    requests.Boolean                `position:"Query" name:"ReduceTail"`
-	OptionalDims  *[]ARMSQueryDataSetOptionalDims `position:"Query" name:"OptionalDims"  type:"Repeated"`
+	IntervalInSec requests.Integer                `position:"Query" name:"IntervalInSec"`
+	DateStr       requests.Integer                `position:"Query" name:"DateStr"`
 	MinTime       requests.Integer                `position:"Query" name:"MinTime"`
 	MaxTime       requests.Integer                `position:"Query" name:"MaxTime"`
-	IsDrillDown   requests.Boolean                `position:"Query" name:"IsDrillDown"`
-	DateStr       requests.Integer                `position:"Query" name:"DateStr"`
 	Dimensions    *[]ARMSQueryDataSetDimensions   `position:"Query" name:"Dimensions"  type:"Repeated"`
-	OrderByKey    string                          `position:"Query" name:"OrderByKey"`
 	Measures      *[]string                       `position:"Query" name:"Measures"  type:"Repeated"`
+	IsDrillDown   requests.Boolean                `position:"Query" name:"IsDrillDown"`
+	OrderByKey    string                          `position:"Query" name:"OrderByKey"`
+	Limit         requests.Integer                `position:"Query" name:"Limit"`
+	ReduceTail    requests.Boolean                `position:"Query" name:"ReduceTail"`
 	HungryMode    requests.Boolean                `position:"Query" name:"HungryMode"`
+	RequiredDims  *[]ARMSQueryDataSetRequiredDims `position:"Query" name:"RequiredDims"  type:"Repeated"`
+	OptionalDims  *[]ARMSQueryDataSetOptionalDims `position:"Query" name:"OptionalDims"  type:"Repeated"`
 }
 
-type ARMSQueryDataSetRequiredDims struct {
+type ARMSQueryDataSetDimensions struct {
 	Key   string `name:"Key"`
 	Value string `name:"Value"`
 	Type  string `name:"Type"`
 }
-type ARMSQueryDataSetOptionalDims struct {
+type ARMSQueryDataSetRequiredDims struct {
 	Key   string `name:"Key"`
 	Value string `name:"Value"`
 	Type  string `name:"Type"`
 }
-type ARMSQueryDataSetDimensions struct {
+type ARMSQueryDataSetOptionalDims struct {
 	Key   string `name:"Key"`
 	Value string `name:"Value"`
 	Type  string `name:"Type"`

+ 7 - 7
services/arms/where_in_dim_query.go

@@ -67,19 +67,19 @@ func (client *Client) WhereInDimQueryWithCallback(request *WhereInDimQueryReques
 
 type WhereInDimQueryRequest struct {
 	*requests.RpcRequest
-	Limit         requests.Integer             `position:"Query" name:"Limit"`
-	IntervalInSec requests.Integer             `position:"Query" name:"IntervalInSec"`
 	DatasetId     requests.Integer             `position:"Query" name:"DatasetId"`
-	ReduceTail    requests.Boolean             `position:"Query" name:"ReduceTail"`
+	IntervalInSec requests.Integer             `position:"Query" name:"IntervalInSec"`
+	DateStr       string                       `position:"Query" name:"DateStr"`
 	MinTime       requests.Integer             `position:"Query" name:"MinTime"`
 	MaxTime       requests.Integer             `position:"Query" name:"MaxTime"`
-	IsDrillDown   requests.Boolean             `position:"Query" name:"IsDrillDown"`
-	DateStr       string                       `position:"Query" name:"DateStr"`
-	WhereInValues *[]string                    `position:"Query" name:"WhereInValues"  type:"Repeated"`
 	Dimensions    *[]WhereInDimQueryDimensions `position:"Query" name:"Dimensions"  type:"Repeated"`
 	WhereInKey    string                       `position:"Query" name:"WhereInKey"`
-	OrderByKey    string                       `position:"Query" name:"OrderByKey"`
+	WhereInValues *[]string                    `position:"Query" name:"WhereInValues"  type:"Repeated"`
 	Measures      *[]string                    `position:"Query" name:"Measures"  type:"Repeated"`
+	IsDrillDown   requests.Boolean             `position:"Query" name:"IsDrillDown"`
+	OrderByKey    string                       `position:"Query" name:"OrderByKey"`
+	Limit         requests.Integer             `position:"Query" name:"Limit"`
+	ReduceTail    requests.Boolean             `position:"Query" name:"ReduceTail"`
 }
 
 type WhereInDimQueryDimensions struct {

+ 4 - 4
services/arms4finance/arms_query_data_set.go

@@ -67,14 +67,14 @@ func (client *Client) ARMSQueryDataSetWithCallback(request *ARMSQueryDataSetRequ
 
 type ARMSQueryDataSetRequest struct {
 	*requests.RpcRequest
-	MaxTime       requests.Integer              `position:"Query" name:"MaxTime"`
-	IntervalInSec requests.Integer              `position:"Query" name:"IntervalInSec"`
-	IsDrillDown   requests.Boolean              `position:"Query" name:"IsDrillDown"`
 	DatasetId     requests.Integer              `position:"Query" name:"DatasetId"`
+	IntervalInSec requests.Integer              `position:"Query" name:"IntervalInSec"`
 	DateStr       string                        `position:"Query" name:"DateStr"`
+	MinTime       requests.Integer              `position:"Query" name:"MinTime"`
+	MaxTime       requests.Integer              `position:"Query" name:"MaxTime"`
 	Dimensions    *[]ARMSQueryDataSetDimensions `position:"Query" name:"Dimensions"  type:"Repeated"`
 	Measures      *[]string                     `position:"Query" name:"Measures"  type:"Repeated"`
-	MinTime       requests.Integer              `position:"Query" name:"MinTime"`
+	IsDrillDown   requests.Boolean              `position:"Query" name:"IsDrillDown"`
 }
 
 type ARMSQueryDataSetDimensions struct {

+ 5 - 5
services/arms4finance/where_in_dim_query.go

@@ -67,16 +67,16 @@ func (client *Client) WhereInDimQueryWithCallback(request *WhereInDimQueryReques
 
 type WhereInDimQueryRequest struct {
 	*requests.RpcRequest
-	MaxTime       requests.Integer             `position:"Query" name:"MaxTime"`
-	IntervalInSec requests.Integer             `position:"Query" name:"IntervalInSec"`
-	IsDrillDown   requests.Boolean             `position:"Query" name:"IsDrillDown"`
 	DatasetId     requests.Integer             `position:"Query" name:"DatasetId"`
+	IntervalInSec requests.Integer             `position:"Query" name:"IntervalInSec"`
 	DateStr       string                       `position:"Query" name:"DateStr"`
-	WhereInValues *[]string                    `position:"Query" name:"WhereInValues"  type:"Repeated"`
+	MinTime       requests.Integer             `position:"Query" name:"MinTime"`
+	MaxTime       requests.Integer             `position:"Query" name:"MaxTime"`
 	Dimensions    *[]WhereInDimQueryDimensions `position:"Query" name:"Dimensions"  type:"Repeated"`
 	WhereInKey    string                       `position:"Query" name:"WhereInKey"`
+	WhereInValues *[]string                    `position:"Query" name:"WhereInValues"  type:"Repeated"`
 	Measures      *[]string                    `position:"Query" name:"Measures"  type:"Repeated"`
-	MinTime       requests.Integer             `position:"Query" name:"MinTime"`
+	IsDrillDown   requests.Boolean             `position:"Query" name:"IsDrillDown"`
 }
 
 type WhereInDimQueryDimensions struct {

+ 7 - 24
services/ccc/add_phone_number.go

@@ -67,37 +67,20 @@ func (client *Client) AddPhoneNumberWithCallback(request *AddPhoneNumberRequest,
 
 type AddPhoneNumberRequest struct {
 	*requests.RpcRequest
+	InstanceId    string `position:"Query" name:"InstanceId"`
 	PhoneNumber   string `position:"Query" name:"PhoneNumber"`
 	Usage         string `position:"Query" name:"Usage"`
 	ContactFlowId string `position:"Query" name:"ContactFlowId"`
-	InstanceId    string `position:"Query" name:"InstanceId"`
 }
 
 type AddPhoneNumberResponse struct {
 	*responses.BaseResponse
-	RequestId      string `json:"RequestId" xml:"RequestId"`
-	Success        bool   `json:"Success" xml:"Success"`
-	Code           string `json:"Code" xml:"Code"`
-	Message        string `json:"Message" xml:"Message"`
-	HttpStatusCode int    `json:"HttpStatusCode" xml:"HttpStatusCode"`
-	PhoneNumber    struct {
-		PhoneNumberId          string `json:"PhoneNumberId" xml:"PhoneNumberId"`
-		InstanceId             string `json:"InstanceId" xml:"InstanceId"`
-		Number                 string `json:"Number" xml:"Number"`
-		PhoneNumberDescription string `json:"PhoneNumberDescription" xml:"PhoneNumberDescription"`
-		TestOnly               bool   `json:"TestOnly" xml:"TestOnly"`
-		RemainingTime          int    `json:"RemainingTime" xml:"RemainingTime"`
-		AllowOutbound          bool   `json:"AllowOutbound" xml:"AllowOutbound"`
-		Usage                  string `json:"Usage" xml:"Usage"`
-		Trunks                 int    `json:"Trunks" xml:"Trunks"`
-		ContactFlow            struct {
-			ContactFlowId          string `json:"ContactFlowId" xml:"ContactFlowId"`
-			InstanceId             string `json:"InstanceId" xml:"InstanceId"`
-			ContactFlowName        string `json:"ContactFlowName" xml:"ContactFlowName"`
-			ContactFlowDescription string `json:"ContactFlowDescription" xml:"ContactFlowDescription"`
-			Type                   string `json:"Type" xml:"Type"`
-		} `json:"ContactFlow" xml:"ContactFlow"`
-	} `json:"PhoneNumber" xml:"PhoneNumber"`
+	RequestId      string      `json:"RequestId" xml:"RequestId"`
+	Success        bool        `json:"Success" xml:"Success"`
+	Code           string      `json:"Code" xml:"Code"`
+	Message        string      `json:"Message" xml:"Message"`
+	HttpStatusCode int         `json:"HttpStatusCode" xml:"HttpStatusCode"`
+	PhoneNumber    PhoneNumber `json:"PhoneNumber" xml:"PhoneNumber"`
 }
 
 func CreateAddPhoneNumberRequest() (request *AddPhoneNumberRequest) {

+ 2 - 2
services/ccc/assign_users.go

@@ -67,11 +67,11 @@ func (client *Client) AssignUsersWithCallback(request *AssignUsersRequest, callb
 
 type AssignUsersRequest struct {
 	*requests.RpcRequest
+	InstanceId   string    `position:"Query" name:"InstanceId"`
 	UserRamId    *[]string `position:"Query" name:"UserRamId"  type:"Repeated"`
-	SkillLevel   *[]string `position:"Query" name:"SkillLevel"  type:"Repeated"`
 	RoleId       *[]string `position:"Query" name:"RoleId"  type:"Repeated"`
 	SkillGroupId *[]string `position:"Query" name:"SkillGroupId"  type:"Repeated"`
-	InstanceId   string    `position:"Query" name:"InstanceId"`
+	SkillLevel   *[]string `position:"Query" name:"SkillLevel"  type:"Repeated"`
 }
 
 type AssignUsersResponse struct {

+ 4 - 4
services/ccc/create_skill_group.go

@@ -67,12 +67,12 @@ func (client *Client) CreateSkillGroupWithCallback(request *CreateSkillGroupRequ
 
 type CreateSkillGroupRequest struct {
 	*requests.RpcRequest
-	SkillLevel            *[]string `position:"Query" name:"SkillLevel"  type:"Repeated"`
-	Description           string    `position:"Query" name:"Description"`
+	InstanceId            string    `position:"Query" name:"InstanceId"`
 	Name                  string    `position:"Query" name:"Name"`
-	UserId                *[]string `position:"Query" name:"UserId"  type:"Repeated"`
+	Description           string    `position:"Query" name:"Description"`
 	OutboundPhoneNumberId *[]string `position:"Query" name:"OutboundPhoneNumberId"  type:"Repeated"`
-	InstanceId            string    `position:"Query" name:"InstanceId"`
+	UserId                *[]string `position:"Query" name:"UserId"  type:"Repeated"`
+	SkillLevel            *[]string `position:"Query" name:"SkillLevel"  type:"Repeated"`
 }
 
 type CreateSkillGroupResponse struct {

+ 4 - 4
services/ccc/create_user.go

@@ -67,14 +67,14 @@ func (client *Client) CreateUserWithCallback(request *CreateUserRequest, callbac
 
 type CreateUserRequest struct {
 	*requests.RpcRequest
+	InstanceId   string    `position:"Query" name:"InstanceId"`
 	LoginName    string    `position:"Query" name:"LoginName"`
+	DisplayName  string    `position:"Query" name:"DisplayName"`
 	Phone        string    `position:"Query" name:"Phone"`
-	SkillLevel   *[]string `position:"Query" name:"SkillLevel"  type:"Repeated"`
-	RoleId       *[]string `position:"Query" name:"RoleId"  type:"Repeated"`
 	Email        string    `position:"Query" name:"Email"`
+	RoleId       *[]string `position:"Query" name:"RoleId"  type:"Repeated"`
 	SkillGroupId *[]string `position:"Query" name:"SkillGroupId"  type:"Repeated"`
-	InstanceId   string    `position:"Query" name:"InstanceId"`
-	DisplayName  string    `position:"Query" name:"DisplayName"`
+	SkillLevel   *[]string `position:"Query" name:"SkillLevel"  type:"Repeated"`
 }
 
 type CreateUserResponse struct {

+ 1 - 1
services/ccc/delete_skill_group.go

@@ -67,8 +67,8 @@ func (client *Client) DeleteSkillGroupWithCallback(request *DeleteSkillGroupRequ
 
 type DeleteSkillGroupRequest struct {
 	*requests.RpcRequest
-	SkillGroupId string `position:"Query" name:"SkillGroupId"`
 	InstanceId   string `position:"Query" name:"InstanceId"`
+	SkillGroupId string `position:"Query" name:"SkillGroupId"`
 }
 
 type DeleteSkillGroupResponse struct {

+ 7 - 10
services/ccc/download_recording.go

@@ -67,22 +67,19 @@ func (client *Client) DownloadRecordingWithCallback(request *DownloadRecordingRe
 
 type DownloadRecordingRequest struct {
 	*requests.RpcRequest
+	InstanceId string `position:"Query" name:"InstanceId"`
 	FileName   string `position:"Query" name:"FileName"`
 	Channel    string `position:"Query" name:"Channel"`
-	InstanceId string `position:"Query" name:"InstanceId"`
 }
 
 type DownloadRecordingResponse struct {
 	*responses.BaseResponse
-	RequestId          string `json:"RequestId" xml:"RequestId"`
-	Success            bool   `json:"Success" xml:"Success"`
-	Code               string `json:"Code" xml:"Code"`
-	Message            string `json:"Message" xml:"Message"`
-	HttpStatusCode     int    `json:"HttpStatusCode" xml:"HttpStatusCode"`
-	MediaDownloadParam struct {
-		SignatureUrl string `json:"SignatureUrl" xml:"SignatureUrl"`
-		FileName     string `json:"FileName" xml:"FileName"`
-	} `json:"MediaDownloadParam" xml:"MediaDownloadParam"`
+	RequestId          string             `json:"RequestId" xml:"RequestId"`
+	Success            bool               `json:"Success" xml:"Success"`
+	Code               string             `json:"Code" xml:"Code"`
+	Message            string             `json:"Message" xml:"Message"`
+	HttpStatusCode     int                `json:"HttpStatusCode" xml:"HttpStatusCode"`
+	MediaDownloadParam MediaDownloadParam `json:"MediaDownloadParam" xml:"MediaDownloadParam"`
 }
 
 func CreateDownloadRecordingRequest() (request *DownloadRecordingRequest) {

+ 8 - 11
services/ccc/get_config.go

@@ -67,23 +67,20 @@ func (client *Client) GetConfigWithCallback(request *GetConfigRequest, callback
 
 type GetConfigRequest struct {
 	*requests.RpcRequest
-	ObjectType string `position:"Query" name:"ObjectType"`
+	InstanceId string `position:"Query" name:"InstanceId"`
 	Name       string `position:"Query" name:"Name"`
 	ObjectId   string `position:"Query" name:"ObjectId"`
-	InstanceId string `position:"Query" name:"InstanceId"`
+	ObjectType string `position:"Query" name:"ObjectType"`
 }
 
 type GetConfigResponse struct {
 	*responses.BaseResponse
-	RequestId      string `json:"RequestId" xml:"RequestId"`
-	Success        bool   `json:"Success" xml:"Success"`
-	Code           string `json:"Code" xml:"Code"`
-	Message        string `json:"Message" xml:"Message"`
-	HttpStatusCode int    `json:"HttpStatusCode" xml:"HttpStatusCode"`
-	ConfigItem     struct {
-		Name  string `json:"Name" xml:"Name"`
-		Value string `json:"Value" xml:"Value"`
-	} `json:"ConfigItem" xml:"ConfigItem"`
+	RequestId      string     `json:"RequestId" xml:"RequestId"`
+	Success        bool       `json:"Success" xml:"Success"`
+	Code           string     `json:"Code" xml:"Code"`
+	Message        string     `json:"Message" xml:"Message"`
+	HttpStatusCode int        `json:"HttpStatusCode" xml:"HttpStatusCode"`
+	ConfigItem     ConfigItem `json:"ConfigItem" xml:"ConfigItem"`
 }
 
 func CreateGetConfigRequest() (request *GetConfigRequest) {

+ 7 - 12
services/ccc/get_service_extensions.go

@@ -67,23 +67,18 @@ func (client *Client) GetServiceExtensionsWithCallback(request *GetServiceExtens
 
 type GetServiceExtensionsRequest struct {
 	*requests.RpcRequest
-	ServiceType string `position:"Query" name:"ServiceType"`
 	InstanceId  string `position:"Query" name:"InstanceId"`
+	ServiceType string `position:"Query" name:"ServiceType"`
 }
 
 type GetServiceExtensionsResponse struct {
 	*responses.BaseResponse
-	RequestId         string `json:"RequestId" xml:"RequestId"`
-	Success           bool   `json:"Success" xml:"Success"`
-	Code              string `json:"Code" xml:"Code"`
-	Message           string `json:"Message" xml:"Message"`
-	HttpStatusCode    int    `json:"HttpStatusCode" xml:"HttpStatusCode"`
-	ServiceExtensions struct {
-		ServiceExtension []struct {
-			Name   string `json:"Name" xml:"Name"`
-			Number string `json:"Number" xml:"Number"`
-		} `json:"ServiceExtension" xml:"ServiceExtension"`
-	} `json:"ServiceExtensions" xml:"ServiceExtensions"`
+	RequestId         string            `json:"RequestId" xml:"RequestId"`
+	Success           bool              `json:"Success" xml:"Success"`
+	Code              string            `json:"Code" xml:"Code"`
+	Message           string            `json:"Message" xml:"Message"`
+	HttpStatusCode    int               `json:"HttpStatusCode" xml:"HttpStatusCode"`
+	ServiceExtensions ServiceExtensions `json:"ServiceExtensions" xml:"ServiceExtensions"`
 }
 
 func CreateGetServiceExtensionsRequest() (request *GetServiceExtensionsRequest) {

+ 2 - 33
services/ccc/get_user.go

@@ -67,8 +67,8 @@ func (client *Client) GetUserWithCallback(request *GetUserRequest, callback func
 
 type GetUserRequest struct {
 	*requests.RpcRequest
-	UserId     string `position:"Query" name:"UserId"`
 	InstanceId string `position:"Query" name:"InstanceId"`
+	UserId     string `position:"Query" name:"UserId"`
 }
 
 type GetUserResponse struct {
@@ -78,38 +78,7 @@ type GetUserResponse struct {
 	Code           string `json:"Code" xml:"Code"`
 	Message        string `json:"Message" xml:"Message"`
 	HttpStatusCode int    `json:"HttpStatusCode" xml:"HttpStatusCode"`
-	User           struct {
-		UserId     string `json:"UserId" xml:"UserId"`
-		RamId      string `json:"RamId" xml:"RamId"`
-		InstanceId string `json:"InstanceId" xml:"InstanceId"`
-		Detail     struct {
-			LoginName   string `json:"LoginName" xml:"LoginName"`
-			DisplayName string `json:"DisplayName" xml:"DisplayName"`
-			Phone       string `json:"Phone" xml:"Phone"`
-			Email       string `json:"Email" xml:"Email"`
-			Department  string `json:"Department" xml:"Department"`
-		} `json:"Detail" xml:"Detail"`
-		Roles struct {
-			Role []struct {
-				RoleId          string `json:"RoleId" xml:"RoleId"`
-				InstanceId      string `json:"InstanceId" xml:"InstanceId"`
-				RoleName        string `json:"RoleName" xml:"RoleName"`
-				RoleDescription string `json:"RoleDescription" xml:"RoleDescription"`
-			} `json:"Role" xml:"Role"`
-		} `json:"Roles" xml:"Roles"`
-		SkillLevels struct {
-			SkillLevel []struct {
-				SkillLevelId string `json:"SkillLevelId" xml:"SkillLevelId"`
-				Level        int    `json:"Level" xml:"Level"`
-				Skill        struct {
-					SkillGroupId          string `json:"SkillGroupId" xml:"SkillGroupId"`
-					InstanceId            string `json:"InstanceId" xml:"InstanceId"`
-					SkillGroupName        string `json:"SkillGroupName" xml:"SkillGroupName"`
-					SkillGroupDescription string `json:"SkillGroupDescription" xml:"SkillGroupDescription"`
-				} `json:"Skill" xml:"Skill"`
-			} `json:"SkillLevel" xml:"SkillLevel"`
-		} `json:"SkillLevels" xml:"SkillLevels"`
-	} `json:"User" xml:"User"`
+	User           User   `json:"User" xml:"User"`
 }
 
 func CreateGetUserRequest() (request *GetUserRequest) {

+ 9 - 58
services/ccc/list_call_detail_records.go

@@ -67,72 +67,23 @@ func (client *Client) ListCallDetailRecordsWithCallback(request *ListCallDetailR
 
 type ListCallDetailRecordsRequest struct {
 	*requests.RpcRequest
-	PageSize    requests.Integer `position:"Query" name:"PageSize"`
+	InstanceId  string           `position:"Query" name:"InstanceId"`
 	PhoneNumber string           `position:"Query" name:"PhoneNumber"`
 	StartTime   requests.Integer `position:"Query" name:"StartTime"`
+	StopTime    requests.Integer `position:"Query" name:"StopTime"`
 	Criteria    string           `position:"Query" name:"Criteria"`
 	PageNumber  requests.Integer `position:"Query" name:"PageNumber"`
-	StopTime    requests.Integer `position:"Query" name:"StopTime"`
-	InstanceId  string           `position:"Query" name:"InstanceId"`
+	PageSize    requests.Integer `position:"Query" name:"PageSize"`
 }
 
 type ListCallDetailRecordsResponse struct {
 	*responses.BaseResponse
-	RequestId         string `json:"RequestId" xml:"RequestId"`
-	Success           bool   `json:"Success" xml:"Success"`
-	Code              string `json:"Code" xml:"Code"`
-	Message           string `json:"Message" xml:"Message"`
-	HttpStatusCode    int    `json:"HttpStatusCode" xml:"HttpStatusCode"`
-	CallDetailRecords struct {
-		TotalCount int `json:"TotalCount" xml:"TotalCount"`
-		PageNumber int `json:"PageNumber" xml:"PageNumber"`
-		PageSize   int `json:"PageSize" xml:"PageSize"`
-		List       struct {
-			CallDetailRecord []struct {
-				ContactId          string `json:"ContactId" xml:"ContactId"`
-				StartTime          int    `json:"StartTime" xml:"StartTime"`
-				Duration           int    `json:"Duration" xml:"Duration"`
-				ContactType        string `json:"ContactType" xml:"ContactType"`
-				ContactDisposition string `json:"ContactDisposition" xml:"ContactDisposition"`
-				CallingNumber      string `json:"CallingNumber" xml:"CallingNumber"`
-				CalledNumber       string `json:"CalledNumber" xml:"CalledNumber"`
-				AgentNames         string `json:"AgentNames" xml:"AgentNames"`
-				SkillGroupNames    string `json:"SkillGroupNames" xml:"SkillGroupNames"`
-				InstanceId         string `json:"InstanceId" xml:"InstanceId"`
-				Agents             struct {
-					CallDetailAgent []struct {
-						ContactId      string `json:"ContactId" xml:"ContactId"`
-						AgentId        string `json:"AgentId" xml:"AgentId"`
-						AgentName      string `json:"AgentName" xml:"AgentName"`
-						SkillGroupName string `json:"SkillGroupName" xml:"SkillGroupName"`
-						QueueTime      int    `json:"QueueTime" xml:"QueueTime"`
-						RingTime       int    `json:"RingTime" xml:"RingTime"`
-						StartTime      int    `json:"StartTime" xml:"StartTime"`
-						TalkTime       int    `json:"TalkTime" xml:"TalkTime"`
-						HoldTime       int    `json:"HoldTime" xml:"HoldTime"`
-						WorkTime       int    `json:"WorkTime" xml:"WorkTime"`
-					} `json:"CallDetailAgent" xml:"CallDetailAgent"`
-				} `json:"Agents" xml:"Agents"`
-				Recordings struct {
-					Recording []struct {
-						ContactId       string `json:"ContactId" xml:"ContactId"`
-						ContactType     string `json:"ContactType" xml:"ContactType"`
-						AgentId         string `json:"AgentId" xml:"AgentId"`
-						AgentName       string `json:"AgentName" xml:"AgentName"`
-						CallingNumber   string `json:"CallingNumber" xml:"CallingNumber"`
-						CalledNumber    string `json:"CalledNumber" xml:"CalledNumber"`
-						StartTime       int    `json:"StartTime" xml:"StartTime"`
-						Duration        int    `json:"Duration" xml:"Duration"`
-						FileName        string `json:"FileName" xml:"FileName"`
-						FilePath        string `json:"FilePath" xml:"FilePath"`
-						FileDescription string `json:"FileDescription" xml:"FileDescription"`
-						Channel         string `json:"Channel" xml:"Channel"`
-						InstanceId      string `json:"InstanceId" xml:"InstanceId"`
-					} `json:"Recording" xml:"Recording"`
-				} `json:"Recordings" xml:"Recordings"`
-			} `json:"CallDetailRecord" xml:"CallDetailRecord"`
-		} `json:"List" xml:"List"`
-	} `json:"CallDetailRecords" xml:"CallDetailRecords"`
+	RequestId         string            `json:"RequestId" xml:"RequestId"`
+	Success           bool              `json:"Success" xml:"Success"`
+	Code              string            `json:"Code" xml:"Code"`
+	Message           string            `json:"Message" xml:"Message"`
+	HttpStatusCode    int               `json:"HttpStatusCode" xml:"HttpStatusCode"`
+	CallDetailRecords CallDetailRecords `json:"CallDetailRecords" xml:"CallDetailRecords"`
 }
 
 func CreateListCallDetailRecordsRequest() (request *ListCallDetailRecordsRequest) {

+ 6 - 39
services/ccc/list_contact_flows.go

@@ -72,45 +72,12 @@ type ListContactFlowsRequest struct {
 
 type ListContactFlowsResponse struct {
 	*responses.BaseResponse
-	RequestId      string `json:"RequestId" xml:"RequestId"`
-	Success        bool   `json:"Success" xml:"Success"`
-	Code           string `json:"Code" xml:"Code"`
-	Message        string `json:"Message" xml:"Message"`
-	HttpStatusCode int    `json:"HttpStatusCode" xml:"HttpStatusCode"`
-	ContactFlows   struct {
-		ContactFlow []struct {
-			ContactFlowId          string `json:"ContactFlowId" xml:"ContactFlowId"`
-			InstanceId             string `json:"InstanceId" xml:"InstanceId"`
-			ContactFlowName        string `json:"ContactFlowName" xml:"ContactFlowName"`
-			ContactFlowDescription string `json:"ContactFlowDescription" xml:"ContactFlowDescription"`
-			Type                   string `json:"Type" xml:"Type"`
-			AppliedVersion         string `json:"AppliedVersion" xml:"AppliedVersion"`
-			Versions               struct {
-				ContactFlowVersion []struct {
-					ContactFlowVersionId          string `json:"ContactFlowVersionId" xml:"ContactFlowVersionId"`
-					Version                       string `json:"Version" xml:"Version"`
-					ContactFlowVersionDescription string `json:"ContactFlowVersionDescription" xml:"ContactFlowVersionDescription"`
-					LastModified                  string `json:"LastModified" xml:"LastModified"`
-					LastModifiedBy                string `json:"LastModifiedBy" xml:"LastModifiedBy"`
-					LockedBy                      string `json:"LockedBy" xml:"LockedBy"`
-					Status                        string `json:"Status" xml:"Status"`
-				} `json:"ContactFlowVersion" xml:"ContactFlowVersion"`
-			} `json:"Versions" xml:"Versions"`
-			PhoneNumbers struct {
-				PhoneNumber []struct {
-					PhoneNumberId          string `json:"PhoneNumberId" xml:"PhoneNumberId"`
-					InstanceId             string `json:"InstanceId" xml:"InstanceId"`
-					Number                 string `json:"Number" xml:"Number"`
-					PhoneNumberDescription string `json:"PhoneNumberDescription" xml:"PhoneNumberDescription"`
-					TestOnly               bool   `json:"TestOnly" xml:"TestOnly"`
-					RemainingTime          int    `json:"RemainingTime" xml:"RemainingTime"`
-					AllowOutbound          bool   `json:"AllowOutbound" xml:"AllowOutbound"`
-					Usage                  string `json:"Usage" xml:"Usage"`
-					Trunks                 int    `json:"Trunks" xml:"Trunks"`
-				} `json:"PhoneNumber" xml:"PhoneNumber"`
-			} `json:"PhoneNumbers" xml:"PhoneNumbers"`
-		} `json:"ContactFlow" xml:"ContactFlow"`
-	} `json:"ContactFlows" xml:"ContactFlows"`
+	RequestId      string       `json:"RequestId" xml:"RequestId"`
+	Success        bool         `json:"Success" xml:"Success"`
+	Code           string       `json:"Code" xml:"Code"`
+	Message        string       `json:"Message" xml:"Message"`
+	HttpStatusCode int          `json:"HttpStatusCode" xml:"HttpStatusCode"`
+	ContactFlows   ContactFlows `json:"ContactFlows" xml:"ContactFlows"`
 }
 
 func CreateListContactFlowsRequest() (request *ListContactFlowsRequest) {

+ 7 - 26
services/ccc/list_phone_numbers.go

@@ -67,37 +67,18 @@ func (client *Client) ListPhoneNumbersWithCallback(request *ListPhoneNumbersRequ
 
 type ListPhoneNumbersRequest struct {
 	*requests.RpcRequest
-	OutboundOnly requests.Boolean `position:"Query" name:"OutboundOnly"`
 	InstanceId   string           `position:"Query" name:"InstanceId"`
+	OutboundOnly requests.Boolean `position:"Query" name:"OutboundOnly"`
 }
 
 type ListPhoneNumbersResponse struct {
 	*responses.BaseResponse
-	RequestId      string `json:"RequestId" xml:"RequestId"`
-	Success        bool   `json:"Success" xml:"Success"`
-	Code           string `json:"Code" xml:"Code"`
-	Message        string `json:"Message" xml:"Message"`
-	HttpStatusCode int    `json:"HttpStatusCode" xml:"HttpStatusCode"`
-	PhoneNumbers   struct {
-		PhoneNumber []struct {
-			PhoneNumberId          string `json:"PhoneNumberId" xml:"PhoneNumberId"`
-			InstanceId             string `json:"InstanceId" xml:"InstanceId"`
-			Number                 string `json:"Number" xml:"Number"`
-			PhoneNumberDescription string `json:"PhoneNumberDescription" xml:"PhoneNumberDescription"`
-			TestOnly               bool   `json:"TestOnly" xml:"TestOnly"`
-			RemainingTime          int    `json:"RemainingTime" xml:"RemainingTime"`
-			AllowOutbound          bool   `json:"AllowOutbound" xml:"AllowOutbound"`
-			Usage                  string `json:"Usage" xml:"Usage"`
-			Trunks                 int    `json:"Trunks" xml:"Trunks"`
-			ContactFlow            struct {
-				ContactFlowId          string `json:"ContactFlowId" xml:"ContactFlowId"`
-				InstanceId             string `json:"InstanceId" xml:"InstanceId"`
-				ContactFlowName        string `json:"ContactFlowName" xml:"ContactFlowName"`
-				ContactFlowDescription string `json:"ContactFlowDescription" xml:"ContactFlowDescription"`
-				Type                   string `json:"Type" xml:"Type"`
-			} `json:"ContactFlow" xml:"ContactFlow"`
-		} `json:"PhoneNumber" xml:"PhoneNumber"`
-	} `json:"PhoneNumbers" xml:"PhoneNumbers"`
+	RequestId      string       `json:"RequestId" xml:"RequestId"`
+	Success        bool         `json:"Success" xml:"Success"`
+	Code           string       `json:"Code" xml:"Code"`
+	Message        string       `json:"Message" xml:"Message"`
+	HttpStatusCode int          `json:"HttpStatusCode" xml:"HttpStatusCode"`
+	PhoneNumbers   PhoneNumbers `json:"PhoneNumbers" xml:"PhoneNumbers"`
 }
 
 func CreateListPhoneNumbersRequest() (request *ListPhoneNumbersRequest) {

+ 11 - 32
services/ccc/list_recordings.go

@@ -67,45 +67,24 @@ func (client *Client) ListRecordingsWithCallback(request *ListRecordingsRequest,
 
 type ListRecordingsRequest struct {
 	*requests.RpcRequest
-	PageSize    requests.Integer `position:"Query" name:"PageSize"`
-	PhoneNumber string           `position:"Query" name:"PhoneNumber"`
+	InstanceId  string           `position:"Query" name:"InstanceId"`
 	StartTime   requests.Integer `position:"Query" name:"StartTime"`
-	Criteria    string           `position:"Query" name:"Criteria"`
-	PageNumber  requests.Integer `position:"Query" name:"PageNumber"`
 	StopTime    requests.Integer `position:"Query" name:"StopTime"`
-	InstanceId  string           `position:"Query" name:"InstanceId"`
+	PhoneNumber string           `position:"Query" name:"PhoneNumber"`
 	AgentId     string           `position:"Query" name:"AgentId"`
+	Criteria    string           `position:"Query" name:"Criteria"`
+	PageNumber  requests.Integer `position:"Query" name:"PageNumber"`
+	PageSize    requests.Integer `position:"Query" name:"PageSize"`
 }
 
 type ListRecordingsResponse struct {
 	*responses.BaseResponse
-	RequestId      string `json:"RequestId" xml:"RequestId"`
-	Success        bool   `json:"Success" xml:"Success"`
-	Code           string `json:"Code" xml:"Code"`
-	Message        string `json:"Message" xml:"Message"`
-	HttpStatusCode int    `json:"HttpStatusCode" xml:"HttpStatusCode"`
-	Recordings     struct {
-		TotalCount int `json:"TotalCount" xml:"TotalCount"`
-		PageNumber int `json:"PageNumber" xml:"PageNumber"`
-		PageSize   int `json:"PageSize" xml:"PageSize"`
-		List       struct {
-			Recording []struct {
-				ContactId       string `json:"ContactId" xml:"ContactId"`
-				ContactType     string `json:"ContactType" xml:"ContactType"`
-				AgentId         string `json:"AgentId" xml:"AgentId"`
-				AgentName       string `json:"AgentName" xml:"AgentName"`
-				CallingNumber   string `json:"CallingNumber" xml:"CallingNumber"`
-				CalledNumber    string `json:"CalledNumber" xml:"CalledNumber"`
-				StartTime       int    `json:"StartTime" xml:"StartTime"`
-				Duration        int    `json:"Duration" xml:"Duration"`
-				FileName        string `json:"FileName" xml:"FileName"`
-				FilePath        string `json:"FilePath" xml:"FilePath"`
-				FileDescription string `json:"FileDescription" xml:"FileDescription"`
-				Channel         string `json:"Channel" xml:"Channel"`
-				InstanceId      string `json:"InstanceId" xml:"InstanceId"`
-			} `json:"Recording" xml:"Recording"`
-		} `json:"List" xml:"List"`
-	} `json:"Recordings" xml:"Recordings"`
+	RequestId      string     `json:"RequestId" xml:"RequestId"`
+	Success        bool       `json:"Success" xml:"Success"`
+	Code           string     `json:"Code" xml:"Code"`
+	Message        string     `json:"Message" xml:"Message"`
+	HttpStatusCode int        `json:"HttpStatusCode" xml:"HttpStatusCode"`
+	Recordings     Recordings `json:"Recordings" xml:"Recordings"`
 }
 
 func CreateListRecordingsRequest() (request *ListRecordingsRequest) {

+ 1 - 8
services/ccc/list_roles.go

@@ -77,14 +77,7 @@ type ListRolesResponse struct {
 	Code           string `json:"Code" xml:"Code"`
 	Message        string `json:"Message" xml:"Message"`
 	HttpStatusCode int    `json:"HttpStatusCode" xml:"HttpStatusCode"`
-	Roles          struct {
-		Role []struct {
-			RoleId          string `json:"RoleId" xml:"RoleId"`
-			InstanceId      string `json:"InstanceId" xml:"InstanceId"`
-			RoleName        string `json:"RoleName" xml:"RoleName"`
-			RoleDescription string `json:"RoleDescription" xml:"RoleDescription"`
-		} `json:"Role" xml:"Role"`
-	} `json:"Roles" xml:"Roles"`
+	Roles          Roles  `json:"Roles" xml:"Roles"`
 }
 
 func CreateListRolesRequest() (request *ListRolesRequest) {

+ 6 - 29
services/ccc/list_skill_groups.go

@@ -72,35 +72,12 @@ type ListSkillGroupsRequest struct {
 
 type ListSkillGroupsResponse struct {
 	*responses.BaseResponse
-	RequestId      string `json:"RequestId" xml:"RequestId"`
-	Success        bool   `json:"Success" xml:"Success"`
-	Code           string `json:"Code" xml:"Code"`
-	Message        string `json:"Message" xml:"Message"`
-	HttpStatusCode int    `json:"HttpStatusCode" xml:"HttpStatusCode"`
-	SkillGroups    struct {
-		SkillGroup []struct {
-			SkillGroupId          string `json:"SkillGroupId" xml:"SkillGroupId"`
-			InstanceId            string `json:"InstanceId" xml:"InstanceId"`
-			SkillGroupName        string `json:"SkillGroupName" xml:"SkillGroupName"`
-			AccSkillGroupName     string `json:"AccSkillGroupName" xml:"AccSkillGroupName"`
-			AccQueueName          string `json:"AccQueueName" xml:"AccQueueName"`
-			SkillGroupDescription string `json:"SkillGroupDescription" xml:"SkillGroupDescription"`
-			UserCount             int    `json:"UserCount" xml:"UserCount"`
-			OutboundPhoneNumbers  struct {
-				PhoneNumber []struct {
-					PhoneNumberId          string `json:"PhoneNumberId" xml:"PhoneNumberId"`
-					InstanceId             string `json:"InstanceId" xml:"InstanceId"`
-					Number                 string `json:"Number" xml:"Number"`
-					PhoneNumberDescription string `json:"PhoneNumberDescription" xml:"PhoneNumberDescription"`
-					TestOnly               bool   `json:"TestOnly" xml:"TestOnly"`
-					RemainingTime          int    `json:"RemainingTime" xml:"RemainingTime"`
-					AllowOutbound          bool   `json:"AllowOutbound" xml:"AllowOutbound"`
-					Usage                  string `json:"Usage" xml:"Usage"`
-					Trunks                 int    `json:"Trunks" xml:"Trunks"`
-				} `json:"PhoneNumber" xml:"PhoneNumber"`
-			} `json:"OutboundPhoneNumbers" xml:"OutboundPhoneNumbers"`
-		} `json:"SkillGroup" xml:"SkillGroup"`
-	} `json:"SkillGroups" xml:"SkillGroups"`
+	RequestId      string      `json:"RequestId" xml:"RequestId"`
+	Success        bool        `json:"Success" xml:"Success"`
+	Code           string      `json:"Code" xml:"Code"`
+	Message        string      `json:"Message" xml:"Message"`
+	HttpStatusCode int         `json:"HttpStatusCode" xml:"HttpStatusCode"`
+	SkillGroups    SkillGroups `json:"SkillGroups" xml:"SkillGroups"`
 }
 
 func CreateListSkillGroupsRequest() (request *ListSkillGroupsRequest) {

+ 7 - 31
services/ccc/list_skill_groups_of_user.go

@@ -67,42 +67,18 @@ func (client *Client) ListSkillGroupsOfUserWithCallback(request *ListSkillGroups
 
 type ListSkillGroupsOfUserRequest struct {
 	*requests.RpcRequest
-	UserId     string `position:"Query" name:"UserId"`
 	InstanceId string `position:"Query" name:"InstanceId"`
+	UserId     string `position:"Query" name:"UserId"`
 }
 
 type ListSkillGroupsOfUserResponse struct {
 	*responses.BaseResponse
-	RequestId      string `json:"RequestId" xml:"RequestId"`
-	Success        bool   `json:"Success" xml:"Success"`
-	Code           string `json:"Code" xml:"Code"`
-	Message        string `json:"Message" xml:"Message"`
-	HttpStatusCode int    `json:"HttpStatusCode" xml:"HttpStatusCode"`
-	SkillLevels    struct {
-		SkillLevel []struct {
-			SkillLevelId string `json:"SkillLevelId" xml:"SkillLevelId"`
-			Level        int    `json:"Level" xml:"Level"`
-			Skill        struct {
-				SkillGroupId          string `json:"SkillGroupId" xml:"SkillGroupId"`
-				InstanceId            string `json:"InstanceId" xml:"InstanceId"`
-				SkillGroupName        string `json:"SkillGroupName" xml:"SkillGroupName"`
-				SkillGroupDescription string `json:"SkillGroupDescription" xml:"SkillGroupDescription"`
-				OutboundPhoneNumbers  struct {
-					PhoneNumber []struct {
-						PhoneNumberId          string `json:"PhoneNumberId" xml:"PhoneNumberId"`
-						InstanceId             string `json:"InstanceId" xml:"InstanceId"`
-						Number                 string `json:"Number" xml:"Number"`
-						PhoneNumberDescription string `json:"PhoneNumberDescription" xml:"PhoneNumberDescription"`
-						TestOnly               bool   `json:"TestOnly" xml:"TestOnly"`
-						RemainingTime          int    `json:"RemainingTime" xml:"RemainingTime"`
-						AllowOutbound          bool   `json:"AllowOutbound" xml:"AllowOutbound"`
-						Usage                  string `json:"Usage" xml:"Usage"`
-						Trunks                 int    `json:"Trunks" xml:"Trunks"`
-					} `json:"PhoneNumber" xml:"PhoneNumber"`
-				} `json:"OutboundPhoneNumbers" xml:"OutboundPhoneNumbers"`
-			} `json:"Skill" xml:"Skill"`
-		} `json:"SkillLevel" xml:"SkillLevel"`
-	} `json:"SkillLevels" xml:"SkillLevels"`
+	RequestId      string      `json:"RequestId" xml:"RequestId"`
+	Success        bool        `json:"Success" xml:"Success"`
+	Code           string      `json:"Code" xml:"Code"`
+	Message        string      `json:"Message" xml:"Message"`
+	HttpStatusCode int         `json:"HttpStatusCode" xml:"HttpStatusCode"`
+	SkillLevels    SkillLevels `json:"SkillLevels" xml:"SkillLevels"`
 }
 
 func CreateListSkillGroupsOfUserRequest() (request *ListSkillGroupsOfUserRequest) {

+ 3 - 42
services/ccc/list_users.go

@@ -67,9 +67,9 @@ func (client *Client) ListUsersWithCallback(request *ListUsersRequest, callback
 
 type ListUsersRequest struct {
 	*requests.RpcRequest
-	PageSize   requests.Integer `position:"Query" name:"PageSize"`
-	PageNumber requests.Integer `position:"Query" name:"PageNumber"`
 	InstanceId string           `position:"Query" name:"InstanceId"`
+	PageNumber requests.Integer `position:"Query" name:"PageNumber"`
+	PageSize   requests.Integer `position:"Query" name:"PageSize"`
 }
 
 type ListUsersResponse struct {
@@ -79,46 +79,7 @@ type ListUsersResponse struct {
 	Code           string `json:"Code" xml:"Code"`
 	Message        string `json:"Message" xml:"Message"`
 	HttpStatusCode int    `json:"HttpStatusCode" xml:"HttpStatusCode"`
-	Users          struct {
-		TotalCount int `json:"TotalCount" xml:"TotalCount"`
-		PageNumber int `json:"PageNumber" xml:"PageNumber"`
-		PageSize   int `json:"PageSize" xml:"PageSize"`
-		List       struct {
-			User []struct {
-				UserId     string `json:"UserId" xml:"UserId"`
-				RamId      string `json:"RamId" xml:"RamId"`
-				InstanceId string `json:"InstanceId" xml:"InstanceId"`
-				Primary    bool   `json:"Primary" xml:"Primary"`
-				Detail     struct {
-					LoginName   string `json:"LoginName" xml:"LoginName"`
-					DisplayName string `json:"DisplayName" xml:"DisplayName"`
-					Phone       string `json:"Phone" xml:"Phone"`
-					Email       string `json:"Email" xml:"Email"`
-					Department  string `json:"Department" xml:"Department"`
-				} `json:"Detail" xml:"Detail"`
-				Roles struct {
-					Role []struct {
-						RoleId          string `json:"RoleId" xml:"RoleId"`
-						InstanceId      string `json:"InstanceId" xml:"InstanceId"`
-						RoleName        string `json:"RoleName" xml:"RoleName"`
-						RoleDescription string `json:"RoleDescription" xml:"RoleDescription"`
-					} `json:"Role" xml:"Role"`
-				} `json:"Roles" xml:"Roles"`
-				SkillLevels struct {
-					SkillLevel []struct {
-						SkillLevelId string `json:"SkillLevelId" xml:"SkillLevelId"`
-						Level        int    `json:"Level" xml:"Level"`
-						Skill        struct {
-							SkillGroupId          string `json:"SkillGroupId" xml:"SkillGroupId"`
-							InstanceId            string `json:"InstanceId" xml:"InstanceId"`
-							SkillGroupName        string `json:"SkillGroupName" xml:"SkillGroupName"`
-							SkillGroupDescription string `json:"SkillGroupDescription" xml:"SkillGroupDescription"`
-						} `json:"Skill" xml:"Skill"`
-					} `json:"SkillLevel" xml:"SkillLevel"`
-				} `json:"SkillLevels" xml:"SkillLevels"`
-			} `json:"User" xml:"User"`
-		} `json:"List" xml:"List"`
-	} `json:"Users" xml:"Users"`
+	Users          Users  `json:"Users" xml:"Users"`
 }
 
 func CreateListUsersRequest() (request *ListUsersRequest) {

+ 4 - 50
services/ccc/list_users_of_skill_group.go

@@ -67,10 +67,10 @@ func (client *Client) ListUsersOfSkillGroupWithCallback(request *ListUsersOfSkil
 
 type ListUsersOfSkillGroupRequest struct {
 	*requests.RpcRequest
-	PageSize     requests.Integer `position:"Query" name:"PageSize"`
-	PageNumber   requests.Integer `position:"Query" name:"PageNumber"`
-	SkillGroupId string           `position:"Query" name:"SkillGroupId"`
 	InstanceId   string           `position:"Query" name:"InstanceId"`
+	SkillGroupId string           `position:"Query" name:"SkillGroupId"`
+	PageNumber   requests.Integer `position:"Query" name:"PageNumber"`
+	PageSize     requests.Integer `position:"Query" name:"PageSize"`
 }
 
 type ListUsersOfSkillGroupResponse struct {
@@ -80,53 +80,7 @@ type ListUsersOfSkillGroupResponse struct {
 	Code           string `json:"Code" xml:"Code"`
 	Message        string `json:"Message" xml:"Message"`
 	HttpStatusCode int    `json:"HttpStatusCode" xml:"HttpStatusCode"`
-	Users          struct {
-		TotalCount int `json:"TotalCount" xml:"TotalCount"`
-		PageNumber int `json:"PageNumber" xml:"PageNumber"`
-		PageSize   int `json:"PageSize" xml:"PageSize"`
-		List       struct {
-			User []struct {
-				UserId     string `json:"UserId" xml:"UserId"`
-				RamId      string `json:"RamId" xml:"RamId"`
-				InstanceId string `json:"InstanceId" xml:"InstanceId"`
-				Detail     struct {
-					LoginName   string `json:"LoginName" xml:"LoginName"`
-					DisplayName string `json:"DisplayName" xml:"DisplayName"`
-					Phone       string `json:"Phone" xml:"Phone"`
-					Email       string `json:"Email" xml:"Email"`
-					Department  string `json:"Department" xml:"Department"`
-				} `json:"Detail" xml:"Detail"`
-				Roles struct {
-					Role []struct {
-						RoleId          string `json:"RoleId" xml:"RoleId"`
-						InstanceId      string `json:"InstanceId" xml:"InstanceId"`
-						RoleName        string `json:"RoleName" xml:"RoleName"`
-						RoleDescription string `json:"RoleDescription" xml:"RoleDescription"`
-						UserCount       int    `json:"UserCount" xml:"UserCount"`
-						Privileges      struct {
-							Privilege []struct {
-								PrivilegeId          string `json:"PrivilegeId" xml:"PrivilegeId"`
-								PrivilegeName        string `json:"PrivilegeName" xml:"PrivilegeName"`
-								PrivilegeDescription string `json:"PrivilegeDescription" xml:"PrivilegeDescription"`
-							} `json:"Privilege" xml:"Privilege"`
-						} `json:"Privileges" xml:"Privileges"`
-					} `json:"Role" xml:"Role"`
-				} `json:"Roles" xml:"Roles"`
-				SkillLevels struct {
-					SkillLevel []struct {
-						SkillLevelId string `json:"SkillLevelId" xml:"SkillLevelId"`
-						Level        int    `json:"Level" xml:"Level"`
-						Skill        struct {
-							SkillGroupId          string `json:"SkillGroupId" xml:"SkillGroupId"`
-							InstanceId            string `json:"InstanceId" xml:"InstanceId"`
-							SkillGroupName        string `json:"SkillGroupName" xml:"SkillGroupName"`
-							SkillGroupDescription string `json:"SkillGroupDescription" xml:"SkillGroupDescription"`
-						} `json:"Skill" xml:"Skill"`
-					} `json:"SkillLevel" xml:"SkillLevel"`
-				} `json:"SkillLevels" xml:"SkillLevels"`
-			} `json:"User" xml:"User"`
-		} `json:"List" xml:"List"`
-	} `json:"Users" xml:"Users"`
+	Users          Users  `json:"Users" xml:"Users"`
 }
 
 func CreateListUsersOfSkillGroupRequest() (request *ListUsersOfSkillGroupRequest) {

+ 7 - 24
services/ccc/modify_phone_number.go

@@ -67,37 +67,20 @@ func (client *Client) ModifyPhoneNumberWithCallback(request *ModifyPhoneNumberRe
 
 type ModifyPhoneNumberRequest struct {
 	*requests.RpcRequest
+	InstanceId    string `position:"Query" name:"InstanceId"`
 	PhoneNumberId string `position:"Query" name:"PhoneNumberId"`
 	Usage         string `position:"Query" name:"Usage"`
 	ContactFlowId string `position:"Query" name:"ContactFlowId"`
-	InstanceId    string `position:"Query" name:"InstanceId"`
 }
 
 type ModifyPhoneNumberResponse struct {
 	*responses.BaseResponse
-	RequestId      string `json:"RequestId" xml:"RequestId"`
-	Success        bool   `json:"Success" xml:"Success"`
-	Code           string `json:"Code" xml:"Code"`
-	Message        string `json:"Message" xml:"Message"`
-	HttpStatusCode int    `json:"HttpStatusCode" xml:"HttpStatusCode"`
-	PhoneNumber    struct {
-		PhoneNumberId          string `json:"PhoneNumberId" xml:"PhoneNumberId"`
-		InstanceId             string `json:"InstanceId" xml:"InstanceId"`
-		Number                 string `json:"Number" xml:"Number"`
-		PhoneNumberDescription string `json:"PhoneNumberDescription" xml:"PhoneNumberDescription"`
-		TestOnly               bool   `json:"TestOnly" xml:"TestOnly"`
-		RemainingTime          int    `json:"RemainingTime" xml:"RemainingTime"`
-		AllowOutbound          bool   `json:"AllowOutbound" xml:"AllowOutbound"`
-		Usage                  string `json:"Usage" xml:"Usage"`
-		Trunks                 int    `json:"Trunks" xml:"Trunks"`
-		ContactFlow            struct {
-			ContactFlowId          string `json:"ContactFlowId" xml:"ContactFlowId"`
-			InstanceId             string `json:"InstanceId" xml:"InstanceId"`
-			ContactFlowName        string `json:"ContactFlowName" xml:"ContactFlowName"`
-			ContactFlowDescription string `json:"ContactFlowDescription" xml:"ContactFlowDescription"`
-			Type                   string `json:"Type" xml:"Type"`
-		} `json:"ContactFlow" xml:"ContactFlow"`
-	} `json:"PhoneNumber" xml:"PhoneNumber"`
+	RequestId      string      `json:"RequestId" xml:"RequestId"`
+	Success        bool        `json:"Success" xml:"Success"`
+	Code           string      `json:"Code" xml:"Code"`
+	Message        string      `json:"Message" xml:"Message"`
+	HttpStatusCode int         `json:"HttpStatusCode" xml:"HttpStatusCode"`
+	PhoneNumber    PhoneNumber `json:"PhoneNumber" xml:"PhoneNumber"`
 }
 
 func CreateModifyPhoneNumberRequest() (request *ModifyPhoneNumberRequest) {

+ 4 - 4
services/ccc/modify_skill_group.go

@@ -67,13 +67,13 @@ func (client *Client) ModifySkillGroupWithCallback(request *ModifySkillGroupRequ
 
 type ModifySkillGroupRequest struct {
 	*requests.RpcRequest
-	SkillLevel            *[]string `position:"Query" name:"SkillLevel"  type:"Repeated"`
-	Description           string    `position:"Query" name:"Description"`
+	InstanceId            string    `position:"Query" name:"InstanceId"`
 	SkillGroupId          string    `position:"Query" name:"SkillGroupId"`
 	Name                  string    `position:"Query" name:"Name"`
-	UserId                *[]string `position:"Query" name:"UserId"  type:"Repeated"`
+	Description           string    `position:"Query" name:"Description"`
 	OutboundPhoneNumberId *[]string `position:"Query" name:"OutboundPhoneNumberId"  type:"Repeated"`
-	InstanceId            string    `position:"Query" name:"InstanceId"`
+	UserId                *[]string `position:"Query" name:"UserId"  type:"Repeated"`
+	SkillLevel            *[]string `position:"Query" name:"SkillLevel"  type:"Repeated"`
 }
 
 type ModifySkillGroupResponse struct {

+ 5 - 5
services/ccc/modify_user.go

@@ -67,14 +67,14 @@ func (client *Client) ModifyUserWithCallback(request *ModifyUserRequest, callbac
 
 type ModifyUserRequest struct {
 	*requests.RpcRequest
+	InstanceId   string    `position:"Query" name:"InstanceId"`
+	UserId       string    `position:"Query" name:"UserId"`
+	DisplayName  string    `position:"Query" name:"DisplayName"`
 	Phone        string    `position:"Query" name:"Phone"`
-	SkillLevel   *[]string `position:"Query" name:"SkillLevel"  type:"Repeated"`
-	RoleId       *[]string `position:"Query" name:"RoleId"  type:"Repeated"`
 	Email        string    `position:"Query" name:"Email"`
+	RoleId       *[]string `position:"Query" name:"RoleId"  type:"Repeated"`
 	SkillGroupId *[]string `position:"Query" name:"SkillGroupId"  type:"Repeated"`
-	UserId       string    `position:"Query" name:"UserId"`
-	InstanceId   string    `position:"Query" name:"InstanceId"`
-	DisplayName  string    `position:"Query" name:"DisplayName"`
+	SkillLevel   *[]string `position:"Query" name:"SkillLevel"  type:"Repeated"`
 }
 
 type ModifyUserResponse struct {

+ 1 - 4
services/ccc/refresh_token.go

@@ -77,10 +77,7 @@ type RefreshTokenResponse struct {
 	Code           string `json:"Code" xml:"Code"`
 	Message        string `json:"Message" xml:"Message"`
 	HttpStatusCode int    `json:"HttpStatusCode" xml:"HttpStatusCode"`
-	Token          struct {
-		Signature string `json:"Signature" xml:"Signature"`
-		SignData  string `json:"SignData" xml:"SignData"`
-	} `json:"Token" xml:"Token"`
+	Token          Token  `json:"Token" xml:"Token"`
 }
 
 func CreateRefreshTokenRequest() (request *RefreshTokenRequest) {

+ 1 - 1
services/ccc/remove_phone_number.go

@@ -67,8 +67,8 @@ func (client *Client) RemovePhoneNumberWithCallback(request *RemovePhoneNumberRe
 
 type RemovePhoneNumberRequest struct {
 	*requests.RpcRequest
-	PhoneNumberId string `position:"Query" name:"PhoneNumberId"`
 	InstanceId    string `position:"Query" name:"InstanceId"`
+	PhoneNumberId string `position:"Query" name:"PhoneNumberId"`
 }
 
 type RemovePhoneNumberResponse struct {

+ 1 - 1
services/ccc/remove_users.go

@@ -67,8 +67,8 @@ func (client *Client) RemoveUsersWithCallback(request *RemoveUsersRequest, callb
 
 type RemoveUsersRequest struct {
 	*requests.RpcRequest
-	UserId     *[]string `position:"Query" name:"UserId"  type:"Repeated"`
 	InstanceId string    `position:"Query" name:"InstanceId"`
+	UserId     *[]string `position:"Query" name:"UserId"  type:"Repeated"`
 }
 
 type RemoveUsersResponse struct {

+ 6 - 16
services/ccc/request_login_info.go

@@ -72,22 +72,12 @@ type RequestLoginInfoRequest struct {
 
 type RequestLoginInfoResponse struct {
 	*responses.BaseResponse
-	RequestId      string `json:"RequestId" xml:"RequestId"`
-	Success        bool   `json:"Success" xml:"Success"`
-	Code           string `json:"Code" xml:"Code"`
-	Message        string `json:"Message" xml:"Message"`
-	HttpStatusCode int    `json:"HttpStatusCode" xml:"HttpStatusCode"`
-	LoginInfo      struct {
-		UserName       string `json:"UserName" xml:"UserName"`
-		DisplayName    string `json:"DisplayName" xml:"DisplayName"`
-		Region         string `json:"Region" xml:"Region"`
-		WebRtcUrl      string `json:"WebRtcUrl" xml:"WebRtcUrl"`
-		AgentServerUrl string `json:"AgentServerUrl" xml:"AgentServerUrl"`
-		Extension      string `json:"Extension" xml:"Extension"`
-		TenantId       string `json:"TenantId" xml:"TenantId"`
-		Signature      string `json:"Signature" xml:"Signature"`
-		SignData       string `json:"SignData" xml:"SignData"`
-	} `json:"LoginInfo" xml:"LoginInfo"`
+	RequestId      string    `json:"RequestId" xml:"RequestId"`
+	Success        bool      `json:"Success" xml:"Success"`
+	Code           string    `json:"Code" xml:"Code"`
+	Message        string    `json:"Message" xml:"Message"`
+	HttpStatusCode int       `json:"HttpStatusCode" xml:"HttpStatusCode"`
+	LoginInfo      LoginInfo `json:"LoginInfo" xml:"LoginInfo"`
 }
 
 func CreateRequestLoginInfoRequest() (request *RequestLoginInfoRequest) {

+ 20 - 0
services/ccc/struct_agents.go

@@ -0,0 +1,20 @@
+package ccc
+
+//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.
+
+type Agents struct {
+	CallDetailAgent []CallDetailAgent `json:"Agents" xml:"Agents"`
+}

+ 29 - 0
services/ccc/struct_call_detail_agent.go

@@ -0,0 +1,29 @@
+package ccc
+
+//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.
+
+type CallDetailAgent struct {
+	ContactId      string `json:"ContactId" xml:"ContactId"`
+	AgentId        string `json:"AgentId" xml:"AgentId"`
+	AgentName      string `json:"AgentName" xml:"AgentName"`
+	SkillGroupName string `json:"SkillGroupName" xml:"SkillGroupName"`
+	QueueTime      int    `json:"QueueTime" xml:"QueueTime"`
+	RingTime       int    `json:"RingTime" xml:"RingTime"`
+	StartTime      int    `json:"StartTime" xml:"StartTime"`
+	TalkTime       int    `json:"TalkTime" xml:"TalkTime"`
+	HoldTime       int    `json:"HoldTime" xml:"HoldTime"`
+	WorkTime       int    `json:"WorkTime" xml:"WorkTime"`
+}

Einige Dateien werden nicht angezeigt, da zu viele Dateien in diesem Diff geändert wurden.