Bläddra i källkod

Merge branch 'master' into dev_6.14

Jackson Tian 6 år sedan
förälder
incheckning
534eeb3901
100 ändrade filer med 5399 tillägg och 1162 borttagningar
  1. 66 0
      ChangeLog.txt
  2. 50 13
      sdk/client.go
  3. 57 1
      sdk/client_test.go
  4. 3325 869
      sdk/endpoints/endpoints_config.go
  5. 1 1
      sdk/endpoints/endpoints_config_test.go
  6. 8 12
      sdk/responses/json_parser.go
  7. 0 17
      sdk/responses/json_parser_test.go
  8. 0 1
      sdk/responses/response.go
  9. 28 5
      services/airec/client.go
  10. 107 0
      services/airec/describe_exposure_settings.go
  11. 113 0
      services/airec/list_dashboard.go
  12. 107 0
      services/airec/list_dashboard_parameters.go
  13. 107 0
      services/airec/list_dashboard_uid.go
  14. 107 0
      services/airec/list_instance_task.go
  15. 4 4
      services/airec/modify_data_source.go
  16. 107 0
      services/airec/modify_exposure_settings.go
  17. 1 0
      services/airec/recommend.go
  18. 6 6
      services/airec/struct_detail_item.go
  19. 4 5
      services/airec/struct_list.go
  20. 32 0
      services/airec/struct_list_item.go
  21. 1 1
      services/airec/struct_meta.go
  22. 32 26
      services/airec/struct_result.go
  23. 2 2
      services/airec/struct_result_in_attach_dataset.go
  24. 2 2
      services/airec/struct_result_in_delete_data_set.go
  25. 21 0
      services/airec/struct_result_in_list_instance_task.go
  26. 2 2
      services/airec/struct_result_in_stop_data_set.go
  27. 30 38
      services/airec/struct_result_item.go
  28. 2 2
      services/airec/struct_result_item_in_list_data_set.go
  29. 21 0
      services/airec/struct_scene_id.go
  30. 21 0
      services/airec/struct_sub_progress_infos.go
  31. 25 0
      services/airec/struct_sub_progress_infos_item.go
  32. 21 0
      services/airec/struct_trace_id.go
  33. 21 0
      services/airec/struct_uid.go
  34. 6 4
      services/alidns/add_domain.go
  35. 1 1
      services/alidns/add_domain_group.go
  36. 1 1
      services/alidns/add_domain_record.go
  37. 1 1
      services/alidns/add_gtm_access_strategy.go
  38. 1 1
      services/alidns/add_gtm_address_pool.go
  39. 1 1
      services/alidns/add_gtm_monitor.go
  40. 1 1
      services/alidns/change_domain_group.go
  41. 1 1
      services/alidns/change_domain_of_dns_product.go
  42. 1 1
      services/alidns/check_domain_record.go
  43. 28 5
      services/alidns/client.go
  44. 1 1
      services/alidns/create_instance.go
  45. 1 1
      services/alidns/delete_domain.go
  46. 1 1
      services/alidns/delete_domain_group.go
  47. 1 1
      services/alidns/delete_domain_record.go
  48. 1 1
      services/alidns/delete_gtm_access_strategy.go
  49. 1 1
      services/alidns/delete_gtm_address_pool.go
  50. 1 1
      services/alidns/delete_sub_domain_records.go
  51. 2 2
      services/alidns/describe_batch_result_count.go
  52. 4 4
      services/alidns/describe_batch_result_detail.go
  53. 17 17
      services/alidns/describe_dns_product_instance.go
  54. 4 4
      services/alidns/describe_dns_product_instances.go
  55. 4 4
      services/alidns/describe_dnsslb_sub_domains.go
  56. 108 0
      services/alidns/describe_domain_dns_statistics.go
  57. 4 4
      services/alidns/describe_domain_groups.go
  58. 2 2
      services/alidns/describe_domain_info.go
  59. 4 4
      services/alidns/describe_domain_logs.go
  60. 1 1
      services/alidns/describe_domain_ns.go
  61. 3 3
      services/alidns/describe_domain_record_info.go
  62. 7 4
      services/alidns/describe_domain_records.go
  63. 108 0
      services/alidns/describe_domain_statistics.go
  64. 118 0
      services/alidns/describe_domain_statistics_summary.go
  65. 12 11
      services/alidns/describe_domains.go
  66. 1 1
      services/alidns/describe_gtm_access_strategies.go
  67. 1 1
      services/alidns/describe_gtm_access_strategy.go
  68. 1 1
      services/alidns/describe_gtm_access_strategy_available_config.go
  69. 1 1
      services/alidns/describe_gtm_available_alert_group.go
  70. 4 3
      services/alidns/describe_gtm_instance.go
  71. 3 3
      services/alidns/describe_gtm_instance_address_pool.go
  72. 1 1
      services/alidns/describe_gtm_instance_address_pools.go
  73. 1 1
      services/alidns/describe_gtm_instance_status.go
  74. 106 0
      services/alidns/describe_gtm_instance_system_cname.go
  75. 7 6
      services/alidns/describe_gtm_instances.go
  76. 1 1
      services/alidns/describe_gtm_logs.go
  77. 1 1
      services/alidns/describe_gtm_monitor_available_config.go
  78. 3 3
      services/alidns/describe_gtm_monitor_config.go
  79. 4 4
      services/alidns/describe_record_logs.go
  80. 109 0
      services/alidns/describe_record_statistics.go
  81. 109 0
      services/alidns/describe_record_statistics_history.go
  82. 119 0
      services/alidns/describe_record_statistics_summary.go
  83. 4 4
      services/alidns/describe_sub_domain_records.go
  84. 1 1
      services/alidns/describe_support_lines.go
  85. 2 2
      services/alidns/get_main_domain_name.go
  86. 1 1
      services/alidns/modify_hichina_domain_dns.go
  87. 5 2
      services/alidns/operate_batch_domain.go
  88. 1 1
      services/alidns/query_create_instance_price.go
  89. 2 2
      services/alidns/set_dnsslb_status.go
  90. 1 1
      services/alidns/set_domain_record_status.go
  91. 1 1
      services/alidns/set_gtm_access_mode.go
  92. 1 1
      services/alidns/set_gtm_monitor_status.go
  93. 3 3
      services/alidns/struct_addr.go
  94. 2 2
      services/alidns/struct_addr_pool.go
  95. 2 2
      services/alidns/struct_batch_result_detail.go
  96. 16 16
      services/alidns/struct_dns_product.go
  97. 1 1
      services/alidns/struct_domain.go
  98. 1 1
      services/alidns/struct_domain_group.go
  99. 2 1
      services/alidns/struct_domain_log.go
  100. 3 2
      services/alidns/struct_gtm_instance.go

+ 66 - 0
ChangeLog.txt

@@ -1,3 +1,69 @@
+2019-07-08 Version: 1.60.63
+- ActionName change to OOSActionName from ListActions API param and response.
+
+2019-07-05 Version: 1.60.62
+- Add TaskCancelStatus for QueryTaskList api.
+
+2019-07-05 Version: 1.60.61
+- Generated 2015-04-01 for `Sts`.
+
+2019-07-05 Version: 1.60.60
+- Generated 2015-04-01 for `Sts`.
+
+2019-07-04 Version: 1.60.59
+- Supported API DescribeRecordStatisticsy for Query Volume.
+- Supported API DescribeDomainStatistics for Query Volume.
+
+2019-07-03 Version: 1.60.58
+- Supported API DescribeRecordStatisticsSummary for Query Volume.
+- Supported API DescribeDomainStatisticsSummary for Query Volume.
+- Supported API DescribeRecordStatisticsHistory for Query Volume.
+- Supported API DescribeDomainDnsStatistics for Query Volume.
+
+2019-07-02 Version: 1.60.57
+- FnF public version.
+
+2019-07-01 Version: 1.60.56
+- Support cloud_essd disk category for API CreateDisk, CreateInstance and RunInstances, and support configurating PerformanceLevel when choose cloud_essd.
+- Add ModifyDiskSpec API to support cloud_essd PerformanceLevel modification.
+- Add AutoProvisioningGroup interfaces, provide AutoProvisioningGroup function.
+- Add RetentionDays to snapshot creating.
+
+2019-06-27 Version: 1.60.55
+- Added setting of crop_mode parameter.
+
+2019-06-25 Version: 1.60.54
+- Enhencement for CostOptimized scaling group.
+
+2019-06-24 Version: 1.60.53
+- Add some new apis to manage VoD domain, such as AddVodDomain, UpdateVodDomain, DeleteVodDomain, BatchStartVodDomain, BatchStopVodDomain, DescribeVodUserDomains, DescribeVodDomainDetail.
+- Add some new apis to manage VoD domain config, such as BatchSetVodDomainConfigs, DescribeVodDomainConfigs, DeleteVodSpecificConfig, SetVodDomainCertificate, DescribeVodCertificateList, DescribeVodDomainCertificateInfo.
+- Add a new field named AppId to some apis supporting the VoD App feature, such as AddWorkFlow, GetWorkFlow, ListWorkFlow, AddVodTemplate, GetVodTemplate, ListVodTemplate, AddTranscodeTemplateGroup, GetTranscodeTemplateGroup, ListTranscodeTemplateGroup, AddWatermark, GetWatermark, ListWatermark, UploadMediaByURL.
+- Add a new field named UserData to SubmitTranscodeJobs api request to support user-defined extension fields, which can be used for transparent return when callbacks.
+
+2019-06-24 Version: 1.60.52
+- Add some new apis to manage VoD domain, such as AddVodDomain, UpdateVodDomain, DeleteVodDomain, BatchStartVodDomain, BatchStopVodDomain, DescribeVodUserDomains, DescribeVodDomainDetail.
+- Add some new apis to manage VoD domain config, such as BatchSetVodDomainConfigs, DescribeVodDomainConfigs, DeleteVodSpecificConfig, SetVodDomainCertificate, DescribeVodCertificateList, DescribeVodDomainCertificateInfo.
+- Add a new field named AppId to some apis supporting the VoD App feature, such as AddWorkFlow, GetWorkFlow, ListWorkFlow, AddVodTemplate, GetVodTemplate, ListVodTemplate, AddTranscodeTemplateGroup, GetTranscodeTemplateGroup, ListTranscodeTemplateGroup, AddWatermark, GetWatermark, ListWatermark, UploadMediaByURL.
+- Add a new field named UserData to SubmitTranscodeJobs api request to support user-defined extension fields, which can be used for transparent return when callbacks.
+
+2019-06-21 Version: 1.60.51
+- Support DeleteProtection api.
+
+2019-06-20 Version: 1.60.50
+- OOS SDK first release for managing of templates, executions and actions.
+
+2019-06-19 Version: 1.60.49
+1, Add DefaultPolicyVersion as return field to GetPolicy interface, Facilitating to get policy document from this interface.
+2, Add RotateStrategy as input field to CreatePolicyVersion interface for rotating policy version when reaching policy version limit.
+
+2019-06-18 Version: 1.60.48
+1. Supported the related recommend.
+2. Supported exposure time controll and exposure filter by scene.
+
+2019-06-17 Version: 1.60.47
+companyreg release
+
 2019-06-14 Version: 1.60.46
 - Generated 2018-01-20 for `Iot`
 

+ 50 - 13
sdk/client.go

@@ -28,10 +28,9 @@ import (
 	"sync"
 	"time"
 
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/auth/credentials/provider"
-
 	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/auth"
 	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/auth/credentials"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/auth/credentials/provider"
 	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/endpoints"
 	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/errors"
 	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
@@ -71,6 +70,9 @@ type Client struct {
 	asyncTaskQueue chan func()
 	readTimeout    time.Duration
 	connectTimeout time.Duration
+	EndpointMap    map[string]string
+	EndpointType   string
+	Network        string
 
 	debug     bool
 	isRunning bool
@@ -82,6 +84,12 @@ func (client *Client) Init() (err error) {
 	panic("not support yet")
 }
 
+func (client *Client) SetEndpointRules(endpointMap map[string]string, endpointType string, netWork string) {
+	client.EndpointMap = endpointMap
+	client.Network = netWork
+	client.EndpointType = endpointType
+}
+
 func (client *Client) SetHTTPSInsecure(isInsecure bool) {
 	client.isInsecure = isInsecure
 }
@@ -299,6 +307,21 @@ func (client *Client) DoAction(request requests.AcsRequest, response responses.A
 	return client.DoActionWithSigner(request, response, nil)
 }
 
+func (client *Client) GetEndpointRules(regionId string, product string) (endpointRaw string) {
+	if client.EndpointType == "regional" {
+		endpointRaw = strings.Replace("<product><network>.<region_id>.aliyuncs.com", "<region_id>", regionId, 1)
+	} else {
+		endpointRaw = "<product><network>.aliyuncs.com"
+	}
+	endpointRaw = strings.Replace(endpointRaw, "<product>", strings.ToLower(product), 1)
+	if client.Network == "" || client.Network == "public" {
+		endpointRaw = strings.Replace(endpointRaw, "<network>", "", 1)
+	} else {
+		endpointRaw = strings.Replace(endpointRaw, "<network>", "-"+client.Network, 1)
+	}
+	return endpointRaw
+}
+
 func (client *Client) buildRequestWithSigner(request requests.AcsRequest, signer auth.Signer) (httpRequest *http.Request, err error) {
 	// add clientVersion
 	request.GetHeaders()["x-sdk-core-version"] = Version
@@ -309,18 +332,32 @@ func (client *Client) buildRequestWithSigner(request requests.AcsRequest, signer
 	}
 
 	// resolve endpoint
-	resolveParam := &endpoints.ResolveParam{
-		Domain:               request.GetDomain(),
-		Product:              request.GetProduct(),
-		RegionId:             regionId,
-		LocationProduct:      request.GetLocationServiceCode(),
-		LocationEndpointType: request.GetLocationEndpointType(),
-		CommonApi:            client.ProcessCommonRequest,
-	}
-	endpoint, err := endpoints.Resolve(resolveParam)
-	if err != nil {
-		return
+	endpoint := request.GetDomain()
+	if endpoint == "" && client.EndpointType != "" {
+		if client.EndpointMap != nil && client.Network == "" || client.Network == "public" {
+			endpoint = client.EndpointMap[regionId]
+		}
+
+		if endpoint == "" {
+			endpoint = client.GetEndpointRules(regionId, request.GetProduct())
+		}
 	}
+
+	if endpoint == "" {
+		resolveParam := &endpoints.ResolveParam{
+			Domain:               request.GetDomain(),
+			Product:              request.GetProduct(),
+			RegionId:             regionId,
+			LocationProduct:      request.GetLocationServiceCode(),
+			LocationEndpointType: request.GetLocationEndpointType(),
+			CommonApi:            client.ProcessCommonRequest,
+		}
+		endpoint, err = endpoints.Resolve(resolveParam)
+		if err != nil {
+			return
+		}
+	}
+
 	request.SetDomain(endpoint)
 	if request.GetScheme() == "" {
 		request.SetScheme(client.config.Scheme)

+ 57 - 1
sdk/client_test.go

@@ -506,7 +506,6 @@ func TestClient_BuildRequestWithSigner1(t *testing.T) {
 	assert.NotNil(t, client)
 	assert.Equal(t, true, client.isRunning)
 	request := requests.NewCommonRequest()
-	request.Domain = "ecs.aliyuncs.com"
 	request.Version = "2014-05-26"
 	request.ApiName = "DescribeInstanceStatus"
 
@@ -518,7 +517,64 @@ func TestClient_BuildRequestWithSigner1(t *testing.T) {
 		name: "signer",
 	}
 	err = client.BuildRequestWithSigner(request, signer)
+	assert.NotNil(t, err)
+	assert.Contains(t, err.Error(), "SDK.CanNotResolveEndpoint] Can not resolve endpoint")
+}
+
+func TestClient_BuildRequestWithSigner2(t *testing.T) {
+	client, err := NewClientWithAccessKey("regionid", "acesskeyid", "accesskeysecret")
 	assert.Nil(t, err)
+	assert.NotNil(t, client)
+	assert.Equal(t, true, client.isRunning)
+	request := requests.NewCommonRequest()
+	request.Version = "2014-05-26"
+	request.ApiName = "DescribeInstanceStatus"
+
+	request.QueryParams["PageNumber"] = "1"
+	request.QueryParams["PageSize"] = "30"
+	request.RegionId = "regionid"
+	request.Product = "Ecs"
+	request.TransToAcsRequest()
+	signer := &signertest{
+		name: "signer",
+	}
+
+	//Test: regional rule
+	client.EndpointType = "regional"
+	httprequest, err := client.buildRequestWithSigner(request, signer)
+	assert.Nil(t, err)
+	assert.Equal(t, "ecs.regionid.aliyuncs.com", httprequest.URL.Host)
+
+	//Test: exceptional rule
+	request.Domain = ""
+	client.EndpointMap = map[string]string{
+		"regionid": "ecs.test.com",
+	}
+	httprequest, err = client.buildRequestWithSigner(request, signer)
+	assert.Nil(t, err)
+	assert.Equal(t, "ecs.test.com", httprequest.URL.Host)
+
+	//Test: no valid exceptional rule
+	request.Domain = ""
+	client.EndpointMap = map[string]string{
+		"regiontest": "ecs.test.com",
+	}
+	httprequest, err = client.buildRequestWithSigner(request, signer)
+	assert.Nil(t, err)
+	assert.Equal(t, "ecs.regionid.aliyuncs.com", httprequest.URL.Host)
+
+	//Test: center rule
+	request.Domain = ""
+	client.EndpointType = "centeral"
+	client.Network = "share"
+	httprequest, err = client.buildRequestWithSigner(request, signer)
+	assert.Nil(t, err)
+	assert.Equal(t, "ecs-share.aliyuncs.com", httprequest.URL.Host)
+
+	client.SetEndpointRules(client.EndpointMap, "regional", "vpc")
+	assert.Equal(t, "regional", client.EndpointType)
+	assert.Equal(t, "vpc", client.Network)
+	assert.Equal(t, map[string]string{"regiontest": "ecs.test.com"}, client.EndpointMap)
 }
 
 func TestClient_ProcessCommonRequestWithSigner(t *testing.T) {

+ 3325 - 869
sdk/endpoints/endpoints_config.go

@@ -10,425 +10,426 @@ import (
 const endpointsJson =`{
 	"products": [
 		{
-			"code": "ecs",
-			"document_id": "25484",
-			"location_service_code": "ecs",
+			"code": "emr",
+			"document_id": "28140",
+			"location_service_code": "emr",
 			"regional_endpoints": [
 				{
-					"region": "cn-shanghai",
-					"endpoint": "ecs-cn-hangzhou.aliyuncs.com"
+					"region": "cn-qingdao",
+					"endpoint": "emr.cn-qingdao.aliyuncs.com"
+				},
+				{
+					"region": "cn-beijing",
+					"endpoint": "emr.aliyuncs.com"
+				},
+				{
+					"region": "cn-shenzhen",
+					"endpoint": "emr.aliyuncs.com"
 				},
 				{
 					"region": "eu-west-1",
-					"endpoint": "ecs.eu-west-1.aliyuncs.com"
+					"endpoint": "emr.eu-west-1.aliyuncs.com"
 				},
 				{
-					"region": "cn-huhehaote",
-					"endpoint": "ecs.cn-huhehaote.aliyuncs.com"
+					"region": "us-west-1",
+					"endpoint": "emr.aliyuncs.com"
 				},
 				{
 					"region": "me-east-1",
-					"endpoint": "ecs.me-east-1.aliyuncs.com"
+					"endpoint": "emr.me-east-1.aliyuncs.com"
 				},
 				{
-					"region": "ap-southeast-3",
-					"endpoint": "ecs.ap-southeast-3.aliyuncs.com"
+					"region": "ap-northeast-1",
+					"endpoint": "emr.ap-northeast-1.aliyuncs.com"
 				},
 				{
-					"region": "ap-southeast-2",
-					"endpoint": "ecs.ap-southeast-2.aliyuncs.com"
+					"region": "eu-central-1",
+					"endpoint": "emr.eu-central-1.aliyuncs.com"
+				},
+				{
+					"region": "cn-huhehaote",
+					"endpoint": "emr.cn-huhehaote.aliyuncs.com"
 				},
 				{
 					"region": "ap-south-1",
-					"endpoint": "ecs.ap-south-1.aliyuncs.com"
+					"endpoint": "emr.ap-south-1.aliyuncs.com"
 				},
 				{
-					"region": "cn-beijing",
-					"endpoint": "ecs-cn-hangzhou.aliyuncs.com"
+					"region": "us-east-1",
+					"endpoint": "emr.us-east-1.aliyuncs.com"
 				},
 				{
 					"region": "cn-hangzhou",
-					"endpoint": "ecs-cn-hangzhou.aliyuncs.com"
+					"endpoint": "emr.aliyuncs.com"
 				},
 				{
-					"region": "cn-shenzhen",
-					"endpoint": "ecs-cn-hangzhou.aliyuncs.com"
+					"region": "cn-hongkong",
+					"endpoint": "emr.cn-hongkong.aliyuncs.com"
 				},
 				{
-					"region": "ap-northeast-1",
-					"endpoint": "ecs.ap-northeast-1.aliyuncs.com"
+					"region": "ap-southeast-1",
+					"endpoint": "emr.aliyuncs.com"
 				},
 				{
-					"region": "ap-southeast-5",
-					"endpoint": "ecs.ap-southeast-5.aliyuncs.com"
+					"region": "ap-southeast-2",
+					"endpoint": "emr.ap-southeast-2.aliyuncs.com"
 				},
 				{
-					"region": "eu-central-1",
-					"endpoint": "ecs.eu-central-1.aliyuncs.com"
+					"region": "ap-southeast-3",
+					"endpoint": "emr.ap-southeast-3.aliyuncs.com"
 				},
 				{
 					"region": "cn-zhangjiakou",
-					"endpoint": "ecs.cn-zhangjiakou.aliyuncs.com"
+					"endpoint": "emr.cn-zhangjiakou.aliyuncs.com"
 				},
 				{
-					"region": "cn-qingdao",
-					"endpoint": "ecs-cn-hangzhou.aliyuncs.com"
+					"region": "ap-southeast-5",
+					"endpoint": "emr.ap-southeast-5.aliyuncs.com"
 				},
 				{
-					"region": "cn-hongkong",
-					"endpoint": "ecs-cn-hangzhou.aliyuncs.com"
+					"region": "cn-shanghai",
+					"endpoint": "emr.aliyuncs.com"
+				}
+			],
+			"global_endpoint": "emr.aliyuncs.com",
+			"regional_endpoint_pattern": "emr.[RegionId].aliyuncs.com"
+		},
+		{
+			"code": "petadata",
+			"document_id": "",
+			"location_service_code": "petadata",
+			"regional_endpoints": [
+				{
+					"region": "cn-hangzhou",
+					"endpoint": "petadata.aliyuncs.com"
+				},
+				{
+					"region": "cn-shenzhen",
+					"endpoint": "petadata.aliyuncs.com"
 				},
 				{
 					"region": "ap-southeast-1",
-					"endpoint": "ecs-cn-hangzhou.aliyuncs.com"
+					"endpoint": "petadata.aliyuncs.com"
+				},
+				{
+					"region": "us-east-1",
+					"endpoint": "petadata.aliyuncs.com"
+				},
+				{
+					"region": "me-east-1",
+					"endpoint": "petadata.me-east-1.aliyuncs.com"
+				},
+				{
+					"region": "ap-southeast-2",
+					"endpoint": "petadata.ap-southeast-2.aliyuncs.com"
+				},
+				{
+					"region": "eu-central-1",
+					"endpoint": "petadata.eu-central-1.aliyuncs.com"
+				},
+				{
+					"region": "cn-beijing",
+					"endpoint": "petadata.aliyuncs.com"
+				},
+				{
+					"region": "cn-hongkong",
+					"endpoint": "petadata.aliyuncs.com"
+				},
+				{
+					"region": "ap-southeast-5",
+					"endpoint": "petadata.ap-southeast-5.aliyuncs.com"
 				},
 				{
 					"region": "us-west-1",
-					"endpoint": "ecs-cn-hangzhou.aliyuncs.com"
+					"endpoint": "petadata.aliyuncs.com"
 				},
 				{
-					"region": "us-east-1",
-					"endpoint": "ecs-cn-hangzhou.aliyuncs.com"
+					"region": "cn-huhehaote",
+					"endpoint": "petadata.cn-huhehaote.aliyuncs.com"
+				},
+				{
+					"region": "cn-zhangjiakou",
+					"endpoint": "petadata.cn-zhangjiakou.aliyuncs.com"
+				},
+				{
+					"region": "cn-qingdao",
+					"endpoint": "petadata.aliyuncs.com"
+				},
+				{
+					"region": "cn-shanghai",
+					"endpoint": "petadata.aliyuncs.com"
 				}
 			],
-			"global_endpoint": "ecs-cn-hangzhou.aliyuncs.com",
+			"global_endpoint": "petadata.aliyuncs.com",
 			"regional_endpoint_pattern": ""
 		},
 		{
-			"code": "chatbot",
-			"document_id": "60760",
-			"location_service_code": "beebot",
+			"code": "dbs",
+			"document_id": "",
+			"location_service_code": "dbs",
 			"regional_endpoints": [
 				{
-					"region": "cn-shanghai",
-					"endpoint": "chatbot.cn-shanghai.aliyuncs.com"
+					"region": "cn-shenzhen",
+					"endpoint": "dbs-api.cn-hangzhou.aliyuncs.com"
+				},
+				{
+					"region": "cn-hongkong",
+					"endpoint": "dbs-api.cn-hangzhou.aliyuncs.com"
+				},
+				{
+					"region": "ap-southeast-1",
+					"endpoint": "dbs-api.ap-southeast-1.aliyuncs.com"
+				},
+				{
+					"region": "ap-northeast-1",
+					"endpoint": "dbs-api.ap-northeast-1.aliyuncs.com"
 				},
 				{
 					"region": "cn-hangzhou",
-					"endpoint": "chatbot.cn-hangzhou.aliyuncs.com"
+					"endpoint": "dbs-api.cn-hangzhou.aliyuncs.com"
+				},
+				{
+					"region": "cn-shanghai",
+					"endpoint": "dbs-api.cn-hangzhou.aliyuncs.com"
+				},
+				{
+					"region": "cn-qingdao",
+					"endpoint": "dbs-api.cn-hangzhou.aliyuncs.com"
+				},
+				{
+					"region": "cn-beijing",
+					"endpoint": "dbs-api.cn-hangzhou.aliyuncs.com"
 				}
 			],
 			"global_endpoint": "",
-			"regional_endpoint_pattern": "chatbot.[RegionId].aliyuncs.com"
+			"regional_endpoint_pattern": ""
 		},
 		{
-			"code": "alidns",
-			"document_id": "29739",
-			"location_service_code": "alidns",
+			"code": "alidnsgtm",
+			"document_id": "",
+			"location_service_code": "alidnsgtm",
 			"regional_endpoints": [
 				{
 					"region": "cn-hangzhou",
 					"endpoint": "alidns.aliyuncs.com"
+				},
+				{
+					"region": "ap-southeast-1",
+					"endpoint": "alidns.aliyuncs.com"
 				}
 			],
-			"global_endpoint": "alidns.aliyuncs.com",
-			"regional_endpoint_pattern": ""
-		},
-		{
-			"code": "itaas",
-			"document_id": "55759",
-			"location_service_code": "itaas",
-			"regional_endpoints": null,
-			"global_endpoint": "itaas.aliyuncs.com",
+			"global_endpoint": "",
 			"regional_endpoint_pattern": ""
 		},
 		{
-			"code": "csb",
-			"document_id": "64837",
-			"location_service_code": "csb",
+			"code": "elasticsearch",
+			"document_id": "",
+			"location_service_code": "elasticsearch",
 			"regional_endpoints": [
 				{
 					"region": "cn-hangzhou",
-					"endpoint": "csb.cn-hangzhou.aliyuncs.com"
+					"endpoint": "elasticsearch.cn-hangzhou.aliyuncs.com"
+				},
+				{
+					"region": "cn-shenzhen",
+					"endpoint": "elasticsearch.cn-shenzhen.aliyuncs.com"
+				},
+				{
+					"region": "ap-southeast-1",
+					"endpoint": "elasticsearch.ap-southeast-1.aliyuncs.com"
 				},
 				{
 					"region": "cn-beijing",
-					"endpoint": "csb.cn-beijing.aliyuncs.com"
-				}
-			],
-			"global_endpoint": "",
-			"regional_endpoint_pattern": "csb.[RegionId].aliyuncs.com"
-		},
-		{
-			"code": "slb",
-			"document_id": "27565",
-			"location_service_code": "slb",
-			"regional_endpoints": [
+					"endpoint": "elasticsearch.cn-beijing.aliyuncs.com"
+				},
 				{
 					"region": "cn-hongkong",
-					"endpoint": "slb.aliyuncs.com"
+					"endpoint": "elasticsearch.cn-hongkong.aliyuncs.com"
 				},
 				{
-					"region": "me-east-1",
-					"endpoint": "slb.me-east-1.aliyuncs.com"
+					"region": "ap-southeast-3",
+					"endpoint": "elasticsearch.ap-southeast-3.aliyuncs.com"
 				},
 				{
-					"region": "ap-southeast-5",
-					"endpoint": "slb.ap-southeast-5.aliyuncs.com"
+					"region": "us-west-1",
+					"endpoint": "elasticsearch.us-west-1.aliyuncs.com"
 				},
 				{
 					"region": "ap-southeast-2",
-					"endpoint": "slb.ap-southeast-2.aliyuncs.com"
+					"endpoint": "elasticsearch.ap-southeast-2.aliyuncs.com"
 				},
 				{
-					"region": "ap-south-1",
-					"endpoint": "slb.ap-south-1.aliyuncs.com"
+					"region": "ap-southeast-5",
+					"endpoint": "elasticsearch.ap-southeast-5.aliyuncs.com"
 				},
 				{
 					"region": "eu-central-1",
-					"endpoint": "slb.eu-central-1.aliyuncs.com"
-				},
-				{
-					"region": "cn-shanghai",
-					"endpoint": "slb.aliyuncs.com"
+					"endpoint": "elasticsearch.eu-central-1.aliyuncs.com"
 				},
 				{
-					"region": "eu-west-1",
-					"endpoint": "slb.eu-west-1.aliyuncs.com"
+					"region": "ap-south-1",
+					"endpoint": "elasticsearch.ap-south-1.aliyuncs.com"
 				},
 				{
-					"region": "cn-huhehaote",
-					"endpoint": "slb.cn-huhehaote.aliyuncs.com"
+					"region": "cn-shanghai",
+					"endpoint": "elasticsearch.cn-shanghai.aliyuncs.com"
 				},
 				{
-					"region": "us-west-1",
-					"endpoint": "slb.aliyuncs.com"
+					"region": "cn-qingdao",
+					"endpoint": "elasticsearch.cn-qingdao.aliyuncs.com"
 				},
 				{
 					"region": "cn-zhangjiakou",
-					"endpoint": "slb.cn-zhangjiakou.aliyuncs.com"
+					"endpoint": "elasticsearch.cn-zhangjiakou.aliyuncs.com"
 				},
 				{
-					"region": "cn-qingdao",
-					"endpoint": "slb.aliyuncs.com"
-				},
+					"region": "ap-northeast-1",
+					"endpoint": "elasticsearch.ap-northeast-1.aliyuncs.com"
+				}
+			],
+			"global_endpoint": "",
+			"regional_endpoint_pattern": ""
+		},
+		{
+			"code": "baas",
+			"document_id": "",
+			"location_service_code": "baas",
+			"regional_endpoints": [
 				{
 					"region": "cn-hangzhou",
-					"endpoint": "slb.aliyuncs.com"
+					"endpoint": "baas.cn-hangzhou.aliyuncs.com"
 				},
 				{
-					"region": "cn-shenzhen",
-					"endpoint": "slb.aliyuncs.com"
-				},
-				{
-					"region": "us-east-1",
-					"endpoint": "slb.aliyuncs.com"
+					"region": "ap-northeast-1",
+					"endpoint": "baas.ap-northeast-1.aliyuncs.com"
 				},
 				{
-					"region": "ap-southeast-3",
-					"endpoint": "slb.ap-southeast-3.aliyuncs.com"
+					"region": "ap-southeast-1",
+					"endpoint": "baas.ap-southeast-1.aliyuncs.com"
 				},
 				{
 					"region": "cn-beijing",
-					"endpoint": "slb.aliyuncs.com"
+					"endpoint": "baas.aliyuncs.com"
 				},
 				{
-					"region": "ap-southeast-1",
-					"endpoint": "slb.aliyuncs.com"
+					"region": "cn-shanghai",
+					"endpoint": "baas.aliyuncs.com"
 				},
 				{
-					"region": "ap-northeast-1",
-					"endpoint": "slb.ap-northeast-1.aliyuncs.com"
+					"region": "cn-shenzhen",
+					"endpoint": "baas.aliyuncs.com"
 				}
 			],
-			"global_endpoint": "slb.aliyuncs.com",
+			"global_endpoint": "",
 			"regional_endpoint_pattern": ""
 		},
 		{
-			"code": "cloudwf",
-			"document_id": "58111",
-			"location_service_code": "cloudwf",
+			"code": "cr",
+			"document_id": "60716",
+			"location_service_code": "cr",
 			"regional_endpoints": null,
-			"global_endpoint": "cloudwf.aliyuncs.com",
+			"global_endpoint": "cr.aliyuncs.com",
 			"regional_endpoint_pattern": ""
 		},
 		{
-			"code": "cloudphoto",
-			"document_id": "59902",
-			"location_service_code": "cloudphoto",
+			"code": "cloudap",
+			"document_id": "",
+			"location_service_code": "cloudap",
 			"regional_endpoints": [
 				{
-					"region": "cn-shanghai",
-					"endpoint": "cloudphoto.cn-shanghai.aliyuncs.com"
+					"region": "cn-hangzhou",
+					"endpoint": "cloudwf.aliyuncs.com"
 				}
 			],
 			"global_endpoint": "",
-			"regional_endpoint_pattern": "cloudphoto.[RegionId].aliyuncs.com"
+			"regional_endpoint_pattern": ""
 		},
 		{
-			"code": "dds",
-			"document_id": "61715",
-			"location_service_code": "dds",
+			"code": "imagesearch",
+			"document_id": "",
+			"location_service_code": "imagesearch",
 			"regional_endpoints": [
 				{
-					"region": "ap-southeast-5",
-					"endpoint": "mongodb.ap-southeast-5.aliyuncs.com"
-				},
-				{
-					"region": "cn-qingdao",
-					"endpoint": "mongodb.aliyuncs.com"
-				},
-				{
-					"region": "cn-hongkong",
-					"endpoint": "mongodb.aliyuncs.com"
-				},
-				{
-					"region": "eu-west-1",
-					"endpoint": "mongodb.eu-west-1.aliyuncs.com"
-				},
-				{
-					"region": "us-west-1",
-					"endpoint": "mongodb.aliyuncs.com"
-				},
-				{
-					"region": "us-east-1",
-					"endpoint": "mongodb.aliyuncs.com"
-				},
-				{
-					"region": "me-east-1",
-					"endpoint": "mongodb.me-east-1.aliyuncs.com"
-				},
-				{
-					"region": "cn-zhangjiakou",
-					"endpoint": "mongodb.cn-zhangjiakou.aliyuncs.com"
+					"region": "ap-southeast-2",
+					"endpoint": "imagesearch.ap-southeast-2.aliyuncs.com"
 				},
 				{
 					"region": "cn-shanghai",
-					"endpoint": "mongodb.aliyuncs.com"
-				},
-				{
-					"region": "cn-shenzhen",
-					"endpoint": "mongodb.aliyuncs.com"
+					"endpoint": "imagesearch.cn-shanghai.aliyuncs.com"
 				},
 				{
 					"region": "ap-northeast-1",
-					"endpoint": "mongodb.ap-northeast-1.aliyuncs.com"
+					"endpoint": "imagesearch.ap-northeast-1.aliyuncs.com"
 				},
 				{
 					"region": "ap-southeast-1",
-					"endpoint": "mongodb.aliyuncs.com"
-				},
-				{
-					"region": "ap-southeast-2",
-					"endpoint": "mongodb.ap-southeast-2.aliyuncs.com"
-				},
-				{
-					"region": "ap-southeast-3",
-					"endpoint": "mongodb.ap-southeast-3.aliyuncs.com"
-				},
-				{
-					"region": "ap-south-1",
-					"endpoint": "mongodb.ap-south-1.aliyuncs.com"
-				},
-				{
-					"region": "eu-central-1",
-					"endpoint": "mongodb.eu-central-1.aliyuncs.com"
-				},
-				{
-					"region": "cn-beijing",
-					"endpoint": "mongodb.aliyuncs.com"
-				},
-				{
-					"region": "cn-hangzhou",
-					"endpoint": "mongodb.aliyuncs.com"
-				},
-				{
-					"region": "cn-huhehaote",
-					"endpoint": "mongodb.cn-huhehaote.aliyuncs.com"
+					"endpoint": "imagesearch.ap-southeast-1.aliyuncs.com"
 				}
 			],
-			"global_endpoint": "mongodb.aliyuncs.com",
-			"regional_endpoint_pattern": "mongodb.[RegionId].aliyuncs.com"
+			"global_endpoint": "",
+			"regional_endpoint_pattern": ""
 		},
 		{
-			"code": "dm",
-			"document_id": "29434",
-			"location_service_code": "dm",
+			"code": "pts",
+			"document_id": "",
+			"location_service_code": "pts",
 			"regional_endpoints": [
 				{
-					"region": "ap-southeast-2",
-					"endpoint": "dm.ap-southeast-2.aliyuncs.com"
+					"region": "cn-hangzhou",
+					"endpoint": "pts.aliyuncs.com"
 				}
 			],
-			"global_endpoint": "dm.aliyuncs.com",
-			"regional_endpoint_pattern": "dm.[RegionId].aliyuncs.com"
+			"global_endpoint": "",
+			"regional_endpoint_pattern": ""
 		},
 		{
-			"code": "ons",
-			"document_id": "44416",
-			"location_service_code": "ons",
+			"code": "ehs",
+			"document_id": "",
+			"location_service_code": "ehs",
 			"regional_endpoints": [
 				{
-					"region": "cn-zhangjiakou",
-					"endpoint": "ons.cn-zhangjiakou.aliyuncs.com"
-				},
-				{
-					"region": "us-west-1",
-					"endpoint": "ons.us-west-1.aliyuncs.com"
-				},
-				{
-					"region": "me-east-1",
-					"endpoint": "ons.me-east-1.aliyuncs.com"
-				},
-				{
-					"region": "us-east-1",
-					"endpoint": "ons.us-east-1.aliyuncs.com"
-				},
-				{
-					"region": "ap-northeast-1",
-					"endpoint": "ons.ap-northeast-1.aliyuncs.com"
+					"region": "cn-beijing",
+					"endpoint": "ehpc.cn-beijing.aliyuncs.com"
 				},
 				{
-					"region": "ap-southeast-2",
-					"endpoint": "ons.ap-southeast-2.aliyuncs.com"
+					"region": "cn-hongkong",
+					"endpoint": "ehpc.cn-hongkong.aliyuncs.com"
 				},
 				{
 					"region": "ap-southeast-1",
-					"endpoint": "ons.ap-southeast-1.aliyuncs.com"
+					"endpoint": "ehpc.ap-southeast-1.aliyuncs.com"
 				},
 				{
-					"region": "cn-shanghai",
-					"endpoint": "ons.cn-shanghai.aliyuncs.com"
-				},
-				{
-					"region": "cn-shenzhen",
-					"endpoint": "ons.cn-shenzhen.aliyuncs.com"
-				},
-				{
-					"region": "cn-hangzhou",
-					"endpoint": "ons.cn-hangzhou.aliyuncs.com"
-				},
-				{
-					"region": "ap-south-1",
-					"endpoint": "ons.cn-hangzhou.aliyuncs.com"
+					"region": "cn-qingdao",
+					"endpoint": "ehpc.cn-qingdao.aliyuncs.com"
 				},
 				{
 					"region": "eu-central-1",
-					"endpoint": "ons.eu-central-1.aliyuncs.com"
+					"endpoint": "ehpc.eu-central-1.aliyuncs.com"
 				},
 				{
-					"region": "eu-west-1",
-					"endpoint": "ons.eu-west-1.aliyuncs.com"
+					"region": "cn-zhangjiakou",
+					"endpoint": "ehpc.cn-zhangjiakou.aliyuncs.com"
 				},
 				{
-					"region": "cn-beijing",
-					"endpoint": "ons.cn-beijing.aliyuncs.com"
+					"region": "cn-huhehaote",
+					"endpoint": "ehpc.cn-huhehaote.aliyuncs.com"
 				},
 				{
-					"region": "ap-southeast-3",
-					"endpoint": "ons.ap-southeast-3.aliyuncs.com"
+					"region": "cn-hangzhou",
+					"endpoint": "ehpc.cn-hangzhou.aliyuncs.com"
 				},
 				{
-					"region": "cn-huhehaote",
-					"endpoint": "ons.cn-huhehaote.aliyuncs.com"
+					"region": "cn-shanghai",
+					"endpoint": "ehpc.cn-shanghai.aliyuncs.com"
 				},
 				{
-					"region": "cn-hongkong",
-					"endpoint": "ons.cn-hongkong.aliyuncs.com"
+					"region": "cn-shenzhen",
+					"endpoint": "ehpc.cn-shenzhen.aliyuncs.com"
 				},
 				{
-					"region": "cn-qingdao",
-					"endpoint": "ons.cn-qingdao.aliyuncs.com"
+					"region": "ap-southeast-2",
+					"endpoint": "ehpc.ap-southeast-2.aliyuncs.com"
 				}
 			],
 			"global_endpoint": "",
@@ -440,15 +441,19 @@ const endpointsJson =`{
 			"location_service_code": "polardb",
 			"regional_endpoints": [
 				{
-					"region": "cn-qingdao",
-					"endpoint": "polardb.aliyuncs.com"
+					"region": "ap-south-1",
+					"endpoint": "polardb.ap-south-1.aliyuncs.com"
 				},
 				{
-					"region": "cn-beijing",
+					"region": "cn-hongkong",
 					"endpoint": "polardb.aliyuncs.com"
 				},
 				{
-					"region": "cn-hangzhou",
+					"region": "cn-huhehaote",
+					"endpoint": "polardb.cn-huhehaote.aliyuncs.com"
+				},
+				{
+					"region": "cn-qingdao",
 					"endpoint": "polardb.aliyuncs.com"
 				},
 				{
@@ -460,1195 +465,3646 @@ const endpointsJson =`{
 					"endpoint": "polardb.aliyuncs.com"
 				},
 				{
-					"region": "cn-huhehaote",
-					"endpoint": "polardb.cn-huhehaote.aliyuncs.com"
-				},
-				{
-					"region": "ap-southeast-5",
-					"endpoint": "polardb.ap-southeast-5.aliyuncs.com"
+					"region": "cn-beijing",
+					"endpoint": "polardb.aliyuncs.com"
 				},
 				{
-					"region": "ap-south-1",
-					"endpoint": "polardb.ap-south-1.aliyuncs.com"
+					"region": "cn-hangzhou",
+					"endpoint": "polardb.aliyuncs.com"
 				},
 				{
-					"region": "cn-hongkong",
-					"endpoint": "polardb.aliyuncs.com"
+					"region": "ap-southeast-5",
+					"endpoint": "polardb.ap-southeast-5.aliyuncs.com"
 				}
 			],
 			"global_endpoint": "",
 			"regional_endpoint_pattern": "polardb.aliyuncs.com"
 		},
 		{
-			"code": "batchcompute",
-			"document_id": "44717",
-			"location_service_code": "batchcompute",
+			"code": "r-kvstore",
+			"document_id": "60831",
+			"location_service_code": "redisa",
 			"regional_endpoints": [
 				{
-					"region": "us-west-1",
-					"endpoint": "batchcompute.us-west-1.aliyuncs.com"
+					"region": "cn-shenzhen",
+					"endpoint": "r-kvstore.aliyuncs.com"
 				},
 				{
-					"region": "cn-beijing",
-					"endpoint": "batchcompute.cn-beijing.aliyuncs.com"
+					"region": "cn-huhehaote",
+					"endpoint": "r-kvstore.cn-huhehaote.aliyuncs.com"
 				},
 				{
-					"region": "cn-hangzhou",
-					"endpoint": "batchcompute.cn-hangzhou.aliyuncs.com"
+					"region": "ap-southeast-3",
+					"endpoint": "r-kvstore.ap-southeast-3.aliyuncs.com"
 				},
 				{
-					"region": "cn-shanghai",
-					"endpoint": "batchcompute.cn-shanghai.aliyuncs.com"
+					"region": "ap-southeast-2",
+					"endpoint": "r-kvstore.ap-southeast-2.aliyuncs.com"
 				},
 				{
-					"region": "ap-southeast-1",
-					"endpoint": "batchcompute.ap-southeast-1.aliyuncs.com"
+					"region": "cn-zhangjiakou",
+					"endpoint": "r-kvstore.cn-zhangjiakou.aliyuncs.com"
 				},
 				{
-					"region": "cn-huhehaote",
-					"endpoint": "batchcompute.cn-huhehaote.aliyuncs.com"
+					"region": "eu-central-1",
+					"endpoint": "r-kvstore.eu-central-1.aliyuncs.com"
 				},
 				{
-					"region": "cn-qingdao",
-					"endpoint": "batchcompute.cn-qingdao.aliyuncs.com"
+					"region": "cn-shanghai",
+					"endpoint": "r-kvstore.aliyuncs.com"
 				},
 				{
-					"region": "cn-zhangjiakou",
-					"endpoint": "batchcompute.cn-zhangjiakou.aliyuncs.com"
+					"region": "us-west-1",
+					"endpoint": "r-kvstore.aliyuncs.com"
 				},
 				{
-					"region": "cn-shenzhen",
-					"endpoint": "batchcompute.cn-shenzhen.aliyuncs.com"
-				}
-			],
-			"global_endpoint": "",
-			"regional_endpoint_pattern": "batchcompute.[RegionId].aliyuncs.com"
-		},
-		{
-			"code": "cloudauth",
-			"document_id": "60687",
-			"location_service_code": "cloudauth",
-			"regional_endpoints": [
-				{
-					"region": "cn-hangzhou",
-					"endpoint": "cloudauth.aliyuncs.com"
-				}
-			],
-			"global_endpoint": "cloudauth.aliyuncs.com",
-			"regional_endpoint_pattern": ""
-		},
-		{
-			"code": "vod",
-			"document_id": "60574",
-			"location_service_code": "vod",
-			"regional_endpoints": [
-				{
-					"region": "cn-beijing",
-					"endpoint": "vod.cn-shanghai.aliyuncs.com"
+					"region": "cn-hongkong",
+					"endpoint": "r-kvstore.cn-hongkong.aliyuncs.com"
 				},
 				{
 					"region": "ap-southeast-1",
-					"endpoint": "vod.ap-southeast-1.aliyuncs.com"
+					"endpoint": "r-kvstore.ap-southeast-1.aliyuncs.com"
 				},
 				{
-					"region": "eu-central-1",
-					"endpoint": "vod.eu-central-1.aliyuncs.com"
+					"region": "ap-south-1",
+					"endpoint": "r-kvstore.ap-south-1.aliyuncs.com"
 				},
 				{
-					"region": "cn-shanghai",
-					"endpoint": "vod.cn-shanghai.aliyuncs.com"
+					"region": "cn-qingdao",
+					"endpoint": "r-kvstore.aliyuncs.com"
 				},
 				{
-					"region": "cn-hangzhou",
-					"endpoint": "vod.cn-shanghai.aliyuncs.com"
+					"region": "cn-beijing",
+					"endpoint": "r-kvstore.aliyuncs.com"
 				},
 				{
-					"region": "cn-shenzhen",
-					"endpoint": "vod.cn-shanghai.aliyuncs.com"
+					"region": "cn-hangzhou",
+					"endpoint": "r-kvstore.aliyuncs.com"
+				},
+				{
+					"region": "eu-west-1",
+					"endpoint": "r-kvstore.eu-west-1.aliyuncs.com"
+				},
+				{
+					"region": "us-east-1",
+					"endpoint": "r-kvstore.aliyuncs.com"
+				},
+				{
+					"region": "me-east-1",
+					"endpoint": "r-kvstore.me-east-1.aliyuncs.com"
+				},
+				{
+					"region": "ap-northeast-1",
+					"endpoint": "r-kvstore.ap-northeast-1.aliyuncs.com"
+				},
+				{
+					"region": "ap-southeast-5",
+					"endpoint": "r-kvstore.ap-southeast-5.aliyuncs.com"
+				}
+			],
+			"global_endpoint": "r-kvstore.aliyuncs.com",
+			"regional_endpoint_pattern": ""
+		},
+		{
+			"code": "xianzhi",
+			"document_id": "",
+			"location_service_code": "xianzhi",
+			"regional_endpoints": [
+				{
+					"region": "cn-hangzhou",
+					"endpoint": "xianzhi.aliyuncs.com"
 				}
 			],
 			"global_endpoint": "",
 			"regional_endpoint_pattern": ""
 		},
 		{
-			"code": "ram",
-			"document_id": "28672",
-			"location_service_code": "ram",
-			"regional_endpoints": null,
-			"global_endpoint": "ram.aliyuncs.com",
+			"code": "pcdn",
+			"document_id": "",
+			"location_service_code": "pcdn",
+			"regional_endpoints": [
+				{
+					"region": "cn-hangzhou",
+					"endpoint": "pcdn.aliyuncs.com"
+				}
+			],
+			"global_endpoint": "",
 			"regional_endpoint_pattern": ""
 		},
 		{
-			"code": "ess",
-			"document_id": "25925",
-			"location_service_code": "ess",
+			"code": "cdn",
+			"document_id": "27148",
+			"location_service_code": "cdn",
 			"regional_endpoints": [
 				{
-					"region": "me-east-1",
-					"endpoint": "ess.me-east-1.aliyuncs.com"
-				},
+					"region": "cn-hangzhou",
+					"endpoint": "cdn.aliyuncs.com"
+				}
+			],
+			"global_endpoint": "cdn.aliyuncs.com",
+			"regional_endpoint_pattern": ""
+		},
+		{
+			"code": "cloudauth",
+			"document_id": "60687",
+			"location_service_code": "cloudauth",
+			"regional_endpoints": [
 				{
-					"region": "ap-northeast-1",
-					"endpoint": "ess.ap-northeast-1.aliyuncs.com"
+					"region": "cn-hangzhou",
+					"endpoint": "cloudauth.aliyuncs.com"
+				}
+			],
+			"global_endpoint": "cloudauth.aliyuncs.com",
+			"regional_endpoint_pattern": ""
+		},
+		{
+			"code": "nas",
+			"document_id": "62598",
+			"location_service_code": "nas",
+			"regional_endpoints": [
+				{
+					"region": "ap-southeast-2",
+					"endpoint": "nas.ap-southeast-2.aliyuncs.com"
 				},
 				{
 					"region": "ap-south-1",
-					"endpoint": "ess.ap-south-1.aliyuncs.com"
+					"endpoint": "nas.ap-south-1.aliyuncs.com"
 				},
 				{
 					"region": "eu-central-1",
-					"endpoint": "ess.eu-central-1.aliyuncs.com"
+					"endpoint": "nas.eu-central-1.aliyuncs.com"
 				},
 				{
-					"region": "cn-shanghai",
-					"endpoint": "ess.aliyuncs.com"
+					"region": "us-west-1",
+					"endpoint": "nas.us-west-1.aliyuncs.com"
 				},
 				{
-					"region": "ap-southeast-1",
-					"endpoint": "ess.aliyuncs.com"
+					"region": "cn-huhehaote",
+					"endpoint": "nas.cn-huhehaote.aliyuncs.com"
 				},
 				{
-					"region": "cn-huhehaote",
-					"endpoint": "ess.cn-huhehaote.aliyuncs.com"
+					"region": "cn-qingdao",
+					"endpoint": "nas.cn-qingdao.aliyuncs.com"
 				},
 				{
-					"region": "ap-southeast-2",
-					"endpoint": "ess.ap-southeast-2.aliyuncs.com"
+					"region": "ap-southeast-1",
+					"endpoint": "nas.ap-southeast-1.aliyuncs.com"
 				},
 				{
 					"region": "cn-beijing",
-					"endpoint": "ess.aliyuncs.com"
+					"endpoint": "nas.cn-beijing.aliyuncs.com"
 				},
 				{
-					"region": "cn-hongkong",
-					"endpoint": "ess.aliyuncs.com"
+					"region": "cn-shanghai",
+					"endpoint": "nas.cn-shanghai.aliyuncs.com"
 				},
 				{
-					"region": "us-west-1",
-					"endpoint": "ess.aliyuncs.com"
+					"region": "cn-hangzhou",
+					"endpoint": "nas.cn-hangzhou.aliyuncs.com"
 				},
 				{
-					"region": "us-east-1",
-					"endpoint": "ess.aliyuncs.com"
+					"region": "cn-zhangjiakou",
+					"endpoint": "nas.cn-zhangjiakou.aliyuncs.com"
 				},
 				{
-					"region": "ap-southeast-5",
-					"endpoint": "ess.ap-southeast-5.aliyuncs.com"
+					"region": "ap-northeast-1",
+					"endpoint": "nas.ap-northeast-1.aliyuncs.com"
 				},
 				{
-					"region": "cn-qingdao",
-					"endpoint": "ess.aliyuncs.com"
+					"region": "us-east-1",
+					"endpoint": "nas.us-east-1.aliyuncs.com"
 				},
 				{
-					"region": "ap-southeast-3",
-					"endpoint": "ess.ap-southeast-3.aliyuncs.com"
+					"region": "cn-shenzhen",
+					"endpoint": "nas.cn-shenzhen.aliyuncs.com"
 				},
 				{
-					"region": "cn-zhangjiakou",
-					"endpoint": "ess.cn-zhangjiakou.aliyuncs.com"
+					"region": "ap-southeast-5",
+					"endpoint": "nas.ap-southeast-5.aliyuncs.com"
 				},
 				{
-					"region": "cn-hangzhou",
-					"endpoint": "ess.aliyuncs.com"
+					"region": "cn-hongkong",
+					"endpoint": "nas.cn-hongkong.aliyuncs.com"
 				},
 				{
-					"region": "cn-shenzhen",
-					"endpoint": "ess.aliyuncs.com"
-				},
+					"region": "ap-southeast-3",
+					"endpoint": "nas.ap-southeast-3.aliyuncs.com"
+				}
+			],
+			"global_endpoint": "",
+			"regional_endpoint_pattern": ""
+		},
+		{
+			"code": "alidns",
+			"document_id": "29739",
+			"location_service_code": "alidns",
+			"regional_endpoints": [
 				{
-					"region": "eu-west-1",
-					"endpoint": "ess.eu-west-1.aliyuncs.com"
+					"region": "cn-hangzhou",
+					"endpoint": "alidns.aliyuncs.com"
 				}
 			],
-			"global_endpoint": "ess.aliyuncs.com",
-			"regional_endpoint_pattern": "ess.[RegionId].aliyuncs.com"
+			"global_endpoint": "alidns.aliyuncs.com",
+			"regional_endpoint_pattern": ""
 		},
 		{
-			"code": "live",
-			"document_id": "48207",
-			"location_service_code": "live",
+			"code": "dts",
+			"document_id": "",
+			"location_service_code": "dts",
 			"regional_endpoints": [
 				{
 					"region": "cn-beijing",
-					"endpoint": "live.aliyuncs.com"
+					"endpoint": "dts.aliyuncs.com"
 				},
 				{
-					"region": "cn-hangzhou",
-					"endpoint": "live.aliyuncs.com"
+					"region": "cn-zhangjiakou",
+					"endpoint": "dts.aliyuncs.com"
 				},
 				{
-					"region": "ap-northeast-1",
-					"endpoint": "live.aliyuncs.com"
+					"region": "cn-hangzhou",
+					"endpoint": "dts.aliyuncs.com"
 				},
 				{
 					"region": "cn-shanghai",
-					"endpoint": "live.aliyuncs.com"
+					"endpoint": "dts.aliyuncs.com"
 				},
 				{
-					"region": "ap-southeast-1",
-					"endpoint": "live.aliyuncs.com"
+					"region": "cn-hongkong",
+					"endpoint": "dts.aliyuncs.com"
 				},
 				{
-					"region": "eu-central-1",
-					"endpoint": "live.aliyuncs.com"
+					"region": "cn-qingdao",
+					"endpoint": "dts.aliyuncs.com"
+				},
+				{
+					"region": "cn-huhehaote",
+					"endpoint": "dts.aliyuncs.com"
 				},
 				{
 					"region": "cn-shenzhen",
-					"endpoint": "live.aliyuncs.com"
+					"endpoint": "dts.aliyuncs.com"
+				},
+				{
+					"region": "ap-southeast-1",
+					"endpoint": "dts.aliyuncs.com"
 				}
 			],
-			"global_endpoint": "live.aliyuncs.com",
+			"global_endpoint": "",
 			"regional_endpoint_pattern": ""
 		},
 		{
-			"code": "hpc",
-			"document_id": "35201",
-			"location_service_code": "hpc",
+			"code": "emas",
+			"document_id": "",
+			"location_service_code": "emas",
 			"regional_endpoints": [
 				{
-					"region": "cn-hangzhou",
-					"endpoint": "hpc.aliyuncs.com"
+					"region": "cn-shanghai",
+					"endpoint": "mhub.cn-shanghai.aliyuncs.com"
 				},
 				{
-					"region": "cn-beijing",
-					"endpoint": "hpc.aliyuncs.com"
+					"region": "cn-hangzhou",
+					"endpoint": "mhub.cn-hangzhou.aliyuncs.com"
 				}
 			],
-			"global_endpoint": "hpc.aliyuncs.com",
+			"global_endpoint": "",
 			"regional_endpoint_pattern": ""
 		},
 		{
-			"code": "rds",
-			"document_id": "26223",
-			"location_service_code": "rds",
+			"code": "dysmsapi",
+			"document_id": "",
+			"location_service_code": "dysmsapi",
 			"regional_endpoints": [
 				{
-					"region": "me-east-1",
-					"endpoint": "rds.me-east-1.aliyuncs.com"
-				},
-				{
-					"region": "ap-south-1",
-					"endpoint": "rds.ap-south-1.aliyuncs.com"
+					"region": "ap-southeast-3",
+					"endpoint": "dysmsapi.ap-southeast-1.aliyuncs.com"
 				},
 				{
-					"region": "cn-hangzhou",
-					"endpoint": "rds.aliyuncs.com"
+					"region": "cn-qingdao",
+					"endpoint": "dysmsapi.aliyuncs.com"
 				},
 				{
-					"region": "cn-shenzhen",
-					"endpoint": "rds.aliyuncs.com"
+					"region": "cn-chengdu",
+					"endpoint": "dysmsapi.aliyuncs.com"
 				},
 				{
-					"region": "ap-southeast-1",
-					"endpoint": "rds.aliyuncs.com"
+					"region": "me-east-1",
+					"endpoint": "dysmsapi.ap-southeast-1.aliyuncs.com"
 				},
 				{
-					"region": "ap-southeast-3",
-					"endpoint": "rds.ap-southeast-3.aliyuncs.com"
+					"region": "ap-southeast-5",
+					"endpoint": "dysmsapi.ap-southeast-1.aliyuncs.com"
 				},
 				{
 					"region": "ap-southeast-2",
-					"endpoint": "rds.ap-southeast-2.aliyuncs.com"
+					"endpoint": "dysmsapi.ap-southeast-1.aliyuncs.com"
 				},
 				{
 					"region": "cn-zhangjiakou",
-					"endpoint": "rds.cn-zhangjiakou.aliyuncs.com"
+					"endpoint": "dysmsapi.aliyuncs.com"
 				},
 				{
-					"region": "cn-qingdao",
-					"endpoint": "rds.aliyuncs.com"
+					"region": "cn-hongkong",
+					"endpoint": "dysmsapi.ap-southeast-1.aliyuncs.com"
 				},
 				{
-					"region": "us-west-1",
-					"endpoint": "rds.aliyuncs.com"
+					"region": "us-east-1",
+					"endpoint": "dysmsapi.ap-southeast-1.aliyuncs.com"
 				},
 				{
-					"region": "us-east-1",
-					"endpoint": "rds.aliyuncs.com"
+					"region": "cn-beijing",
+					"endpoint": "dysmsapi.aliyuncs.com"
 				},
 				{
-					"region": "ap-southeast-5",
-					"endpoint": "rds.ap-southeast-5.aliyuncs.com"
+					"region": "cn-hangzhou",
+					"endpoint": "dysmsapi.aliyuncs.com"
 				},
 				{
-					"region": "eu-central-1",
-					"endpoint": "rds.eu-central-1.aliyuncs.com"
+					"region": "ap-northeast-1",
+					"endpoint": "dysmsapi.ap-southeast-1.aliyuncs.com"
 				},
 				{
-					"region": "cn-beijing",
-					"endpoint": "rds.aliyuncs.com"
+					"region": "ap-south-1",
+					"endpoint": "dysmsapi.ap-southeast-1.aliyuncs.com"
 				},
 				{
-					"region": "cn-shanghai",
-					"endpoint": "rds.aliyuncs.com"
+					"region": "ap-southeast-1",
+					"endpoint": "dysmsapi.ap-southeast-1.aliyuncs.com"
 				},
 				{
-					"region": "eu-west-1",
-					"endpoint": "rds.eu-west-1.aliyuncs.com"
+					"region": "us-west-1",
+					"endpoint": "dysmsapi.ap-southeast-1.aliyuncs.com"
 				},
 				{
-					"region": "cn-huhehaote",
-					"endpoint": "rds.cn-huhehaote.aliyuncs.com"
+					"region": "eu-central-1",
+					"endpoint": "dysmsapi.ap-southeast-1.aliyuncs.com"
 				},
 				{
-					"region": "ap-northeast-1",
-					"endpoint": "rds.ap-northeast-1.aliyuncs.com"
+					"region": "cn-shenzhen",
+					"endpoint": "dysmsapi.aliyuncs.com"
 				},
 				{
-					"region": "cn-hongkong",
-					"endpoint": "rds.aliyuncs.com"
+					"region": "cn-huhehaote",
+					"endpoint": "dysmsapi.aliyuncs.com"
+				},
+				{
+					"region": "cn-shanghai",
+					"endpoint": "dysmsapi.aliyuncs.com"
 				}
 			],
-			"global_endpoint": "rds.aliyuncs.com",
+			"global_endpoint": "",
 			"regional_endpoint_pattern": ""
 		},
 		{
-			"code": "cloudapi",
-			"document_id": "43590",
-			"location_service_code": "apigateway",
+			"code": "cloudwf",
+			"document_id": "58111",
+			"location_service_code": "cloudwf",
+			"regional_endpoints": null,
+			"global_endpoint": "cloudwf.aliyuncs.com",
+			"regional_endpoint_pattern": ""
+		},
+		{
+			"code": "fc",
+			"document_id": "",
+			"location_service_code": "fc",
 			"regional_endpoints": [
 				{
 					"region": "cn-beijing",
-					"endpoint": "apigateway.cn-beijing.aliyuncs.com"
+					"endpoint": "cn-beijing.fc.aliyuncs.com"
 				},
 				{
 					"region": "ap-southeast-2",
-					"endpoint": "apigateway.ap-southeast-2.aliyuncs.com"
+					"endpoint": "ap-southeast-2.fc.aliyuncs.com"
+				},
+				{
+					"region": "cn-huhehaote",
+					"endpoint": "cn-huhehaote.fc.aliyuncs.com"
+				},
+				{
+					"region": "cn-shanghai",
+					"endpoint": "cn-shanghai.fc.aliyuncs.com"
+				},
+				{
+					"region": "cn-hangzhou",
+					"endpoint": "cn-hangzhou.fc.aliyuncs.com"
+				},
+				{
+					"region": "cn-shenzhen",
+					"endpoint": "cn-shenzhen.fc.aliyuncs.com"
+				}
+			],
+			"global_endpoint": "",
+			"regional_endpoint_pattern": ""
+		},
+		{
+			"code": "saf",
+			"document_id": "",
+			"location_service_code": "saf",
+			"regional_endpoints": [
+				{
+					"region": "cn-hangzhou",
+					"endpoint": "saf.cn-shanghai.aliyuncs.com"
+				},
+				{
+					"region": "cn-shanghai",
+					"endpoint": "saf.cn-shanghai.aliyuncs.com"
+				},
+				{
+					"region": "cn-shenzhen",
+					"endpoint": "saf.cn-shenzhen.aliyuncs.com"
+				}
+			],
+			"global_endpoint": "",
+			"regional_endpoint_pattern": ""
+		},
+		{
+			"code": "rds",
+			"document_id": "26223",
+			"location_service_code": "rds",
+			"regional_endpoints": [
+				{
+					"region": "ap-northeast-1",
+					"endpoint": "rds.ap-northeast-1.aliyuncs.com"
 				},
 				{
 					"region": "ap-south-1",
-					"endpoint": "apigateway.ap-south-1.aliyuncs.com"
+					"endpoint": "rds.ap-south-1.aliyuncs.com"
+				},
+				{
+					"region": "cn-zhangjiakou",
+					"endpoint": "rds.cn-zhangjiakou.aliyuncs.com"
+				},
+				{
+					"region": "cn-beijing",
+					"endpoint": "rds.aliyuncs.com"
+				},
+				{
+					"region": "cn-hongkong",
+					"endpoint": "rds.aliyuncs.com"
+				},
+				{
+					"region": "ap-southeast-1",
+					"endpoint": "rds.aliyuncs.com"
+				},
+				{
+					"region": "eu-west-1",
+					"endpoint": "rds.eu-west-1.aliyuncs.com"
 				},
 				{
 					"region": "us-east-1",
-					"endpoint": "apigateway.us-east-1.aliyuncs.com"
+					"endpoint": "rds.aliyuncs.com"
+				},
+				{
+					"region": "ap-southeast-3",
+					"endpoint": "rds.ap-southeast-3.aliyuncs.com"
+				},
+				{
+					"region": "ap-southeast-2",
+					"endpoint": "rds.ap-southeast-2.aliyuncs.com"
 				},
 				{
 					"region": "cn-shanghai",
-					"endpoint": "apigateway.cn-shanghai.aliyuncs.com"
+					"endpoint": "rds.aliyuncs.com"
+				},
+				{
+					"region": "cn-huhehaote",
+					"endpoint": "rds.cn-huhehaote.aliyuncs.com"
+				},
+				{
+					"region": "ap-southeast-5",
+					"endpoint": "rds.ap-southeast-5.aliyuncs.com"
+				},
+				{
+					"region": "eu-central-1",
+					"endpoint": "rds.eu-central-1.aliyuncs.com"
+				},
+				{
+					"region": "cn-qingdao",
+					"endpoint": "rds.aliyuncs.com"
+				},
+				{
+					"region": "me-east-1",
+					"endpoint": "rds.me-east-1.aliyuncs.com"
+				},
+				{
+					"region": "cn-hangzhou",
+					"endpoint": "rds.aliyuncs.com"
+				},
+				{
+					"region": "cn-shenzhen",
+					"endpoint": "rds.aliyuncs.com"
 				},
 				{
 					"region": "us-west-1",
-					"endpoint": "apigateway.us-west-1.aliyuncs.com"
+					"endpoint": "rds.aliyuncs.com"
+				}
+			],
+			"global_endpoint": "rds.aliyuncs.com",
+			"regional_endpoint_pattern": ""
+		},
+		{
+			"code": "vpc",
+			"document_id": "34962",
+			"location_service_code": "vpc",
+			"regional_endpoints": [
+				{
+					"region": "ap-south-1",
+					"endpoint": "vpc.ap-south-1.aliyuncs.com"
+				},
+				{
+					"region": "cn-beijing",
+					"endpoint": "vpc.aliyuncs.com"
+				},
+				{
+					"region": "cn-shanghai",
+					"endpoint": "vpc.aliyuncs.com"
+				},
+				{
+					"region": "cn-shenzhen",
+					"endpoint": "vpc.aliyuncs.com"
 				},
 				{
 					"region": "ap-southeast-1",
-					"endpoint": "apigateway.ap-southeast-1.aliyuncs.com"
+					"endpoint": "vpc.aliyuncs.com"
 				},
 				{
-					"region": "eu-central-1",
-					"endpoint": "apigateway.eu-central-1.aliyuncs.com"
+					"region": "ap-southeast-2",
+					"endpoint": "vpc.ap-southeast-2.aliyuncs.com"
+				},
+				{
+					"region": "ap-northeast-1",
+					"endpoint": "vpc.ap-northeast-1.aliyuncs.com"
 				},
 				{
 					"region": "cn-qingdao",
-					"endpoint": "apigateway.cn-qingdao.aliyuncs.com"
+					"endpoint": "vpc.aliyuncs.com"
 				},
 				{
-					"region": "cn-zhangjiakou",
-					"endpoint": "apigateway.cn-zhangjiakou.aliyuncs.com"
+					"region": "cn-hangzhou",
+					"endpoint": "vpc.aliyuncs.com"
+				},
+				{
+					"region": "cn-hongkong",
+					"endpoint": "vpc.aliyuncs.com"
 				},
 				{
 					"region": "cn-huhehaote",
-					"endpoint": "apigateway.cn-huhehaote.aliyuncs.com"
+					"endpoint": "vpc.cn-huhehaote.aliyuncs.com"
+				},
+				{
+					"region": "me-east-1",
+					"endpoint": "vpc.me-east-1.aliyuncs.com"
+				},
+				{
+					"region": "ap-southeast-5",
+					"endpoint": "vpc.ap-southeast-5.aliyuncs.com"
+				},
+				{
+					"region": "ap-southeast-3",
+					"endpoint": "vpc.ap-southeast-3.aliyuncs.com"
+				},
+				{
+					"region": "eu-central-1",
+					"endpoint": "vpc.eu-central-1.aliyuncs.com"
+				},
+				{
+					"region": "cn-zhangjiakou",
+					"endpoint": "vpc.cn-zhangjiakou.aliyuncs.com"
 				},
 				{
 					"region": "eu-west-1",
-					"endpoint": "apigateway.eu-west-1.aliyuncs.com"
+					"endpoint": "vpc.eu-west-1.aliyuncs.com"
 				},
 				{
-					"region": "me-east-1",
-					"endpoint": "apigateway.me-east-1.aliyuncs.com"
+					"region": "us-west-1",
+					"endpoint": "vpc.aliyuncs.com"
+				},
+				{
+					"region": "us-east-1",
+					"endpoint": "vpc.aliyuncs.com"
+				}
+			],
+			"global_endpoint": "vpc.aliyuncs.com",
+			"regional_endpoint_pattern": ""
+		},
+		{
+			"code": "gpdb",
+			"document_id": "",
+			"location_service_code": "gpdb",
+			"regional_endpoints": [
+				{
+					"region": "ap-southeast-3",
+					"endpoint": "gpdb.ap-southeast-3.aliyuncs.com"
+				},
+				{
+					"region": "cn-shanghai",
+					"endpoint": "gpdb.aliyuncs.com"
+				},
+				{
+					"region": "ap-southeast-1",
+					"endpoint": "gpdb.aliyuncs.com"
+				},
+				{
+					"region": "us-west-1",
+					"endpoint": "gpdb.aliyuncs.com"
+				},
+				{
+					"region": "cn-huhehaote",
+					"endpoint": "gpdb.cn-huhehaote.aliyuncs.com"
+				},
+				{
+					"region": "cn-shenzhen",
+					"endpoint": "gpdb.aliyuncs.com"
+				},
+				{
+					"region": "cn-hangzhou",
+					"endpoint": "gpdb.aliyuncs.com"
+				},
+				{
+					"region": "us-east-1",
+					"endpoint": "gpdb.aliyuncs.com"
+				},
+				{
+					"region": "ap-southeast-5",
+					"endpoint": "gpdb.ap-southeast-5.aliyuncs.com"
+				},
+				{
+					"region": "ap-southeast-2",
+					"endpoint": "gpdb.ap-southeast-2.aliyuncs.com"
+				},
+				{
+					"region": "eu-central-1",
+					"endpoint": "gpdb.eu-central-1.aliyuncs.com"
+				},
+				{
+					"region": "cn-zhangjiakou",
+					"endpoint": "gpdb.cn-zhangjiakou.aliyuncs.com"
+				},
+				{
+					"region": "cn-beijing",
+					"endpoint": "gpdb.aliyuncs.com"
 				},
+				{
+					"region": "ap-northeast-1",
+					"endpoint": "gpdb.ap-northeast-1.aliyuncs.com"
+				},
+				{
+					"region": "eu-west-1",
+					"endpoint": "gpdb.eu-west-1.aliyuncs.com"
+				},
+				{
+					"region": "ap-south-1",
+					"endpoint": "gpdb.ap-south-1.aliyuncs.com"
+				}
+			],
+			"global_endpoint": "gpdb.aliyuncs.com",
+			"regional_endpoint_pattern": ""
+		},
+		{
+			"code": "yunmarket",
+			"document_id": "",
+			"location_service_code": "yunmarket",
+			"regional_endpoints": [
+				{
+					"region": "cn-hangzhou",
+					"endpoint": "market.aliyuncs.com"
+				}
+			],
+			"global_endpoint": "",
+			"regional_endpoint_pattern": ""
+		},
+		{
+			"code": "pvtz",
+			"document_id": "",
+			"location_service_code": "pvtz",
+			"regional_endpoints": [
+				{
+					"region": "ap-southeast-1",
+					"endpoint": "pvtz.aliyuncs.com"
+				},
+				{
+					"region": "cn-hangzhou",
+					"endpoint": "pvtz.aliyuncs.com"
+				}
+			],
+			"global_endpoint": "",
+			"regional_endpoint_pattern": ""
+		},
+		{
+			"code": "oss",
+			"document_id": "",
+			"location_service_code": "oss",
+			"regional_endpoints": [
+				{
+					"region": "cn-beijing",
+					"endpoint": "oss-cn-beijing.aliyuncs.com"
+				},
+				{
+					"region": "cn-hangzhou",
+					"endpoint": "oss-cn-hangzhou.aliyuncs.com"
+				},
+				{
+					"region": "cn-shanghai",
+					"endpoint": "oss-cn-shanghai.aliyuncs.com"
+				},
+				{
+					"region": "cn-hongkong",
+					"endpoint": "oss-cn-hongkong.aliyuncs.com"
+				},
+				{
+					"region": "cn-shenzhen",
+					"endpoint": "oss-cn-shenzhen.aliyuncs.com"
+				},
+				{
+					"region": "ap-southeast-1",
+					"endpoint": "oss-ap-southeast-1.aliyuncs.com"
+				},
+				{
+					"region": "us-west-1",
+					"endpoint": "oss-us-west-1.aliyuncs.com"
+				},
+				{
+					"region": "cn-qingdao",
+					"endpoint": "oss-cn-qingdao.aliyuncs.com"
+				}
+			],
+			"global_endpoint": "",
+			"regional_endpoint_pattern": ""
+		},
+		{
+			"code": "foas",
+			"document_id": "",
+			"location_service_code": "foas",
+			"regional_endpoints": [
+				{
+					"region": "cn-qingdao",
+					"endpoint": "foas.cn-qingdao.aliyuncs.com"
+				},
+				{
+					"region": "cn-beijing",
+					"endpoint": "foas.cn-beijing.aliyuncs.com"
+				},
+				{
+					"region": "cn-zhangjiakou",
+					"endpoint": "foas.cn-zhangjiakou.aliyuncs.com"
+				},
+				{
+					"region": "cn-hangzhou",
+					"endpoint": "foas.cn-hangzhou.aliyuncs.com"
+				},
+				{
+					"region": "cn-shanghai",
+					"endpoint": "foas.cn-shanghai.aliyuncs.com"
+				},
+				{
+					"region": "cn-shenzhen",
+					"endpoint": "foas.cn-shenzhen.aliyuncs.com"
+				},
+				{
+					"region": "ap-northeast-1",
+					"endpoint": "foas.ap-northeast-1.aliyuncs.com"
+				}
+			],
+			"global_endpoint": "",
+			"regional_endpoint_pattern": ""
+		},
+		{
+			"code": "ddos",
+			"document_id": "",
+			"location_service_code": "ddos",
+			"regional_endpoints": [
+				{
+					"region": "cn-hangzhou",
+					"endpoint": "ddospro.cn-hangzhou.aliyuncs.com"
+				},
+				{
+					"region": "cn-hongkong",
+					"endpoint": "ddospro.cn-hongkong.aliyuncs.com"
+				}
+			],
+			"global_endpoint": "",
+			"regional_endpoint_pattern": ""
+		},
+		{
+			"code": "cbn",
+			"document_id": "",
+			"location_service_code": "cbn",
+			"regional_endpoints": [
+				{
+					"region": "ap-southeast-1",
+					"endpoint": "cbn.aliyuncs.com"
+				},
+				{
+					"region": "ap-northeast-1",
+					"endpoint": "cbn.aliyuncs.com"
+				},
+				{
+					"region": "cn-qingdao",
+					"endpoint": "cbn.aliyuncs.com"
+				},
+				{
+					"region": "cn-hongkong",
+					"endpoint": "cbn.aliyuncs.com"
+				},
+				{
+					"region": "ap-southeast-2",
+					"endpoint": "cbn.aliyuncs.com"
+				},
+				{
+					"region": "us-west-1",
+					"endpoint": "cbn.aliyuncs.com"
+				},
+				{
+					"region": "cn-beijing",
+					"endpoint": "cbn.aliyuncs.com"
+				},
+				{
+					"region": "cn-shenzhen",
+					"endpoint": "cbn.aliyuncs.com"
+				},
+				{
+					"region": "ap-southeast-3",
+					"endpoint": "cbn.aliyuncs.com"
+				},
+				{
+					"region": "ap-southeast-5",
+					"endpoint": "cbn.aliyuncs.com"
+				},
+				{
+					"region": "eu-west-1",
+					"endpoint": "cbn.aliyuncs.com"
+				},
+				{
+					"region": "cn-hangzhou",
+					"endpoint": "cbn.aliyuncs.com"
+				},
+				{
+					"region": "cn-huhehaote",
+					"endpoint": "cbn.aliyuncs.com"
+				},
+				{
+					"region": "cn-shanghai",
+					"endpoint": "cbn.aliyuncs.com"
+				},
+				{
+					"region": "us-east-1",
+					"endpoint": "cbn.aliyuncs.com"
+				},
+				{
+					"region": "eu-central-1",
+					"endpoint": "cbn.aliyuncs.com"
+				},
+				{
+					"region": "me-east-1",
+					"endpoint": "cbn.aliyuncs.com"
+				},
+				{
+					"region": "ap-south-1",
+					"endpoint": "cbn.aliyuncs.com"
+				},
+				{
+					"region": "cn-zhangjiakou",
+					"endpoint": "cbn.aliyuncs.com"
+				}
+			],
+			"global_endpoint": "cbn.aliyuncs.com",
+			"regional_endpoint_pattern": ""
+		},
+		{
+			"code": "nlp",
+			"document_id": "",
+			"location_service_code": "nlp",
+			"regional_endpoints": [
+				{
+					"region": "cn-shanghai",
+					"endpoint": "nlp.cn-shanghai.aliyuncs.com"
+				}
+			],
+			"global_endpoint": "",
+			"regional_endpoint_pattern": ""
+		},
+		{
+			"code": "hsm",
+			"document_id": "",
+			"location_service_code": "hsm",
+			"regional_endpoints": [
+				{
+					"region": "cn-beijing",
+					"endpoint": "hsm.aliyuncs.com"
+				},
+				{
+					"region": "cn-hangzhou",
+					"endpoint": "hsm.aliyuncs.com"
+				},
+				{
+					"region": "cn-shanghai",
+					"endpoint": "hsm.aliyuncs.com"
+				},
+				{
+					"region": "cn-hongkong",
+					"endpoint": "hsm.aliyuncs.com"
+				},
+				{
+					"region": "cn-shenzhen",
+					"endpoint": "hsm.aliyuncs.com"
+				},
+				{
+					"region": "ap-southeast-1",
+					"endpoint": "hsm.aliyuncs.com"
+				}
+			],
+			"global_endpoint": "",
+			"regional_endpoint_pattern": ""
+		},
+		{
+			"code": "ons",
+			"document_id": "44416",
+			"location_service_code": "ons",
+			"regional_endpoints": [
+				{
+					"region": "ap-southeast-1",
+					"endpoint": "ons.ap-southeast-1.aliyuncs.com"
+				},
+				{
+					"region": "cn-huhehaote",
+					"endpoint": "ons.cn-huhehaote.aliyuncs.com"
+				},
+				{
+					"region": "us-east-1",
+					"endpoint": "ons.us-east-1.aliyuncs.com"
+				},
+				{
+					"region": "cn-hongkong",
+					"endpoint": "ons.cn-hongkong.aliyuncs.com"
+				},
+				{
+					"region": "cn-shenzhen",
+					"endpoint": "ons.cn-shenzhen.aliyuncs.com"
+				},
+				{
+					"region": "ap-southeast-3",
+					"endpoint": "ons.ap-southeast-3.aliyuncs.com"
+				},
+				{
+					"region": "cn-hangzhou",
+					"endpoint": "ons.cn-hangzhou.aliyuncs.com"
+				},
+				{
+					"region": "cn-qingdao",
+					"endpoint": "ons.cn-qingdao.aliyuncs.com"
+				},
+				{
+					"region": "cn-zhangjiakou",
+					"endpoint": "ons.cn-zhangjiakou.aliyuncs.com"
+				},
+				{
+					"region": "me-east-1",
+					"endpoint": "ons.me-east-1.aliyuncs.com"
+				},
+				{
+					"region": "ap-northeast-1",
+					"endpoint": "ons.ap-northeast-1.aliyuncs.com"
+				},
+				{
+					"region": "ap-southeast-2",
+					"endpoint": "ons.ap-southeast-2.aliyuncs.com"
+				},
+				{
+					"region": "ap-south-1",
+					"endpoint": "ons.cn-hangzhou.aliyuncs.com"
+				},
+				{
+					"region": "eu-central-1",
+					"endpoint": "ons.eu-central-1.aliyuncs.com"
+				},
+				{
+					"region": "eu-west-1",
+					"endpoint": "ons.eu-west-1.aliyuncs.com"
+				},
+				{
+					"region": "us-west-1",
+					"endpoint": "ons.us-west-1.aliyuncs.com"
+				},
+				{
+					"region": "cn-beijing",
+					"endpoint": "ons.cn-beijing.aliyuncs.com"
+				},
+				{
+					"region": "cn-shanghai",
+					"endpoint": "ons.cn-shanghai.aliyuncs.com"
+				}
+			],
+			"global_endpoint": "",
+			"regional_endpoint_pattern": ""
+		},
+		{
+			"code": "kms",
+			"document_id": "",
+			"location_service_code": "kms",
+			"regional_endpoints": [
+				{
+					"region": "cn-hongkong",
+					"endpoint": "kms.cn-hongkong.aliyuncs.com"
+				},
+				{
+					"region": "cn-hangzhou",
+					"endpoint": "kms.cn-hangzhou.aliyuncs.com"
+				},
+				{
+					"region": "ap-south-1",
+					"endpoint": "kms.ap-south-1.aliyuncs.com"
+				},
+				{
+					"region": "cn-qingdao",
+					"endpoint": "kms.cn-qingdao.aliyuncs.com"
+				},
+				{
+					"region": "eu-west-1",
+					"endpoint": "kms.eu-west-1.aliyuncs.com"
+				},
+				{
+					"region": "us-east-1",
+					"endpoint": "kms.us-east-1.aliyuncs.com"
+				},
+				{
+					"region": "cn-beijing",
+					"endpoint": "kms.cn-beijing.aliyuncs.com"
+				},
+				{
+					"region": "cn-zhangjiakou",
+					"endpoint": "kms.cn-zhangjiakou.aliyuncs.com"
+				},
+				{
+					"region": "cn-shanghai",
+					"endpoint": "kms.cn-shanghai.aliyuncs.com"
+				},
+				{
+					"region": "ap-southeast-5",
+					"endpoint": "kms.ap-southeast-5.aliyuncs.com"
+				},
+				{
+					"region": "cn-huhehaote",
+					"endpoint": "kms.cn-huhehaote.aliyuncs.com"
+				},
+				{
+					"region": "me-east-1",
+					"endpoint": "kms.me-east-1.aliyuncs.com"
+				},
+				{
+					"region": "cn-shenzhen",
+					"endpoint": "kms.cn-shenzhen.aliyuncs.com"
+				},
+				{
+					"region": "ap-southeast-3",
+					"endpoint": "kms.ap-southeast-3.aliyuncs.com"
+				},
+				{
+					"region": "us-west-1",
+					"endpoint": "kms.us-west-1.aliyuncs.com"
+				},
+				{
+					"region": "ap-southeast-2",
+					"endpoint": "kms.ap-southeast-2.aliyuncs.com"
+				},
+				{
+					"region": "ap-southeast-1",
+					"endpoint": "kms.ap-southeast-1.aliyuncs.com"
+				},
+				{
+					"region": "eu-central-1",
+					"endpoint": "kms.eu-central-1.aliyuncs.com"
+				},
+				{
+					"region": "ap-northeast-1",
+					"endpoint": "kms.ap-northeast-1.aliyuncs.com"
+				}
+			],
+			"global_endpoint": "",
+			"regional_endpoint_pattern": ""
+		},
+		{
+			"code": "cps",
+			"document_id": "",
+			"location_service_code": "cps",
+			"regional_endpoints": [
+				{
+					"region": "cn-hangzhou",
+					"endpoint": "cloudpush.aliyuncs.com"
+				}
+			],
+			"global_endpoint": "",
+			"regional_endpoint_pattern": ""
+		},
+		{
+			"code": "ensdisk",
+			"document_id": "",
+			"location_service_code": "ensdisk",
+			"regional_endpoints": [
+				{
+					"region": "cn-hangzhou",
+					"endpoint": "ens.aliyuncs.com"
+				}
+			],
+			"global_endpoint": "",
+			"regional_endpoint_pattern": ""
+		},
+		{
+			"code": "cloudapi",
+			"document_id": "43590",
+			"location_service_code": "apigateway",
+			"regional_endpoints": [
+				{
+					"region": "ap-southeast-2",
+					"endpoint": "apigateway.ap-southeast-2.aliyuncs.com"
+				},
+				{
+					"region": "ap-south-1",
+					"endpoint": "apigateway.ap-south-1.aliyuncs.com"
+				},
+				{
+					"region": "us-east-1",
+					"endpoint": "apigateway.us-east-1.aliyuncs.com"
+				},
+				{
+					"region": "me-east-1",
+					"endpoint": "apigateway.me-east-1.aliyuncs.com"
+				},
+				{
+					"region": "cn-qingdao",
+					"endpoint": "apigateway.cn-qingdao.aliyuncs.com"
+				},
+				{
+					"region": "cn-beijing",
+					"endpoint": "apigateway.cn-beijing.aliyuncs.com"
+				},
+				{
+					"region": "ap-southeast-5",
+					"endpoint": "apigateway.ap-southeast-5.aliyuncs.com"
+				},
+				{
+					"region": "ap-southeast-3",
+					"endpoint": "apigateway.ap-southeast-3.aliyuncs.com"
+				},
+				{
+					"region": "cn-zhangjiakou",
+					"endpoint": "apigateway.cn-zhangjiakou.aliyuncs.com"
+				},
+				{
+					"region": "cn-huhehaote",
+					"endpoint": "apigateway.cn-huhehaote.aliyuncs.com"
+				},
+				{
+					"region": "ap-southeast-1",
+					"endpoint": "apigateway.ap-southeast-1.aliyuncs.com"
+				},
+				{
+					"region": "eu-central-1",
+					"endpoint": "apigateway.eu-central-1.aliyuncs.com"
+				},
+				{
+					"region": "cn-hangzhou",
+					"endpoint": "apigateway.cn-hangzhou.aliyuncs.com"
+				},
+				{
+					"region": "us-west-1",
+					"endpoint": "apigateway.us-west-1.aliyuncs.com"
+				},
+				{
+					"region": "cn-shenzhen",
+					"endpoint": "apigateway.cn-shenzhen.aliyuncs.com"
+				},
+				{
+					"region": "eu-west-1",
+					"endpoint": "apigateway.eu-west-1.aliyuncs.com"
+				},
+				{
+					"region": "cn-shanghai",
+					"endpoint": "apigateway.cn-shanghai.aliyuncs.com"
+				},
+				{
+					"region": "ap-northeast-1",
+					"endpoint": "apigateway.ap-northeast-1.aliyuncs.com"
+				},
+				{
+					"region": "cn-hongkong",
+					"endpoint": "apigateway.cn-hongkong.aliyuncs.com"
+				}
+			],
+			"global_endpoint": "",
+			"regional_endpoint_pattern": "apigateway.[RegionId].aliyuncs.com"
+		},
+		{
+			"code": "eci",
+			"document_id": "",
+			"location_service_code": "eci",
+			"regional_endpoints": [
+				{
+					"region": "cn-shanghai",
+					"endpoint": "eci.aliyuncs.com"
+				},
+				{
+					"region": "cn-hangzhou",
+					"endpoint": "eci.aliyuncs.com"
+				},
+				{
+					"region": "us-west-1",
+					"endpoint": "eci.aliyuncs.com"
+				},
+				{
+					"region": "cn-beijing",
+					"endpoint": "eci.aliyuncs.com"
+				},
+				{
+					"region": "cn-shenzhen",
+					"endpoint": "eci.aliyuncs.com"
+				},
+				{
+					"region": "ap-southeast-1",
+					"endpoint": "eci.aliyuncs.com"
+				}
+			],
+			"global_endpoint": "",
+			"regional_endpoint_pattern": ""
+		},
+		{
+			"code": "onsvip",
+			"document_id": "",
+			"location_service_code": "onsvip",
+			"regional_endpoints": [
+				{
+					"region": "cn-beijing",
+					"endpoint": "ons.cn-beijing.aliyuncs.com"
+				},
+				{
+					"region": "cn-hangzhou",
+					"endpoint": "ons.cn-hangzhou.aliyuncs.com"
+				},
+				{
+					"region": "cn-shanghai",
+					"endpoint": "ons.cn-shanghai.aliyuncs.com"
+				},
+				{
+					"region": "cn-shenzhen",
+					"endpoint": "ons.cn-shenzhen.aliyuncs.com"
+				},
+				{
+					"region": "ap-southeast-1",
+					"endpoint": "ons.ap-southeast-1.aliyuncs.com"
+				},
+				{
+					"region": "cn-qingdao",
+					"endpoint": "ons.cn-qingdao.aliyuncs.com"
+				}
+			],
+			"global_endpoint": "",
+			"regional_endpoint_pattern": ""
+		},
+		{
+			"code": "linkwan",
+			"document_id": "",
+			"location_service_code": "linkwan",
+			"regional_endpoints": [
+				{
+					"region": "cn-hangzhou",
+					"endpoint": "linkwan.cn-hangzhou.aliyuncs.com"
+				},
+				{
+					"region": "cn-shanghai",
+					"endpoint": "linkwan.cn-shanghai.aliyuncs.com"
+				}
+			],
+			"global_endpoint": "",
+			"regional_endpoint_pattern": ""
+		},
+		{
+			"code": "ddosdip",
+			"document_id": "",
+			"location_service_code": "ddosdip",
+			"regional_endpoints": [
+				{
+					"region": "ap-southeast-1",
+					"endpoint": "ddosdip.ap-southeast-1.aliyuncs.com"
+				}
+			],
+			"global_endpoint": "",
+			"regional_endpoint_pattern": ""
+		},
+		{
+			"code": "batchcompute",
+			"document_id": "44717",
+			"location_service_code": "batchcompute",
+			"regional_endpoints": [
+				{
+					"region": "us-west-1",
+					"endpoint": "batchcompute.us-west-1.aliyuncs.com"
+				},
+				{
+					"region": "cn-qingdao",
+					"endpoint": "batchcompute.cn-qingdao.aliyuncs.com"
+				},
+				{
+					"region": "cn-zhangjiakou",
+					"endpoint": "batchcompute.cn-zhangjiakou.aliyuncs.com"
+				},
+				{
+					"region": "cn-shenzhen",
+					"endpoint": "batchcompute.cn-shenzhen.aliyuncs.com"
+				},
+				{
+					"region": "cn-huhehaote",
+					"endpoint": "batchcompute.cn-huhehaote.aliyuncs.com"
+				},
+				{
+					"region": "cn-beijing",
+					"endpoint": "batchcompute.cn-beijing.aliyuncs.com"
+				},
+				{
+					"region": "cn-hangzhou",
+					"endpoint": "batchcompute.cn-hangzhou.aliyuncs.com"
+				},
+				{
+					"region": "cn-shanghai",
+					"endpoint": "batchcompute.cn-shanghai.aliyuncs.com"
+				},
+				{
+					"region": "ap-southeast-1",
+					"endpoint": "batchcompute.ap-southeast-1.aliyuncs.com"
+				}
+			],
+			"global_endpoint": "",
+			"regional_endpoint_pattern": "batchcompute.[RegionId].aliyuncs.com"
+		},
+		{
+			"code": "aegis",
+			"document_id": "28449",
+			"location_service_code": "vipaegis",
+			"regional_endpoints": [
+				{
+					"region": "cn-hangzhou",
+					"endpoint": "aegis.cn-hangzhou.aliyuncs.com"
+				},
+				{
+					"region": "ap-southeast-3",
+					"endpoint": "aegis.ap-southeast-3.aliyuncs.com"
+				}
+			],
+			"global_endpoint": "aegis.cn-hangzhou.aliyuncs.com",
+			"regional_endpoint_pattern": ""
+		},
+		{
+			"code": "arms",
+			"document_id": "42924",
+			"location_service_code": "arms",
+			"regional_endpoints": [
+				{
+					"region": "cn-hongkong",
+					"endpoint": "arms.cn-hongkong.aliyuncs.com"
+				},
+				{
+					"region": "ap-southeast-1",
+					"endpoint": "arms.ap-southeast-1.aliyuncs.com"
+				},
+				{
+					"region": "cn-shenzhen",
+					"endpoint": "arms.cn-shenzhen.aliyuncs.com"
+				},
+				{
+					"region": "cn-qingdao",
+					"endpoint": "arms.cn-qingdao.aliyuncs.com"
+				},
+				{
+					"region": "cn-beijing",
+					"endpoint": "arms.cn-beijing.aliyuncs.com"
+				},
+				{
+					"region": "cn-hangzhou",
+					"endpoint": "arms.cn-hangzhou.aliyuncs.com"
+				},
+				{
+					"region": "cn-shanghai",
+					"endpoint": "arms.cn-shanghai.aliyuncs.com"
+				}
+			],
+			"global_endpoint": "",
+			"regional_endpoint_pattern": "arms.[RegionId].aliyuncs.com"
+		},
+		{
+			"code": "live",
+			"document_id": "48207",
+			"location_service_code": "live",
+			"regional_endpoints": [
+				{
+					"region": "cn-hangzhou",
+					"endpoint": "live.aliyuncs.com"
+				},
+				{
+					"region": "ap-northeast-1",
+					"endpoint": "live.aliyuncs.com"
+				},
+				{
+					"region": "cn-shanghai",
+					"endpoint": "live.aliyuncs.com"
+				},
+				{
+					"region": "ap-southeast-1",
+					"endpoint": "live.aliyuncs.com"
+				},
+				{
+					"region": "eu-central-1",
+					"endpoint": "live.aliyuncs.com"
+				},
+				{
+					"region": "cn-shenzhen",
+					"endpoint": "live.aliyuncs.com"
+				},
+				{
+					"region": "cn-beijing",
+					"endpoint": "live.aliyuncs.com"
+				}
+			],
+			"global_endpoint": "live.aliyuncs.com",
+			"regional_endpoint_pattern": ""
+		},
+		{
+			"code": "alimt",
+			"document_id": "",
+			"location_service_code": "alimt",
+			"regional_endpoints": [
+				{
+					"region": "cn-hangzhou",
+					"endpoint": "mt.cn-hangzhou.aliyuncs.com"
+				}
+			],
+			"global_endpoint": "",
+			"regional_endpoint_pattern": ""
+		},
+		{
+			"code": "actiontrail",
+			"document_id": "",
+			"location_service_code": "actiontrail",
+			"regional_endpoints": [
+				{
+					"region": "cn-shanghai",
+					"endpoint": "actiontrail.cn-shanghai.aliyuncs.com"
+				},
+				{
+					"region": "cn-qingdao",
+					"endpoint": "actiontrail.cn-qingdao.aliyuncs.com"
+				},
+				{
+					"region": "us-east-1",
+					"endpoint": "actiontrail.us-east-1.aliyuncs.com"
+				},
+				{
+					"region": "ap-southeast-2",
+					"endpoint": "actiontrail.ap-southeast-2.aliyuncs.com"
+				},
+				{
+					"region": "ap-southeast-3",
+					"endpoint": "actiontrail.ap-southeast-3.aliyuncs.com"
+				},
+				{
+					"region": "ap-southeast-5",
+					"endpoint": "actiontrail.ap-southeast-5.aliyuncs.com"
+				},
+				{
+					"region": "ap-south-1",
+					"endpoint": "actiontrail.ap-south-1.aliyuncs.com"
+				},
+				{
+					"region": "me-east-1",
+					"endpoint": "actiontrail.me-east-1.aliyuncs.com"
+				},
+				{
+					"region": "cn-hongkong",
+					"endpoint": "actiontrail.cn-hongkong.aliyuncs.com"
+				},
+				{
+					"region": "cn-shenzhen",
+					"endpoint": "actiontrail.cn-shenzhen.aliyuncs.com"
+				},
+				{
+					"region": "cn-hangzhou",
+					"endpoint": "actiontrail.cn-hangzhou.aliyuncs.com"
+				},
+				{
+					"region": "eu-west-1",
+					"endpoint": "actiontrail.eu-west-1.aliyuncs.com"
+				},
+				{
+					"region": "cn-huhehaote",
+					"endpoint": "actiontrail.cn-huhehaote.aliyuncs.com"
+				},
+				{
+					"region": "ap-northeast-1",
+					"endpoint": "actiontrail.ap-northeast-1.aliyuncs.com"
+				},
+				{
+					"region": "us-west-1",
+					"endpoint": "actiontrail.us-west-1.aliyuncs.com"
+				},
+				{
+					"region": "eu-central-1",
+					"endpoint": "actiontrail.eu-central-1.aliyuncs.com"
+				},
+				{
+					"region": "cn-zhangjiakou",
+					"endpoint": "actiontrail.cn-zhangjiakou.aliyuncs.com"
+				},
+				{
+					"region": "cn-beijing",
+					"endpoint": "actiontrail.cn-beijing.aliyuncs.com"
+				},
+				{
+					"region": "ap-southeast-1",
+					"endpoint": "actiontrail.ap-southeast-1.aliyuncs.com"
+				}
+			],
+			"global_endpoint": "",
+			"regional_endpoint_pattern": ""
+		},
+		{
+			"code": "smartag",
+			"document_id": "",
+			"location_service_code": "smartag",
+			"regional_endpoints": [
+				{
+					"region": "ap-southeast-3",
+					"endpoint": "smartag.ap-southeast-3.aliyuncs.com"
+				},
+				{
+					"region": "ap-southeast-5",
+					"endpoint": "smartag.ap-southeast-5.aliyuncs.com"
+				},
+				{
+					"region": "eu-central-1",
+					"endpoint": "smartag.eu-central-1.aliyuncs.com"
+				},
+				{
+					"region": "cn-shanghai",
+					"endpoint": "smartag.cn-shanghai.aliyuncs.com"
+				},
+				{
+					"region": "cn-hongkong",
+					"endpoint": "smartag.cn-hongkong.aliyuncs.com"
+				},
+				{
+					"region": "ap-southeast-1",
+					"endpoint": "smartag.ap-southeast-1.aliyuncs.com"
+				},
+				{
+					"region": "ap-southeast-2",
+					"endpoint": "smartag.ap-southeast-2.aliyuncs.com"
+				}
+			],
+			"global_endpoint": "",
+			"regional_endpoint_pattern": ""
+		},
+		{
+			"code": "vod",
+			"document_id": "60574",
+			"location_service_code": "vod",
+			"regional_endpoints": [
+				{
+					"region": "cn-shanghai",
+					"endpoint": "vod.cn-shanghai.aliyuncs.com"
+				},
+				{
+					"region": "cn-hangzhou",
+					"endpoint": "vod.cn-shanghai.aliyuncs.com"
+				},
+				{
+					"region": "cn-shenzhen",
+					"endpoint": "vod.cn-shanghai.aliyuncs.com"
+				},
+				{
+					"region": "cn-beijing",
+					"endpoint": "vod.cn-shanghai.aliyuncs.com"
+				},
+				{
+					"region": "ap-southeast-1",
+					"endpoint": "vod.ap-southeast-1.aliyuncs.com"
+				},
+				{
+					"region": "eu-central-1",
+					"endpoint": "vod.eu-central-1.aliyuncs.com"
+				}
+			],
+			"global_endpoint": "",
+			"regional_endpoint_pattern": ""
+		},
+		{
+			"code": "domain",
+			"document_id": "42875",
+			"location_service_code": "domain",
+			"regional_endpoints": [
+				{
+					"region": "ap-southeast-1",
+					"endpoint": "domain-intl.aliyuncs.com"
+				},
+				{
+					"region": "cn-hangzhou",
+					"endpoint": "domain.aliyuncs.com"
+				}
+			],
+			"global_endpoint": "domain.aliyuncs.com",
+			"regional_endpoint_pattern": "domain.aliyuncs.com"
+		},
+		{
+			"code": "ros",
+			"document_id": "28899",
+			"location_service_code": "ros",
+			"regional_endpoints": [
+				{
+					"region": "cn-hangzhou",
+					"endpoint": "ros.aliyuncs.com"
+				}
+			],
+			"global_endpoint": "ros.aliyuncs.com",
+			"regional_endpoint_pattern": ""
+		},
+		{
+			"code": "cloudphoto",
+			"document_id": "59902",
+			"location_service_code": "cloudphoto",
+			"regional_endpoints": [
+				{
+					"region": "cn-shanghai",
+					"endpoint": "cloudphoto.cn-shanghai.aliyuncs.com"
+				}
+			],
+			"global_endpoint": "",
+			"regional_endpoint_pattern": "cloudphoto.[RegionId].aliyuncs.com"
+		},
+		{
+			"code": "rtc",
+			"document_id": "",
+			"location_service_code": "rtc",
+			"regional_endpoints": [
+				{
+					"region": "cn-hangzhou",
+					"endpoint": "rtc.aliyuncs.com"
+				}
+			],
+			"global_endpoint": "",
+			"regional_endpoint_pattern": ""
+		},
+		{
+			"code": "odpsmayi",
+			"document_id": "",
+			"location_service_code": "odpsmayi",
+			"regional_endpoints": [
+				{
+					"region": "cn-shanghai",
+					"endpoint": "bsb.cloud.alipay.com"
+				},
+				{
+					"region": "ap-southeast-1",
+					"endpoint": "bsb.cloud.alipay.com"
+				}
+			],
+			"global_endpoint": "",
+			"regional_endpoint_pattern": ""
+		},
+		{
+			"code": "ims",
+			"document_id": "",
+			"location_service_code": "ims",
+			"regional_endpoints": [
+				{
+					"region": "cn-hangzhou",
+					"endpoint": "ims.aliyuncs.com"
+				}
+			],
+			"global_endpoint": "",
+			"regional_endpoint_pattern": ""
+		},
+		{
+			"code": "csb",
+			"document_id": "64837",
+			"location_service_code": "csb",
+			"regional_endpoints": [
+				{
+					"region": "cn-hangzhou",
+					"endpoint": "csb.cn-hangzhou.aliyuncs.com"
+				},
+				{
+					"region": "cn-beijing",
+					"endpoint": "csb.cn-beijing.aliyuncs.com"
+				}
+			],
+			"global_endpoint": "",
+			"regional_endpoint_pattern": "csb.[RegionId].aliyuncs.com"
+		},
+		{
+			"code": "cds",
+			"document_id": "62887",
+			"location_service_code": "codepipeline",
+			"regional_endpoints": [
+				{
+					"region": "cn-beijing",
+					"endpoint": "cds.cn-beijing.aliyuncs.com"
+				}
+			],
+			"global_endpoint": "cds.cn-beijing.aliyuncs.com",
+			"regional_endpoint_pattern": ""
+		},
+		{
+			"code": "ddosbgp",
+			"document_id": "",
+			"location_service_code": "ddosbgp",
+			"regional_endpoints": [
+				{
+					"region": "cn-huhehaote",
+					"endpoint": "ddosbgp.cn-hangzhou.aliyuncs.com"
+				},
+				{
+					"region": "cn-beijing",
+					"endpoint": "ddosbgp.cn-hangzhou.aliyuncs.com"
+				},
+				{
+					"region": "cn-zhangjiakou",
+					"endpoint": "ddosbgp.cn-hangzhou.aliyuncs.com"
+				},
+				{
+					"region": "cn-hongkong",
+					"endpoint": "ddosbgp.cn-hongkong.aliyuncs.com"
+				},
+				{
+					"region": "cn-shenzhen",
+					"endpoint": "ddosbgp.cn-hangzhou.aliyuncs.com"
+				},
+				{
+					"region": "us-west-1",
+					"endpoint": "ddosbgp.us-west-1.aliyuncs.com"
+				},
+				{
+					"region": "cn-qingdao",
+					"endpoint": "ddosbgp.cn-hangzhou.aliyuncs.com"
+				},
+				{
+					"region": "cn-hangzhou",
+					"endpoint": "ddosbgp.cn-hangzhou.aliyuncs.com"
+				},
+				{
+					"region": "cn-shanghai",
+					"endpoint": "ddosbgp.cn-hangzhou.aliyuncs.com"
+				}
+			],
+			"global_endpoint": "",
+			"regional_endpoint_pattern": ""
+		},
+		{
+			"code": "dybaseapi",
+			"document_id": "",
+			"location_service_code": "dybaseapi",
+			"regional_endpoints": [
+				{
+					"region": "cn-beijing",
+					"endpoint": "dybaseapi.aliyuncs.com"
+				},
+				{
+					"region": "cn-chengdu",
+					"endpoint": "dybaseapi.aliyuncs.com"
+				},
+				{
+					"region": "ap-southeast-3",
+					"endpoint": "dybaseapi.ap-southeast-1.aliyuncs.com"
+				},
+				{
+					"region": "ap-southeast-1",
+					"endpoint": "dybaseapi.ap-southeast-1.aliyuncs.com"
+				},
+				{
+					"region": "us-west-1",
+					"endpoint": "dybaseapi.ap-southeast-1.aliyuncs.com"
+				},
+				{
+					"region": "cn-hangzhou",
+					"endpoint": "dybaseapi.aliyuncs.com"
+				},
+				{
+					"region": "cn-zhangjiakou",
+					"endpoint": "dybaseapi.aliyuncs.com"
+				},
+				{
+					"region": "me-east-1",
+					"endpoint": "dybaseapi.ap-southeast-1.aliyuncs.com"
+				},
+				{
+					"region": "us-east-1",
+					"endpoint": "dybaseapi.ap-southeast-1.aliyuncs.com"
+				},
+				{
+					"region": "ap-northeast-1",
+					"endpoint": "dybaseapi.ap-southeast-1.aliyuncs.com"
+				},
+				{
+					"region": "ap-southeast-5",
+					"endpoint": "dybaseapi.ap-southeast-1.aliyuncs.com"
+				},
+				{
+					"region": "cn-shenzhen",
+					"endpoint": "dybaseapi.aliyuncs.com"
+				},
+				{
+					"region": "cn-huhehaote",
+					"endpoint": "dybaseapi.aliyuncs.com"
+				},
+				{
+					"region": "cn-shanghai",
+					"endpoint": "dybaseapi.aliyuncs.com"
+				},
+				{
+					"region": "eu-central-1",
+					"endpoint": "dybaseapi.ap-southeast-1.aliyuncs.com"
+				},
+				{
+					"region": "cn-qingdao",
+					"endpoint": "dybaseapi.aliyuncs.com"
+				},
+				{
+					"region": "cn-hongkong",
+					"endpoint": "dybaseapi.ap-southeast-1.aliyuncs.com"
+				},
+				{
+					"region": "ap-southeast-2",
+					"endpoint": "dybaseapi.ap-southeast-1.aliyuncs.com"
+				},
+				{
+					"region": "ap-south-1",
+					"endpoint": "dybaseapi.ap-southeast-1.aliyuncs.com"
+				}
+			],
+			"global_endpoint": "",
+			"regional_endpoint_pattern": ""
+		},
+		{
+			"code": "ecs",
+			"document_id": "25484",
+			"location_service_code": "ecs",
+			"regional_endpoints": [
+				{
+					"region": "cn-huhehaote",
+					"endpoint": "ecs.cn-huhehaote.aliyuncs.com"
+				},
+				{
+					"region": "ap-northeast-1",
+					"endpoint": "ecs.ap-northeast-1.aliyuncs.com"
+				},
+				{
+					"region": "ap-southeast-2",
+					"endpoint": "ecs.ap-southeast-2.aliyuncs.com"
+				},
+				{
+					"region": "ap-south-1",
+					"endpoint": "ecs.ap-south-1.aliyuncs.com"
+				},
+				{
+					"region": "cn-hangzhou",
+					"endpoint": "ecs-cn-hangzhou.aliyuncs.com"
+				},
+				{
+					"region": "cn-shenzhen",
+					"endpoint": "ecs-cn-hangzhou.aliyuncs.com"
+				},
+				{
+					"region": "ap-southeast-3",
+					"endpoint": "ecs.ap-southeast-3.aliyuncs.com"
+				},
+				{
+					"region": "eu-central-1",
+					"endpoint": "ecs.eu-central-1.aliyuncs.com"
+				},
+				{
+					"region": "cn-zhangjiakou",
+					"endpoint": "ecs.cn-zhangjiakou.aliyuncs.com"
+				},
+				{
+					"region": "cn-hongkong",
+					"endpoint": "ecs-cn-hangzhou.aliyuncs.com"
+				},
+				{
+					"region": "eu-west-1",
+					"endpoint": "ecs.eu-west-1.aliyuncs.com"
+				},
+				{
+					"region": "me-east-1",
+					"endpoint": "ecs.me-east-1.aliyuncs.com"
+				},
+				{
+					"region": "cn-qingdao",
+					"endpoint": "ecs-cn-hangzhou.aliyuncs.com"
+				},
+				{
+					"region": "cn-shanghai",
+					"endpoint": "ecs-cn-hangzhou.aliyuncs.com"
+				},
+				{
+					"region": "us-west-1",
+					"endpoint": "ecs-cn-hangzhou.aliyuncs.com"
+				},
+				{
+					"region": "us-east-1",
+					"endpoint": "ecs-cn-hangzhou.aliyuncs.com"
+				},
+				{
+					"region": "ap-southeast-5",
+					"endpoint": "ecs.ap-southeast-5.aliyuncs.com"
+				},
+				{
+					"region": "cn-beijing",
+					"endpoint": "ecs-cn-hangzhou.aliyuncs.com"
+				},
+				{
+					"region": "ap-southeast-1",
+					"endpoint": "ecs-cn-hangzhou.aliyuncs.com"
+				}
+			],
+			"global_endpoint": "ecs-cn-hangzhou.aliyuncs.com",
+			"regional_endpoint_pattern": ""
+		},
+		{
+			"code": "ccc",
+			"document_id": "63027",
+			"location_service_code": "ccc",
+			"regional_endpoints": [
+				{
+					"region": "cn-hangzhou",
+					"endpoint": "ccc.cn-hangzhou.aliyuncs.com"
+				},
+				{
+					"region": "cn-shanghai",
+					"endpoint": "ccc.cn-shanghai.aliyuncs.com"
+				}
+			],
+			"global_endpoint": "",
+			"regional_endpoint_pattern": "ccc.[RegionId].aliyuncs.com"
+		},
+		{
+			"code": "cs",
+			"document_id": "26043",
+			"location_service_code": "cs",
+			"regional_endpoints": null,
+			"global_endpoint": "cs.aliyuncs.com",
+			"regional_endpoint_pattern": ""
+		},
+		{
+			"code": "drdspre",
+			"document_id": "",
+			"location_service_code": "drdspre",
+			"regional_endpoints": [
+				{
+					"region": "cn-hangzhou",
+					"endpoint": "drds.cn-hangzhou.aliyuncs.com"
+				},
+				{
+					"region": "cn-shanghai",
+					"endpoint": "drds.cn-shanghai.aliyuncs.com"
+				},
+				{
+					"region": "cn-shenzhen",
+					"endpoint": "drds.cn-shenzhen.aliyuncs.com"
+				},
+				{
+					"region": "cn-hongkong",
+					"endpoint": "drds.cn-hangzhou.aliyuncs.com"
+				},
+				{
+					"region": "ap-southeast-1",
+					"endpoint": "drds.ap-southeast-1.aliyuncs.com"
+				},
+				{
+					"region": "cn-qingdao",
+					"endpoint": "drds.cn-qingdao.aliyuncs.com"
+				},
+				{
+					"region": "cn-beijing",
+					"endpoint": "drds.cn-beijing.aliyuncs.com"
+				}
+			],
+			"global_endpoint": "",
+			"regional_endpoint_pattern": ""
+		},
+		{
+			"code": "dcdn",
+			"document_id": "",
+			"location_service_code": "dcdn",
+			"regional_endpoints": [
+				{
+					"region": "cn-hangzhou",
+					"endpoint": "dcdn.aliyuncs.com"
+				},
+				{
+					"region": "ap-southeast-1",
+					"endpoint": "dcdn.aliyuncs.com"
+				}
+			],
+			"global_endpoint": "",
+			"regional_endpoint_pattern": ""
+		},
+		{
+			"code": "linkedmall",
+			"document_id": "",
+			"location_service_code": "linkedmall",
+			"regional_endpoints": [
+				{
+					"region": "cn-hangzhou",
+					"endpoint": "linkedmall.aliyuncs.com"
+				},
+				{
+					"region": "cn-shanghai",
+					"endpoint": "linkedmall.aliyuncs.com"
+				}
+			],
+			"global_endpoint": "",
+			"regional_endpoint_pattern": ""
+		},
+		{
+			"code": "trademark",
+			"document_id": "",
+			"location_service_code": "trademark",
+			"regional_endpoints": [
+				{
+					"region": "cn-hangzhou",
+					"endpoint": "trademark.aliyuncs.com"
+				}
+			],
+			"global_endpoint": "",
+			"regional_endpoint_pattern": ""
+		},
+		{
+			"code": "openanalytics",
+			"document_id": "",
+			"location_service_code": "openanalytics",
+			"regional_endpoints": [
+				{
+					"region": "cn-shenzhen",
+					"endpoint": "openanalytics.cn-shenzhen.aliyuncs.com"
+				},
+				{
+					"region": "eu-west-1",
+					"endpoint": "openanalytics.eu-west-1.aliyuncs.com"
+				},
+				{
+					"region": "cn-beijing",
+					"endpoint": "openanalytics.cn-beijing.aliyuncs.com"
+				},
+				{
+					"region": "cn-hangzhou",
+					"endpoint": "openanalytics.cn-hangzhou.aliyuncs.com"
+				},
+				{
+					"region": "cn-shanghai",
+					"endpoint": "openanalytics.cn-shanghai.aliyuncs.com"
+				},
+				{
+					"region": "ap-southeast-1",
+					"endpoint": "openanalytics.ap-southeast-1.aliyuncs.com"
+				},
+				{
+					"region": "ap-southeast-3",
+					"endpoint": "openanalytics.ap-southeast-3.aliyuncs.com"
+				},
+				{
+					"region": "cn-zhangjiakou",
+					"endpoint": "openanalytics.cn-zhangjiakou.aliyuncs.com"
+				}
+			],
+			"global_endpoint": "",
+			"regional_endpoint_pattern": ""
+		},
+		{
+			"code": "sts",
+			"document_id": "28756",
+			"location_service_code": "sts",
+			"regional_endpoints": null,
+			"global_endpoint": "sts.aliyuncs.com",
+			"regional_endpoint_pattern": ""
+		},
+		{
+			"code": "waf",
+			"document_id": "62847",
+			"location_service_code": "waf",
+			"regional_endpoints": [
+				{
+					"region": "cn-hangzhou",
+					"endpoint": "wafopenapi.cn-hangzhou.aliyuncs.com"
+				}
+			],
+			"global_endpoint": "",
+			"regional_endpoint_pattern": ""
+		},
+		{
+			"code": "ots",
+			"document_id": "",
+			"location_service_code": "ots",
+			"regional_endpoints": [
+				{
+					"region": "me-east-1",
+					"endpoint": "ots.me-east-1.aliyuncs.com"
+				},
+				{
+					"region": "ap-southeast-5",
+					"endpoint": "ots.ap-southeast-5.aliyuncs.com"
+				},
+				{
+					"region": "eu-west-1",
+					"endpoint": "ots.eu-west-1.aliyuncs.com"
+				},
+				{
+					"region": "cn-huhehaote",
+					"endpoint": "ots.cn-huhehaote.aliyuncs.com"
+				},
+				{
+					"region": "cn-beijing",
+					"endpoint": "ots.cn-beijing.aliyuncs.com"
+				},
+				{
+					"region": "ap-southeast-2",
+					"endpoint": "ots.ap-southeast-2.aliyuncs.com"
+				},
+				{
+					"region": "us-west-1",
+					"endpoint": "ots.us-west-1.aliyuncs.com"
+				},
+				{
+					"region": "us-east-1",
+					"endpoint": "ots.us-east-1.aliyuncs.com"
+				},
+				{
+					"region": "ap-south-1",
+					"endpoint": "ots.ap-south-1.aliyuncs.com"
+				},
+				{
+					"region": "eu-central-1",
+					"endpoint": "ots.eu-central-1.aliyuncs.com"
+				},
+				{
+					"region": "cn-zhangjiakou",
+					"endpoint": "ots.cn-zhangjiakou.aliyuncs.com"
+				},
+				{
+					"region": "cn-hangzhou",
+					"endpoint": "ots.cn-hangzhou.aliyuncs.com"
+				},
+				{
+					"region": "ap-northeast-1",
+					"endpoint": "ots.ap-northeast-1.aliyuncs.com"
+				},
+				{
+					"region": "cn-shanghai",
+					"endpoint": "ots.cn-shanghai.aliyuncs.com"
+				},
+				{
+					"region": "ap-southeast-1",
+					"endpoint": "ots.ap-southeast-1.aliyuncs.com"
+				},
+				{
+					"region": "ap-southeast-3",
+					"endpoint": "ots.ap-southeast-3.aliyuncs.com"
+				}
+			],
+			"global_endpoint": "",
+			"regional_endpoint_pattern": ""
+		},
+		{
+			"code": "cloudfirewall",
+			"document_id": "",
+			"location_service_code": "cloudfirewall",
+			"regional_endpoints": [
+				{
+					"region": "cn-hangzhou",
+					"endpoint": "cloudfw.cn-hangzhou.aliyuncs.com"
+				}
+			],
+			"global_endpoint": "",
+			"regional_endpoint_pattern": ""
+		},
+		{
+			"code": "dm",
+			"document_id": "29434",
+			"location_service_code": "dm",
+			"regional_endpoints": [
+				{
+					"region": "ap-southeast-2",
+					"endpoint": "dm.ap-southeast-2.aliyuncs.com"
+				}
+			],
+			"global_endpoint": "dm.aliyuncs.com",
+			"regional_endpoint_pattern": "dm.[RegionId].aliyuncs.com"
+		},
+		{
+			"code": "oas",
+			"document_id": "",
+			"location_service_code": "oas",
+			"regional_endpoints": [
+				{
+					"region": "cn-shenzhen",
+					"endpoint": "cn-shenzhen.oas.aliyuncs.com"
+				},
+				{
+					"region": "cn-beijing",
+					"endpoint": "cn-beijing.oas.aliyuncs.com"
+				},
+				{
+					"region": "cn-hangzhou",
+					"endpoint": "cn-hangzhou.oas.aliyuncs.com"
+				}
+			],
+			"global_endpoint": "",
+			"regional_endpoint_pattern": ""
+		},
+		{
+			"code": "ddoscoo",
+			"document_id": "",
+			"location_service_code": "ddoscoo",
+			"regional_endpoints": [
+				{
+					"region": "cn-hangzhou",
+					"endpoint": "ddoscoo.cn-hangzhou.aliyuncs.com"
+				}
+			],
+			"global_endpoint": "",
+			"regional_endpoint_pattern": ""
+		},
+		{
+			"code": "jaq",
+			"document_id": "35037",
+			"location_service_code": "jaq",
+			"regional_endpoints": null,
+			"global_endpoint": "jaq.aliyuncs.com",
+			"regional_endpoint_pattern": ""
+		},
+		{
+			"code": "iovcc",
+			"document_id": "",
+			"location_service_code": "iovcc",
+			"regional_endpoints": [
+				{
+					"region": "cn-shanghai",
+					"endpoint": "iovcc.cn-shanghai.aliyuncs.com"
+				}
+			],
+			"global_endpoint": "",
+			"regional_endpoint_pattern": ""
+		},
+		{
+			"code": "sas-api",
+			"document_id": "28498",
+			"location_service_code": "sas",
+			"regional_endpoints": [
+				{
+					"region": "cn-hangzhou",
+					"endpoint": "sas.aliyuncs.com"
+				}
+			],
+			"global_endpoint": "",
+			"regional_endpoint_pattern": ""
+		},
+		{
+			"code": "chatbot",
+			"document_id": "60760",
+			"location_service_code": "beebot",
+			"regional_endpoints": [
+				{
+					"region": "cn-shanghai",
+					"endpoint": "chatbot.cn-shanghai.aliyuncs.com"
+				},
+				{
+					"region": "cn-hangzhou",
+					"endpoint": "chatbot.cn-hangzhou.aliyuncs.com"
+				}
+			],
+			"global_endpoint": "",
+			"regional_endpoint_pattern": "chatbot.[RegionId].aliyuncs.com"
+		},
+		{
+			"code": "airec",
+			"document_id": "",
+			"location_service_code": "airec",
+			"regional_endpoints": [
+				{
+					"region": "cn-beijing",
+					"endpoint": "airec.cn-beijing.aliyuncs.com"
+				},
+				{
+					"region": "cn-hangzhou",
+					"endpoint": "airec.cn-hangzhou.aliyuncs.com"
+				},
+				{
+					"region": "cn-shanghai",
+					"endpoint": "airec.cn-shanghai.aliyuncs.com"
+				}
+			],
+			"global_endpoint": "",
+			"regional_endpoint_pattern": ""
+		},
+		{
+			"code": "dmsenterprise",
+			"document_id": "",
+			"location_service_code": "dmsenterprise",
+			"regional_endpoints": [
+				{
+					"region": "cn-shanghai",
+					"endpoint": "dms-enterprise.aliyuncs.com"
+				},
+				{
+					"region": "cn-shenzhen",
+					"endpoint": "dms-enterprise.aliyuncs.com"
+				},
+				{
+					"region": "ap-northeast-1",
+					"endpoint": "dms-enterprise.aliyuncs.com"
+				},
+				{
+					"region": "cn-qingdao",
+					"endpoint": "dms-enterprise.aliyuncs.com"
+				},
+				{
+					"region": "cn-beijing",
+					"endpoint": "dms-enterprise.aliyuncs.com"
+				},
+				{
+					"region": "cn-hangzhou",
+					"endpoint": "dms-enterprise.aliyuncs.com"
+				}
+			],
+			"global_endpoint": "",
+			"regional_endpoint_pattern": ""
+		},
+		{
+			"code": "ivision",
+			"document_id": "",
+			"location_service_code": "ivision",
+			"regional_endpoints": [
+				{
+					"region": "cn-hangzhou",
+					"endpoint": "ivision.cn-hangzhou.aliyuncs.com"
+				},
+				{
+					"region": "cn-beijing",
+					"endpoint": "ivision.cn-beijing.aliyuncs.com"
+				}
+			],
+			"global_endpoint": "",
+			"regional_endpoint_pattern": ""
+		},
+		{
+			"code": "odpsplusmayi",
+			"document_id": "",
+			"location_service_code": "odpsplusmayi",
+			"regional_endpoints": [
+				{
+					"region": "cn-shanghai",
+					"endpoint": "bsb.cloud.alipay.com"
+				},
+				{
+					"region": "cn-hangzhou",
+					"endpoint": "bsb.cloud.alipay.com"
+				},
+				{
+					"region": "ap-southeast-1",
+					"endpoint": "bsb.cloud.alipay.com"
+				}
+			],
+			"global_endpoint": "",
+			"regional_endpoint_pattern": ""
+		},
+		{
+			"code": "gameshield",
+			"document_id": "",
+			"location_service_code": "gameshield",
+			"regional_endpoints": [
+				{
+					"region": "cn-hangzhou",
+					"endpoint": "gameshield.aliyuncs.com"
+				},
+				{
+					"region": "cn-zhangjiakou",
+					"endpoint": "gameshield.cn-zhangjiakou.aliyuncs.com"
+				}
+			],
+			"global_endpoint": "",
+			"regional_endpoint_pattern": ""
+		},
+		{
+			"code": "scdn",
+			"document_id": "",
+			"location_service_code": "scdn",
+			"regional_endpoints": [
+				{
+					"region": "cn-hangzhou",
+					"endpoint": "scdn.aliyuncs.com"
+				}
+			],
+			"global_endpoint": "",
+			"regional_endpoint_pattern": ""
+		},
+		{
+			"code": "hitsdb",
+			"document_id": "",
+			"location_service_code": "hitsdb",
+			"regional_endpoints": [
+				{
+					"region": "cn-hangzhou",
+					"endpoint": "hitsdb.aliyuncs.com"
+				}
+			],
+			"global_endpoint": "",
+			"regional_endpoint_pattern": ""
+		},
+		{
+			"code": "hdm",
+			"document_id": "",
+			"location_service_code": "hdm",
+			"regional_endpoints": [
+				{
+					"region": "cn-shanghai",
+					"endpoint": "hdm-api.aliyuncs.com"
+				}
+			],
+			"global_endpoint": "",
+			"regional_endpoint_pattern": ""
+		},
+		{
+			"code": "slb",
+			"document_id": "27565",
+			"location_service_code": "slb",
+			"regional_endpoints": [
+				{
+					"region": "cn-shenzhen",
+					"endpoint": "slb.aliyuncs.com"
+				},
+				{
+					"region": "eu-west-1",
+					"endpoint": "slb.eu-west-1.aliyuncs.com"
+				},
+				{
+					"region": "ap-northeast-1",
+					"endpoint": "slb.ap-northeast-1.aliyuncs.com"
+				},
+				{
+					"region": "ap-southeast-2",
+					"endpoint": "slb.ap-southeast-2.aliyuncs.com"
+				},
+				{
+					"region": "cn-qingdao",
+					"endpoint": "slb.aliyuncs.com"
+				},
+				{
+					"region": "cn-hongkong",
+					"endpoint": "slb.aliyuncs.com"
+				},
+				{
+					"region": "cn-huhehaote",
+					"endpoint": "slb.cn-huhehaote.aliyuncs.com"
+				},
+				{
+					"region": "ap-south-1",
+					"endpoint": "slb.ap-south-1.aliyuncs.com"
+				},
+				{
+					"region": "eu-central-1",
+					"endpoint": "slb.eu-central-1.aliyuncs.com"
+				},
+				{
+					"region": "cn-beijing",
+					"endpoint": "slb.aliyuncs.com"
+				},
+				{
+					"region": "cn-shanghai",
+					"endpoint": "slb.aliyuncs.com"
+				},
+				{
+					"region": "ap-southeast-1",
+					"endpoint": "slb.aliyuncs.com"
+				},
+				{
+					"region": "us-west-1",
+					"endpoint": "slb.aliyuncs.com"
+				},
+				{
+					"region": "ap-southeast-5",
+					"endpoint": "slb.ap-southeast-5.aliyuncs.com"
+				},
+				{
+					"region": "ap-southeast-3",
+					"endpoint": "slb.ap-southeast-3.aliyuncs.com"
+				},
+				{
+					"region": "cn-hangzhou",
+					"endpoint": "slb.aliyuncs.com"
+				},
+				{
+					"region": "us-east-1",
+					"endpoint": "slb.aliyuncs.com"
+				},
+				{
+					"region": "me-east-1",
+					"endpoint": "slb.me-east-1.aliyuncs.com"
+				},
+				{
+					"region": "cn-zhangjiakou",
+					"endpoint": "slb.cn-zhangjiakou.aliyuncs.com"
+				}
+			],
+			"global_endpoint": "slb.aliyuncs.com",
+			"regional_endpoint_pattern": ""
+		},
+		{
+			"code": "green",
+			"document_id": "28427",
+			"location_service_code": "green",
+			"regional_endpoints": [
+				{
+					"region": "cn-beijing",
+					"endpoint": "green.cn-beijing.aliyuncs.com"
+				},
+				{
+					"region": "ap-southeast-1",
+					"endpoint": "green.ap-southeast-1.aliyuncs.com"
+				},
+				{
+					"region": "cn-shanghai",
+					"endpoint": "green.cn-shanghai.aliyuncs.com"
+				},
+				{
+					"region": "cn-hangzhou",
+					"endpoint": "green.cn-hangzhou.aliyuncs.com"
+				},
+				{
+					"region": "us-west-1",
+					"endpoint": "green.us-west-1.aliyuncs.com"
+				}
+			],
+			"global_endpoint": "green.aliyuncs.com",
+			"regional_endpoint_pattern": ""
+		},
+		{
+			"code": "cccvn",
+			"document_id": "",
+			"location_service_code": "cccvn",
+			"regional_endpoints": [
+				{
+					"region": "cn-shanghai",
+					"endpoint": "voicenavigator.cn-shanghai.aliyuncs.com"
+				}
+			],
+			"global_endpoint": "",
+			"regional_endpoint_pattern": ""
+		},
+		{
+			"code": "ddosrewards",
+			"document_id": "",
+			"location_service_code": "ddosrewards",
+			"regional_endpoints": [
+				{
+					"region": "cn-hangzhou",
+					"endpoint": "ddosright.cn-hangzhou.aliyuncs.com"
+				}
+			],
+			"global_endpoint": "",
+			"regional_endpoint_pattern": ""
+		},
+		{
+			"code": "iot",
+			"document_id": "30557",
+			"location_service_code": "iot",
+			"regional_endpoints": [
+				{
+					"region": "us-east-1",
+					"endpoint": "iot.us-east-1.aliyuncs.com"
+				},
+				{
+					"region": "ap-northeast-1",
+					"endpoint": "iot.ap-northeast-1.aliyuncs.com"
+				},
+				{
+					"region": "us-west-1",
+					"endpoint": "iot.us-west-1.aliyuncs.com"
+				},
+				{
+					"region": "eu-central-1",
+					"endpoint": "iot.eu-central-1.aliyuncs.com"
+				},
+				{
+					"region": "cn-shanghai",
+					"endpoint": "iot.cn-shanghai.aliyuncs.com"
+				},
+				{
+					"region": "ap-southeast-1",
+					"endpoint": "iot.ap-southeast-1.aliyuncs.com"
+				}
+			],
+			"global_endpoint": "",
+			"regional_endpoint_pattern": "iot.[RegionId].aliyuncs.com"
+		},
+		{
+			"code": "bssopenapi",
+			"document_id": "",
+			"location_service_code": "bssopenapi",
+			"regional_endpoints": [
+				{
+					"region": "cn-shanghai",
+					"endpoint": "business.aliyuncs.com"
+				},
+				{
+					"region": "cn-hongkong",
+					"endpoint": "business.aliyuncs.com"
+				},
+				{
+					"region": "ap-southeast-2",
+					"endpoint": "business.ap-southeast-1.aliyuncs.com"
+				},
+				{
+					"region": "ap-southeast-3",
+					"endpoint": "business.ap-southeast-1.aliyuncs.com"
+				},
+				{
+					"region": "ap-northeast-1",
+					"endpoint": "business.ap-southeast-1.aliyuncs.com"
+				},
+				{
+					"region": "eu-central-1",
+					"endpoint": "business.ap-southeast-1.aliyuncs.com"
+				},
+				{
+					"region": "me-east-1",
+					"endpoint": "business.ap-southeast-1.aliyuncs.com"
+				},
+				{
+					"region": "cn-zhangjiakou",
+					"endpoint": "business.aliyuncs.com"
+				},
+				{
+					"region": "cn-hangzhou",
+					"endpoint": "business.aliyuncs.com"
+				},
+				{
+					"region": "ap-southeast-5",
+					"endpoint": "business.ap-southeast-1.aliyuncs.com"
+				},
+				{
+					"region": "us-east-1",
+					"endpoint": "business.ap-southeast-1.aliyuncs.com"
+				},
+				{
+					"region": "cn-qingdao",
+					"endpoint": "business.aliyuncs.com"
+				},
+				{
+					"region": "ap-southeast-1",
+					"endpoint": "business.ap-southeast-1.aliyuncs.com"
+				},
+				{
+					"region": "cn-beijing",
+					"endpoint": "business.aliyuncs.com"
+				},
+				{
+					"region": "cn-huhehaote",
+					"endpoint": "business.aliyuncs.com"
+				},
+				{
+					"region": "cn-shenzhen",
+					"endpoint": "business.aliyuncs.com"
+				},
+				{
+					"region": "us-west-1",
+					"endpoint": "business.ap-southeast-1.aliyuncs.com"
+				},
+				{
+					"region": "eu-west-1",
+					"endpoint": "business.ap-southeast-1.aliyuncs.com"
+				},
+				{
+					"region": "ap-south-1",
+					"endpoint": "business.ap-southeast-1.aliyuncs.com"
+				}
+			],
+			"global_endpoint": "",
+			"regional_endpoint_pattern": ""
+		},
+		{
+			"code": "sca",
+			"document_id": "",
+			"location_service_code": "sca",
+			"regional_endpoints": [
+				{
+					"region": "cn-hangzhou",
+					"endpoint": "qualitycheck.cn-hangzhou.aliyuncs.com"
+				}
+			],
+			"global_endpoint": "",
+			"regional_endpoint_pattern": ""
+		},
+		{
+			"code": "luban",
+			"document_id": "",
+			"location_service_code": "luban",
+			"regional_endpoints": [
+				{
+					"region": "cn-hangzhou",
+					"endpoint": "luban.cn-hangzhou.aliyuncs.com"
+				},
+				{
+					"region": "cn-shanghai",
+					"endpoint": "luban.cn-shanghai.aliyuncs.com"
+				}
+			],
+			"global_endpoint": "",
+			"regional_endpoint_pattern": ""
+		},
+		{
+			"code": "drdspost",
+			"document_id": "",
+			"location_service_code": "drdspost",
+			"regional_endpoints": [
+				{
+					"region": "cn-shanghai",
+					"endpoint": "drds.cn-shanghai.aliyuncs.com"
+				},
+				{
+					"region": "cn-hongkong",
+					"endpoint": "drds.cn-hangzhou.aliyuncs.com"
+				},
+				{
+					"region": "ap-southeast-1",
+					"endpoint": "drds.ap-southeast-1.aliyuncs.com"
+				}
+			],
+			"global_endpoint": "",
+			"regional_endpoint_pattern": ""
+		},
+		{
+			"code": "drds",
+			"document_id": "51111",
+			"location_service_code": "drds",
+			"regional_endpoints": [
+				{
+					"region": "ap-southeast-1",
+					"endpoint": "drds.ap-southeast-1.aliyuncs.com"
+				},
+				{
+					"region": "cn-hangzhou",
+					"endpoint": "drds.cn-hangzhou.aliyuncs.com"
+				}
+			],
+			"global_endpoint": "drds.aliyuncs.com",
+			"regional_endpoint_pattern": "drds.aliyuncs.com"
+		},
+		{
+			"code": "httpdns",
+			"document_id": "52679",
+			"location_service_code": "httpdns",
+			"regional_endpoints": null,
+			"global_endpoint": "httpdns-api.aliyuncs.com",
+			"regional_endpoint_pattern": ""
+		},
+		{
+			"code": "cas",
+			"document_id": "",
+			"location_service_code": "cas",
+			"regional_endpoints": [
 				{
 					"region": "cn-hangzhou",
-					"endpoint": "apigateway.cn-hangzhou.aliyuncs.com"
-				},
-				{
-					"region": "ap-northeast-1",
-					"endpoint": "apigateway.ap-northeast-1.aliyuncs.com"
+					"endpoint": "cas.aliyuncs.com"
 				},
 				{
-					"region": "ap-southeast-5",
-					"endpoint": "apigateway.ap-southeast-5.aliyuncs.com"
+					"region": "ap-southeast-2",
+					"endpoint": "cas.ap-southeast-2.aliyuncs.com"
 				},
 				{
-					"region": "cn-hongkong",
-					"endpoint": "apigateway.cn-hongkong.aliyuncs.com"
+					"region": "ap-northeast-1",
+					"endpoint": "cas.ap-northeast-1.aliyuncs.com"
 				},
 				{
-					"region": "cn-shenzhen",
-					"endpoint": "apigateway.cn-shenzhen.aliyuncs.com"
+					"region": "eu-central-1",
+					"endpoint": "cas.eu-central-1.aliyuncs.com"
 				},
 				{
-					"region": "ap-southeast-3",
-					"endpoint": "apigateway.ap-southeast-3.aliyuncs.com"
+					"region": "me-east-1",
+					"endpoint": "cas.me-east-1.aliyuncs.com"
 				}
 			],
 			"global_endpoint": "",
-			"regional_endpoint_pattern": "apigateway.[RegionId].aliyuncs.com"
+			"regional_endpoint_pattern": ""
 		},
 		{
-			"code": "sas-api",
-			"document_id": "28498",
-			"location_service_code": "sas",
+			"code": "hpc",
+			"document_id": "35201",
+			"location_service_code": "hpc",
 			"regional_endpoints": [
+				{
+					"region": "cn-beijing",
+					"endpoint": "hpc.aliyuncs.com"
+				},
 				{
 					"region": "cn-hangzhou",
-					"endpoint": "sas.aliyuncs.com"
+					"endpoint": "hpc.aliyuncs.com"
 				}
 			],
-			"global_endpoint": "",
-			"regional_endpoint_pattern": ""
-		},
-		{
-			"code": "cs",
-			"document_id": "26043",
-			"location_service_code": "cs",
-			"regional_endpoints": null,
-			"global_endpoint": "cs.aliyuncs.com",
-			"regional_endpoint_pattern": ""
-		},
-		{
-			"code": "jaq",
-			"document_id": "35037",
-			"location_service_code": "jaq",
-			"regional_endpoints": null,
-			"global_endpoint": "jaq.aliyuncs.com",
+			"global_endpoint": "hpc.aliyuncs.com",
 			"regional_endpoint_pattern": ""
 		},
 		{
-			"code": "r-kvstore",
-			"document_id": "60831",
-			"location_service_code": "redisa",
+			"code": "ddosbasic",
+			"document_id": "",
+			"location_service_code": "ddosbasic",
 			"regional_endpoints": [
 				{
-					"region": "cn-huhehaote",
-					"endpoint": "r-kvstore.cn-huhehaote.aliyuncs.com"
+					"region": "ap-south-1",
+					"endpoint": "antiddos-openapi.ap-south-1.aliyuncs.com"
 				},
 				{
 					"region": "cn-zhangjiakou",
-					"endpoint": "r-kvstore.cn-zhangjiakou.aliyuncs.com"
-				},
-				{
-					"region": "cn-beijing",
-					"endpoint": "r-kvstore.aliyuncs.com"
+					"endpoint": "antiddos-openapi.cn-zhangjiakou.aliyuncs.com"
 				},
 				{
 					"region": "cn-shanghai",
-					"endpoint": "r-kvstore.aliyuncs.com"
+					"endpoint": "antiddos.aliyuncs.com"
 				},
 				{
-					"region": "ap-south-1",
-					"endpoint": "r-kvstore.ap-south-1.aliyuncs.com"
+					"region": "us-east-1",
+					"endpoint": "antiddos.aliyuncs.com"
 				},
 				{
-					"region": "eu-central-1",
-					"endpoint": "r-kvstore.eu-central-1.aliyuncs.com"
+					"region": "ap-southeast-3",
+					"endpoint": "antiddos-openapi.ap-southeast-3.aliyuncs.com"
 				},
 				{
-					"region": "cn-hangzhou",
-					"endpoint": "r-kvstore.aliyuncs.com"
+					"region": "me-east-1",
+					"endpoint": "antiddos-openapi.me-east-1.aliyuncs.com"
 				},
 				{
-					"region": "cn-shenzhen",
-					"endpoint": "r-kvstore.aliyuncs.com"
+					"region": "ap-southeast-5",
+					"endpoint": "antiddos-openapi.ap-southeast-5.aliyuncs.com"
 				},
 				{
-					"region": "me-east-1",
-					"endpoint": "r-kvstore.me-east-1.aliyuncs.com"
+					"region": "ap-southeast-2",
+					"endpoint": "antiddos-openapi.ap-southeast-2.aliyuncs.com"
 				},
 				{
-					"region": "ap-northeast-1",
-					"endpoint": "r-kvstore.ap-northeast-1.aliyuncs.com"
+					"region": "cn-shenzhen",
+					"endpoint": "antiddos.aliyuncs.com"
 				},
 				{
 					"region": "cn-hongkong",
-					"endpoint": "r-kvstore.cn-hongkong.aliyuncs.com"
+					"endpoint": "antiddos.aliyuncs.com"
 				},
 				{
-					"region": "ap-southeast-2",
-					"endpoint": "r-kvstore.ap-southeast-2.aliyuncs.com"
+					"region": "ap-southeast-1",
+					"endpoint": "antiddos.aliyuncs.com"
 				},
 				{
 					"region": "eu-west-1",
-					"endpoint": "r-kvstore.eu-west-1.aliyuncs.com"
+					"endpoint": "antiddos-openapi.eu-west-1.aliyuncs.com"
 				},
 				{
-					"region": "ap-southeast-5",
-					"endpoint": "r-kvstore.ap-southeast-5.aliyuncs.com"
+					"region": "cn-huhehaote",
+					"endpoint": "antiddos-openapi.cn-huhehaote.aliyuncs.com"
 				},
 				{
-					"region": "us-west-1",
-					"endpoint": "r-kvstore.aliyuncs.com"
+					"region": "cn-beijing",
+					"endpoint": "antiddos.aliyuncs.com"
 				},
 				{
-					"region": "ap-southeast-1",
-					"endpoint": "r-kvstore.ap-southeast-1.aliyuncs.com"
+					"region": "cn-hangzhou",
+					"endpoint": "antiddos.aliyuncs.com"
 				},
 				{
-					"region": "ap-southeast-3",
-					"endpoint": "r-kvstore.ap-southeast-3.aliyuncs.com"
+					"region": "us-west-1",
+					"endpoint": "antiddos.aliyuncs.com"
+				},
+				{
+					"region": "eu-central-1",
+					"endpoint": "antiddos-openapi.eu-central-1.aliyuncs.com"
 				},
 				{
 					"region": "cn-qingdao",
-					"endpoint": "r-kvstore.aliyuncs.com"
+					"endpoint": "antiddos.aliyuncs.com"
 				},
 				{
-					"region": "us-east-1",
-					"endpoint": "r-kvstore.aliyuncs.com"
+					"region": "ap-northeast-1",
+					"endpoint": "antiddos-openapi.ap-northeast-1.aliyuncs.com"
 				}
 			],
-			"global_endpoint": "r-kvstore.aliyuncs.com",
+			"global_endpoint": "antiddos.aliyuncs.com",
 			"regional_endpoint_pattern": ""
 		},
 		{
-			"code": "drds",
-			"document_id": "51111",
-			"location_service_code": "drds",
+			"code": "clouddesktop",
+			"document_id": "",
+			"location_service_code": "clouddesktop",
+			"regional_endpoints": [
+				{
+					"region": "cn-beijing",
+					"endpoint": "clouddesktop.cn-beijing.aliyuncs.com"
+				},
+				{
+					"region": "cn-shanghai",
+					"endpoint": "clouddesktop.cn-shanghai.aliyuncs.com"
+				},
+				{
+					"region": "cn-hangzhou",
+					"endpoint": "clouddesktop.cn-hangzhou.aliyuncs.com"
+				},
+				{
+					"region": "cn-shenzhen",
+					"endpoint": "clouddesktop.cn-shenzhen.aliyuncs.com"
+				}
+			],
+			"global_endpoint": "",
+			"regional_endpoint_pattern": ""
+		},
+		{
+			"code": "uis",
+			"document_id": "",
+			"location_service_code": "uis",
+			"regional_endpoints": [
+				{
+					"region": "cn-hangzhou",
+					"endpoint": "uis.cn-hangzhou.aliyuncs.com"
+				}
+			],
+			"global_endpoint": "",
+			"regional_endpoint_pattern": ""
+		},
+		{
+			"code": "imm",
+			"document_id": "",
+			"location_service_code": "imm",
 			"regional_endpoints": [
+				{
+					"region": "cn-beijing",
+					"endpoint": "imm.cn-beijing.aliyuncs.com"
+				},
 				{
 					"region": "ap-southeast-1",
-					"endpoint": "drds.ap-southeast-1.aliyuncs.com"
+					"endpoint": "imm.ap-southeast-1.aliyuncs.com"
+				},
+				{
+					"region": "cn-zhangjiakou",
+					"endpoint": "imm.cn-zhangjiakou.aliyuncs.com"
+				},
+				{
+					"region": "cn-shanghai",
+					"endpoint": "imm.cn-shanghai.aliyuncs.com"
 				},
 				{
 					"region": "cn-hangzhou",
-					"endpoint": "drds.cn-hangzhou.aliyuncs.com"
+					"endpoint": "imm.cn-hangzhou.aliyuncs.com"
+				},
+				{
+					"region": "cn-shenzhen",
+					"endpoint": "imm.cn-shenzhen.aliyuncs.com"
 				}
 			],
-			"global_endpoint": "drds.aliyuncs.com",
-			"regional_endpoint_pattern": "drds.aliyuncs.com"
+			"global_endpoint": "",
+			"regional_endpoint_pattern": ""
 		},
 		{
-			"code": "waf",
-			"document_id": "62847",
-			"location_service_code": "waf",
+			"code": "ens",
+			"document_id": "",
+			"location_service_code": "ens",
 			"regional_endpoints": [
 				{
 					"region": "cn-hangzhou",
-					"endpoint": "wafopenapi.cn-hangzhou.aliyuncs.com"
+					"endpoint": "ens.aliyuncs.com"
 				}
 			],
 			"global_endpoint": "",
 			"regional_endpoint_pattern": ""
 		},
 		{
-			"code": "sts",
-			"document_id": "28756",
-			"location_service_code": "sts",
+			"code": "ram",
+			"document_id": "28672",
+			"location_service_code": "ram",
 			"regional_endpoints": null,
-			"global_endpoint": "sts.aliyuncs.com",
+			"global_endpoint": "ram.aliyuncs.com",
 			"regional_endpoint_pattern": ""
 		},
 		{
-			"code": "cr",
-			"document_id": "60716",
-			"location_service_code": "cr",
+			"code": "hcs_mgw",
+			"document_id": "",
+			"location_service_code": "hcs_mgw",
+			"regional_endpoints": [
+				{
+					"region": "cn-hangzhou",
+					"endpoint": "mgw.cn-hangzhou.aliyuncs.com"
+				},
+				{
+					"region": "ap-southeast-1",
+					"endpoint": "mgw.ap-southeast-1.aliyuncs.com"
+				},
+				{
+					"region": "cn-shanghai",
+					"endpoint": "mgw.cn-shanghai.aliyuncs.com"
+				}
+			],
+			"global_endpoint": "",
+			"regional_endpoint_pattern": ""
+		},
+		{
+			"code": "itaas",
+			"document_id": "55759",
+			"location_service_code": "itaas",
 			"regional_endpoints": null,
-			"global_endpoint": "cr.aliyuncs.com",
+			"global_endpoint": "itaas.aliyuncs.com",
 			"regional_endpoint_pattern": ""
 		},
 		{
-			"code": "arms",
-			"document_id": "42924",
-			"location_service_code": "arms",
+			"code": "qualitycheck",
+			"document_id": "50807",
+			"location_service_code": "qualitycheck",
 			"regional_endpoints": [
 				{
 					"region": "cn-hangzhou",
-					"endpoint": "arms.cn-hangzhou.aliyuncs.com"
+					"endpoint": "qualitycheck.cn-hangzhou.aliyuncs.com"
+				}
+			],
+			"global_endpoint": "",
+			"regional_endpoint_pattern": ""
+		},
+		{
+			"code": "alikafka",
+			"document_id": "",
+			"location_service_code": "alikafka",
+			"regional_endpoints": [
+				{
+					"region": "cn-beijing",
+					"endpoint": "alikafka.cn-beijing.aliyuncs.com"
 				},
 				{
-					"region": "cn-shanghai",
-					"endpoint": "arms.cn-shanghai.aliyuncs.com"
+					"region": "cn-zhangjiakou",
+					"endpoint": "alikafka.cn-zhangjiakou.aliyuncs.com"
 				},
 				{
-					"region": "cn-hongkong",
-					"endpoint": "arms.cn-hongkong.aliyuncs.com"
+					"region": "cn-huhehaote",
+					"endpoint": "alikafka.cn-huhehaote.aliyuncs.com"
 				},
 				{
-					"region": "ap-southeast-1",
-					"endpoint": "arms.ap-southeast-1.aliyuncs.com"
+					"region": "cn-hangzhou",
+					"endpoint": "alikafka.cn-hangzhou.aliyuncs.com"
+				},
+				{
+					"region": "cn-shanghai",
+					"endpoint": "alikafka.cn-shanghai.aliyuncs.com"
 				},
 				{
 					"region": "cn-shenzhen",
-					"endpoint": "arms.cn-shenzhen.aliyuncs.com"
+					"endpoint": "alikafka.cn-shenzhen.aliyuncs.com"
 				},
 				{
-					"region": "cn-qingdao",
-					"endpoint": "arms.cn-qingdao.aliyuncs.com"
+					"region": "cn-hongkong",
+					"endpoint": "alikafka.cn-hongkong.aliyuncs.com"
 				},
 				{
-					"region": "cn-beijing",
-					"endpoint": "arms.cn-beijing.aliyuncs.com"
+					"region": "cn-qingdao",
+					"endpoint": "alikafka.cn-qingdao.aliyuncs.com"
 				}
 			],
 			"global_endpoint": "",
-			"regional_endpoint_pattern": "arms.[RegionId].aliyuncs.com"
+			"regional_endpoint_pattern": ""
 		},
 		{
-			"code": "iot",
-			"document_id": "30557",
-			"location_service_code": "iot",
+			"code": "faas",
+			"document_id": "",
+			"location_service_code": "faas",
 			"regional_endpoints": [
 				{
-					"region": "us-east-1",
-					"endpoint": "iot.us-east-1.aliyuncs.com"
+					"region": "cn-hangzhou",
+					"endpoint": "faas.cn-hangzhou.aliyuncs.com"
 				},
 				{
-					"region": "ap-northeast-1",
-					"endpoint": "iot.ap-northeast-1.aliyuncs.com"
+					"region": "cn-shenzhen",
+					"endpoint": "faas.cn-shenzhen.aliyuncs.com"
 				},
 				{
-					"region": "us-west-1",
-					"endpoint": "iot.us-west-1.aliyuncs.com"
+					"region": "cn-shanghai",
+					"endpoint": "faas.cn-shanghai.aliyuncs.com"
 				},
 				{
-					"region": "eu-central-1",
-					"endpoint": "iot.eu-central-1.aliyuncs.com"
-				},
+					"region": "cn-beijing",
+					"endpoint": "faas.cn-beijing.aliyuncs.com"
+				}
+			],
+			"global_endpoint": "",
+			"regional_endpoint_pattern": ""
+		},
+		{
+			"code": "alidfs",
+			"document_id": "",
+			"location_service_code": "alidfs",
+			"regional_endpoints": [
 				{
-					"region": "cn-shanghai",
-					"endpoint": "iot.cn-shanghai.aliyuncs.com"
+					"region": "cn-beijing",
+					"endpoint": "dfs.cn-beijing.aliyuncs.com"
 				},
 				{
-					"region": "ap-southeast-1",
-					"endpoint": "iot.ap-southeast-1.aliyuncs.com"
+					"region": "cn-shanghai",
+					"endpoint": "dfs.cn-shanghai.aliyuncs.com"
 				}
 			],
 			"global_endpoint": "",
-			"regional_endpoint_pattern": "iot.[RegionId].aliyuncs.com"
+			"regional_endpoint_pattern": ""
 		},
 		{
-			"code": "vpc",
-			"document_id": "34962",
-			"location_service_code": "vpc",
+			"code": "cms",
+			"document_id": "28615",
+			"location_service_code": "cms",
 			"regional_endpoints": [
 				{
-					"region": "us-west-1",
-					"endpoint": "vpc.aliyuncs.com"
-				},
-				{
-					"region": "us-east-1",
-					"endpoint": "vpc.aliyuncs.com"
-				},
-				{
-					"region": "cn-hangzhou",
-					"endpoint": "vpc.aliyuncs.com"
+					"region": "ap-southeast-3",
+					"endpoint": "metrics.ap-southeast-3.aliyuncs.com"
 				},
 				{
-					"region": "cn-shenzhen",
-					"endpoint": "vpc.aliyuncs.com"
+					"region": "cn-hongkong",
+					"endpoint": "metrics.cn-hangzhou.aliyuncs.com"
 				},
 				{
-					"region": "ap-southeast-1",
-					"endpoint": "vpc.aliyuncs.com"
+					"region": "ap-southeast-5",
+					"endpoint": "metrics.ap-southeast-5.aliyuncs.com"
 				},
 				{
-					"region": "cn-huhehaote",
-					"endpoint": "vpc.cn-huhehaote.aliyuncs.com"
+					"region": "ap-south-1",
+					"endpoint": "metrics.ap-south-1.aliyuncs.com"
 				},
 				{
-					"region": "me-east-1",
-					"endpoint": "vpc.me-east-1.aliyuncs.com"
+					"region": "cn-hangzhou",
+					"endpoint": "metrics.cn-hangzhou.aliyuncs.com"
 				},
 				{
-					"region": "ap-northeast-1",
-					"endpoint": "vpc.ap-northeast-1.aliyuncs.com"
+					"region": "eu-west-1",
+					"endpoint": "metrics.eu-west-1.aliyuncs.com"
 				},
 				{
-					"region": "ap-southeast-3",
-					"endpoint": "vpc.ap-southeast-3.aliyuncs.com"
+					"region": "cn-huhehaote",
+					"endpoint": "metrics.cn-huhehaote.aliyuncs.com"
 				},
 				{
-					"region": "eu-central-1",
-					"endpoint": "vpc.eu-central-1.aliyuncs.com"
+					"region": "cn-shanghai",
+					"endpoint": "metrics.cn-hangzhou.aliyuncs.com"
 				},
 				{
-					"region": "ap-southeast-5",
-					"endpoint": "vpc.ap-southeast-5.aliyuncs.com"
+					"region": "cn-shenzhen",
+					"endpoint": "metrics.cn-hangzhou.aliyuncs.com"
 				},
 				{
-					"region": "ap-south-1",
-					"endpoint": "vpc.ap-south-1.aliyuncs.com"
+					"region": "ap-southeast-1",
+					"endpoint": "metrics.cn-hangzhou.aliyuncs.com"
 				},
 				{
-					"region": "cn-zhangjiakou",
-					"endpoint": "vpc.cn-zhangjiakou.aliyuncs.com"
+					"region": "us-west-1",
+					"endpoint": "metrics.cn-hangzhou.aliyuncs.com"
 				},
 				{
-					"region": "cn-beijing",
-					"endpoint": "vpc.aliyuncs.com"
+					"region": "us-east-1",
+					"endpoint": "metrics.cn-hangzhou.aliyuncs.com"
 				},
 				{
-					"region": "ap-southeast-2",
-					"endpoint": "vpc.ap-southeast-2.aliyuncs.com"
+					"region": "ap-northeast-1",
+					"endpoint": "metrics.ap-northeast-1.aliyuncs.com"
 				},
 				{
 					"region": "cn-qingdao",
-					"endpoint": "vpc.aliyuncs.com"
+					"endpoint": "metrics.cn-hangzhou.aliyuncs.com"
 				},
 				{
-					"region": "cn-shanghai",
-					"endpoint": "vpc.aliyuncs.com"
+					"region": "cn-beijing",
+					"endpoint": "metrics.cn-hangzhou.aliyuncs.com"
 				},
 				{
-					"region": "cn-hongkong",
-					"endpoint": "vpc.aliyuncs.com"
+					"region": "cn-zhangjiakou",
+					"endpoint": "metrics.cn-hangzhou.aliyuncs.com"
 				},
 				{
-					"region": "eu-west-1",
-					"endpoint": "vpc.eu-west-1.aliyuncs.com"
-				}
-			],
-			"global_endpoint": "vpc.aliyuncs.com",
-			"regional_endpoint_pattern": ""
-		},
-		{
-			"code": "aegis",
-			"document_id": "28449",
-			"location_service_code": "vipaegis",
-			"regional_endpoints": [
+					"region": "ap-southeast-2",
+					"endpoint": "metrics.cn-hangzhou.aliyuncs.com"
+				},
 				{
-					"region": "ap-southeast-3",
-					"endpoint": "aegis.ap-southeast-3.aliyuncs.com"
+					"region": "eu-central-1",
+					"endpoint": "metrics.cn-hangzhou.aliyuncs.com"
 				},
 				{
-					"region": "cn-hangzhou",
-					"endpoint": "aegis.cn-hangzhou.aliyuncs.com"
+					"region": "me-east-1",
+					"endpoint": "metrics.cn-hangzhou.aliyuncs.com"
 				}
 			],
-			"global_endpoint": "aegis.cn-hangzhou.aliyuncs.com",
+			"global_endpoint": "metrics.cn-hangzhou.aliyuncs.com",
 			"regional_endpoint_pattern": ""
 		},
 		{
-			"code": "domain",
-			"document_id": "42875",
-			"location_service_code": "domain",
-			"regional_endpoints": [
-				{
-					"region": "cn-hangzhou",
-					"endpoint": "domain.aliyuncs.com"
-				},
-				{
-					"region": "ap-southeast-1",
-					"endpoint": "domain-intl.aliyuncs.com"
-				}
-			],
-			"global_endpoint": "domain.aliyuncs.com",
-			"regional_endpoint_pattern": "domain.aliyuncs.com"
+			"code": "domain-intl",
+			"document_id": "",
+			"location_service_code": "domain-intl",
+			"regional_endpoints": null,
+			"global_endpoint": "domain-intl.aliyuncs.com",
+			"regional_endpoint_pattern": "domain-intl.aliyuncs.com"
 		},
 		{
-			"code": "cdn",
-			"document_id": "27148",
-			"location_service_code": "cdn",
+			"code": "kvstore",
+			"document_id": "",
+			"location_service_code": "kvstore",
 			"regional_endpoints": [
 				{
-					"region": "cn-hangzhou",
-					"endpoint": "cdn.aliyuncs.com"
+					"region": "ap-northeast-1",
+					"endpoint": "r-kvstore.ap-northeast-1.aliyuncs.com"
 				}
 			],
-			"global_endpoint": "cdn.aliyuncs.com",
+			"global_endpoint": "",
 			"regional_endpoint_pattern": ""
 		},
 		{
-			"code": "qualitycheck",
-			"document_id": "50807",
-			"location_service_code": "qualitycheck",
+			"code": "ccs",
+			"document_id": "",
+			"location_service_code": "ccs",
 			"regional_endpoints": [
 				{
 					"region": "cn-hangzhou",
-					"endpoint": "qualitycheck.cn-hangzhou.aliyuncs.com"
+					"endpoint": "ccs.aliyuncs.com"
 				}
 			],
 			"global_endpoint": "",
 			"regional_endpoint_pattern": ""
 		},
 		{
-			"code": "emr",
-			"document_id": "28140",
-			"location_service_code": "emr",
+			"code": "ess",
+			"document_id": "25925",
+			"location_service_code": "ess",
 			"regional_endpoints": [
 				{
-					"region": "us-east-1",
-					"endpoint": "emr.us-east-1.aliyuncs.com"
+					"region": "cn-huhehaote",
+					"endpoint": "ess.cn-huhehaote.aliyuncs.com"
 				},
 				{
-					"region": "ap-southeast-5",
-					"endpoint": "emr.ap-southeast-5.aliyuncs.com"
+					"region": "ap-southeast-2",
+					"endpoint": "ess.ap-southeast-2.aliyuncs.com"
 				},
 				{
-					"region": "eu-central-1",
-					"endpoint": "emr.eu-central-1.aliyuncs.com"
+					"region": "cn-hangzhou",
+					"endpoint": "ess.aliyuncs.com"
 				},
 				{
-					"region": "eu-west-1",
-					"endpoint": "emr.eu-west-1.aliyuncs.com"
+					"region": "cn-hongkong",
+					"endpoint": "ess.aliyuncs.com"
 				},
 				{
-					"region": "us-west-1",
-					"endpoint": "emr.aliyuncs.com"
+					"region": "eu-west-1",
+					"endpoint": "ess.eu-west-1.aliyuncs.com"
 				},
 				{
 					"region": "ap-southeast-1",
-					"endpoint": "emr.aliyuncs.com"
+					"endpoint": "ess.aliyuncs.com"
 				},
 				{
-					"region": "ap-south-1",
-					"endpoint": "emr.ap-south-1.aliyuncs.com"
+					"region": "us-west-1",
+					"endpoint": "ess.aliyuncs.com"
 				},
 				{
-					"region": "me-east-1",
-					"endpoint": "emr.me-east-1.aliyuncs.com"
+					"region": "ap-southeast-5",
+					"endpoint": "ess.ap-southeast-5.aliyuncs.com"
 				},
 				{
-					"region": "cn-beijing",
-					"endpoint": "emr.aliyuncs.com"
+					"region": "ap-southeast-3",
+					"endpoint": "ess.ap-southeast-3.aliyuncs.com"
 				},
 				{
-					"region": "cn-shanghai",
-					"endpoint": "emr.aliyuncs.com"
+					"region": "cn-zhangjiakou",
+					"endpoint": "ess.cn-zhangjiakou.aliyuncs.com"
 				},
 				{
-					"region": "cn-hongkong",
-					"endpoint": "emr.cn-hongkong.aliyuncs.com"
+					"region": "cn-beijing",
+					"endpoint": "ess.aliyuncs.com"
 				},
 				{
-					"region": "cn-huhehaote",
-					"endpoint": "emr.cn-huhehaote.aliyuncs.com"
+					"region": "cn-shenzhen",
+					"endpoint": "ess.aliyuncs.com"
 				},
 				{
-					"region": "ap-northeast-1",
-					"endpoint": "emr.ap-northeast-1.aliyuncs.com"
+					"region": "me-east-1",
+					"endpoint": "ess.me-east-1.aliyuncs.com"
 				},
 				{
-					"region": "ap-southeast-3",
-					"endpoint": "emr.ap-southeast-3.aliyuncs.com"
+					"region": "ap-northeast-1",
+					"endpoint": "ess.ap-northeast-1.aliyuncs.com"
 				},
 				{
-					"region": "cn-hangzhou",
-					"endpoint": "emr.aliyuncs.com"
+					"region": "ap-south-1",
+					"endpoint": "ess.ap-south-1.aliyuncs.com"
 				},
 				{
-					"region": "ap-southeast-2",
-					"endpoint": "emr.ap-southeast-2.aliyuncs.com"
+					"region": "cn-shanghai",
+					"endpoint": "ess.aliyuncs.com"
 				},
 				{
-					"region": "cn-zhangjiakou",
-					"endpoint": "emr.cn-zhangjiakou.aliyuncs.com"
+					"region": "eu-central-1",
+					"endpoint": "ess.eu-central-1.aliyuncs.com"
 				},
 				{
 					"region": "cn-qingdao",
-					"endpoint": "emr.cn-qingdao.aliyuncs.com"
+					"endpoint": "ess.aliyuncs.com"
 				},
 				{
-					"region": "cn-shenzhen",
-					"endpoint": "emr.aliyuncs.com"
+					"region": "us-east-1",
+					"endpoint": "ess.aliyuncs.com"
 				}
 			],
-			"global_endpoint": "emr.aliyuncs.com",
-			"regional_endpoint_pattern": "emr.[RegionId].aliyuncs.com"
-		},
-		{
-			"code": "httpdns",
-			"document_id": "52679",
-			"location_service_code": "httpdns",
-			"regional_endpoints": null,
-			"global_endpoint": "httpdns-api.aliyuncs.com",
-			"regional_endpoint_pattern": ""
-		},
-		{
-			"code": "push",
-			"document_id": "30074",
-			"location_service_code": "push",
-			"regional_endpoints": null,
-			"global_endpoint": "cloudpush.aliyuncs.com",
-			"regional_endpoint_pattern": ""
+			"global_endpoint": "ess.aliyuncs.com",
+			"regional_endpoint_pattern": "ess.[RegionId].aliyuncs.com"
 		},
 		{
-			"code": "cms",
-			"document_id": "28615",
-			"location_service_code": "cms",
+			"code": "dds",
+			"document_id": "61715",
+			"location_service_code": "dds",
 			"regional_endpoints": [
 				{
-					"region": "cn-qingdao",
-					"endpoint": "metrics.cn-hangzhou.aliyuncs.com"
+					"region": "me-east-1",
+					"endpoint": "mongodb.me-east-1.aliyuncs.com"
 				},
 				{
-					"region": "cn-hangzhou",
-					"endpoint": "metrics.cn-hangzhou.aliyuncs.com"
+					"region": "ap-southeast-3",
+					"endpoint": "mongodb.ap-southeast-3.aliyuncs.com"
 				},
 				{
-					"region": "eu-west-1",
-					"endpoint": "metrics.eu-west-1.aliyuncs.com"
+					"region": "ap-southeast-5",
+					"endpoint": "mongodb.ap-southeast-5.aliyuncs.com"
 				},
 				{
-					"region": "eu-central-1",
-					"endpoint": "metrics.cn-hangzhou.aliyuncs.com"
+					"region": "cn-hongkong",
+					"endpoint": "mongodb.aliyuncs.com"
 				},
 				{
 					"region": "ap-northeast-1",
-					"endpoint": "metrics.ap-northeast-1.aliyuncs.com"
+					"endpoint": "mongodb.ap-northeast-1.aliyuncs.com"
 				},
 				{
-					"region": "ap-south-1",
-					"endpoint": "metrics.ap-south-1.aliyuncs.com"
+					"region": "eu-central-1",
+					"endpoint": "mongodb.eu-central-1.aliyuncs.com"
 				},
 				{
 					"region": "cn-beijing",
-					"endpoint": "metrics.cn-hangzhou.aliyuncs.com"
+					"endpoint": "mongodb.aliyuncs.com"
 				},
 				{
 					"region": "cn-shenzhen",
-					"endpoint": "metrics.cn-hangzhou.aliyuncs.com"
+					"endpoint": "mongodb.aliyuncs.com"
 				},
 				{
 					"region": "ap-southeast-1",
-					"endpoint": "metrics.cn-hangzhou.aliyuncs.com"
+					"endpoint": "mongodb.aliyuncs.com"
 				},
 				{
-					"region": "ap-southeast-2",
-					"endpoint": "metrics.cn-hangzhou.aliyuncs.com"
+					"region": "eu-west-1",
+					"endpoint": "mongodb.eu-west-1.aliyuncs.com"
 				},
 				{
-					"region": "ap-southeast-5",
-					"endpoint": "metrics.ap-southeast-5.aliyuncs.com"
+					"region": "us-east-1",
+					"endpoint": "mongodb.aliyuncs.com"
 				},
 				{
 					"region": "cn-huhehaote",
-					"endpoint": "metrics.cn-huhehaote.aliyuncs.com"
+					"endpoint": "mongodb.cn-huhehaote.aliyuncs.com"
 				},
 				{
-					"region": "cn-zhangjiakou",
-					"endpoint": "metrics.cn-hangzhou.aliyuncs.com"
+					"region": "cn-qingdao",
+					"endpoint": "mongodb.aliyuncs.com"
 				},
 				{
-					"region": "me-east-1",
-					"endpoint": "metrics.cn-hangzhou.aliyuncs.com"
+					"region": "cn-hangzhou",
+					"endpoint": "mongodb.aliyuncs.com"
 				},
 				{
-					"region": "ap-southeast-3",
-					"endpoint": "metrics.ap-southeast-3.aliyuncs.com"
+					"region": "cn-shanghai",
+					"endpoint": "mongodb.aliyuncs.com"
 				},
 				{
-					"region": "cn-shanghai",
-					"endpoint": "metrics.cn-hangzhou.aliyuncs.com"
+					"region": "ap-southeast-2",
+					"endpoint": "mongodb.ap-southeast-2.aliyuncs.com"
 				},
 				{
-					"region": "cn-hongkong",
-					"endpoint": "metrics.cn-hangzhou.aliyuncs.com"
+					"region": "cn-zhangjiakou",
+					"endpoint": "mongodb.cn-zhangjiakou.aliyuncs.com"
 				},
 				{
-					"region": "us-west-1",
-					"endpoint": "metrics.cn-hangzhou.aliyuncs.com"
+					"region": "ap-south-1",
+					"endpoint": "mongodb.ap-south-1.aliyuncs.com"
 				},
 				{
-					"region": "us-east-1",
-					"endpoint": "metrics.cn-hangzhou.aliyuncs.com"
+					"region": "us-west-1",
+					"endpoint": "mongodb.aliyuncs.com"
 				}
 			],
-			"global_endpoint": "metrics.cn-hangzhou.aliyuncs.com",
-			"regional_endpoint_pattern": ""
+			"global_endpoint": "mongodb.aliyuncs.com",
+			"regional_endpoint_pattern": "mongodb.[RegionId].aliyuncs.com"
 		},
 		{
-			"code": "nas",
-			"document_id": "62598",
-			"location_service_code": "nas",
+			"code": "mts",
+			"document_id": "29212",
+			"location_service_code": "mts",
 			"regional_endpoints": [
 				{
-					"region": "ap-southeast-5",
-					"endpoint": "nas.ap-southeast-5.aliyuncs.com"
+					"region": "cn-beijing",
+					"endpoint": "mts.cn-beijing.aliyuncs.com"
 				},
 				{
-					"region": "ap-south-1",
-					"endpoint": "nas.ap-south-1.aliyuncs.com"
+					"region": "ap-northeast-1",
+					"endpoint": "mts.ap-northeast-1.aliyuncs.com"
 				},
 				{
-					"region": "us-west-1",
-					"endpoint": "nas.us-west-1.aliyuncs.com"
+					"region": "cn-hongkong",
+					"endpoint": "mts.cn-hongkong.aliyuncs.com"
 				},
 				{
-					"region": "ap-southeast-3",
-					"endpoint": "nas.ap-southeast-3.aliyuncs.com"
+					"region": "cn-shenzhen",
+					"endpoint": "mts.cn-shenzhen.aliyuncs.com"
 				},
 				{
 					"region": "cn-zhangjiakou",
-					"endpoint": "nas.cn-zhangjiakou.aliyuncs.com"
-				},
-				{
-					"region": "ap-northeast-1",
-					"endpoint": "nas.ap-northeast-1.aliyuncs.com"
-				},
-				{
-					"region": "cn-hangzhou",
-					"endpoint": "nas.cn-hangzhou.aliyuncs.com"
+					"endpoint": "mts.cn-zhangjiakou.aliyuncs.com"
 				},
 				{
-					"region": "cn-qingdao",
-					"endpoint": "nas.cn-qingdao.aliyuncs.com"
+					"region": "ap-south-1",
+					"endpoint": "mts.ap-south-1.aliyuncs.com"
 				},
 				{
-					"region": "cn-beijing",
-					"endpoint": "nas.cn-beijing.aliyuncs.com"
+					"region": "cn-shanghai",
+					"endpoint": "mts.cn-shanghai.aliyuncs.com"
 				},
 				{
-					"region": "ap-southeast-2",
-					"endpoint": "nas.ap-southeast-2.aliyuncs.com"
+					"region": "ap-southeast-1",
+					"endpoint": "mts.ap-southeast-1.aliyuncs.com"
 				},
 				{
-					"region": "cn-shenzhen",
-					"endpoint": "nas.cn-shenzhen.aliyuncs.com"
+					"region": "us-west-1",
+					"endpoint": "mts.us-west-1.aliyuncs.com"
 				},
 				{
 					"region": "eu-central-1",
-					"endpoint": "nas.eu-central-1.aliyuncs.com"
-				},
-				{
-					"region": "cn-huhehaote",
-					"endpoint": "nas.cn-huhehaote.aliyuncs.com"
-				},
-				{
-					"region": "cn-shanghai",
-					"endpoint": "nas.cn-shanghai.aliyuncs.com"
-				},
-				{
-					"region": "cn-hongkong",
-					"endpoint": "nas.cn-hongkong.aliyuncs.com"
+					"endpoint": "mts.eu-central-1.aliyuncs.com"
 				},
 				{
-					"region": "ap-southeast-1",
-					"endpoint": "nas.ap-southeast-1.aliyuncs.com"
+					"region": "eu-west-1",
+					"endpoint": "mts.eu-west-1.aliyuncs.com"
 				},
 				{
-					"region": "us-east-1",
-					"endpoint": "nas.us-east-1.aliyuncs.com"
+					"region": "cn-hangzhou",
+					"endpoint": "mts.cn-hangzhou.aliyuncs.com"
 				}
 			],
 			"global_endpoint": "",
 			"regional_endpoint_pattern": ""
 		},
 		{
-			"code": "cds",
-			"document_id": "62887",
-			"location_service_code": "codepipeline",
-			"regional_endpoints": [
-				{
-					"region": "cn-beijing",
-					"endpoint": "cds.cn-beijing.aliyuncs.com"
-				}
-			],
-			"global_endpoint": "cds.cn-beijing.aliyuncs.com",
+			"code": "push",
+			"document_id": "30074",
+			"location_service_code": "push",
+			"regional_endpoints": null,
+			"global_endpoint": "cloudpush.aliyuncs.com",
 			"regional_endpoint_pattern": ""
 		},
 		{
-			"code": "green",
-			"document_id": "28427",
-			"location_service_code": "green",
+			"code": "hcs_sgw",
+			"document_id": "",
+			"location_service_code": "hcs_sgw",
 			"regional_endpoints": [
 				{
-					"region": "us-west-1",
-					"endpoint": "green.us-west-1.aliyuncs.com"
+					"region": "eu-central-1",
+					"endpoint": "sgw.eu-central-1.aliyuncs.com"
 				},
 				{
-					"region": "cn-beijing",
-					"endpoint": "green.cn-beijing.aliyuncs.com"
+					"region": "cn-hangzhou",
+					"endpoint": "sgw.cn-shanghai.aliyuncs.com"
+				},
+				{
+					"region": "cn-zhangjiakou",
+					"endpoint": "sgw.cn-shanghai.aliyuncs.com"
 				},
 				{
 					"region": "ap-southeast-1",
-					"endpoint": "green.ap-southeast-1.aliyuncs.com"
+					"endpoint": "sgw.ap-southeast-1.aliyuncs.com"
 				},
 				{
-					"region": "cn-shanghai",
-					"endpoint": "green.cn-shanghai.aliyuncs.com"
+					"region": "cn-shenzhen",
+					"endpoint": "sgw.cn-shanghai.aliyuncs.com"
 				},
 				{
-					"region": "cn-hangzhou",
-					"endpoint": "green.cn-hangzhou.aliyuncs.com"
-				}
-			],
-			"global_endpoint": "green.aliyuncs.com",
-			"regional_endpoint_pattern": ""
-		},
-		{
-			"code": "ccc",
-			"document_id": "63027",
-			"location_service_code": "ccc",
-			"regional_endpoints": [
+					"region": "cn-hongkong",
+					"endpoint": "sgw.cn-shanghai.aliyuncs.com"
+				},
+				{
+					"region": "ap-southeast-2",
+					"endpoint": "sgw.ap-southeast-2.aliyuncs.com"
+				},
 				{
 					"region": "cn-shanghai",
-					"endpoint": "ccc.cn-shanghai.aliyuncs.com"
+					"endpoint": "sgw.cn-shanghai.aliyuncs.com"
 				},
 				{
-					"region": "cn-hangzhou",
-					"endpoint": "ccc.cn-hangzhou.aliyuncs.com"
-				}
-			],
-			"global_endpoint": "",
-			"regional_endpoint_pattern": "ccc.[RegionId].aliyuncs.com"
-		},
-		{
-			"code": "ros",
-			"document_id": "28899",
-			"location_service_code": "ros",
-			"regional_endpoints": [
+					"region": "cn-qingdao",
+					"endpoint": "sgw.cn-shanghai.aliyuncs.com"
+				},
 				{
-					"region": "cn-hangzhou",
-					"endpoint": "ros.aliyuncs.com"
+					"region": "cn-beijing",
+					"endpoint": "sgw.cn-shanghai.aliyuncs.com"
 				}
 			],
-			"global_endpoint": "ros.aliyuncs.com",
+			"global_endpoint": "",
 			"regional_endpoint_pattern": ""
 		},
 		{
-			"code": "mts",
-			"document_id": "29212",
-			"location_service_code": "mts",
+			"code": "hbase",
+			"document_id": "",
+			"location_service_code": "hbase",
 			"regional_endpoints": [
 				{
-					"region": "ap-northeast-1",
-					"endpoint": "mts.ap-northeast-1.aliyuncs.com"
+					"region": "cn-huhehaote",
+					"endpoint": "hbase.cn-huhehaote.aliyuncs.com"
 				},
 				{
-					"region": "cn-shanghai",
-					"endpoint": "mts.cn-shanghai.aliyuncs.com"
+					"region": "ap-south-1",
+					"endpoint": "hbase.ap-south-1.aliyuncs.com"
 				},
 				{
-					"region": "cn-hongkong",
-					"endpoint": "mts.cn-hongkong.aliyuncs.com"
+					"region": "us-west-1",
+					"endpoint": "hbase.aliyuncs.com"
 				},
 				{
-					"region": "cn-shenzhen",
-					"endpoint": "mts.cn-shenzhen.aliyuncs.com"
+					"region": "me-east-1",
+					"endpoint": "hbase.me-east-1.aliyuncs.com"
 				},
 				{
-					"region": "us-west-1",
-					"endpoint": "mts.us-west-1.aliyuncs.com"
+					"region": "eu-central-1",
+					"endpoint": "hbase.eu-central-1.aliyuncs.com"
 				},
 				{
-					"region": "cn-zhangjiakou",
-					"endpoint": "mts.cn-zhangjiakou.aliyuncs.com"
+					"region": "cn-qingdao",
+					"endpoint": "hbase.aliyuncs.com"
 				},
 				{
-					"region": "eu-west-1",
-					"endpoint": "mts.eu-west-1.aliyuncs.com"
+					"region": "cn-shanghai",
+					"endpoint": "hbase.aliyuncs.com"
 				},
 				{
-					"region": "ap-south-1",
-					"endpoint": "mts.ap-south-1.aliyuncs.com"
+					"region": "cn-shenzhen",
+					"endpoint": "hbase.aliyuncs.com"
 				},
 				{
-					"region": "cn-beijing",
-					"endpoint": "mts.cn-beijing.aliyuncs.com"
+					"region": "ap-southeast-2",
+					"endpoint": "hbase.ap-southeast-2.aliyuncs.com"
+				},
+				{
+					"region": "ap-southeast-3",
+					"endpoint": "hbase.ap-southeast-3.aliyuncs.com"
 				},
 				{
 					"region": "cn-hangzhou",
-					"endpoint": "mts.cn-hangzhou.aliyuncs.com"
+					"endpoint": "hbase.aliyuncs.com"
+				},
+				{
+					"region": "us-east-1",
+					"endpoint": "hbase.aliyuncs.com"
+				},
+				{
+					"region": "ap-southeast-5",
+					"endpoint": "hbase.ap-southeast-5.aliyuncs.com"
+				},
+				{
+					"region": "cn-beijing",
+					"endpoint": "hbase.aliyuncs.com"
 				},
 				{
 					"region": "ap-southeast-1",
-					"endpoint": "mts.ap-southeast-1.aliyuncs.com"
+					"endpoint": "hbase.aliyuncs.com"
+				}
+			],
+			"global_endpoint": "hbase.aliyuncs.com",
+			"regional_endpoint_pattern": ""
+		},
+		{
+			"code": "bastionhost",
+			"document_id": "",
+			"location_service_code": "bastionhost",
+			"regional_endpoints": [
+				{
+					"region": "cn-hangzhou",
+					"endpoint": "yundun-bastionhost.aliyuncs.com"
+				}
+			],
+			"global_endpoint": "",
+			"regional_endpoint_pattern": ""
+		},
+		{
+			"code": "vs",
+			"document_id": "",
+			"location_service_code": "vs",
+			"regional_endpoints": [
+				{
+					"region": "cn-hangzhou",
+					"endpoint": "vs.cn-hangzhou.aliyuncs.com"
 				},
 				{
-					"region": "eu-central-1",
-					"endpoint": "mts.eu-central-1.aliyuncs.com"
+					"region": "cn-shanghai",
+					"endpoint": "vs.cn-shanghai.aliyuncs.com"
 				}
 			],
 			"global_endpoint": "",

+ 1 - 1
sdk/endpoints/endpoints_config_test.go

@@ -13,5 +13,5 @@ func Test_getEndpointConfigData(t *testing.T) {
 	products := d["products"]
 	p, ok := products.([]interface{})
 	assert.True(t, ok)
-	assert.Equal(t, 46, len(p))
+	assert.Equal(t, 127, len(p))
 }

+ 8 - 12
sdk/responses/json_parser.go

@@ -6,7 +6,6 @@ import (
 	"math"
 	"strconv"
 	"strings"
-	"sync"
 	"unsafe"
 
 	jsoniter "github.com/json-iterator/go"
@@ -17,18 +16,15 @@ const maxInt = int(maxUint >> 1)
 const minInt = -maxInt - 1
 
 var jsonParser jsoniter.API
-var initJson = &sync.Once{}
 
-func initJsonParserOnce() {
-	initJson.Do(func() {
-		registerBetterFuzzyDecoder()
-		jsonParser = jsoniter.Config{
-			EscapeHTML:             true,
-			SortMapKeys:            true,
-			ValidateJsonRawMessage: true,
-			CaseSensitive:          true,
-		}.Froze()
-	})
+func init() {
+	registerBetterFuzzyDecoder()
+	jsonParser = jsoniter.Config{
+		EscapeHTML:             true,
+		SortMapKeys:            true,
+		ValidateJsonRawMessage: true,
+		CaseSensitive:          true,
+	}.Froze()
 }
 
 func registerBetterFuzzyDecoder() {

+ 0 - 17
sdk/responses/json_parser_test.go

@@ -7,7 +7,6 @@ import (
 )
 
 func TestUnmarshal(t *testing.T) {
-	initJsonParserOnce()
 	from := []byte(`{}`)
 	to := &struct{}{}
 	// support auto json type trans
@@ -20,7 +19,6 @@ func TestUnmarshal(t *testing.T) {
 }
 
 func TestUnmarshal_int(t *testing.T) {
-	initJsonParserOnce()
 	to := &struct {
 		INT int
 	}{}
@@ -105,7 +103,6 @@ func TestUnmarshal_int(t *testing.T) {
 }
 
 func TestUnmarshal_uint(t *testing.T) {
-	initJsonParserOnce()
 	to := &struct {
 		UINT uint
 	}{}
@@ -136,7 +133,6 @@ func TestUnmarshal_uint(t *testing.T) {
 }
 
 func TestUnmarshal_int8(t *testing.T) {
-	initJsonParserOnce()
 	to := &struct {
 		INT8 int8
 	}{}
@@ -167,7 +163,6 @@ func TestUnmarshal_int8(t *testing.T) {
 }
 
 func TestUnmarshal_uint8(t *testing.T) {
-	initJsonParserOnce()
 	to := &struct {
 		UINT8 uint8
 	}{}
@@ -198,7 +193,6 @@ func TestUnmarshal_uint8(t *testing.T) {
 }
 
 func TestUnmarshal_int16(t *testing.T) {
-	initJsonParserOnce()
 	to := &struct {
 		INT16 int16
 	}{}
@@ -229,7 +223,6 @@ func TestUnmarshal_int16(t *testing.T) {
 }
 
 func TestUnmarshal_uint16(t *testing.T) {
-	initJsonParserOnce()
 	to := &struct {
 		UINT16 uint16
 	}{}
@@ -260,7 +253,6 @@ func TestUnmarshal_uint16(t *testing.T) {
 }
 
 func TestUnmarshal_int32(t *testing.T) {
-	initJsonParserOnce()
 	to := &struct {
 		INT32 int32
 	}{}
@@ -291,7 +283,6 @@ func TestUnmarshal_int32(t *testing.T) {
 }
 
 func TestUnmarshal_uint32(t *testing.T) {
-	initJsonParserOnce()
 	to := &struct {
 		UINT32 uint32
 	}{}
@@ -322,7 +313,6 @@ func TestUnmarshal_uint32(t *testing.T) {
 }
 
 func TestUnmarshal_int64(t *testing.T) {
-	initJsonParserOnce()
 	to := &struct {
 		INT64 int64
 	}{}
@@ -353,7 +343,6 @@ func TestUnmarshal_int64(t *testing.T) {
 }
 
 func TestUnmarshal_uint64(t *testing.T) {
-	initJsonParserOnce()
 	to := &struct {
 		UINT64 uint64
 	}{}
@@ -384,7 +373,6 @@ func TestUnmarshal_uint64(t *testing.T) {
 }
 
 func TestUnmarshal_string(t *testing.T) {
-	initJsonParserOnce()
 	to := &struct {
 		STRING string
 	}{}
@@ -437,7 +425,6 @@ func TestUnmarshal_string(t *testing.T) {
 }
 
 func TestUnmarshal_bool(t *testing.T) {
-	initJsonParserOnce()
 	to := &struct {
 		BOOL bool
 	}{}
@@ -521,7 +508,6 @@ func TestUnmarshal_bool(t *testing.T) {
 }
 
 func TestUnmarshal_array(t *testing.T) {
-	initJsonParserOnce()
 	to := &struct {
 		Array []string
 	}{}
@@ -537,7 +523,6 @@ func TestUnmarshal_array(t *testing.T) {
 }
 
 func TestUnmarshal_float32(t *testing.T) {
-	initJsonParserOnce()
 	to := &struct {
 		FLOAT32 float32
 	}{}
@@ -623,7 +608,6 @@ func TestUnmarshal_float32(t *testing.T) {
 }
 
 func TestUnmarshal_float64(t *testing.T) {
-	initJsonParserOnce()
 	to := &struct {
 		FLOAT64 float64
 	}{}
@@ -709,7 +693,6 @@ func TestUnmarshal_float64(t *testing.T) {
 }
 
 func TestUnmarshalWithArray(t *testing.T) {
-	initJsonParserOnce()
 	from := []byte(`[]`)
 	to := &struct{}{}
 	// TODO: Must support Array

+ 0 - 1
sdk/responses/response.go

@@ -56,7 +56,6 @@ func Unmarshal(response AcsResponse, httpResponse *http.Response, format string)
 	}
 
 	if strings.ToUpper(format) == "JSON" {
-		initJsonParserOnce()
 		err = jsonParser.Unmarshal(response.GetHttpContentBytes(), response)
 		if err != nil {
 			err = errors.NewClientError(errors.JsonUnmarshalErrorCode, errors.JsonUnmarshalErrorMessage, err)

+ 28 - 5
services/airec/client.go

@@ -18,6 +18,7 @@ package airec
 import (
 	"github.com/aliyun/alibaba-cloud-sdk-go/sdk"
 	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/auth"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/auth/credentials/provider"
 )
 
 // Client is the sdk client struct, each func corresponds to an OpenAPI
@@ -32,6 +33,20 @@ func NewClient() (client *Client, err error) {
 	return
 }
 
+// NewClientWithProvider creates a sdk client with providers
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
+func NewClientWithProvider(regionId string, providers ...provider.Provider) (client *Client, err error) {
+	client = &Client{}
+	var pc provider.Provider
+	if len(providers) == 0 {
+		pc = provider.DefaultChain
+	} else {
+		pc = provider.NewProviderChain(providers)
+	}
+	err = client.InitWithProviderChain(regionId, pc)
+	return
+}
+
 // NewClientWithOptions creates a sdk client with regionId/sdkConfig/credential
 // this is the common api to create a sdk client
 func NewClientWithOptions(regionId string, config *sdk.Config, credential auth.Credential) (client *Client, err error) {
@@ -41,7 +56,7 @@ func NewClientWithOptions(regionId string, config *sdk.Config, credential auth.C
 }
 
 // NewClientWithAccessKey is a shortcut to create sdk client with accesskey
-// usage: https://help.aliyun.com/document_detail/66217.html
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
 func NewClientWithAccessKey(regionId, accessKeyId, accessKeySecret string) (client *Client, err error) {
 	client = &Client{}
 	err = client.InitWithAccessKey(regionId, accessKeyId, accessKeySecret)
@@ -49,7 +64,7 @@ func NewClientWithAccessKey(regionId, accessKeyId, accessKeySecret string) (clie
 }
 
 // NewClientWithStsToken is a shortcut to create sdk client with sts token
-// usage: https://help.aliyun.com/document_detail/66222.html
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
 func NewClientWithStsToken(regionId, stsAccessKeyId, stsAccessKeySecret, stsToken string) (client *Client, err error) {
 	client = &Client{}
 	err = client.InitWithStsToken(regionId, stsAccessKeyId, stsAccessKeySecret, stsToken)
@@ -57,15 +72,23 @@ func NewClientWithStsToken(regionId, stsAccessKeyId, stsAccessKeySecret, stsToke
 }
 
 // NewClientWithRamRoleArn is a shortcut to create sdk client with ram roleArn
-// usage: https://help.aliyun.com/document_detail/66222.html
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
 func NewClientWithRamRoleArn(regionId string, accessKeyId, accessKeySecret, roleArn, roleSessionName string) (client *Client, err error) {
 	client = &Client{}
 	err = client.InitWithRamRoleArn(regionId, accessKeyId, accessKeySecret, roleArn, roleSessionName)
 	return
 }
 
+// NewClientWithRamRoleArn is a shortcut to create sdk client with ram roleArn and policy
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
+func NewClientWithRamRoleArnAndPolicy(regionId string, accessKeyId, accessKeySecret, roleArn, roleSessionName, policy string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithRamRoleArnAndPolicy(regionId, accessKeyId, accessKeySecret, roleArn, roleSessionName, policy)
+	return
+}
+
 // NewClientWithEcsRamRole is a shortcut to create sdk client with ecs ram role
-// usage: https://help.aliyun.com/document_detail/66223.html
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
 func NewClientWithEcsRamRole(regionId string, roleName string) (client *Client, err error) {
 	client = &Client{}
 	err = client.InitWithEcsRamRole(regionId, roleName)
@@ -73,7 +96,7 @@ func NewClientWithEcsRamRole(regionId string, roleName string) (client *Client,
 }
 
 // NewClientWithRsaKeyPair is a shortcut to create sdk client with rsa key pair
-// attention: rsa key pair auth is only Japan regions available
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
 func NewClientWithRsaKeyPair(regionId string, publicKeyId, privateKey string, sessionExpiration int) (client *Client, err error) {
 	client = &Client{}
 	err = client.InitWithRsaKeyPair(regionId, publicKeyId, privateKey, sessionExpiration)

+ 107 - 0
services/airec/describe_exposure_settings.go

@@ -0,0 +1,107 @@
+package airec
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// DescribeExposureSettings invokes the airec.DescribeExposureSettings API synchronously
+// api document: https://help.aliyun.com/api/airec/describeexposuresettings.html
+func (client *Client) DescribeExposureSettings(request *DescribeExposureSettingsRequest) (response *DescribeExposureSettingsResponse, err error) {
+	response = CreateDescribeExposureSettingsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeExposureSettingsWithChan invokes the airec.DescribeExposureSettings API asynchronously
+// api document: https://help.aliyun.com/api/airec/describeexposuresettings.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeExposureSettingsWithChan(request *DescribeExposureSettingsRequest) (<-chan *DescribeExposureSettingsResponse, <-chan error) {
+	responseChan := make(chan *DescribeExposureSettingsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeExposureSettings(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeExposureSettingsWithCallback invokes the airec.DescribeExposureSettings API asynchronously
+// api document: https://help.aliyun.com/api/airec/describeexposuresettings.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeExposureSettingsWithCallback(request *DescribeExposureSettingsRequest, callback func(response *DescribeExposureSettingsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeExposureSettingsResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeExposureSettings(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeExposureSettingsRequest is the request struct for api DescribeExposureSettings
+type DescribeExposureSettingsRequest struct {
+	*requests.RoaRequest
+	InstanceId string `position:"Path" name:"InstanceId"`
+}
+
+// DescribeExposureSettingsResponse is the response struct for api DescribeExposureSettings
+type DescribeExposureSettingsResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	Result    Result `json:"Result" xml:"Result"`
+}
+
+// CreateDescribeExposureSettingsRequest creates a request to invoke DescribeExposureSettings API
+func CreateDescribeExposureSettingsRequest() (request *DescribeExposureSettingsRequest) {
+	request = &DescribeExposureSettingsRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Airec", "2018-10-12", "DescribeExposureSettings", "/openapi/instances/[InstanceId]/exposure-settings", "airec", "openAPI")
+	request.Method = requests.GET
+	return
+}
+
+// CreateDescribeExposureSettingsResponse creates a response to parse from DescribeExposureSettings response
+func CreateDescribeExposureSettingsResponse() (response *DescribeExposureSettingsResponse) {
+	response = &DescribeExposureSettingsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 113 - 0
services/airec/list_dashboard.go

@@ -0,0 +1,113 @@
+package airec
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// ListDashboard invokes the airec.ListDashboard API synchronously
+// api document: https://help.aliyun.com/api/airec/listdashboard.html
+func (client *Client) ListDashboard(request *ListDashboardRequest) (response *ListDashboardResponse, err error) {
+	response = CreateListDashboardResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListDashboardWithChan invokes the airec.ListDashboard API asynchronously
+// api document: https://help.aliyun.com/api/airec/listdashboard.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListDashboardWithChan(request *ListDashboardRequest) (<-chan *ListDashboardResponse, <-chan error) {
+	responseChan := make(chan *ListDashboardResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListDashboard(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListDashboardWithCallback invokes the airec.ListDashboard API asynchronously
+// api document: https://help.aliyun.com/api/airec/listdashboard.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListDashboardWithCallback(request *ListDashboardRequest, callback func(response *ListDashboardResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListDashboardResponse
+		var err error
+		defer close(result)
+		response, err = client.ListDashboard(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListDashboardRequest is the request struct for api ListDashboard
+type ListDashboardRequest struct {
+	*requests.RoaRequest
+	TraceId    string           `position:"Query" name:"TraceId"`
+	InstanceId string           `position:"Path" name:"InstanceId"`
+	EndDate    requests.Integer `position:"Query" name:"EndDate"`
+	Size       requests.Integer `position:"Query" name:"Size"`
+	SceneId    string           `position:"Query" name:"SceneId"`
+	Page       requests.Integer `position:"Query" name:"Page"`
+	StartDate  requests.Integer `position:"Query" name:"StartDate"`
+}
+
+// ListDashboardResponse is the response struct for api ListDashboard
+type ListDashboardResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	Result    Result `json:"Result" xml:"Result"`
+}
+
+// CreateListDashboardRequest creates a request to invoke ListDashboard API
+func CreateListDashboardRequest() (request *ListDashboardRequest) {
+	request = &ListDashboardRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Airec", "2018-10-12", "ListDashboard", "/openapi/instances/[InstanceId]/dashboard/statistics", "airec", "openAPI")
+	request.Method = requests.GET
+	return
+}
+
+// CreateListDashboardResponse creates a response to parse from ListDashboard response
+func CreateListDashboardResponse() (response *ListDashboardResponse) {
+	response = &ListDashboardResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/airec/list_dashboard_parameters.go

@@ -0,0 +1,107 @@
+package airec
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// ListDashboardParameters invokes the airec.ListDashboardParameters API synchronously
+// api document: https://help.aliyun.com/api/airec/listdashboardparameters.html
+func (client *Client) ListDashboardParameters(request *ListDashboardParametersRequest) (response *ListDashboardParametersResponse, err error) {
+	response = CreateListDashboardParametersResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListDashboardParametersWithChan invokes the airec.ListDashboardParameters API asynchronously
+// api document: https://help.aliyun.com/api/airec/listdashboardparameters.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListDashboardParametersWithChan(request *ListDashboardParametersRequest) (<-chan *ListDashboardParametersResponse, <-chan error) {
+	responseChan := make(chan *ListDashboardParametersResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListDashboardParameters(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListDashboardParametersWithCallback invokes the airec.ListDashboardParameters API asynchronously
+// api document: https://help.aliyun.com/api/airec/listdashboardparameters.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListDashboardParametersWithCallback(request *ListDashboardParametersRequest, callback func(response *ListDashboardParametersResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListDashboardParametersResponse
+		var err error
+		defer close(result)
+		response, err = client.ListDashboardParameters(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListDashboardParametersRequest is the request struct for api ListDashboardParameters
+type ListDashboardParametersRequest struct {
+	*requests.RoaRequest
+	InstanceId string `position:"Path" name:"InstanceId"`
+}
+
+// ListDashboardParametersResponse is the response struct for api ListDashboardParameters
+type ListDashboardParametersResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	Result    Result `json:"Result" xml:"Result"`
+}
+
+// CreateListDashboardParametersRequest creates a request to invoke ListDashboardParameters API
+func CreateListDashboardParametersRequest() (request *ListDashboardParametersRequest) {
+	request = &ListDashboardParametersRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Airec", "2018-10-12", "ListDashboardParameters", "/openapi/instances/[InstanceId]/dashboard/parameters", "airec", "openAPI")
+	request.Method = requests.GET
+	return
+}
+
+// CreateListDashboardParametersResponse creates a response to parse from ListDashboardParameters response
+func CreateListDashboardParametersResponse() (response *ListDashboardParametersResponse) {
+	response = &ListDashboardParametersResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/airec/list_dashboard_uid.go

@@ -0,0 +1,107 @@
+package airec
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// ListDashboardUid invokes the airec.ListDashboardUid API synchronously
+// api document: https://help.aliyun.com/api/airec/listdashboarduid.html
+func (client *Client) ListDashboardUid(request *ListDashboardUidRequest) (response *ListDashboardUidResponse, err error) {
+	response = CreateListDashboardUidResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListDashboardUidWithChan invokes the airec.ListDashboardUid API asynchronously
+// api document: https://help.aliyun.com/api/airec/listdashboarduid.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListDashboardUidWithChan(request *ListDashboardUidRequest) (<-chan *ListDashboardUidResponse, <-chan error) {
+	responseChan := make(chan *ListDashboardUidResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListDashboardUid(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListDashboardUidWithCallback invokes the airec.ListDashboardUid API asynchronously
+// api document: https://help.aliyun.com/api/airec/listdashboarduid.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListDashboardUidWithCallback(request *ListDashboardUidRequest, callback func(response *ListDashboardUidResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListDashboardUidResponse
+		var err error
+		defer close(result)
+		response, err = client.ListDashboardUid(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListDashboardUidRequest is the request struct for api ListDashboardUid
+type ListDashboardUidRequest struct {
+	*requests.RoaRequest
+	InstanceId string `position:"Path" name:"InstanceId"`
+}
+
+// ListDashboardUidResponse is the response struct for api ListDashboardUid
+type ListDashboardUidResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	Result    Result `json:"Result" xml:"Result"`
+}
+
+// CreateListDashboardUidRequest creates a request to invoke ListDashboardUid API
+func CreateListDashboardUidRequest() (request *ListDashboardUidRequest) {
+	request = &ListDashboardUidRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Airec", "2018-10-12", "ListDashboardUid", "/openapi/instances/[InstanceId]/dashboard/uid", "airec", "openAPI")
+	request.Method = requests.GET
+	return
+}
+
+// CreateListDashboardUidResponse creates a response to parse from ListDashboardUid response
+func CreateListDashboardUidResponse() (response *ListDashboardUidResponse) {
+	response = &ListDashboardUidResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/airec/list_instance_task.go

@@ -0,0 +1,107 @@
+package airec
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// ListInstanceTask invokes the airec.ListInstanceTask API synchronously
+// api document: https://help.aliyun.com/api/airec/listinstancetask.html
+func (client *Client) ListInstanceTask(request *ListInstanceTaskRequest) (response *ListInstanceTaskResponse, err error) {
+	response = CreateListInstanceTaskResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListInstanceTaskWithChan invokes the airec.ListInstanceTask API asynchronously
+// api document: https://help.aliyun.com/api/airec/listinstancetask.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListInstanceTaskWithChan(request *ListInstanceTaskRequest) (<-chan *ListInstanceTaskResponse, <-chan error) {
+	responseChan := make(chan *ListInstanceTaskResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListInstanceTask(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListInstanceTaskWithCallback invokes the airec.ListInstanceTask API asynchronously
+// api document: https://help.aliyun.com/api/airec/listinstancetask.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListInstanceTaskWithCallback(request *ListInstanceTaskRequest, callback func(response *ListInstanceTaskResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListInstanceTaskResponse
+		var err error
+		defer close(result)
+		response, err = client.ListInstanceTask(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListInstanceTaskRequest is the request struct for api ListInstanceTask
+type ListInstanceTaskRequest struct {
+	*requests.RoaRequest
+	InstanceId string `position:"Path" name:"InstanceId"`
+}
+
+// ListInstanceTaskResponse is the response struct for api ListInstanceTask
+type ListInstanceTaskResponse struct {
+	*responses.BaseResponse
+	RequestId string       `json:"RequestId" xml:"RequestId"`
+	Code      string       `json:"Code" xml:"Code"`
+	Message   string       `json:"Message" xml:"Message"`
+	Result    []ResultItem `json:"Result" xml:"Result"`
+}
+
+// CreateListInstanceTaskRequest creates a request to invoke ListInstanceTask API
+func CreateListInstanceTaskRequest() (request *ListInstanceTaskRequest) {
+	request = &ListInstanceTaskRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Airec", "2018-10-12", "ListInstanceTask", "/openapi/instances/[InstanceId]/tasks", "airec", "openAPI")
+	request.Method = requests.GET
+	return
+}
+
+// CreateListInstanceTaskResponse creates a response to parse from ListInstanceTask response
+func CreateListInstanceTaskResponse() (response *ListInstanceTaskResponse) {
+	response = &ListInstanceTaskResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 4 - 4
services/airec/modify_data_source.go

@@ -83,10 +83,10 @@ type ModifyDataSourceRequest struct {
 // ModifyDataSourceResponse is the response struct for api ModifyDataSource
 type ModifyDataSourceResponse struct {
 	*responses.BaseResponse
-	RequestId string                   `json:"RequestId" xml:"RequestId"`
-	Code      string                   `json:"Code" xml:"Code"`
-	Message   string                   `json:"Message" xml:"Message"`
-	Result    ResultInModifyDataSource `json:"Result" xml:"Result"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	Result    Result `json:"Result" xml:"Result"`
 }
 
 // CreateModifyDataSourceRequest creates a request to invoke ModifyDataSource API

+ 107 - 0
services/airec/modify_exposure_settings.go

@@ -0,0 +1,107 @@
+package airec
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// ModifyExposureSettings invokes the airec.ModifyExposureSettings API synchronously
+// api document: https://help.aliyun.com/api/airec/modifyexposuresettings.html
+func (client *Client) ModifyExposureSettings(request *ModifyExposureSettingsRequest) (response *ModifyExposureSettingsResponse, err error) {
+	response = CreateModifyExposureSettingsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ModifyExposureSettingsWithChan invokes the airec.ModifyExposureSettings API asynchronously
+// api document: https://help.aliyun.com/api/airec/modifyexposuresettings.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyExposureSettingsWithChan(request *ModifyExposureSettingsRequest) (<-chan *ModifyExposureSettingsResponse, <-chan error) {
+	responseChan := make(chan *ModifyExposureSettingsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifyExposureSettings(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ModifyExposureSettingsWithCallback invokes the airec.ModifyExposureSettings API asynchronously
+// api document: https://help.aliyun.com/api/airec/modifyexposuresettings.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyExposureSettingsWithCallback(request *ModifyExposureSettingsRequest, callback func(response *ModifyExposureSettingsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifyExposureSettingsResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifyExposureSettings(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ModifyExposureSettingsRequest is the request struct for api ModifyExposureSettings
+type ModifyExposureSettingsRequest struct {
+	*requests.RoaRequest
+	InstanceId string `position:"Path" name:"InstanceId"`
+}
+
+// ModifyExposureSettingsResponse is the response struct for api ModifyExposureSettings
+type ModifyExposureSettingsResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	Result    Result `json:"Result" xml:"Result"`
+}
+
+// CreateModifyExposureSettingsRequest creates a request to invoke ModifyExposureSettings API
+func CreateModifyExposureSettingsRequest() (request *ModifyExposureSettingsRequest) {
+	request = &ModifyExposureSettingsRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("Airec", "2018-10-12", "ModifyExposureSettings", "/openapi/instances/[InstanceId]/exposure-settings", "airec", "openAPI")
+	request.Method = requests.PUT
+	return
+}
+
+// CreateModifyExposureSettingsResponse creates a response to parse from ModifyExposureSettings response
+func CreateModifyExposureSettingsResponse() (response *ModifyExposureSettingsResponse) {
+	response = &ModifyExposureSettingsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 1 - 0
services/airec/recommend.go

@@ -82,6 +82,7 @@ type RecommendRequest struct {
 	SceneId     string           `position:"Query" name:"SceneId"`
 	Imei        string           `position:"Query" name:"Imei"`
 	UserId      string           `position:"Query" name:"UserId"`
+	Items       string           `position:"Query" name:"Items"`
 }
 
 // RecommendResponse is the response struct for api Recommend

+ 6 - 6
services/airec/struct_detail_item.go

@@ -17,14 +17,14 @@ package airec
 
 // DetailItem is a nested struct in airec response
 type DetailItem struct {
-	BizDate    int     `json:"BizDate" xml:"BizDate"`
-	Pv         int     `json:"Pv" xml:"Pv"`
-	Uv         int     `json:"Uv" xml:"Uv"`
-	Click      int     `json:"Click" xml:"Click"`
+	BizDate    int64   `json:"BizDate" xml:"BizDate"`
+	Pv         int64   `json:"Pv" xml:"Pv"`
+	Uv         int64   `json:"Uv" xml:"Uv"`
+	Click      int64   `json:"Click" xml:"Click"`
 	Ctr        float64 `json:"Ctr" xml:"Ctr"`
 	UvCtr      float64 `json:"UvCtr" xml:"UvCtr"`
 	PerUvBhv   float64 `json:"PerUvBhv" xml:"PerUvBhv"`
 	PerUvClick float64 `json:"PerUvClick" xml:"PerUvClick"`
-	ClickUser  int     `json:"ClickUser" xml:"ClickUser"`
-	ActiveItem int     `json:"ActiveItem" xml:"ActiveItem"`
+	ClickUser  int64   `json:"ClickUser" xml:"ClickUser"`
+	ActiveItem int64   `json:"ActiveItem" xml:"ActiveItem"`
 }

+ 4 - 5
services/sts/struct_federated_user.go → services/airec/struct_list.go

@@ -1,4 +1,4 @@
-package sts
+package airec
 
 //Licensed under the Apache License, Version 2.0 (the "License");
 //you may not use this file except in compliance with the License.
@@ -15,8 +15,7 @@ package sts
 // Code generated by Alibaba Cloud SDK Code Generator.
 // Changes may cause incorrect behavior and will be lost if the code is regenerated.
 
-// FederatedUser is a nested struct in sts response
-type FederatedUser struct {
-	Arn             string `json:"Arn" xml:"Arn"`
-	FederatedUserId string `json:"FederatedUserId" xml:"FederatedUserId"`
+// List is a nested struct in airec response
+type List struct {
+	ListItem []ListItem `json:"ListItem" xml:"ListItem"`
 }

+ 32 - 0
services/airec/struct_list_item.go

@@ -0,0 +1,32 @@
+package airec
+
+//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.
+
+// ListItem is a nested struct in airec response
+type ListItem struct {
+	BizDate    int64   `json:"BizDate" xml:"BizDate"`
+	Pv         int64   `json:"Pv" xml:"Pv"`
+	Uv         int64   `json:"Uv" xml:"Uv"`
+	Click      int64   `json:"Click" xml:"Click"`
+	Ctr        float64 `json:"Ctr" xml:"Ctr"`
+	UvCtr      float64 `json:"UvCtr" xml:"UvCtr"`
+	PerUvBhv   float64 `json:"PerUvBhv" xml:"PerUvBhv"`
+	PerUvClick float64 `json:"PerUvClick" xml:"PerUvClick"`
+	ClickUser  int64   `json:"ClickUser" xml:"ClickUser"`
+	ActiveItem int64   `json:"ActiveItem" xml:"ActiveItem"`
+	TraceId    string  `json:"TraceId" xml:"TraceId"`
+	SceneId    string  `json:"SceneId" xml:"SceneId"`
+}

+ 1 - 1
services/airec/struct_meta.go

@@ -19,7 +19,7 @@ package airec
 type Meta struct {
 	Path        string `json:"Path" xml:"Path"`
 	Partition   string `json:"Partition" xml:"Partition"`
-	Timestamp   int    `json:"Timestamp" xml:"Timestamp"`
+	Timestamp   int64  `json:"Timestamp" xml:"Timestamp"`
 	ProjectName string `json:"ProjectName" xml:"ProjectName"`
 	BucketName  string `json:"BucketName" xml:"BucketName"`
 	TableName   string `json:"TableName" xml:"TableName"`

+ 32 - 26
services/airec/struct_result.go

@@ -17,30 +17,36 @@ package airec
 
 // Result is a nested struct in airec response
 type Result struct {
-	Name           string       `json:"Name" xml:"Name"`
-	UserCountUsed  int          `json:"UserCountUsed" xml:"UserCountUsed"`
-	ChargeType     string       `json:"ChargeType" xml:"ChargeType"`
-	ItemCountUsed  int          `json:"ItemCountUsed" xml:"ItemCountUsed"`
-	CurrentQps     int          `json:"CurrentQps" xml:"CurrentQps"`
-	ItemCount      int          `json:"ItemCount" xml:"ItemCount"`
-	GmtCreate      string       `json:"GmtCreate" xml:"GmtCreate"`
-	DataSetVersion string       `json:"DataSetVersion" xml:"DataSetVersion"`
-	RegionId       string       `json:"RegionId" xml:"RegionId"`
-	InstanceId     string       `json:"InstanceId" xml:"InstanceId"`
-	Id             string       `json:"Id" xml:"Id"`
-	CommodityCode  string       `json:"CommodityCode" xml:"CommodityCode"`
-	Description    string       `json:"Description" xml:"Description"`
-	Type           string       `json:"Type" xml:"Type"`
-	ExpiredTime    string       `json:"ExpiredTime" xml:"ExpiredTime"`
-	GmtModified    string       `json:"GmtModified" xml:"GmtModified"`
-	Industry       string       `json:"Industry" xml:"Industry"`
-	UserCount      int          `json:"UserCount" xml:"UserCount"`
-	Scene          string       `json:"Scene" xml:"Scene"`
-	Qps            int          `json:"Qps" xml:"Qps"`
-	Status         string       `json:"Status" xml:"Status"`
-	LockMode       string       `json:"LockMode" xml:"LockMode"`
-	Overall        Overall      `json:"Overall" xml:"Overall"`
-	Parameter      Parameter    `json:"Parameter" xml:"Parameter"`
-	Detail         []DetailItem `json:"Detail" xml:"Detail"`
-	Meta           []MetaItem   `json:"Meta" xml:"Meta"`
+	Name            string       `json:"Name" xml:"Name"`
+	UserCountUsed   int64        `json:"UserCountUsed" xml:"UserCountUsed"`
+	ChargeType      string       `json:"ChargeType" xml:"ChargeType"`
+	ItemCountUsed   int64        `json:"ItemCountUsed" xml:"ItemCountUsed"`
+	CurrentQps      int          `json:"CurrentQps" xml:"CurrentQps"`
+	ItemCount       int64        `json:"ItemCount" xml:"ItemCount"`
+	GmtCreate       string       `json:"GmtCreate" xml:"GmtCreate"`
+	DataSetVersion  string       `json:"DataSetVersion" xml:"DataSetVersion"`
+	RegionId        string       `json:"RegionId" xml:"RegionId"`
+	InstanceId      string       `json:"InstanceId" xml:"InstanceId"`
+	CommodityCode   string       `json:"CommodityCode" xml:"CommodityCode"`
+	Num             int          `json:"Num" xml:"Num"`
+	Type            string       `json:"Type" xml:"Type"`
+	ScenarioBased   bool         `json:"ScenarioBased" xml:"ScenarioBased"`
+	ExpiredTime     string       `json:"ExpiredTime" xml:"ExpiredTime"`
+	GmtModified     string       `json:"GmtModified" xml:"GmtModified"`
+	Industry        string       `json:"Industry" xml:"Industry"`
+	TableName       string       `json:"TableName" xml:"TableName"`
+	UserCount       int64        `json:"UserCount" xml:"UserCount"`
+	DurationSeconds int          `json:"DurationSeconds" xml:"DurationSeconds"`
+	Scene           string       `json:"Scene" xml:"Scene"`
+	Qps             int          `json:"Qps" xml:"Qps"`
+	Status          string       `json:"Status" xml:"Status"`
+	LockMode        string       `json:"LockMode" xml:"LockMode"`
+	TraceId         []string     `json:"TraceId" xml:"TraceId"`
+	Uid             []string     `json:"Uid" xml:"Uid"`
+	SceneId         []string     `json:"SceneId" xml:"SceneId"`
+	Meta            Meta         `json:"Meta" xml:"Meta"`
+	Overall         Overall      `json:"Overall" xml:"Overall"`
+	Parameter       Parameter    `json:"Parameter" xml:"Parameter"`
+	List            []ListItem   `json:"List" xml:"List"`
+	Detail          []DetailItem `json:"Detail" xml:"Detail"`
 }

+ 2 - 2
services/airec/struct_result_in_attach_dataset.go

@@ -20,6 +20,6 @@ type ResultInAttachDataset struct {
 	InstanceId  string `json:"InstanceId" xml:"InstanceId"`
 	VersionId   string `json:"VersionId" xml:"VersionId"`
 	State       string `json:"State" xml:"State"`
-	GmtCreate   int    `json:"GmtCreate" xml:"GmtCreate"`
-	GmtModified int    `json:"GmtModified" xml:"GmtModified"`
+	GmtCreate   int64  `json:"GmtCreate" xml:"GmtCreate"`
+	GmtModified int64  `json:"GmtModified" xml:"GmtModified"`
 }

+ 2 - 2
services/airec/struct_result_in_delete_data_set.go

@@ -20,6 +20,6 @@ type ResultInDeleteDataSet struct {
 	InstanceId  string `json:"InstanceId" xml:"InstanceId"`
 	VersionId   string `json:"VersionId" xml:"VersionId"`
 	State       string `json:"State" xml:"State"`
-	GmtCreate   int    `json:"GmtCreate" xml:"GmtCreate"`
-	GmtModified int    `json:"GmtModified" xml:"GmtModified"`
+	GmtCreate   int64  `json:"GmtCreate" xml:"GmtCreate"`
+	GmtModified int64  `json:"GmtModified" xml:"GmtModified"`
 }

+ 21 - 0
services/airec/struct_result_in_list_instance_task.go

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

+ 2 - 2
services/airec/struct_result_in_stop_data_set.go

@@ -20,6 +20,6 @@ type ResultInStopDataSet struct {
 	InstanceId  string `json:"InstanceId" xml:"InstanceId"`
 	VersionId   string `json:"VersionId" xml:"VersionId"`
 	State       string `json:"State" xml:"State"`
-	GmtCreate   int    `json:"GmtCreate" xml:"GmtCreate"`
-	GmtModified int    `json:"GmtModified" xml:"GmtModified"`
+	GmtCreate   int64  `json:"GmtCreate" xml:"GmtCreate"`
+	GmtModified int64  `json:"GmtModified" xml:"GmtModified"`
 }

+ 30 - 38
services/airec/struct_result_item.go

@@ -17,42 +17,34 @@ package airec
 
 // ResultItem is a nested struct in airec response
 type ResultItem struct {
-	Name           string    `json:"Name" xml:"Name"`
-	PerUvBhv       float64   `json:"PerUvBhv" xml:"PerUvBhv"`
-	ChargeType     string    `json:"ChargeType" xml:"ChargeType"`
-	ErrorLevel     string    `json:"ErrorLevel" xml:"ErrorLevel"`
-	ItemType       string    `json:"ItemType" xml:"ItemType"`
-	Uv             int       `json:"Uv" xml:"Uv"`
-	ClickUser      int       `json:"ClickUser" xml:"ClickUser"`
-	BizDate        int       `json:"BizDate" xml:"BizDate"`
-	GmtCreate      string    `json:"GmtCreate" xml:"GmtCreate"`
-	DataSetVersion string    `json:"DataSetVersion" xml:"DataSetVersion"`
-	RegionId       string    `json:"RegionId" xml:"RegionId"`
-	ActiveItem     int       `json:"ActiveItem" xml:"ActiveItem"`
-	UvCtr          float64   `json:"UvCtr" xml:"UvCtr"`
-	InstanceId     string    `json:"InstanceId" xml:"InstanceId"`
-	TraceId        string    `json:"TraceId" xml:"TraceId"`
-	CommodityCode  string    `json:"CommodityCode" xml:"CommodityCode"`
-	MatchInfo      string    `json:"MatchInfo" xml:"MatchInfo"`
-	Type           string    `json:"Type" xml:"Type"`
-	Click          int       `json:"Click" xml:"Click"`
-	Message        string    `json:"Message" xml:"Message"`
-	ExpiredTime    string    `json:"ExpiredTime" xml:"ExpiredTime"`
-	Timestamp      string    `json:"Timestamp" xml:"Timestamp"`
-	Pv             int       `json:"Pv" xml:"Pv"`
-	ErrorType      string    `json:"ErrorType" xml:"ErrorType"`
-	GmtModified    string    `json:"GmtModified" xml:"GmtModified"`
-	Industry       string    `json:"Industry" xml:"Industry"`
-	TableName      string    `json:"TableName" xml:"TableName"`
-	Scene          string    `json:"Scene" xml:"Scene"`
-	TraceInfo      string    `json:"TraceInfo" xml:"TraceInfo"`
-	Ctr            float64   `json:"Ctr" xml:"Ctr"`
-	PerUvClick     float64   `json:"PerUvClick" xml:"PerUvClick"`
-	Position       int       `json:"Position" xml:"Position"`
-	Status         string    `json:"Status" xml:"Status"`
-	ItemId         int       `json:"ItemId" xml:"ItemId"`
-	LockMode       string    `json:"LockMode" xml:"LockMode"`
-	Weight         float64   `json:"Weight" xml:"Weight"`
-	Meta           Meta      `json:"Meta" xml:"Meta"`
-	Parameter      Parameter `json:"Parameter" xml:"Parameter"`
+	Name             string                 `json:"Name" xml:"Name"`
+	ChargeType       string                 `json:"ChargeType" xml:"ChargeType"`
+	ErrorLevel       string                 `json:"ErrorLevel" xml:"ErrorLevel"`
+	ItemType         string                 `json:"ItemType" xml:"ItemType"`
+	GmtCreate        string                 `json:"GmtCreate" xml:"GmtCreate"`
+	DataSetVersion   string                 `json:"DataSetVersion" xml:"DataSetVersion"`
+	RegionId         string                 `json:"RegionId" xml:"RegionId"`
+	TotalProgress    int                    `json:"TotalProgress" xml:"TotalProgress"`
+	InstanceId       string                 `json:"InstanceId" xml:"InstanceId"`
+	TraceId          string                 `json:"TraceId" xml:"TraceId"`
+	CommodityCode    string                 `json:"CommodityCode" xml:"CommodityCode"`
+	MatchInfo        string                 `json:"MatchInfo" xml:"MatchInfo"`
+	Type             string                 `json:"Type" xml:"Type"`
+	Message          string                 `json:"Message" xml:"Message"`
+	ExpiredTime      string                 `json:"ExpiredTime" xml:"ExpiredTime"`
+	Timestamp        string                 `json:"Timestamp" xml:"Timestamp"`
+	ErrorType        string                 `json:"ErrorType" xml:"ErrorType"`
+	GmtModified      string                 `json:"GmtModified" xml:"GmtModified"`
+	Industry         string                 `json:"Industry" xml:"Industry"`
+	TableName        string                 `json:"TableName" xml:"TableName"`
+	ItemId           string                 `json:"ItemId" xml:"ItemId"`
+	Scene            string                 `json:"Scene" xml:"Scene"`
+	TraceInfo        string                 `json:"TraceInfo" xml:"TraceInfo"`
+	Position         int                    `json:"Position" xml:"Position"`
+	Status           string                 `json:"Status" xml:"Status"`
+	LockMode         string                 `json:"LockMode" xml:"LockMode"`
+	Weight           float64                `json:"Weight" xml:"Weight"`
+	Meta             Meta                   `json:"Meta" xml:"Meta"`
+	Parameter        Parameter              `json:"Parameter" xml:"Parameter"`
+	SubProgressInfos []SubProgressInfosItem `json:"SubProgressInfos" xml:"SubProgressInfos"`
 }

+ 2 - 2
services/airec/struct_result_item_in_list_data_set.go

@@ -20,6 +20,6 @@ type ResultItemInListDataSet struct {
 	InstanceId  string `json:"InstanceId" xml:"InstanceId"`
 	VersionId   string `json:"VersionId" xml:"VersionId"`
 	State       string `json:"State" xml:"State"`
-	GmtCreate   int    `json:"GmtCreate" xml:"GmtCreate"`
-	GmtModified int    `json:"GmtModified" xml:"GmtModified"`
+	GmtCreate   int64  `json:"GmtCreate" xml:"GmtCreate"`
+	GmtModified int64  `json:"GmtModified" xml:"GmtModified"`
 }

+ 21 - 0
services/airec/struct_scene_id.go

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

+ 21 - 0
services/airec/struct_sub_progress_infos.go

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

+ 25 - 0
services/airec/struct_sub_progress_infos_item.go

@@ -0,0 +1,25 @@
+package airec
+
+//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.
+
+// SubProgressInfosItem is a nested struct in airec response
+type SubProgressInfosItem struct {
+	Type        string `json:"Type" xml:"Type"`
+	Progress    int    `json:"Progress" xml:"Progress"`
+	Detail      string `json:"Detail" xml:"Detail"`
+	TotalNum    int    `json:"TotalNum" xml:"TotalNum"`
+	FinishedNum int    `json:"FinishedNum" xml:"FinishedNum"`
+}

+ 21 - 0
services/airec/struct_trace_id.go

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

+ 21 - 0
services/airec/struct_uid.go

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

+ 6 - 4
services/alidns/add_domain.go

@@ -76,9 +76,11 @@ func (client *Client) AddDomainWithCallback(request *AddDomainRequest, callback
 // AddDomainRequest is the request struct for api AddDomain
 type AddDomainRequest struct {
 	*requests.RpcRequest
-	GroupId    string `position:"Query" name:"GroupId"`
-	DomainName string `position:"Query" name:"DomainName"`
-	Lang       string `position:"Query" name:"Lang"`
+	ResourceGroupId string `position:"Query" name:"ResourceGroupId"`
+	GroupId         string `position:"Query" name:"GroupId"`
+	DomainName      string `position:"Query" name:"DomainName"`
+	UserClientIp    string `position:"Query" name:"UserClientIp"`
+	Lang            string `position:"Query" name:"Lang"`
 }
 
 // AddDomainResponse is the response struct for api AddDomain
@@ -98,7 +100,7 @@ func CreateAddDomainRequest() (request *AddDomainRequest) {
 	request = &AddDomainRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "AddDomain", "alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "AddDomain", "Alidns", "openAPI")
 	return
 }
 

+ 1 - 1
services/alidns/add_domain_group.go

@@ -94,7 +94,7 @@ func CreateAddDomainGroupRequest() (request *AddDomainGroupRequest) {
 	request = &AddDomainGroupRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "AddDomainGroup", "alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "AddDomainGroup", "Alidns", "openAPI")
 	return
 }
 

+ 1 - 1
services/alidns/add_domain_record.go

@@ -99,7 +99,7 @@ func CreateAddDomainRecordRequest() (request *AddDomainRecordRequest) {
 	request = &AddDomainRecordRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "AddDomainRecord", "alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "AddDomainRecord", "Alidns", "openAPI")
 	return
 }
 

+ 1 - 1
services/alidns/add_gtm_access_strategy.go

@@ -97,7 +97,7 @@ func CreateAddGtmAccessStrategyRequest() (request *AddGtmAccessStrategyRequest)
 	request = &AddGtmAccessStrategyRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "AddGtmAccessStrategy", "alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "AddGtmAccessStrategy", "Alidns", "openAPI")
 	return
 }
 

+ 1 - 1
services/alidns/add_gtm_address_pool.go

@@ -104,7 +104,7 @@ func CreateAddGtmAddressPoolRequest() (request *AddGtmAddressPoolRequest) {
 	request = &AddGtmAddressPoolRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "AddGtmAddressPool", "alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "AddGtmAddressPool", "Alidns", "openAPI")
 	return
 }
 

+ 1 - 1
services/alidns/add_gtm_monitor.go

@@ -106,7 +106,7 @@ func CreateAddGtmMonitorRequest() (request *AddGtmMonitorRequest) {
 	request = &AddGtmMonitorRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "AddGtmMonitor", "alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "AddGtmMonitor", "Alidns", "openAPI")
 	return
 }
 

+ 1 - 1
services/alidns/change_domain_group.go

@@ -95,7 +95,7 @@ func CreateChangeDomainGroupRequest() (request *ChangeDomainGroupRequest) {
 	request = &ChangeDomainGroupRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "ChangeDomainGroup", "alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "ChangeDomainGroup", "Alidns", "openAPI")
 	return
 }
 

+ 1 - 1
services/alidns/change_domain_of_dns_product.go

@@ -95,7 +95,7 @@ func CreateChangeDomainOfDnsProductRequest() (request *ChangeDomainOfDnsProductR
 	request = &ChangeDomainOfDnsProductRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "ChangeDomainOfDnsProduct", "alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "ChangeDomainOfDnsProduct", "Alidns", "openAPI")
 	return
 }
 

+ 1 - 1
services/alidns/check_domain_record.go

@@ -96,7 +96,7 @@ func CreateCheckDomainRecordRequest() (request *CheckDomainRecordRequest) {
 	request = &CheckDomainRecordRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "CheckDomainRecord", "alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "CheckDomainRecord", "Alidns", "openAPI")
 	return
 }
 

+ 28 - 5
services/alidns/client.go

@@ -18,6 +18,7 @@ package alidns
 import (
 	"github.com/aliyun/alibaba-cloud-sdk-go/sdk"
 	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/auth"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/auth/credentials/provider"
 )
 
 // Client is the sdk client struct, each func corresponds to an OpenAPI
@@ -32,6 +33,20 @@ func NewClient() (client *Client, err error) {
 	return
 }
 
+// NewClientWithProvider creates a sdk client with providers
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
+func NewClientWithProvider(regionId string, providers ...provider.Provider) (client *Client, err error) {
+	client = &Client{}
+	var pc provider.Provider
+	if len(providers) == 0 {
+		pc = provider.DefaultChain
+	} else {
+		pc = provider.NewProviderChain(providers)
+	}
+	err = client.InitWithProviderChain(regionId, pc)
+	return
+}
+
 // NewClientWithOptions creates a sdk client with regionId/sdkConfig/credential
 // this is the common api to create a sdk client
 func NewClientWithOptions(regionId string, config *sdk.Config, credential auth.Credential) (client *Client, err error) {
@@ -41,7 +56,7 @@ func NewClientWithOptions(regionId string, config *sdk.Config, credential auth.C
 }
 
 // NewClientWithAccessKey is a shortcut to create sdk client with accesskey
-// usage: https://help.aliyun.com/document_detail/66217.html
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
 func NewClientWithAccessKey(regionId, accessKeyId, accessKeySecret string) (client *Client, err error) {
 	client = &Client{}
 	err = client.InitWithAccessKey(regionId, accessKeyId, accessKeySecret)
@@ -49,7 +64,7 @@ func NewClientWithAccessKey(regionId, accessKeyId, accessKeySecret string) (clie
 }
 
 // NewClientWithStsToken is a shortcut to create sdk client with sts token
-// usage: https://help.aliyun.com/document_detail/66222.html
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
 func NewClientWithStsToken(regionId, stsAccessKeyId, stsAccessKeySecret, stsToken string) (client *Client, err error) {
 	client = &Client{}
 	err = client.InitWithStsToken(regionId, stsAccessKeyId, stsAccessKeySecret, stsToken)
@@ -57,15 +72,23 @@ func NewClientWithStsToken(regionId, stsAccessKeyId, stsAccessKeySecret, stsToke
 }
 
 // NewClientWithRamRoleArn is a shortcut to create sdk client with ram roleArn
-// usage: https://help.aliyun.com/document_detail/66222.html
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
 func NewClientWithRamRoleArn(regionId string, accessKeyId, accessKeySecret, roleArn, roleSessionName string) (client *Client, err error) {
 	client = &Client{}
 	err = client.InitWithRamRoleArn(regionId, accessKeyId, accessKeySecret, roleArn, roleSessionName)
 	return
 }
 
+// NewClientWithRamRoleArn is a shortcut to create sdk client with ram roleArn and policy
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
+func NewClientWithRamRoleArnAndPolicy(regionId string, accessKeyId, accessKeySecret, roleArn, roleSessionName, policy string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithRamRoleArnAndPolicy(regionId, accessKeyId, accessKeySecret, roleArn, roleSessionName, policy)
+	return
+}
+
 // NewClientWithEcsRamRole is a shortcut to create sdk client with ecs ram role
-// usage: https://help.aliyun.com/document_detail/66223.html
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
 func NewClientWithEcsRamRole(regionId string, roleName string) (client *Client, err error) {
 	client = &Client{}
 	err = client.InitWithEcsRamRole(regionId, roleName)
@@ -73,7 +96,7 @@ func NewClientWithEcsRamRole(regionId string, roleName string) (client *Client,
 }
 
 // NewClientWithRsaKeyPair is a shortcut to create sdk client with rsa key pair
-// attention: rsa key pair auth is only Japan regions available
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
 func NewClientWithRsaKeyPair(regionId string, publicKeyId, privateKey string, sessionExpiration int) (client *Client, err error) {
 	client = &Client{}
 	err = client.InitWithRsaKeyPair(regionId, publicKeyId, privateKey, sessionExpiration)

+ 1 - 1
services/alidns/create_instance.go

@@ -98,7 +98,7 @@ func CreateCreateInstanceRequest() (request *CreateInstanceRequest) {
 	request = &CreateInstanceRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "CreateInstance", "alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "CreateInstance", "Alidns", "openAPI")
 	return
 }
 

+ 1 - 1
services/alidns/delete_domain.go

@@ -93,7 +93,7 @@ func CreateDeleteDomainRequest() (request *DeleteDomainRequest) {
 	request = &DeleteDomainRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "DeleteDomain", "alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DeleteDomain", "Alidns", "openAPI")
 	return
 }
 

+ 1 - 1
services/alidns/delete_domain_group.go

@@ -93,7 +93,7 @@ func CreateDeleteDomainGroupRequest() (request *DeleteDomainGroupRequest) {
 	request = &DeleteDomainGroupRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "DeleteDomainGroup", "alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DeleteDomainGroup", "Alidns", "openAPI")
 	return
 }
 

+ 1 - 1
services/alidns/delete_domain_record.go

@@ -93,7 +93,7 @@ func CreateDeleteDomainRecordRequest() (request *DeleteDomainRecordRequest) {
 	request = &DeleteDomainRecordRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "DeleteDomainRecord", "alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DeleteDomainRecord", "Alidns", "openAPI")
 	return
 }
 

+ 1 - 1
services/alidns/delete_gtm_access_strategy.go

@@ -92,7 +92,7 @@ func CreateDeleteGtmAccessStrategyRequest() (request *DeleteGtmAccessStrategyReq
 	request = &DeleteGtmAccessStrategyRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "DeleteGtmAccessStrategy", "alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DeleteGtmAccessStrategy", "Alidns", "openAPI")
 	return
 }
 

+ 1 - 1
services/alidns/delete_gtm_address_pool.go

@@ -92,7 +92,7 @@ func CreateDeleteGtmAddressPoolRequest() (request *DeleteGtmAddressPoolRequest)
 	request = &DeleteGtmAddressPoolRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "DeleteGtmAddressPool", "alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DeleteGtmAddressPool", "Alidns", "openAPI")
 	return
 }
 

+ 1 - 1
services/alidns/delete_sub_domain_records.go

@@ -96,7 +96,7 @@ func CreateDeleteSubDomainRecordsRequest() (request *DeleteSubDomainRecordsReque
 	request = &DeleteSubDomainRecordsRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "DeleteSubDomainRecords", "alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DeleteSubDomainRecords", "Alidns", "openAPI")
 	return
 }
 

+ 2 - 2
services/alidns/describe_batch_result_count.go

@@ -92,7 +92,7 @@ type DescribeBatchResultCountResponse struct {
 	FailedCount  int    `json:"FailedCount" xml:"FailedCount"`
 	Reason       string `json:"Reason" xml:"Reason"`
 	BatchType    string `json:"BatchType" xml:"BatchType"`
-	TaskId       int    `json:"TaskId" xml:"TaskId"`
+	TaskId       int64  `json:"TaskId" xml:"TaskId"`
 }
 
 // CreateDescribeBatchResultCountRequest creates a request to invoke DescribeBatchResultCount API
@@ -100,7 +100,7 @@ func CreateDescribeBatchResultCountRequest() (request *DescribeBatchResultCountR
 	request = &DescribeBatchResultCountRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeBatchResultCount", "alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeBatchResultCount", "Alidns", "openAPI")
 	return
 }
 

+ 4 - 4
services/alidns/describe_batch_result_detail.go

@@ -88,9 +88,9 @@ type DescribeBatchResultDetailRequest struct {
 type DescribeBatchResultDetailResponse 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"`
+	TotalCount         int64              `json:"TotalCount" xml:"TotalCount"`
+	PageNumber         int64              `json:"PageNumber" xml:"PageNumber"`
+	PageSize           int64              `json:"PageSize" xml:"PageSize"`
 	BatchResultDetails BatchResultDetails `json:"BatchResultDetails" xml:"BatchResultDetails"`
 }
 
@@ -99,7 +99,7 @@ func CreateDescribeBatchResultDetailRequest() (request *DescribeBatchResultDetai
 	request = &DescribeBatchResultDetailRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeBatchResultDetail", "alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeBatchResultDetail", "Alidns", "openAPI")
 	return
 }
 

+ 17 - 17
services/alidns/describe_dns_product_instance.go

@@ -89,32 +89,32 @@ type DescribeDnsProductInstanceResponse struct {
 	VersionCode           string                                 `json:"VersionCode" xml:"VersionCode"`
 	VersionName           string                                 `json:"VersionName" xml:"VersionName"`
 	StartTime             string                                 `json:"StartTime" xml:"StartTime"`
-	StartTimestamp        int                                    `json:"StartTimestamp" xml:"StartTimestamp"`
+	StartTimestamp        int64                                  `json:"StartTimestamp" xml:"StartTimestamp"`
 	EndTime               string                                 `json:"EndTime" xml:"EndTime"`
-	EndTimestamp          int                                    `json:"EndTimestamp" xml:"EndTimestamp"`
+	EndTimestamp          int64                                  `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"`
+	BindCount             int64                                  `json:"BindCount" xml:"BindCount"`
+	BindUsedCount         int64                                  `json:"BindUsedCount" xml:"BindUsedCount"`
+	TTLMinValue           int64                                  `json:"TTLMinValue" xml:"TTLMinValue"`
+	SubDomainLevel        int64                                  `json:"SubDomainLevel" xml:"SubDomainLevel"`
+	DnsSLBCount           int64                                  `json:"DnsSLBCount" xml:"DnsSLBCount"`
+	URLForwardCount       int64                                  `json:"URLForwardCount" xml:"URLForwardCount"`
+	DDosDefendFlow        int64                                  `json:"DDosDefendFlow" xml:"DDosDefendFlow"`
+	DDosDefendQuery       int64                                  `json:"DDosDefendQuery" xml:"DDosDefendQuery"`
+	OverseaDDosDefendFlow int64                                  `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"`
+	MonitorNodeCount      int64                                  `json:"MonitorNodeCount" xml:"MonitorNodeCount"`
+	MonitorFrequency      int64                                  `json:"MonitorFrequency" xml:"MonitorFrequency"`
+	MonitorTaskCount      int64                                  `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"`
-	BindDomainCount       int                                    `json:"BindDomainCount" xml:"BindDomainCount"`
-	BindDomainUsedCount   int                                    `json:"BindDomainUsedCount" xml:"BindDomainUsedCount"`
+	BindDomainCount       int64                                  `json:"BindDomainCount" xml:"BindDomainCount"`
+	BindDomainUsedCount   int64                                  `json:"BindDomainUsedCount" xml:"BindDomainUsedCount"`
 	DnsSecurity           string                                 `json:"DnsSecurity" xml:"DnsSecurity"`
 	DnsServers            DnsServersInDescribeDnsProductInstance `json:"DnsServers" xml:"DnsServers"`
 }
@@ -124,7 +124,7 @@ func CreateDescribeDnsProductInstanceRequest() (request *DescribeDnsProductInsta
 	request = &DescribeDnsProductInstanceRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeDnsProductInstance", "alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeDnsProductInstance", "Alidns", "openAPI")
 	return
 }
 

+ 4 - 4
services/alidns/describe_dns_product_instances.go

@@ -87,9 +87,9 @@ type DescribeDnsProductInstancesRequest struct {
 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"`
+	TotalCount  int64       `json:"TotalCount" xml:"TotalCount"`
+	PageNumber  int64       `json:"PageNumber" xml:"PageNumber"`
+	PageSize    int64       `json:"PageSize" xml:"PageSize"`
 	DnsProducts DnsProducts `json:"DnsProducts" xml:"DnsProducts"`
 }
 
@@ -98,7 +98,7 @@ func CreateDescribeDnsProductInstancesRequest() (request *DescribeDnsProductInst
 	request = &DescribeDnsProductInstancesRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeDnsProductInstances", "alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeDnsProductInstances", "Alidns", "openAPI")
 	return
 }
 

+ 4 - 4
services/alidns/describe_dnsslb_sub_domains.go

@@ -87,9 +87,9 @@ type DescribeDNSSLBSubDomainsRequest struct {
 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"`
+	TotalCount    int64         `json:"TotalCount" xml:"TotalCount"`
+	PageNumber    int64         `json:"PageNumber" xml:"PageNumber"`
+	PageSize      int64         `json:"PageSize" xml:"PageSize"`
 	SlbSubDomains SlbSubDomains `json:"SlbSubDomains" xml:"SlbSubDomains"`
 }
 
@@ -98,7 +98,7 @@ func CreateDescribeDNSSLBSubDomainsRequest() (request *DescribeDNSSLBSubDomainsR
 	request = &DescribeDNSSLBSubDomainsRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeDNSSLBSubDomains", "alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeDNSSLBSubDomains", "Alidns", "openAPI")
 	return
 }
 

+ 108 - 0
services/alidns/describe_domain_dns_statistics.go

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

+ 4 - 4
services/alidns/describe_domain_groups.go

@@ -87,9 +87,9 @@ type DescribeDomainGroupsRequest struct {
 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"`
+	TotalCount   int64        `json:"TotalCount" xml:"TotalCount"`
+	PageNumber   int64        `json:"PageNumber" xml:"PageNumber"`
+	PageSize     int64        `json:"PageSize" xml:"PageSize"`
 	DomainGroups DomainGroups `json:"DomainGroups" xml:"DomainGroups"`
 }
 
@@ -98,7 +98,7 @@ func CreateDescribeDomainGroupsRequest() (request *DescribeDomainGroupsRequest)
 	request = &DescribeDomainGroupsRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeDomainGroups", "alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeDomainGroups", "Alidns", "openAPI")
 	return
 }
 

+ 2 - 2
services/alidns/describe_domain_info.go

@@ -96,7 +96,7 @@ type DescribeDomainInfoResponse struct {
 	InstanceId         string                          `json:"InstanceId" xml:"InstanceId"`
 	VersionCode        string                          `json:"VersionCode" xml:"VersionCode"`
 	VersionName        string                          `json:"VersionName" xml:"VersionName"`
-	MinTtl             int                             `json:"MinTtl" xml:"MinTtl"`
+	MinTtl             int64                           `json:"MinTtl" xml:"MinTtl"`
 	RecordLineTreeJson string                          `json:"RecordLineTreeJson" xml:"RecordLineTreeJson"`
 	LineType           string                          `json:"LineType" xml:"LineType"`
 	RegionLines        bool                            `json:"RegionLines" xml:"RegionLines"`
@@ -113,7 +113,7 @@ func CreateDescribeDomainInfoRequest() (request *DescribeDomainInfoRequest) {
 	request = &DescribeDomainInfoRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeDomainInfo", "alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeDomainInfo", "Alidns", "openAPI")
 	return
 }
 

+ 4 - 4
services/alidns/describe_domain_logs.go

@@ -91,9 +91,9 @@ type DescribeDomainLogsRequest struct {
 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"`
+	TotalCount int64      `json:"TotalCount" xml:"TotalCount"`
+	PageNumber int64      `json:"PageNumber" xml:"PageNumber"`
+	PageSize   int64      `json:"PageSize" xml:"PageSize"`
 	DomainLogs DomainLogs `json:"DomainLogs" xml:"DomainLogs"`
 }
 
@@ -102,7 +102,7 @@ func CreateDescribeDomainLogsRequest() (request *DescribeDomainLogsRequest) {
 	request = &DescribeDomainLogsRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeDomainLogs", "alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeDomainLogs", "Alidns", "openAPI")
 	return
 }
 

+ 1 - 1
services/alidns/describe_domain_ns.go

@@ -96,7 +96,7 @@ func CreateDescribeDomainNsRequest() (request *DescribeDomainNsRequest) {
 	request = &DescribeDomainNsRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeDomainNs", "alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeDomainNs", "Alidns", "openAPI")
 	return
 }
 

+ 3 - 3
services/alidns/describe_domain_record_info.go

@@ -94,8 +94,8 @@ type DescribeDomainRecordInfoResponse struct {
 	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"`
+	TTL        int64  `json:"TTL" xml:"TTL"`
+	Priority   int64  `json:"Priority" xml:"Priority"`
 	Line       string `json:"Line" xml:"Line"`
 	Status     string `json:"Status" xml:"Status"`
 	Locked     bool   `json:"Locked" xml:"Locked"`
@@ -106,7 +106,7 @@ func CreateDescribeDomainRecordInfoRequest() (request *DescribeDomainRecordInfoR
 	request = &DescribeDomainRecordInfoRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeDomainRecordInfo", "alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeDomainRecordInfo", "Alidns", "openAPI")
 	return
 }
 

+ 7 - 4
services/alidns/describe_domain_records.go

@@ -77,9 +77,11 @@ func (client *Client) DescribeDomainRecordsWithCallback(request *DescribeDomainR
 type DescribeDomainRecordsRequest struct {
 	*requests.RpcRequest
 	ValueKeyWord string           `position:"Query" name:"ValueKeyWord"`
+	Line         string           `position:"Query" name:"Line"`
 	GroupId      requests.Integer `position:"Query" name:"GroupId"`
 	DomainName   string           `position:"Query" name:"DomainName"`
 	OrderBy      string           `position:"Query" name:"OrderBy"`
+	Type         string           `position:"Query" name:"Type"`
 	PageNumber   requests.Integer `position:"Query" name:"PageNumber"`
 	UserClientIp string           `position:"Query" name:"UserClientIp"`
 	PageSize     requests.Integer `position:"Query" name:"PageSize"`
@@ -89,15 +91,16 @@ type DescribeDomainRecordsRequest struct {
 	TypeKeyWord  string           `position:"Query" name:"TypeKeyWord"`
 	RRKeyWord    string           `position:"Query" name:"RRKeyWord"`
 	Direction    string           `position:"Query" name:"Direction"`
+	Status       string           `position:"Query" name:"Status"`
 }
 
 // DescribeDomainRecordsResponse is the response struct for api DescribeDomainRecords
 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"`
+	TotalCount    int64                                `json:"TotalCount" xml:"TotalCount"`
+	PageNumber    int64                                `json:"PageNumber" xml:"PageNumber"`
+	PageSize      int64                                `json:"PageSize" xml:"PageSize"`
 	DomainRecords DomainRecordsInDescribeDomainRecords `json:"DomainRecords" xml:"DomainRecords"`
 }
 
@@ -106,7 +109,7 @@ func CreateDescribeDomainRecordsRequest() (request *DescribeDomainRecordsRequest
 	request = &DescribeDomainRecordsRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeDomainRecords", "alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeDomainRecords", "Alidns", "openAPI")
 	return
 }
 

+ 108 - 0
services/alidns/describe_domain_statistics.go

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

+ 118 - 0
services/alidns/describe_domain_statistics_summary.go

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

+ 12 - 11
services/alidns/describe_domains.go

@@ -76,22 +76,23 @@ func (client *Client) DescribeDomainsWithCallback(request *DescribeDomainsReques
 // DescribeDomainsRequest is the request struct for api DescribeDomains
 type DescribeDomainsRequest struct {
 	*requests.RpcRequest
-	GroupId      string           `position:"Query" name:"GroupId"`
-	UserClientIp string           `position:"Query" name:"UserClientIp"`
-	PageSize     requests.Integer `position:"Query" name:"PageSize"`
-	SearchMode   string           `position:"Query" name:"SearchMode"`
-	Lang         string           `position:"Query" name:"Lang"`
-	KeyWord      string           `position:"Query" name:"KeyWord"`
-	PageNumber   requests.Integer `position:"Query" name:"PageNumber"`
+	ResourceGroupId string           `position:"Query" name:"ResourceGroupId"`
+	GroupId         string           `position:"Query" name:"GroupId"`
+	UserClientIp    string           `position:"Query" name:"UserClientIp"`
+	PageSize        requests.Integer `position:"Query" name:"PageSize"`
+	SearchMode      string           `position:"Query" name:"SearchMode"`
+	Lang            string           `position:"Query" name:"Lang"`
+	KeyWord         string           `position:"Query" name:"KeyWord"`
+	PageNumber      requests.Integer `position:"Query" name:"PageNumber"`
 }
 
 // DescribeDomainsResponse is the response struct for api DescribeDomains
 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"`
+	TotalCount int64   `json:"TotalCount" xml:"TotalCount"`
+	PageNumber int64   `json:"PageNumber" xml:"PageNumber"`
+	PageSize   int64   `json:"PageSize" xml:"PageSize"`
 	Domains    Domains `json:"Domains" xml:"Domains"`
 }
 
@@ -100,7 +101,7 @@ func CreateDescribeDomainsRequest() (request *DescribeDomainsRequest) {
 	request = &DescribeDomainsRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeDomains", "alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeDomains", "Alidns", "openAPI")
 	return
 }
 

+ 1 - 1
services/alidns/describe_gtm_access_strategies.go

@@ -99,7 +99,7 @@ func CreateDescribeGtmAccessStrategiesRequest() (request *DescribeGtmAccessStrat
 	request = &DescribeGtmAccessStrategiesRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeGtmAccessStrategies", "alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeGtmAccessStrategies", "Alidns", "openAPI")
 	return
 }
 

+ 1 - 1
services/alidns/describe_gtm_access_strategy.go

@@ -103,7 +103,7 @@ func CreateDescribeGtmAccessStrategyRequest() (request *DescribeGtmAccessStrateg
 	request = &DescribeGtmAccessStrategyRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeGtmAccessStrategy", "alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeGtmAccessStrategy", "Alidns", "openAPI")
 	return
 }
 

+ 1 - 1
services/alidns/describe_gtm_access_strategy_available_config.go

@@ -94,7 +94,7 @@ func CreateDescribeGtmAccessStrategyAvailableConfigRequest() (request *DescribeG
 	request = &DescribeGtmAccessStrategyAvailableConfigRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeGtmAccessStrategyAvailableConfig", "alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeGtmAccessStrategyAvailableConfig", "Alidns", "openAPI")
 	return
 }
 

+ 1 - 1
services/alidns/describe_gtm_available_alert_group.go

@@ -92,7 +92,7 @@ func CreateDescribeGtmAvailableAlertGroupRequest() (request *DescribeGtmAvailabl
 	request = &DescribeGtmAvailableAlertGroupRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeGtmAvailableAlertGroup", "alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeGtmAvailableAlertGroup", "Alidns", "openAPI")
 	return
 }
 

+ 4 - 3
services/alidns/describe_gtm_instance.go

@@ -89,14 +89,15 @@ type DescribeGtmInstanceResponse struct {
 	InstanceName    string `json:"InstanceName" xml:"InstanceName"`
 	VersionCode     string `json:"VersionCode" xml:"VersionCode"`
 	ExpireTime      string `json:"ExpireTime" xml:"ExpireTime"`
-	ExpireTimestamp int    `json:"ExpireTimestamp" xml:"ExpireTimestamp"`
+	ExpireTimestamp int64  `json:"ExpireTimestamp" xml:"ExpireTimestamp"`
 	Cname           string `json:"Cname" xml:"Cname"`
 	UserDomainName  string `json:"UserDomainName" xml:"UserDomainName"`
 	Ttl             int    `json:"Ttl" xml:"Ttl"`
 	LbaStrategy     string `json:"LbaStrategy" xml:"LbaStrategy"`
 	CreateTime      string `json:"CreateTime" xml:"CreateTime"`
-	CreateTimestamp int    `json:"CreateTimestamp" xml:"CreateTimestamp"`
+	CreateTimestamp int64  `json:"CreateTimestamp" xml:"CreateTimestamp"`
 	AlertGroup      string `json:"AlertGroup" xml:"AlertGroup"`
+	CnameMode       string `json:"CnameMode" xml:"CnameMode"`
 }
 
 // CreateDescribeGtmInstanceRequest creates a request to invoke DescribeGtmInstance API
@@ -104,7 +105,7 @@ func CreateDescribeGtmInstanceRequest() (request *DescribeGtmInstanceRequest) {
 	request = &DescribeGtmInstanceRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeGtmInstance", "alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeGtmInstance", "Alidns", "openAPI")
 	return
 }
 

+ 3 - 3
services/alidns/describe_gtm_instance_address_pool.go

@@ -87,9 +87,9 @@ type DescribeGtmInstanceAddressPoolResponse struct {
 	RequestId           string `json:"RequestId" xml:"RequestId"`
 	AddrPoolId          string `json:"AddrPoolId" xml:"AddrPoolId"`
 	CreateTime          string `json:"CreateTime" xml:"CreateTime"`
-	CreateTimestamp     int    `json:"CreateTimestamp" xml:"CreateTimestamp"`
+	CreateTimestamp     int64  `json:"CreateTimestamp" xml:"CreateTimestamp"`
 	UpdateTime          string `json:"UpdateTime" xml:"UpdateTime"`
-	UpdateTimestamp     int    `json:"UpdateTimestamp" xml:"UpdateTimestamp"`
+	UpdateTimestamp     int64  `json:"UpdateTimestamp" xml:"UpdateTimestamp"`
 	AddrCount           int    `json:"AddrCount" xml:"AddrCount"`
 	MinAvailableAddrNum int    `json:"MinAvailableAddrNum" xml:"MinAvailableAddrNum"`
 	MonitorConfigId     string `json:"MonitorConfigId" xml:"MonitorConfigId"`
@@ -105,7 +105,7 @@ func CreateDescribeGtmInstanceAddressPoolRequest() (request *DescribeGtmInstance
 	request = &DescribeGtmInstanceAddressPoolRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeGtmInstanceAddressPool", "alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeGtmInstanceAddressPool", "Alidns", "openAPI")
 	return
 }
 

+ 1 - 1
services/alidns/describe_gtm_instance_address_pools.go

@@ -99,7 +99,7 @@ func CreateDescribeGtmInstanceAddressPoolsRequest() (request *DescribeGtmInstanc
 	request = &DescribeGtmInstanceAddressPoolsRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeGtmInstanceAddressPools", "alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeGtmInstanceAddressPools", "Alidns", "openAPI")
 	return
 }
 

+ 1 - 1
services/alidns/describe_gtm_instance_status.go

@@ -94,7 +94,7 @@ func CreateDescribeGtmInstanceStatusRequest() (request *DescribeGtmInstanceStatu
 	request = &DescribeGtmInstanceStatusRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeGtmInstanceStatus", "alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeGtmInstanceStatus", "Alidns", "openAPI")
 	return
 }
 

+ 106 - 0
services/alidns/describe_gtm_instance_system_cname.go

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

+ 7 - 6
services/alidns/describe_gtm_instances.go

@@ -76,11 +76,12 @@ func (client *Client) DescribeGtmInstancesWithCallback(request *DescribeGtmInsta
 // DescribeGtmInstancesRequest is the request struct for api DescribeGtmInstances
 type DescribeGtmInstancesRequest struct {
 	*requests.RpcRequest
-	UserClientIp string           `position:"Query" name:"UserClientIp"`
-	PageSize     requests.Integer `position:"Query" name:"PageSize"`
-	Lang         string           `position:"Query" name:"Lang"`
-	Keyword      string           `position:"Query" name:"Keyword"`
-	PageNumber   requests.Integer `position:"Query" name:"PageNumber"`
+	ResourceGroupId string           `position:"Query" name:"ResourceGroupId"`
+	UserClientIp    string           `position:"Query" name:"UserClientIp"`
+	PageSize        requests.Integer `position:"Query" name:"PageSize"`
+	Lang            string           `position:"Query" name:"Lang"`
+	Keyword         string           `position:"Query" name:"Keyword"`
+	PageNumber      requests.Integer `position:"Query" name:"PageNumber"`
 }
 
 // DescribeGtmInstancesResponse is the response struct for api DescribeGtmInstances
@@ -99,7 +100,7 @@ func CreateDescribeGtmInstancesRequest() (request *DescribeGtmInstancesRequest)
 	request = &DescribeGtmInstancesRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeGtmInstances", "alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeGtmInstances", "Alidns", "openAPI")
 	return
 }
 

+ 1 - 1
services/alidns/describe_gtm_logs.go

@@ -102,7 +102,7 @@ func CreateDescribeGtmLogsRequest() (request *DescribeGtmLogsRequest) {
 	request = &DescribeGtmLogsRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeGtmLogs", "alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeGtmLogs", "Alidns", "openAPI")
 	return
 }
 

+ 1 - 1
services/alidns/describe_gtm_monitor_available_config.go

@@ -92,7 +92,7 @@ func CreateDescribeGtmMonitorAvailableConfigRequest() (request *DescribeGtmMonit
 	request = &DescribeGtmMonitorAvailableConfigRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeGtmMonitorAvailableConfig", "alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeGtmMonitorAvailableConfig", "Alidns", "openAPI")
 	return
 }
 

+ 3 - 3
services/alidns/describe_gtm_monitor_config.go

@@ -87,9 +87,9 @@ type DescribeGtmMonitorConfigResponse struct {
 	RequestId         string                                 `json:"RequestId" xml:"RequestId"`
 	MonitorConfigId   string                                 `json:"MonitorConfigId" xml:"MonitorConfigId"`
 	CreateTime        string                                 `json:"CreateTime" xml:"CreateTime"`
-	CreateTimestamp   int                                    `json:"CreateTimestamp" xml:"CreateTimestamp"`
+	CreateTimestamp   int64                                  `json:"CreateTimestamp" xml:"CreateTimestamp"`
 	UpdateTime        string                                 `json:"UpdateTime" xml:"UpdateTime"`
-	UpdateTimestamp   int                                    `json:"UpdateTimestamp" xml:"UpdateTimestamp"`
+	UpdateTimestamp   int64                                  `json:"UpdateTimestamp" xml:"UpdateTimestamp"`
 	Name              string                                 `json:"Name" xml:"Name"`
 	ProtocolType      string                                 `json:"ProtocolType" xml:"ProtocolType"`
 	Interval          int                                    `json:"Interval" xml:"Interval"`
@@ -104,7 +104,7 @@ func CreateDescribeGtmMonitorConfigRequest() (request *DescribeGtmMonitorConfigR
 	request = &DescribeGtmMonitorConfigRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeGtmMonitorConfig", "alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeGtmMonitorConfig", "Alidns", "openAPI")
 	return
 }
 

+ 4 - 4
services/alidns/describe_record_logs.go

@@ -90,9 +90,9 @@ type DescribeRecordLogsRequest struct {
 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"`
+	TotalCount int64      `json:"TotalCount" xml:"TotalCount"`
+	PageNumber int64      `json:"PageNumber" xml:"PageNumber"`
+	PageSize   int64      `json:"PageSize" xml:"PageSize"`
 	RecordLogs RecordLogs `json:"RecordLogs" xml:"RecordLogs"`
 }
 
@@ -101,7 +101,7 @@ func CreateDescribeRecordLogsRequest() (request *DescribeRecordLogsRequest) {
 	request = &DescribeRecordLogsRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeRecordLogs", "alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeRecordLogs", "Alidns", "openAPI")
 	return
 }
 

+ 109 - 0
services/alidns/describe_record_statistics.go

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

+ 109 - 0
services/alidns/describe_record_statistics_history.go

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

+ 119 - 0
services/alidns/describe_record_statistics_summary.go

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

+ 4 - 4
services/alidns/describe_sub_domain_records.go

@@ -89,9 +89,9 @@ type DescribeSubDomainRecordsRequest struct {
 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"`
+	TotalCount    int64                                   `json:"TotalCount" xml:"TotalCount"`
+	PageNumber    int64                                   `json:"PageNumber" xml:"PageNumber"`
+	PageSize      int64                                   `json:"PageSize" xml:"PageSize"`
 	DomainRecords DomainRecordsInDescribeSubDomainRecords `json:"DomainRecords" xml:"DomainRecords"`
 }
 
@@ -100,7 +100,7 @@ func CreateDescribeSubDomainRecordsRequest() (request *DescribeSubDomainRecordsR
 	request = &DescribeSubDomainRecordsRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeSubDomainRecords", "alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeSubDomainRecords", "Alidns", "openAPI")
 	return
 }
 

+ 1 - 1
services/alidns/describe_support_lines.go

@@ -93,7 +93,7 @@ func CreateDescribeSupportLinesRequest() (request *DescribeSupportLinesRequest)
 	request = &DescribeSupportLinesRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeSupportLines", "alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "DescribeSupportLines", "Alidns", "openAPI")
 	return
 }
 

+ 2 - 2
services/alidns/get_main_domain_name.go

@@ -87,7 +87,7 @@ type GetMainDomainNameResponse struct {
 	RequestId   string `json:"RequestId" xml:"RequestId"`
 	DomainName  string `json:"DomainName" xml:"DomainName"`
 	RR          string `json:"RR" xml:"RR"`
-	DomainLevel int    `json:"DomainLevel" xml:"DomainLevel"`
+	DomainLevel int64  `json:"DomainLevel" xml:"DomainLevel"`
 }
 
 // CreateGetMainDomainNameRequest creates a request to invoke GetMainDomainName API
@@ -95,7 +95,7 @@ func CreateGetMainDomainNameRequest() (request *GetMainDomainNameRequest) {
 	request = &GetMainDomainNameRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "GetMainDomainName", "alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "GetMainDomainName", "Alidns", "openAPI")
 	return
 }
 

+ 1 - 1
services/alidns/modify_hichina_domain_dns.go

@@ -94,7 +94,7 @@ func CreateModifyHichinaDomainDNSRequest() (request *ModifyHichinaDomainDNSReque
 	request = &ModifyHichinaDomainDNSRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "ModifyHichinaDomainDNS", "alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "ModifyHichinaDomainDNS", "Alidns", "openAPI")
 	return
 }
 

+ 5 - 2
services/alidns/operate_batch_domain.go

@@ -85,19 +85,22 @@ type OperateBatchDomainRequest struct {
 // OperateBatchDomainDomainRecordInfo is a repeated param struct in OperateBatchDomainRequest
 type OperateBatchDomainDomainRecordInfo struct {
 	Rr       string `name:"Rr"`
+	NewType  string `name:"NewType"`
+	NewValue string `name:"NewValue"`
 	Line     string `name:"Line"`
 	Domain   string `name:"Domain"`
 	Type     string `name:"Type"`
 	Priority string `name:"Priority"`
 	Value    string `name:"Value"`
 	Ttl      string `name:"Ttl"`
+	NewRr    string `name:"NewRr"`
 }
 
 // OperateBatchDomainResponse is the response struct for api OperateBatchDomain
 type OperateBatchDomainResponse struct {
 	*responses.BaseResponse
 	RequestId string `json:"RequestId" xml:"RequestId"`
-	TaskId    int    `json:"TaskId" xml:"TaskId"`
+	TaskId    int64  `json:"TaskId" xml:"TaskId"`
 }
 
 // CreateOperateBatchDomainRequest creates a request to invoke OperateBatchDomain API
@@ -105,7 +108,7 @@ func CreateOperateBatchDomainRequest() (request *OperateBatchDomainRequest) {
 	request = &OperateBatchDomainRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "OperateBatchDomain", "alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "OperateBatchDomain", "Alidns", "openAPI")
 	return
 }
 

+ 1 - 1
services/alidns/query_create_instance_price.go

@@ -99,7 +99,7 @@ func CreateQueryCreateInstancePriceRequest() (request *QueryCreateInstancePriceR
 	request = &QueryCreateInstancePriceRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "QueryCreateInstancePrice", "alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "QueryCreateInstancePrice", "Alidns", "openAPI")
 	return
 }
 

+ 2 - 2
services/alidns/set_dnsslb_status.go

@@ -86,7 +86,7 @@ type SetDNSSLBStatusRequest struct {
 type SetDNSSLBStatusResponse struct {
 	*responses.BaseResponse
 	RequestId   string `json:"RequestId" xml:"RequestId"`
-	RecordCount int    `json:"RecordCount" xml:"RecordCount"`
+	RecordCount int64  `json:"RecordCount" xml:"RecordCount"`
 	Open        bool   `json:"Open" xml:"Open"`
 }
 
@@ -95,7 +95,7 @@ func CreateSetDNSSLBStatusRequest() (request *SetDNSSLBStatusRequest) {
 	request = &SetDNSSLBStatusRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "SetDNSSLBStatus", "alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "SetDNSSLBStatus", "Alidns", "openAPI")
 	return
 }
 

+ 1 - 1
services/alidns/set_domain_record_status.go

@@ -95,7 +95,7 @@ func CreateSetDomainRecordStatusRequest() (request *SetDomainRecordStatusRequest
 	request = &SetDomainRecordStatusRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "SetDomainRecordStatus", "alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "SetDomainRecordStatus", "Alidns", "openAPI")
 	return
 }
 

+ 1 - 1
services/alidns/set_gtm_access_mode.go

@@ -93,7 +93,7 @@ func CreateSetGtmAccessModeRequest() (request *SetGtmAccessModeRequest) {
 	request = &SetGtmAccessModeRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "SetGtmAccessMode", "alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "SetGtmAccessMode", "Alidns", "openAPI")
 	return
 }
 

+ 1 - 1
services/alidns/set_gtm_monitor_status.go

@@ -93,7 +93,7 @@ func CreateSetGtmMonitorStatusRequest() (request *SetGtmMonitorStatusRequest) {
 	request = &SetGtmMonitorStatusRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Alidns", "2015-01-09", "SetGtmMonitorStatus", "alidns", "openAPI")
+	request.InitWithApiInfo("Alidns", "2015-01-09", "SetGtmMonitorStatus", "Alidns", "openAPI")
 	return
 }
 

+ 3 - 3
services/alidns/struct_addr.go

@@ -17,11 +17,11 @@ package alidns
 
 // Addr is a nested struct in alidns response
 type Addr struct {
-	AddrId          int    `json:"AddrId" xml:"AddrId"`
+	AddrId          int64  `json:"AddrId" xml:"AddrId"`
 	CreateTime      string `json:"CreateTime" xml:"CreateTime"`
-	CreateTimestamp int    `json:"CreateTimestamp" xml:"CreateTimestamp"`
+	CreateTimestamp int64  `json:"CreateTimestamp" xml:"CreateTimestamp"`
 	UpdateTime      string `json:"UpdateTime" xml:"UpdateTime"`
-	UpdateTimestamp int    `json:"UpdateTimestamp" xml:"UpdateTimestamp"`
+	UpdateTimestamp int64  `json:"UpdateTimestamp" xml:"UpdateTimestamp"`
 	Value           string `json:"Value" xml:"Value"`
 	LbaWeight       int    `json:"LbaWeight" xml:"LbaWeight"`
 	Mode            string `json:"Mode" xml:"Mode"`

+ 2 - 2
services/alidns/struct_addr_pool.go

@@ -22,11 +22,11 @@ type AddrPool struct {
 	MinAvailableAddrNum int    `json:"MinAvailableAddrNum" xml:"MinAvailableAddrNum"`
 	UpdateTime          string `json:"UpdateTime" xml:"UpdateTime"`
 	MonitorConfigId     string `json:"MonitorConfigId" xml:"MonitorConfigId"`
-	CreateTimestamp     int    `json:"CreateTimestamp" xml:"CreateTimestamp"`
+	CreateTimestamp     int64  `json:"CreateTimestamp" xml:"CreateTimestamp"`
 	CreateTime          string `json:"CreateTime" xml:"CreateTime"`
 	AddrPoolName        string `json:"AddrPoolName" xml:"AddrPoolName"`
 	AddrPoolId          string `json:"AddrPoolId" xml:"AddrPoolId"`
-	UpdateTimestamp     int    `json:"UpdateTimestamp" xml:"UpdateTimestamp"`
+	UpdateTimestamp     int64  `json:"UpdateTimestamp" xml:"UpdateTimestamp"`
 	Status              string `json:"Status" xml:"Status"`
 	MonitorStatus       string `json:"MonitorStatus" xml:"MonitorStatus"`
 	Type                string `json:"Type" xml:"Type"`

+ 2 - 2
services/alidns/struct_batch_result_detail.go

@@ -28,8 +28,8 @@ type BatchResultDetail struct {
 	BatchType      string `json:"BatchType" xml:"BatchType"`
 	OperateDateStr string `json:"OperateDateStr" xml:"OperateDateStr"`
 	Line           string `json:"Line" xml:"Line"`
-	Priority       int    `json:"Priority" xml:"Priority"`
-	Ttl            int    `json:"Ttl" xml:"Ttl"`
+	Priority       string `json:"Priority" xml:"Priority"`
+	Ttl            string `json:"Ttl" xml:"Ttl"`
 	RecordId       string `json:"RecordId" xml:"RecordId"`
 	Remark         string `json:"Remark" xml:"Remark"`
 	RrStatus       string `json:"RrStatus" xml:"RrStatus"`

+ 16 - 16
services/alidns/struct_dns_product.go

@@ -22,30 +22,30 @@ type DnsProduct struct {
 	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"`
+	StartTimestamp        int64  `json:"StartTimestamp" xml:"StartTimestamp"`
+	EndTimestamp          int64  `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"`
+	BindCount             int64  `json:"BindCount" xml:"BindCount"`
+	BindUsedCount         int64  `json:"BindUsedCount" xml:"BindUsedCount"`
+	TTLMinValue           int64  `json:"TTLMinValue" xml:"TTLMinValue"`
+	SubDomainLevel        int64  `json:"SubDomainLevel" xml:"SubDomainLevel"`
+	DnsSLBCount           int64  `json:"DnsSLBCount" xml:"DnsSLBCount"`
+	URLForwardCount       int64  `json:"URLForwardCount" xml:"URLForwardCount"`
+	DDosDefendFlow        int64  `json:"DDosDefendFlow" xml:"DDosDefendFlow"`
+	DDosDefendQuery       int64  `json:"DDosDefendQuery" xml:"DDosDefendQuery"`
+	OverseaDDosDefendFlow int64  `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"`
+	MonitorNodeCount      int64  `json:"MonitorNodeCount" xml:"MonitorNodeCount"`
+	MonitorFrequency      int64  `json:"MonitorFrequency" xml:"MonitorFrequency"`
+	MonitorTaskCount      int64  `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"`
-	BindDomainCount       int    `json:"BindDomainCount" xml:"BindDomainCount"`
-	BindDomainUsedCount   int    `json:"BindDomainUsedCount" xml:"BindDomainUsedCount"`
+	BindDomainCount       int64  `json:"BindDomainCount" xml:"BindDomainCount"`
+	BindDomainUsedCount   int64  `json:"BindDomainUsedCount" xml:"BindDomainUsedCount"`
 	DnsSecurity           string `json:"DnsSecurity" xml:"DnsSecurity"`
 }

+ 1 - 1
services/alidns/struct_domain.go

@@ -21,7 +21,7 @@ type Domain struct {
 	DomainName      string                      `json:"DomainName" xml:"DomainName"`
 	PunyCode        string                      `json:"PunyCode" xml:"PunyCode"`
 	AliDomain       bool                        `json:"AliDomain" xml:"AliDomain"`
-	RecordCount     int                         `json:"RecordCount" xml:"RecordCount"`
+	RecordCount     int64                       `json:"RecordCount" xml:"RecordCount"`
 	RegistrantEmail string                      `json:"RegistrantEmail" xml:"RegistrantEmail"`
 	Remark          string                      `json:"Remark" xml:"Remark"`
 	GroupId         string                      `json:"GroupId" xml:"GroupId"`

+ 1 - 1
services/alidns/struct_domain_group.go

@@ -19,5 +19,5 @@ package alidns
 type DomainGroup struct {
 	GroupId     string `json:"GroupId" xml:"GroupId"`
 	GroupName   string `json:"GroupName" xml:"GroupName"`
-	DomainCount int    `json:"DomainCount" xml:"DomainCount"`
+	DomainCount int64  `json:"DomainCount" xml:"DomainCount"`
 }

+ 2 - 1
services/alidns/struct_domain_log.go

@@ -18,9 +18,10 @@ package alidns
 // DomainLog is a nested struct in alidns response
 type DomainLog struct {
 	ActionTime      string `json:"ActionTime" xml:"ActionTime"`
-	ActionTimestamp int    `json:"ActionTimestamp" xml:"ActionTimestamp"`
+	ActionTimestamp int64  `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"`
+	ZoneId          string `json:"ZoneId" xml:"ZoneId"`
 }

+ 3 - 2
services/alidns/struct_gtm_instance.go

@@ -25,8 +25,9 @@ type GtmInstance struct {
 	Ttl             int    `json:"Ttl" xml:"Ttl"`
 	LbaStrategy     string `json:"LbaStrategy" xml:"LbaStrategy"`
 	CreateTime      string `json:"CreateTime" xml:"CreateTime"`
-	CreateTimestamp int    `json:"CreateTimestamp" xml:"CreateTimestamp"`
+	CreateTimestamp int64  `json:"CreateTimestamp" xml:"CreateTimestamp"`
 	ExpireTime      string `json:"ExpireTime" xml:"ExpireTime"`
-	ExpireTimestamp int    `json:"ExpireTimestamp" xml:"ExpireTimestamp"`
+	ExpireTimestamp int64  `json:"ExpireTimestamp" xml:"ExpireTimestamp"`
 	AlertGroup      string `json:"AlertGroup" xml:"AlertGroup"`
+	CnameMode       string `json:"CnameMode" xml:"CnameMode"`
 }

Vissa filer visades inte eftersom för många filer har ändrats