Ver código fonte

reset repo

Signed-off-by: 高汝彤 <rutong.grt@alibaba-inc.com>
高汝彤 8 anos atrás
pai
commit
e62e58c99e
61 arquivos alterados com 0 adições e 10857 exclusões
  1. 0 20
      sdk/auth/credential.go
  2. 0 6
      sdk/auth/credentials/BaseCredential.go
  3. 0 6
      sdk/auth/credentials/EcsInstanceCredential.go
  4. 0 9
      sdk/auth/credentials/StsAssumeRoleCredential.go
  5. 0 7
      sdk/auth/credentials/StsCredential.go
  6. 0 107
      sdk/auth/roa_signature_composer.go
  7. 0 80
      sdk/auth/rpc_signature_composer.go
  8. 0 78
      sdk/auth/signer.go
  9. 0 30
      sdk/auth/signers/algorithms.go
  10. 0 52
      sdk/auth/signers/credential_updater.go
  11. 0 58
      sdk/auth/signers/signer_ecs_instance.go
  12. 0 58
      sdk/auth/signers/signer_sts.go
  13. 0 145
      sdk/auth/signers/signer_sts_assume_role.go
  14. 0 58
      sdk/auth/signers/signer_v1.go
  15. 0 185
      sdk/client.go
  16. 0 322
      sdk/client_test.go
  17. 0 49
      sdk/config.go
  18. 0 4778
      sdk/endpoints/endpoints.xml
  19. 0 102
      sdk/endpoints/local_xml_resolver.go
  20. 0 124
      sdk/endpoints/location_resolver.go
  21. 0 78
      sdk/endpoints/resolver.go
  22. 0 26
      sdk/endpoints/simple_host_resolver.go
  23. 0 80
      sdk/errors/client_error.go
  24. 0 23
      sdk/errors/error.go
  25. 0 49
      sdk/errors/server_error.go
  26. 0 258
      sdk/requests/acs_reqeust.go
  27. 0 76
      sdk/requests/common_request.go
  28. 0 122
      sdk/requests/roa_request.go
  29. 0 75
      sdk/requests/rpc_request.go
  30. 0 124
      sdk/responses/response.go
  31. 0 100
      sdk/utils/utils.go
  32. 0 104
      services/ft/api_define_test.go
  33. 0 44
      services/ft/client.go
  34. 0 90
      services/ft/dubbo_perf_api.go
  35. 0 145
      services/ft/gated_launch_ft_api.go
  36. 0 94
      services/ft/hidden_json_item_name_ft_api.go
  37. 0 101
      services/ft/multi_input_param_api.go
  38. 0 144
      services/ft/rpc_anonymous_api.go
  39. 0 161
      services/ft/rpc_dubbo_api.go
  40. 0 161
      services/ft/rpc_dubbo_api2.go
  41. 0 161
      services/ft/rpc_dubbo_api3.go
  42. 0 113
      services/ft/rpc_dubbo_api_for_dev.go
  43. 0 157
      services/ft/rpc_dubbo_api_for_repeat_list.go
  44. 0 142
      services/ft/rpc_dubbo_api_tmp.go
  45. 0 124
      services/ft/rpc_dubbo_error_api.go
  46. 0 122
      services/ft/rpc_flow_control_api_and_user_refuse_api.go
  47. 0 122
      services/ft/rpc_flow_control_api_expire_api.go
  48. 0 122
      services/ft/rpc_flow_control_api_refuse_api.go
  49. 0 123
      services/ft/rpc_flow_control_pass_api.go
  50. 0 122
      services/ft/rpc_flow_control_user_refuse_api.go
  51. 0 145
      services/ft/rpc_hsf_api.go
  52. 0 145
      services/ft/rpc_hsf_api2.go
  53. 0 145
      services/ft/rpc_hsf_api_multi.go
  54. 0 97
      services/ft/rpc_http_api.go
  55. 0 97
      services/ft/rpc_http_api2.go
  56. 0 97
      services/ft/rpc_http_api3.go
  57. 0 94
      services/ft/rpc_http_sign_test_api.go
  58. 0 122
      services/ft/rpc_no_default_error_code_api.go
  59. 0 92
      services/ft/rpc_no_isp_api.go
  60. 0 92
      services/ft/rpc_p_o_s_t_allowed_api.go
  61. 0 94
      services/ft/show_json_item_name_ft_api.go

+ 0 - 20
sdk/auth/credential.go

@@ -1,20 +0,0 @@
-/*
- * 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.
- */
-
-package auth
-
-type Credential interface {
-
-}
-

+ 0 - 6
sdk/auth/credentials/BaseCredential.go

@@ -1,6 +0,0 @@
-package credentials
-
-type BaseCredential struct {
-	AccessKeyId     string
-	AccessKeySecret string
-}

+ 0 - 6
sdk/auth/credentials/EcsInstanceCredential.go

@@ -1,6 +0,0 @@
-package credentials
-
-type EcsInstanceCredential struct {
-	RoleName string
-}
-

+ 0 - 9
sdk/auth/credentials/StsAssumeRoleCredential.go

@@ -1,9 +0,0 @@
-package credentials
-
-type StsAssumeRoleCredential struct {
-	AccessKeyId           string
-	AccessKeySecret       string
-	RoleArn               string
-	RoleSessionName       string
-	RoleSessionExpiration int
-}

+ 0 - 7
sdk/auth/credentials/StsCredential.go

@@ -1,7 +0,0 @@
-package credentials
-
-type StsCredential struct {
-	AccessKeyId       string
-	AccessKeySecret   string
-	AccessKeyStsToken string
-}

+ 0 - 107
sdk/auth/roa_signature_composer.go

@@ -1,107 +0,0 @@
-/*
- * 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.
- */
-
-package auth
-
-import (
-	"bytes"
-	"sort"
-	"strings"
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/utils"
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
-)
-
-func signRoaRequest(request *requests.RoaRequest, signer Signer, regionId string) {
-	completeROASignParams(request, signer, regionId)
-	stringToSign := buildRoaStringToSign(request)
-	signature := signer.Sign(stringToSign, "")
-	request.Headers["Authorization"] = "acs " + signer.GetAccessKeyId() + ":" + signature
-}
-
-func completeROASignParams(request *requests.RoaRequest, signer Signer, regionId string) {
-	// complete query params
-	queryParams := request.QueryParams
-	if _, ok := queryParams["RegionId"]; !ok {
-		queryParams["RegionId"] = regionId
-	}
-	if extraParam := signer.GetExtraParam(); extraParam != nil {
-		for key, value := range extraParam {
-			queryParams[key] = value
-		}
-	}
-
-	// complete header params
-	headerParams := request.Headers
-	headerParams["Date"] = utils.GetTimeInFormatRFC2616()
-	headerParams["x-acs-signature-method"] = signer.GetName()
-	headerParams["x-acs-signature-version"] = signer.GetVersion()
-	if request.FormParams != nil && len(request.FormParams) > 0 {
-		formString := utils.GetUrlFormedMap(request.FormParams)
-		request.Content = []byte(formString)
-		headerParams["Content-Type"] = requests.Form
-	}
-	contentMD5 := utils.GetMD5Base64(request.Content)
-	headerParams["Content-MD5"] = contentMD5
-	if _, contains := headerParams["Content-Type"]; !contains {
-		headerParams["Content-Type"] = requests.Raw
-	}
-	switch format := request.GetAcceptFormat(); format {
-	case "JSON":
-		headerParams["Accept"] = requests.Json
-	case "XML":
-		headerParams["Accept"] = requests.Xml
-	default:
-		headerParams["Accept"] = requests.Raw
-	}
-}
-
-func buildRoaStringToSign(request *requests.RoaRequest) (stringToSign string) {
-
-	headers := request.Headers
-
-	stringToSignBuilder := bytes.Buffer{}
-	stringToSignBuilder.WriteString(request.Method)
-	stringToSignBuilder.WriteString(requests.HeaderSeparator)
-
-	// append header keys for sign
-	appendIfContain(headers, &stringToSignBuilder, "Accept", requests.HeaderSeparator)
-	appendIfContain(headers, &stringToSignBuilder, "Content-MD5", requests.HeaderSeparator)
-	appendIfContain(headers, &stringToSignBuilder, "Content-Type", requests.HeaderSeparator)
-	appendIfContain(headers, &stringToSignBuilder, "Date", requests.HeaderSeparator)
-
-	// sort and append headers witch starts with 'x-acs-'
-	var acsHeaders []string
-	for key := range headers {
-		if strings.HasPrefix(key, "x-acs-") {
-			acsHeaders = append(acsHeaders, key)
-		}
-	}
-	sort.Strings(acsHeaders)
-	for _, key := range acsHeaders {
-		stringToSignBuilder.WriteString(key + ":" + headers[key])
-		stringToSignBuilder.WriteString(requests.HeaderSeparator)
-	}
-
-	// append query params
-	stringToSignBuilder.WriteString(request.GetQueries())
-	stringToSign = stringToSignBuilder.String()
-	return
-}
-
-func appendIfContain(sourceMap map[string]string, target *bytes.Buffer, key, separator string) {
-	if value, contain := sourceMap[key]; contain && len(value) > 0 {
-		target.WriteString(sourceMap[key])
-		target.WriteString(separator)
-	}
-}

+ 0 - 80
sdk/auth/rpc_signature_composer.go

@@ -1,80 +0,0 @@
-/*
- * 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.
- */
-
-package auth
-
-import (
-	"net/url"
-	"sort"
-	"strings"
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/utils"
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
-)
-
-func signRpcRequest(request *requests.RpcRequest, signer Signer, regionId string) {
-	completeRpcSignParams(request, signer, regionId)
-	stringToSign := buildRpcStringToSign(request)
-	signature := signer.Sign(stringToSign, "&")
-	request.QueryParams["Signature"] = signature
-}
-
-func completeRpcSignParams(request *requests.RpcRequest, signer Signer, regionId string) {
-	queryParams := request.QueryParams
-	queryParams["Version"] = request.GetVersion()
-	queryParams["Action"] = request.GetActionName()
-	queryParams["Format"] = request.GetAcceptFormat()
-	queryParams["Timestamp"] = utils.GetTimeInFormatISO8601()
-	queryParams["SignatureMethod"] = signer.GetName()
-	queryParams["SignatureType"] = signer.GetType()
-	queryParams["SignatureVersion"] = signer.GetVersion()
-	queryParams["SignatureNonce"] = utils.GetUUIDV4()
-	queryParams["AccessKeyId"] = signer.GetAccessKeyId()
-
-	if _, contains := queryParams["RegionId"]; !contains {
-		queryParams["RegionId"] = regionId
-	}
-	if extraParam := signer.GetExtraParam(); extraParam != nil {
-		for key, value := range extraParam {
-			queryParams[key] = value
-		}
-	}
-
-	request.Headers["Content-Type"] = requests.Form
-	formString := utils.GetUrlFormedMap(request.FormParams)
-	request.Content = []byte(formString)
-}
-
-func buildRpcStringToSign(request *requests.RpcRequest) (stringToSign string) {
-	signParams := make(map[string]string)
-	for key, value := range request.QueryParams {
-		signParams[key] = value
-	}
-	for key, value := range request.FormParams {
-		signParams[key] = value
-	}
-
-	// sort params by key
-	var paramKeySlice []string
-	for key := range signParams {
-		paramKeySlice = append(paramKeySlice, key)
-	}
-	sort.Strings(paramKeySlice)
-	stringToSign = utils.GetUrlFormedMap(signParams)
-	stringToSign = strings.Replace(stringToSign, "+", "%20", -1)
-	stringToSign = strings.Replace(stringToSign, "*", "%2A", -1)
-	stringToSign = strings.Replace(stringToSign, "%7E", "~", -1)
-	stringToSign = url.QueryEscape(stringToSign)
-	stringToSign = request.Method + "&%2F&" + stringToSign
-	return
-}

+ 0 - 78
sdk/auth/signer.go

@@ -1,78 +0,0 @@
-/*
- * 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.
- */
-
-package auth
-
-import (
-	"fmt"
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/auth/signers"
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/errors"
-	"reflect"
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/auth/credentials"
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
-)
-
-type Signer interface {
-	GetName() string
-	GetType() string
-	GetVersion() string
-	GetAccessKeyId() string
-	GetExtraParam() map[string]string
-	Sign(stringToSign, secretSuffix string) string
-	Shutdown()
-}
-
-func NewSignerWithCredential(credential Credential, commonApi func(request *requests.CommonRequest) (response *responses.CommonResponse, err error)) (signer Signer, err error) {
-	switch instance := credential.(type) {
-	case *credentials.BaseCredential:
-		{
-			signer, err = signers.NewSignerV1(instance)
-		}
-	case *credentials.StsCredential:
-		{
-			signer, err = signers.NewSignerSts(instance)
-		}
-	case *credentials.StsAssumeRoleCredential:
-		{
-			signer, err = signers.NewSignerStsAssumeRole(instance, commonApi)
-		}
-	default:
-		message := fmt.Sprintf(errors.UnsupportedCredentialMessage, reflect.TypeOf(credential))
-		err = errors.NewClientError(errors.UnsupportedCredentialCode, message, nil)
-	}
-	return
-}
-
-func Sign(request requests.AcsRequest, signer Signer, regionId string) (err error) {
-	switch instance := request.(type) {
-	case *requests.RoaRequest:
-		{
-			signRoaRequest(instance, signer, regionId)
-		}
-	case *requests.RpcRequest:
-		{
-			signRpcRequest(instance, signer, regionId)
-		}
-	case *requests.CommonRequest:
-		{
-			err = Sign(instance.Ontology, signer, regionId)
-		}
-	default:
-		message := fmt.Sprintf(errors.UnknownRequestTypeMessage, reflect.TypeOf(request))
-		err = errors.NewClientError(errors.UnknownRequestTypeCode, message, nil)
-	}
-
-	return
-}

+ 0 - 30
sdk/auth/signers/algorithms.go

@@ -1,30 +0,0 @@
-/*
- * 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.
- */
-
-package signers
-
-import (
-	"crypto/hmac"
-	"crypto/sha1"
-	"encoding/base64"
-)
-
-func ShaHmac1(source, secret string) string {
-	key := []byte(secret)
-	hmac := hmac.New(sha1.New, key)
-	hmac.Write([]byte(source))
-	signedBytes := hmac.Sum(nil)
-	signedString := base64.StdEncoding.EncodeToString(signedBytes)
-	return signedString
-}

+ 0 - 52
sdk/auth/signers/credential_updater.go

@@ -1,52 +0,0 @@
-/*
- * 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.
- */
-
-package signers
-
-import (
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
-	"time"
-)
-
-const defaultInAdvanceScale = 0.8
-
-type credentialUpdater struct {
-	credentialExpiration int
-	lastUpdateTimestamp  int64
-	inAdvanceScale       float64
-	buildRequestMethod   func() (*requests.CommonRequest, error)
-	responseCallBack     func(response *responses.CommonResponse) (error)
-	commonApi            func(request *requests.CommonRequest) (response *responses.CommonResponse, err error)
-}
-
-func (updater *credentialUpdater) needUpdateCredential() (result bool) {
-	if updater.inAdvanceScale == 0 {
-		updater.inAdvanceScale = defaultInAdvanceScale
-	}
-	return time.Now().Unix()-updater.lastUpdateTimestamp >= int64(float64(updater.credentialExpiration)*updater.inAdvanceScale)
-}
-
-func (updater *credentialUpdater) updateCredential() (err error) {
-	request, err := updater.buildRequestMethod()
-	if err == nil {
-		return
-	}
-	response, err := updater.commonApi(request)
-	if err == nil {
-		return
-	}
-	err = updater.responseCallBack(response)
-	return
-}

+ 0 - 58
sdk/auth/signers/signer_ecs_instance.go

@@ -1,58 +0,0 @@
-/*
- * 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.
- */
-
-package signers
-
-import (
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/auth/credentials"
-)
-
-type SignerEcsInstance struct {
-	credential *credentials.EcsInstanceCredential
-}
-
-func NewSignerEcsInstance(credential *credentials.EcsInstanceCredential) *SignerEcsInstance {
-	return &SignerEcsInstance{
-		credential: credential,
-	}
-}
-
-func (*SignerEcsInstance) GetName() string {
-	return "HMAC-SHA1"
-}
-
-func (*SignerEcsInstance) GetType() string {
-	return ""
-}
-
-func (*SignerEcsInstance) GetVersion() string {
-	return "1.0"
-}
-
-func (signer *SignerEcsInstance) GetAccessKeyId() string {
-	return signer.credential.RoleName
-}
-
-func (signer *SignerEcsInstance) GetExtraParam() map[string]string {
-	return map[string]string{"SecurityToken": signer.credential.RoleName}
-}
-
-func (signer *SignerEcsInstance) Sign(stringToSign, secretSuffix string) string {
-	secret := signer.credential.RoleName + secretSuffix
-	return ShaHmac1(stringToSign, secret)
-}
-
-func (signer *SignerEcsInstance) Shutdown() {
-
-}

+ 0 - 58
sdk/auth/signers/signer_sts.go

@@ -1,58 +0,0 @@
-/*
- * 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.
- */
-
-package signers
-
-import (
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/auth/credentials"
-)
-
-type SignerSts struct {
-	credential *credentials.StsCredential
-}
-
-func NewSignerSts(credential *credentials.StsCredential) (*SignerSts, error) {
-	return &SignerSts{
-		credential: credential,
-	}, nil
-}
-
-func (*SignerSts) GetName() string {
-	return "HMAC-SHA1"
-}
-
-func (*SignerSts) GetType() string {
-	return ""
-}
-
-func (*SignerSts) GetVersion() string {
-	return "1.0"
-}
-
-func (signer *SignerSts) GetAccessKeyId() string {
-	return signer.credential.AccessKeyId
-}
-
-func (signer *SignerSts) GetExtraParam() map[string]string {
-	return map[string]string{"SecurityToken": signer.credential.AccessKeyStsToken}
-}
-
-func (signer *SignerSts) Sign(stringToSign, secretSuffix string) string {
-	secret := signer.credential.AccessKeySecret + secretSuffix
-	return ShaHmac1(stringToSign, secret)
-}
-
-func (signer *SignerSts) Shutdown() {
-
-}

+ 0 - 145
sdk/auth/signers/signer_sts_assume_role.go

@@ -1,145 +0,0 @@
-/*
- * 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.
- */
-
-package signers
-
-import (
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/auth/credentials"
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
-	"time"
-	"strconv"
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/errors"
-	"net/http"
-	"encoding/json"
-	"github.com/jmespath/go-jmespath"
-)
-
-const (
-	defaultDurationSeconds = 3600
-)
-
-type SignerStsAssumeRole struct {
-	*credentialUpdater
-	roleSessionName   string
-	sessionCredential *sessionCredential
-	credential        *credentials.StsAssumeRoleCredential
-}
-
-type sessionCredential struct {
-	accessKeyId     string
-	accessKeySecret string
-	securityToken   string
-}
-
-func NewSignerStsAssumeRole(credential *credentials.StsAssumeRoleCredential, commonApi func(request *requests.CommonRequest) (response *responses.CommonResponse, err error)) (signer *SignerStsAssumeRole, err error) {
-	signer = &SignerStsAssumeRole{
-		credentialUpdater: &credentialUpdater{
-			credentialExpiration: credential.RoleSessionExpiration,
-			buildRequestMethod:   signer.buildCommonRequest,
-			responseCallBack:     signer.refreshCredential,
-			commonApi:            commonApi,
-		},
-		credential: credential,
-	}
-	if len(credential.RoleSessionName) > 0 {
-		signer.roleSessionName = credential.RoleSessionName
-	} else {
-		signer.roleSessionName = "aliyun-go-sdk-" + strconv.FormatInt(time.Now().UnixNano()/1000, 10)
-	}
-	if credential.RoleSessionExpiration > 0 {
-		if credential.RoleSessionExpiration > 900 && credential.RoleSessionExpiration < 3600 {
-			signer.credentialExpiration = credential.RoleSessionExpiration
-		} else {
-			err = errors.NewClientError(errors.InvalidParamCode, "Assume Role session duration should be in the range of 15min - 1Hr", nil)
-		}
-	} else {
-		signer.credentialExpiration = defaultDurationSeconds
-	}
-	return
-}
-
-func (*SignerStsAssumeRole) GetName() string {
-	return "HMAC-SHA1"
-}
-
-func (*SignerStsAssumeRole) GetType() string {
-	return ""
-}
-
-func (*SignerStsAssumeRole) GetVersion() string {
-	return "1.0"
-}
-
-func (signer *SignerStsAssumeRole) GetAccessKeyId() string {
-	return signer.credential.AccessKeyId
-}
-
-func (signer *SignerStsAssumeRole) GetExtraParam() map[string]string {
-	return map[string]string{"SecurityToken": signer.credential.RoleArn}
-}
-
-func (signer *SignerStsAssumeRole) Sign(stringToSign, secretSuffix string) string {
-	if signer.sessionCredential == nil || signer.needUpdateCredential() {
-		signer.updateCredential()
-	}
-	secret := signer.credential.AccessKeySecret + secretSuffix
-	return ShaHmac1(stringToSign, secret)
-}
-
-func (signer *SignerStsAssumeRole) buildCommonRequest() (request *requests.CommonRequest, err error) {
-	request = requests.NewCommonRequest()
-	request.Product = "Sts"
-	request.Version = "2015-04-01"
-	request.ApiName = "AssumeRole"
-	request.QueryParams["RoleArn"] = signer.credential.RoleArn
-	request.QueryParams["RoleSessionName"] = signer.credential.RoleSessionName
-	request.QueryParams["DurationSeconds"] = strconv.Itoa(signer.credentialExpiration)
-	return
-}
-
-func (signer *SignerStsAssumeRole) refreshCredential(response *responses.CommonResponse) (err error) {
-	if response.GetHttpStatus() != http.StatusOK {
-		message := "refresh session token failed, message = " + response.GetHttpContentString()
-		err = errors.NewServerError(response.GetHttpStatus(), response.GetOriginHttpResponse().Status, message)
-		return
-	}
-	var data interface{}
-	err = json.Unmarshal(response.GetHttpContentBytes(), data)
-	if err != nil {
-		return
-	}
-	accessKeyId, err := jmespath.Search("AssumeRoleResponse.Credentials.AccessKeyId", data)
-	if err != nil {
-		return
-	}
-	accessKeySecret, err := jmespath.Search("AssumeRoleResponse.Credentials.AccessKeySecret", data)
-	if err != nil {
-		return
-	}
-	securityToken, err := jmespath.Search("AssumeRoleResponse.Credentials.SecurityToken", data)
-	if err != nil {
-		return
-	}
-	signer.sessionCredential = &sessionCredential{
-		accessKeyId:     accessKeyId.(string),
-		accessKeySecret: accessKeySecret.(string),
-		securityToken:   securityToken.(string),
-	}
-	return
-}
-
-func (signer *SignerStsAssumeRole) Shutdown() {
-
-}

+ 0 - 58
sdk/auth/signers/signer_v1.go

@@ -1,58 +0,0 @@
-/*
- * 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.
- */
-
-package signers
-
-import (
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/auth/credentials"
-)
-
-type SignerV1 struct {
-	credential *credentials.BaseCredential
-}
-
-func (signer *SignerV1) GetExtraParam() map[string]string {
-	return nil
-}
-
-func NewSignerV1(credential *credentials.BaseCredential) (*SignerV1, error) {
-	return &SignerV1{
-		credential: credential,
-	}, nil
-}
-
-func (*SignerV1) GetName() string {
-	return "HMAC-SHA1"
-}
-
-func (*SignerV1) GetType() string {
-	return ""
-}
-
-func (*SignerV1) GetVersion() string {
-	return "1.0"
-}
-
-func (signer *SignerV1) GetAccessKeyId() string {
-	return signer.credential.AccessKeyId
-}
-
-func (signer *SignerV1) Sign(stringToSign, secretSuffix string) string {
-	secret := signer.credential.AccessKeySecret + secretSuffix
-	return ShaHmac1(stringToSign, secret)
-}
-
-func (signer *SignerV1) Shutdown() {
-
-}

+ 0 - 185
sdk/client.go

@@ -1,185 +0,0 @@
-/*
- * 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.
- */
-
-package sdk
-
-import (
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/auth"
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/endpoints"
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
-	"net/http"
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/errors"
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/auth/credentials"
-)
-
-// this value will be replaced while build: -ldflags="-X sdk.version=x.x.x"
-var Version = "0.0.1"
-
-type Client struct {
-	regionId       string
-	config         *Config
-	signer         auth.Signer
-	httpClient     *http.Client
-	asyncTaskQueue chan func()
-
-	debug     bool
-	isRunning bool
-}
-
-func (client *Client) Init() (err error) {
-	panic("not support yet")
-}
-
-func (client *Client) InitWithOptions(regionId string, config *Config, credential auth.Credential) (err error) {
-	client.isRunning = true
-	client.regionId = regionId
-	client.config = config
-	client.signer, err = auth.NewSignerWithCredential(credential, client.ProcessCommonRequest)
-	if err != nil {
-		return
-	}
-	client.httpClient = &http.Client{}
-
-	if config.HttpTransport != nil {
-		client.httpClient.Transport = config.HttpTransport
-	}
-
-	if config.Timeout > 0 {
-		client.httpClient.Timeout = config.Timeout
-	}
-
-	if config.EnableAsync {
-		client.EnableAsync(config.GoRoutinePoolSize, config.MaxTaskQueueSize)
-	}
-	return
-}
-
-func (client *Client) EnableAsync(routinePoolSize, maxTaskQueueSize int) {
-	client.asyncTaskQueue = make(chan func(), maxTaskQueueSize)
-	for i := 0; i < routinePoolSize; i ++ {
-		go func() {
-			for client.isRunning {
-				select {
-				case task := <-client.asyncTaskQueue:
-					task()
-				}
-			}
-		}()
-	}
-}
-
-func (client *Client) InitWithAccessKey(regionId, accessKeyId, accessKeySecret string) (err error) {
-	config := NewConfig()
-	credential := &credentials.BaseCredential{
-		AccessKeyId:     accessKeyId,
-		AccessKeySecret: accessKeySecret,
-	}
-	return client.InitWithOptions(regionId, config, credential)
-}
-
-func (client *Client) DoAction(request requests.AcsRequest, response responses.AcsResponse) (err error) {
-
-	// add clientVersion
-	request.GetHeaders()["x-sdk-core-version"] = Version
-
-	regionId := client.regionId
-	if len(request.GetRegionId()) > 0 {
-		regionId = request.GetRegionId()
-	}
-
-	// resolve endpoint
-	resolveParam := &endpoints.ResolveParam{
-		Domain:           request.GetDomain(),
-		Product:          request.GetProduct(),
-		RegionId:         client.regionId,
-		LocationProduct:  request.GetLocationServiceCode(),
-		LocationEndpoint: request.GetLocationEndpointType(),
-		CommonApi:        client.ProcessCommonRequest,
-	}
-	endpoint, err := endpoints.Resolve(resolveParam)
-	if err != nil {
-		return
-	}
-	request.SetDomain(endpoint)
-
-	// init request params
-	err = requests.InitParams(request)
-	if err != nil {
-		return
-	}
-
-	// signature
-	err = auth.Sign(request, client.signer, regionId)
-	if err != nil {
-		return
-	}
-
-	requestMethod := request.GetMethod()
-	requestUrl := request.GetUrl()
-	body := request.GetBodyReader()
-	httpRequest, err := http.NewRequest(requestMethod, requestUrl, body)
-	if err != nil {
-		return
-	}
-	for key, value := range request.GetHeaders() {
-		httpRequest.Header.Set(key, value)
-	}
-	httpResponse, err := client.httpClient.Do(httpRequest)
-	if err != nil {
-		return
-	}
-	err = responses.Unmarshal(response, httpResponse, request.GetAcceptFormat())
-	return
-}
-
-func (client *Client) AddAsyncTask(task func()) (err error) {
-	if client.asyncTaskQueue != nil {
-		client.asyncTaskQueue <- task
-	} else {
-		err = errors.NewClientError(errors.AsyncFunctionNotEnabledCode, errors.AsyncFunctionNotEnabledMessage, nil)
-	}
-	return
-}
-
-func NewClient() (client *Client, err error) {
-	client = &Client{}
-	err = client.Init()
-	return
-}
-
-func NewClientWithOptions(regionId string, config *Config, credential auth.Credential) (client *Client, err error) {
-	client = &Client{}
-	err = client.InitWithOptions(regionId, config, credential)
-	return
-}
-
-func NewClientWithAccessKey(regionId, accessKeyId, accessKeySecret string) (client *Client, err error) {
-	client = &Client{}
-	err = client.InitWithAccessKey(regionId, accessKeyId, accessKeySecret)
-	return
-}
-
-func (client *Client) ProcessCommonRequest(request *requests.CommonRequest) (response *responses.CommonResponse, err error) {
-	request.TransToAcsRequest()
-	response = responses.NewCommonResponse()
-	err = client.DoAction(request, response)
-	return
-}
-
-func (client *Client) Shutdown() {
-	client.signer.Shutdown()
-	close(client.asyncTaskQueue)
-	client.isRunning = false
-}

+ 0 - 322
sdk/client_test.go

@@ -1,322 +0,0 @@
-/*
- * 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.
- */
-
-package sdk
-
-import (
-	"encoding/json"
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
-	"github.com/stretchr/testify/assert"
-	"io/ioutil"
-	"net/http"
-	"os"
-	"os/user"
-	"testing"
-)
-
-var client *Client
-
-type TestConfig struct {
-	AccessKeyId     string
-	AccessKeySecret string
-}
-
-type MockResponse struct {
-	Headers     map[string]string
-	Body        string
-	Params      map[string]string
-	RemoteAddr  string
-	RemoteHost  string
-	QueryString string
-	RequestURL  string
-}
-
-func TestMain(m *testing.M) {
-	testSetup()
-	result := m.Run()
-	testTearDown()
-	os.Exit(result)
-}
-
-func testSetup() {
-	usr, err := user.Current()
-	if err != nil {
-		panic(err)
-	}
-	configFilePath := usr.HomeDir + "/aliyun-sdk.json"
-	data, err := ioutil.ReadFile(configFilePath)
-	if err != nil {
-		panic(err)
-	}
-	var config TestConfig
-	json.Unmarshal(data, &config)
-	client = &Client{}
-	err = client.InitWithAccessKey("cn-hangzhou", config.AccessKeyId, config.AccessKeySecret)
-}
-
-func testTearDown() {
-
-}
-
-func TestNewClientWithAccessKey(t *testing.T) {
-	assert.NotNil(t, client, "NewClientWithAccessKey failed")
-}
-
-func TestRoaGet(t *testing.T) {
-	request := getFtTestRoaRequest()
-
-	response := &responses.BaseResponse{}
-	err := client.DoAction(request, response)
-	assert.Nil(t, err)
-	assert.Equal(t, http.StatusOK, response.GetHttpStatus(), response.GetHttpContentString())
-	assert.NotNil(t, response.GetHttpContentString())
-
-	var responseBean MockResponse
-	json.Unmarshal([]byte(response.GetHttpContentString()), &responseBean)
-
-	assert.Equal(t, "QueryParamValue", responseBean.Params["QueryParam"])
-	assert.Equal(t, "HeaderParamValue", responseBean.Headers["Header-Param"])
-}
-
-func TestRoaPostForm(t *testing.T) {
-	request := getFtTestRoaRequest()
-	request.Method = requests.POST
-	request.FormParams["BodyParam"] = "BodyParamValue"
-
-	response := &responses.BaseResponse{}
-	err := client.DoAction(request, response)
-	assert.Nil(t, err)
-	assert.Equal(t, http.StatusOK, response.GetHttpStatus(), response.GetHttpContentString())
-	assert.NotNil(t, response.GetHttpContentString())
-
-	var responseBean MockResponse
-	json.Unmarshal([]byte(response.GetHttpContentString()), &responseBean)
-
-	assert.Equal(t, "QueryParamValue", responseBean.Params["QueryParam"])
-	assert.Equal(t, "HeaderParamValue", responseBean.Headers["Header-Param"])
-	assert.Equal(t, "BodyParamValue", responseBean.Params["BodyParam"])
-}
-
-func TestRoaPostStream(t *testing.T) {
-	request := getFtTestRoaRequest()
-	request.Method = requests.POST
-	request.Content = []byte("TestContent")
-
-	response := &responses.BaseResponse{}
-	err := client.DoAction(request, response)
-	assert.Nil(t, err)
-	assert.Equal(t, http.StatusOK, response.GetHttpStatus(), response.GetHttpContentString())
-	assert.NotNil(t, response.GetHttpContentString())
-
-	var responseBean MockResponse
-	json.Unmarshal([]byte(response.GetHttpContentString()), &responseBean)
-
-	assert.Equal(t, "QueryParamValue", responseBean.Params["QueryParam"])
-	assert.Equal(t, "HeaderParamValue", responseBean.Headers["Header-Param"])
-	assert.Equal(t, "TestContent", responseBean.Body)
-}
-
-func TestRoaPostJson(t *testing.T) {
-	request := getFtTestRoaRequest()
-	request.Method = requests.POST
-	dataMap := map[string]string{"key": "value"}
-	data, err := json.Marshal(dataMap)
-	assert.Nil(t, err)
-	request.Content = data
-	request.SetContentType(requests.Json)
-
-	response := &responses.BaseResponse{}
-	err = client.DoAction(request, response)
-	assert.Nil(t, err)
-	assert.Equal(t, http.StatusOK, response.GetHttpStatus(), response.GetHttpContentString())
-	assert.NotNil(t, response.GetHttpContentString())
-
-	var responseBean MockResponse
-	json.Unmarshal([]byte(response.GetHttpContentString()), &responseBean)
-
-	assert.Equal(t, "QueryParamValue", responseBean.Params["QueryParam"])
-	assert.Equal(t, "HeaderParamValue", responseBean.Headers["Header-Param"])
-	assert.Equal(t, requests.Json, responseBean.Headers["Content-Type"])
-	assert.Equal(t, string(data), responseBean.Body)
-}
-
-func TestRpcGet(t *testing.T) {
-	request := getFtTestRpcRequest()
-	request.Method = requests.GET
-
-	response := &responses.BaseResponse{}
-	err := client.DoAction(request, response)
-	assert.Nil(t, err)
-	assert.Equal(t, http.StatusOK, response.GetHttpStatus(), response.GetHttpContentString())
-	assert.NotNil(t, response.GetHttpContentString())
-
-	var responseBean MockResponse
-	json.Unmarshal([]byte(response.GetHttpContentString()), &responseBean)
-
-	assert.Equal(t, "QueryParamValue", responseBean.Params["QueryParam"])
-}
-
-func TestRpcPost(t *testing.T) {
-	request := getFtTestRpcRequest()
-	request.FormParams["BodyParam"] = "BodyParamValue"
-
-	response := &responses.BaseResponse{}
-	err := client.DoAction(request, response)
-	assert.Nil(t, err)
-	assert.Equal(t, http.StatusOK, response.GetHttpStatus(), response.GetHttpContentString())
-	assert.NotNil(t, response.GetHttpContentString())
-
-	var responseBean MockResponse
-	json.Unmarshal([]byte(response.GetHttpContentString()), &responseBean)
-
-	assert.Equal(t, "QueryParamValue", responseBean.Params["QueryParam"])
-	assert.Equal(t, "BodyParamValue", responseBean.Params["BodyParam"])
-}
-
-func getFtTestRoaRequest() (request *requests.RoaRequest) {
-	request = &requests.RoaRequest{}
-	request.InitWithApiInfo("Ft", "2016-01-02", "TestRoaApi", "/web/cloudapi", "", "")
-	request.Domain = "ft.aliyuncs.com"
-
-	request.Headers["Header-Param"] = "HeaderParamValue"
-	request.QueryParams["QueryParam"] = "QueryParamValue"
-
-	return
-}
-
-func getFtTestRpcRequest() (request *requests.RpcRequest) {
-	request = &requests.RpcRequest{}
-	request.InitWithApiInfo("Ft", "2016-01-01", "TestRpcApi","", "")
-	request.Domain = "ft.aliyuncs.com"
-	request.QueryParams["QueryParam"] = "QueryParamValue"
-	return
-}
-
-func getFtTestRpcRequestForEndpointLocation() (request *requests.RpcRequest) {
-	request = &requests.RpcRequest{}
-	request.InitWithApiInfo("Ft", "2016-01-01", "TestRpcApi","ft", "openAPI")
-	request.RegionId = "cn-hangzhou"
-	request.QueryParams["QueryParam"] = "QueryParamValue"
-	return
-}
-
-func TestCommonRpcRequest(t *testing.T){
-	rpcRequest := requests.NewCommonRequest()
-	rpcRequest.Product = "Ft"
-	rpcRequest.Version = "2016-01-01"
-	rpcRequest.Domain = "ft.aliyuncs.com"
-	rpcRequest.ApiName = "TestRpcApi"
-	rpcRequest.Method = "POST"
-
-	rpcRequest.QueryParams["QueryParam"] = "QueryParamValue"
-	rpcRequest.FormParams["BodyParam"] = "BodyParamValue"
-
-	response,err := client.ProcessCommonRequest(rpcRequest)
-
-	assert.Nil(t, err)
-	assert.Equal(t, http.StatusOK, response.GetHttpStatus(), response.GetHttpContentString())
-	assert.NotNil(t, response.GetHttpContentString())
-
-	var responseBean MockResponse
-	json.Unmarshal([]byte(response.GetHttpContentString()), &responseBean)
-
-	assert.Equal(t, "QueryParamValue", responseBean.Params["QueryParam"])
-	assert.Equal(t, "BodyParamValue", responseBean.Params["BodyParam"])
-}
-
-func TestCommonRoaRequest(t *testing.T){
-	roaRequest := requests.NewCommonRequest()
-	roaRequest.Product = "Ft"
-	roaRequest.Version = "2016-01-02"
-	roaRequest.ApiName = "TestRoaApi"
-	roaRequest.PathPattern = "/web/cloudapi"
-	roaRequest.Domain = "ft.aliyuncs.com"
-	roaRequest.Method = "POST"
-
-	roaRequest.QueryParams["QueryParam"] = "QueryParamValue"
-	roaRequest.FormParams["BodyParam"] = "BodyParamValue"
-
-	response,err := client.ProcessCommonRequest(roaRequest)
-
-	assert.Nil(t, err)
-	assert.Equal(t, http.StatusOK, response.GetHttpStatus(), response.GetHttpContentString())
-	assert.NotNil(t, response.GetHttpContentString())
-
-	var responseBean MockResponse
-	json.Unmarshal([]byte(response.GetHttpContentString()), &responseBean)
-
-	assert.Equal(t, "QueryParamValue", responseBean.Params["QueryParam"])
-	assert.Equal(t, "BodyParamValue", responseBean.Params["BodyParam"])
-}
-
-func TestRpcGetForEndpointXml(t *testing.T) {
-	request := getFtTestRpcRequestForEndpointLocation()
-	request.Method = requests.GET
-	request.RegionId = "cn-shanghai"
-
-	response := &responses.BaseResponse{}
-	err := client.DoAction(request, response)
-	assert.Nil(t, err)
-	assert.Equal(t, http.StatusOK, response.GetHttpStatus(), response.GetHttpContentString())
-	assert.NotNil(t, response.GetHttpContentString())
-
-	var responseBean MockResponse
-	json.Unmarshal([]byte(response.GetHttpContentString()), &responseBean)
-
-	assert.Equal(t, "QueryParamValue", responseBean.Params["QueryParam"])
-}
-
-func TestRpcGetForLocation(t *testing.T) {
-	request := getFtTestRpcRequestForEndpointLocation()
-	request.Method = requests.GET
-
-	response := &responses.BaseResponse{}
-	err := client.DoAction(request, response)
-	assert.Nil(t, err)
-	assert.Equal(t, http.StatusOK, response.GetHttpStatus(), response.GetHttpContentString())
-	assert.NotNil(t, response.GetHttpContentString())
-
-	var responseBean MockResponse
-	json.Unmarshal([]byte(response.GetHttpContentString()), &responseBean)
-
-	assert.Equal(t, "QueryParamValue", responseBean.Params["QueryParam"])
-}
-
-func TestRpcGetForLocationCache(t *testing.T) {
-	request := getFtTestRpcRequestForEndpointLocation()
-	request.Method = requests.GET
-
-	response := &responses.BaseResponse{}
-	err := client.DoAction(request, response)
-	assert.Nil(t, err)
-	assert.Equal(t, http.StatusOK, response.GetHttpStatus(), response.GetHttpContentString())
-	assert.NotNil(t, response.GetHttpContentString())
-
-	var responseBean MockResponse
-	json.Unmarshal([]byte(response.GetHttpContentString()), &responseBean)
-
-	assert.Equal(t, "QueryParamValue", responseBean.Params["QueryParam"])
-
-	request2 := getFtTestRpcRequestForEndpointLocation()
-	request2.Method = requests.GET
-	err = client.DoAction(request2, response)
-	assert.Nil(t, err)
-	assert.Equal(t, http.StatusOK, response.GetHttpStatus(), response.GetHttpContentString())
-	assert.NotNil(t, response.GetHttpContentString())
-
-	json.Unmarshal([]byte(response.GetHttpContentString()), &responseBean)
-
-	assert.Equal(t, "QueryParamValue", responseBean.Params["QueryParam"])
-}

+ 0 - 49
sdk/config.go

@@ -1,49 +0,0 @@
-/*
- * 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.
- */
-
-package sdk
-
-import (
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/utils"
-	"net/http"
-	"time"
-)
-
-type Config struct {
-	AutoRetry         bool            `default:"true"`
-	MaxRetryTime      int             `default:"3"`
-	UserAgent         string          `default:""`
-	Debug             bool            `default:"false"`
-	Timeout           time.Duration   `default:""`
-	HttpTransport     *http.Transport `default:""`
-	EnableAsync       bool            `default:"false"`
-	MaxTaskQueueSize  int             `default:"1000"`
-	GoRoutinePoolSize int             `default:"5"`
-}
-
-func NewConfig() (config *Config) {
-	config = &Config{}
-	utils.InitStructWithDefaultTag(config)
-	return
-}
-
-func (c *Config) WithTimeout(timeout time.Duration) (*Config) {
-	c.Timeout = timeout
-	return c
-}
-
-func (c *Config) WithDebug(isDebug bool) (*Config) {
-	c.Debug = isDebug
-	return c
-}

+ 0 - 4778
sdk/endpoints/endpoints.xml

@@ -1,4778 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Endpoints>
-    <Endpoint name="jp-fudao-1">
-        <RegionIds>
-            <RegionId>jp-fudao-1</RegionId>
-        </RegionIds>
-        <Products>
-            <Product>
-                <ProductName>Ecs</ProductName>
-                <DomainName>ecs-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-        </Products>
-    </Endpoint>
-    <Endpoint name="me-east-1">
-        <RegionIds>
-            <RegionId>me-east-1</RegionId>
-        </RegionIds>
-        <Products>
-            <Product>
-                <ProductName>Rds</ProductName>
-                <DomainName>rds.me-east-1.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ecs</ProductName>
-                <DomainName>ecs.me-east-1.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Vpc</ProductName>
-                <DomainName>vpc.me-east-1.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Kms</ProductName>
-                <DomainName>kms.me-east-1.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Cms</ProductName>
-                <DomainName>metrics.cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Slb</ProductName>
-                <DomainName>slb.me-east-1.aliyuncs.com</DomainName>
-            </Product>
-        </Products>
-    </Endpoint>
-    <Endpoint name="us-east-1">
-        <RegionIds>
-            <RegionId>us-east-1</RegionId>
-        </RegionIds>
-        <Products>
-            <Product>
-                <ProductName>CS</ProductName>
-                <DomainName>cs.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Push</ProductName>
-                <DomainName>cloudpush.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>COS</ProductName>
-                <DomainName>cos.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ess</ProductName>
-                <DomainName>ess.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ace-ops</ProductName>
-                <DomainName>ace-ops.cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Billing</ProductName>
-                <DomainName>billing.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Dqs</ProductName>
-                <DomainName>dqs.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Dds</ProductName>
-                <DomainName>mongodb.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Emr</ProductName>
-                <DomainName>emr.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Sms</ProductName>
-                <DomainName>sms.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Jaq</ProductName>
-                <DomainName>jaq.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>HPC</ProductName>
-                <DomainName>hpc.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Location</ProductName>
-                <DomainName>location.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>ChargingService</ProductName>
-                <DomainName>chargingservice.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Msg</ProductName>
-                <DomainName>msg-inner.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Commondriver</ProductName>
-                <DomainName>common.driver.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>R-kvstore</ProductName>
-                <DomainName>r-kvstore-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Bss</ProductName>
-                <DomainName>bss.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Workorder</ProductName>
-                <DomainName>workorder.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ocs</ProductName>
-                <DomainName>m-kvstore.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Yundun</ProductName>
-                <DomainName>yundun-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ubsms-inner</ProductName>
-                <DomainName>ubsms-inner.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Dm</ProductName>
-                <DomainName>dm.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Green</ProductName>
-                <DomainName>green.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Risk</ProductName>
-                <DomainName>risk-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>oceanbase</ProductName>
-                <DomainName>oceanbase.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Msc</ProductName>
-                <DomainName>msc-inner.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Yundunhsm</ProductName>
-                <DomainName>yundunhsm.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Iot</ProductName>
-                <DomainName>iot.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>jaq</ProductName>
-                <DomainName>jaq.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Oms</ProductName>
-                <DomainName>oms.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>live</ProductName>
-                <DomainName>live.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ecs</ProductName>
-                <DomainName>ecs-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ubsms</ProductName>
-                <DomainName>ubsms.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Vpc</ProductName>
-                <DomainName>vpc.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Alert</ProductName>
-                <DomainName>alert.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ace</ProductName>
-                <DomainName>ace.cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>AMS</ProductName>
-                <DomainName>ams.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>ROS</ProductName>
-                <DomainName>ros.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>PTS</ProductName>
-                <DomainName>pts.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Qualitycheck</ProductName>
-                <DomainName>qualitycheck.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>M-kvstore</ProductName>
-                <DomainName>m-kvstore.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>HighDDos</ProductName>
-                <DomainName>yd-highddos-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>CmsSiteMonitor</ProductName>
-                <DomainName>sitemonitor.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Rds</ProductName>
-                <DomainName>rds.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>BatchCompute</ProductName>
-                <DomainName>batchCompute.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>CF</ProductName>
-                <DomainName>cf.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Drds</ProductName>
-                <DomainName>drds.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Acs</ProductName>
-                <DomainName>acs.aliyun-inc.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Httpdns</ProductName>
-                <DomainName>httpdns-api.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Location-inner</ProductName>
-                <DomainName>location-inner.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Aas</ProductName>
-                <DomainName>aas.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Sts</ProductName>
-                <DomainName>sts.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Dts</ProductName>
-                <DomainName>dts.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Drc</ProductName>
-                <DomainName>drc.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Vpc-inner</ProductName>
-                <DomainName>vpc-inner.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Cms</ProductName>
-                <DomainName>metrics.cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Slb</ProductName>
-                <DomainName>slb.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Crm</ProductName>
-                <DomainName>crm-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Domain</ProductName>
-                <DomainName>domain.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ots</ProductName>
-                <DomainName>ots-pop.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Oss</ProductName>
-                <DomainName>oss-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ram</ProductName>
-                <DomainName>ram.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Sales</ProductName>
-                <DomainName>sales.cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>OssAdmin</ProductName>
-                <DomainName>oss-admin.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Alidns</ProductName>
-                <DomainName>alidns.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ons</ProductName>
-                <DomainName>ons.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Cdn</ProductName>
-                <DomainName>cdn.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>YundunDdos</ProductName>
-                <DomainName>inner-yundun-ddos.cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-        </Products>
-    </Endpoint>
-    <Endpoint name="ap-northeast-1">
-        <RegionIds>
-            <RegionId>ap-northeast-1</RegionId>
-        </RegionIds>
-        <Products>
-            <Product>
-                <ProductName>Rds</ProductName>
-                <DomainName>rds.ap-northeast-1.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Kms</ProductName>
-                <DomainName>kms.ap-northeast-1.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Vpc</ProductName>
-                <DomainName>vpc.ap-northeast-1.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ecs</ProductName>
-                <DomainName>ecs.ap-northeast-1.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Cms</ProductName>
-                <DomainName>metrics.ap-northeast-1.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Kvstore</ProductName>
-                <DomainName>r-kvstore.ap-northeast-1.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Slb</ProductName>
-                <DomainName>slb.ap-northeast-1.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Sts</ProductName>
-                <DomainName>sts.ap-northeast-1.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ram</ProductName>
-                <DomainName>ram.aliyuncs.com</DomainName>
-            </Product>
-        </Products>
-    </Endpoint>
-    <Endpoint name="cn-hangzhou-bj-b01">
-        <RegionIds>
-            <RegionId>cn-hangzhou-bj-b01</RegionId>
-        </RegionIds>
-        <Products>
-            <Product>
-                <ProductName>Ecs</ProductName>
-                <DomainName>ecs-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-        </Products>
-    </Endpoint>
-    <Endpoint name="cn-hongkong">
-        <RegionIds>
-            <RegionId>cn-hongkong</RegionId>
-        </RegionIds>
-        <Products>
-            <Product>
-                <ProductName>Push</ProductName>
-                <DomainName>cloudpush.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>COS</ProductName>
-                <DomainName>cos.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ons</ProductName>
-                <DomainName>ons.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ess</ProductName>
-                <DomainName>ess.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ace-ops</ProductName>
-                <DomainName>ace-ops.cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Billing</ProductName>
-                <DomainName>billing.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Dqs</ProductName>
-                <DomainName>dqs.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Dds</ProductName>
-                <DomainName>mongodb.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Emr</ProductName>
-                <DomainName>emr.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Sms</ProductName>
-                <DomainName>sms.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Jaq</ProductName>
-                <DomainName>jaq.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>CS</ProductName>
-                <DomainName>cs.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Kms</ProductName>
-                <DomainName>kms.cn-hongkong.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Location</ProductName>
-                <DomainName>location.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Msg</ProductName>
-                <DomainName>msg-inner.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>ChargingService</ProductName>
-                <DomainName>chargingservice.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>R-kvstore</ProductName>
-                <DomainName>r-kvstore-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Alert</ProductName>
-                <DomainName>alert.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Msc</ProductName>
-                <DomainName>msc-inner.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Drc</ProductName>
-                <DomainName>drc.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Yundun</ProductName>
-                <DomainName>yundun-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ubsms-inner</ProductName>
-                <DomainName>ubsms-inner.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ocs</ProductName>
-                <DomainName>m-kvstore.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Dm</ProductName>
-                <DomainName>dm.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Risk</ProductName>
-                <DomainName>risk-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>oceanbase</ProductName>
-                <DomainName>oceanbase.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Workorder</ProductName>
-                <DomainName>workorder.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Yundunhsm</ProductName>
-                <DomainName>yundunhsm.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Iot</ProductName>
-                <DomainName>iot.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>HPC</ProductName>
-                <DomainName>hpc.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>jaq</ProductName>
-                <DomainName>jaq.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Oms</ProductName>
-                <DomainName>oms.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>live</ProductName>
-                <DomainName>live.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ecs</ProductName>
-                <DomainName>ecs-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>M-kvstore</ProductName>
-                <DomainName>m-kvstore.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Vpc</ProductName>
-                <DomainName>vpc.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>BatchCompute</ProductName>
-                <DomainName>batchCompute.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>AMS</ProductName>
-                <DomainName>ams.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>ROS</ProductName>
-                <DomainName>ros.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>PTS</ProductName>
-                <DomainName>pts.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Qualitycheck</ProductName>
-                <DomainName>qualitycheck.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Bss</ProductName>
-                <DomainName>bss.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ubsms</ProductName>
-                <DomainName>ubsms.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>CloudAPI</ProductName>
-                <DomainName>apigateway.cn-hongkong.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Sts</ProductName>
-                <DomainName>sts.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>CmsSiteMonitor</ProductName>
-                <DomainName>sitemonitor.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ace</ProductName>
-                <DomainName>ace.cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Mts</ProductName>
-                <DomainName>mts.cn-hongkong.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Location-inner</ProductName>
-                <DomainName>location-inner.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>CF</ProductName>
-                <DomainName>cf.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Acs</ProductName>
-                <DomainName>acs.aliyun-inc.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Httpdns</ProductName>
-                <DomainName>httpdns-api.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Green</ProductName>
-                <DomainName>green.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Aas</ProductName>
-                <DomainName>aas.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Alidns</ProductName>
-                <DomainName>alidns.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Dts</ProductName>
-                <DomainName>dts.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>HighDDos</ProductName>
-                <DomainName>yd-highddos-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Vpc-inner</ProductName>
-                <DomainName>vpc-inner.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Cms</ProductName>
-                <DomainName>metrics.cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Slb</ProductName>
-                <DomainName>slb.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Commondriver</ProductName>
-                <DomainName>common.driver.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Domain</ProductName>
-                <DomainName>domain.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ots</ProductName>
-                <DomainName>ots-pop.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Cdn</ProductName>
-                <DomainName>cdn.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ram</ProductName>
-                <DomainName>ram.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Drds</ProductName>
-                <DomainName>drds.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Rds</ProductName>
-                <DomainName>rds.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Crm</ProductName>
-                <DomainName>crm-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>OssAdmin</ProductName>
-                <DomainName>oss-admin.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Sales</ProductName>
-                <DomainName>sales.cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>YundunDdos</ProductName>
-                <DomainName>inner-yundun-ddos.cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Oss</ProductName>
-                <DomainName>oss-cn-hongkong.aliyuncs.com</DomainName>
-            </Product>
-        </Products>
-    </Endpoint>
-    <Endpoint name="cn-beijing-nu16-b01">
-        <RegionIds>
-            <RegionId>cn-beijing-nu16-b01</RegionId>
-        </RegionIds>
-        <Products>
-            <Product>
-                <ProductName>Ecs</ProductName>
-                <DomainName>ecs-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-        </Products>
-    </Endpoint>
-    <Endpoint name="cn-beijing-am13-c01">
-        <RegionIds>
-            <RegionId>cn-beijing-am13-c01</RegionId>
-        </RegionIds>
-        <Products>
-            <Product>
-                <ProductName>Ecs</ProductName>
-                <DomainName>ecs-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Vpc</ProductName>
-                <DomainName>vpc.aliyuncs.com</DomainName>
-            </Product>
-        </Products>
-    </Endpoint>
-    <Endpoint name="in-west-antgroup-1">
-        <RegionIds>
-            <RegionId>in-west-antgroup-1</RegionId>
-        </RegionIds>
-        <Products>
-            <Product>
-                <ProductName>Ecs</ProductName>
-                <DomainName>ecs-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-        </Products>
-    </Endpoint>
-    <Endpoint name="cn-guizhou-gov">
-        <RegionIds>
-            <RegionId>cn-guizhou-gov</RegionId>
-        </RegionIds>
-        <Products>
-            <Product>
-                <ProductName>Ecs</ProductName>
-                <DomainName>ecs-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Vpc</ProductName>
-                <DomainName>vpc.aliyuncs.com</DomainName>
-            </Product>
-        </Products>
-    </Endpoint>
-    <Endpoint name="in-west-antgroup-2">
-        <RegionIds>
-            <RegionId>in-west-antgroup-2</RegionId>
-        </RegionIds>
-        <Products>
-            <Product>
-                <ProductName>Ecs</ProductName>
-                <DomainName>ecs-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-        </Products>
-    </Endpoint>
-    <Endpoint name="cn-qingdao-cm9">
-        <RegionIds>
-            <RegionId>cn-qingdao-cm9</RegionId>
-        </RegionIds>
-        <Products>
-            <Product>
-                <ProductName>CS</ProductName>
-                <DomainName>cs.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Risk</ProductName>
-                <DomainName>risk-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>COS</ProductName>
-                <DomainName>cos.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ess</ProductName>
-                <DomainName>ess.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Billing</ProductName>
-                <DomainName>billing.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Dqs</ProductName>
-                <DomainName>dqs.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Dds</ProductName>
-                <DomainName>mongodb.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Alidns</ProductName>
-                <DomainName>alidns.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Sms</ProductName>
-                <DomainName>sms.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Drds</ProductName>
-                <DomainName>drds.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>HPC</ProductName>
-                <DomainName>hpc.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Location</ProductName>
-                <DomainName>location.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Msg</ProductName>
-                <DomainName>msg-inner.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>ChargingService</ProductName>
-                <DomainName>chargingservice.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ocs</ProductName>
-                <DomainName>m-kvstore.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Alert</ProductName>
-                <DomainName>alert.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Msc</ProductName>
-                <DomainName>msc-inner.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>HighDDos</ProductName>
-                <DomainName>yd-highddos-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>R-kvstore</ProductName>
-                <DomainName>r-kvstore-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Yundun</ProductName>
-                <DomainName>yundun-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ubsms-inner</ProductName>
-                <DomainName>ubsms-inner.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Dm</ProductName>
-                <DomainName>dm.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Green</ProductName>
-                <DomainName>green.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>YundunDdos</ProductName>
-                <DomainName>inner-yundun-ddos.cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>oceanbase</ProductName>
-                <DomainName>oceanbase.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Workorder</ProductName>
-                <DomainName>workorder.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Yundunhsm</ProductName>
-                <DomainName>yundunhsm.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Iot</ProductName>
-                <DomainName>iot.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>jaq</ProductName>
-                <DomainName>jaq.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Oms</ProductName>
-                <DomainName>oms.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>live</ProductName>
-                <DomainName>live.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ecs</ProductName>
-                <DomainName>ecs-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ubsms</ProductName>
-                <DomainName>ubsms.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>CmsSiteMonitor</ProductName>
-                <DomainName>sitemonitor.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>AMS</ProductName>
-                <DomainName>ams.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Crm</ProductName>
-                <DomainName>crm-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>PTS</ProductName>
-                <DomainName>pts.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Qualitycheck</ProductName>
-                <DomainName>qualitycheck.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Bss</ProductName>
-                <DomainName>bss.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>M-kvstore</ProductName>
-                <DomainName>m-kvstore.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ace</ProductName>
-                <DomainName>ace.cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Mts</ProductName>
-                <DomainName>mts.cn-qingdao.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>CF</ProductName>
-                <DomainName>cf.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Httpdns</ProductName>
-                <DomainName>httpdns-api.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Location-inner</ProductName>
-                <DomainName>location-inner.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Aas</ProductName>
-                <DomainName>aas.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Sts</ProductName>
-                <DomainName>sts.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Dts</ProductName>
-                <DomainName>dts.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Emr</ProductName>
-                <DomainName>emr.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Drc</ProductName>
-                <DomainName>drc.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Push</ProductName>
-                <DomainName>cloudpush.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Cms</ProductName>
-                <DomainName>metrics.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Slb</ProductName>
-                <DomainName>slb.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Commondriver</ProductName>
-                <DomainName>common.driver.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Domain</ProductName>
-                <DomainName>domain.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ots</ProductName>
-                <DomainName>ots-pop.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>ROS</ProductName>
-                <DomainName>ros.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Oss</ProductName>
-                <DomainName>oss-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ram</ProductName>
-                <DomainName>ram.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Sales</ProductName>
-                <DomainName>sales.cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Rds</ProductName>
-                <DomainName>rds.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>OssAdmin</ProductName>
-                <DomainName>oss-admin.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ons</ProductName>
-                <DomainName>ons.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Cdn</ProductName>
-                <DomainName>cdn.aliyuncs.com</DomainName>
-            </Product>
-        </Products>
-    </Endpoint>
-    <Endpoint name="tw-snowcloud-kaohsiung">
-        <RegionIds>
-            <RegionId>tw-snowcloud-kaohsiung</RegionId>
-        </RegionIds>
-        <Products>
-            <Product>
-                <ProductName>Ecs</ProductName>
-                <DomainName>ecs-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-        </Products>
-    </Endpoint>
-    <Endpoint name="cn-shanghai-finance-1">
-        <RegionIds>
-            <RegionId>cn-shanghai-finance-1</RegionId>
-        </RegionIds>
-        <Products>
-            <Product>
-                <ProductName>Kms</ProductName>
-                <DomainName>kms.cn-shanghai-finance-1.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ecs</ProductName>
-                <DomainName>ecs-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Vpc</ProductName>
-                <DomainName>vpc.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Rds</ProductName>
-                <DomainName>rds.aliyuncs.com</DomainName>
-            </Product>
-        </Products>
-    </Endpoint>
-    <Endpoint name="cn-guizhou">
-        <RegionIds>
-            <RegionId>cn-guizhou</RegionId>
-        </RegionIds>
-        <Products>
-            <Product>
-                <ProductName>Ecs</ProductName>
-                <DomainName>ecs-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Vpc</ProductName>
-                <DomainName>vpc.aliyuncs.com</DomainName>
-            </Product>
-        </Products>
-    </Endpoint>
-    <Endpoint name="cn-qingdao-finance">
-        <RegionIds>
-            <RegionId>cn-qingdao-finance</RegionId>
-        </RegionIds>
-        <Products>
-            <Product>
-                <ProductName>Oss</ProductName>
-                <DomainName>oss-cn-qdjbp-a.aliyuncs.com</DomainName>
-            </Product>
-        </Products>
-    </Endpoint>
-    <Endpoint name="cn-beijing-gov-1">
-        <RegionIds>
-            <RegionId>cn-beijing-gov-1</RegionId>
-        </RegionIds>
-        <Products>
-            <Product>
-                <ProductName>Oss</ProductName>
-                <DomainName>oss-cn-haidian-a.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Rds</ProductName>
-                <DomainName>rds.aliyuncs.com</DomainName>
-            </Product>
-        </Products>
-    </Endpoint>
-    <Endpoint name="cn-shanghai">
-        <RegionIds>
-            <RegionId>cn-shanghai</RegionId>
-        </RegionIds>
-        <Products>
-            <Product>
-                <ProductName>ARMS</ProductName>
-                <DomainName>arms.cn-shanghai.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Risk</ProductName>
-                <DomainName>risk-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>COS</ProductName>
-                <DomainName>cos.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>HPC</ProductName>
-                <DomainName>hpc.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Billing</ProductName>
-                <DomainName>billing.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Dqs</ProductName>
-                <DomainName>dqs.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Drc</ProductName>
-                <DomainName>drc.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Alidns</ProductName>
-                <DomainName>alidns.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Sms</ProductName>
-                <DomainName>sms.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Drds</ProductName>
-                <DomainName>drds.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>CS</ProductName>
-                <DomainName>cs.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Kms</ProductName>
-                <DomainName>kms.cn-shanghai.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Location</ProductName>
-                <DomainName>location.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Msg</ProductName>
-                <DomainName>msg-inner.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>ChargingService</ProductName>
-                <DomainName>chargingservice.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ocs</ProductName>
-                <DomainName>m-kvstore.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Alert</ProductName>
-                <DomainName>alert.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Msc</ProductName>
-                <DomainName>msc-inner.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>R-kvstore</ProductName>
-                <DomainName>r-kvstore-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Yundun</ProductName>
-                <DomainName>yundun-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ubsms-inner</ProductName>
-                <DomainName>ubsms-inner.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Dm</ProductName>
-                <DomainName>dm.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Green</ProductName>
-                <DomainName>green.cn-shanghai.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Commondriver</ProductName>
-                <DomainName>common.driver.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>oceanbase</ProductName>
-                <DomainName>oceanbase.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Workorder</ProductName>
-                <DomainName>workorder.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Yundunhsm</ProductName>
-                <DomainName>yundunhsm.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Iot</ProductName>
-                <DomainName>iot.cn-shanghai.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Bss</ProductName>
-                <DomainName>bss.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Oms</ProductName>
-                <DomainName>oms.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ubsms</ProductName>
-                <DomainName>ubsms.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>live</ProductName>
-                <DomainName>live.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ecs</ProductName>
-                <DomainName>ecs-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ace-ops</ProductName>
-                <DomainName>ace-ops.cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>CmsSiteMonitor</ProductName>
-                <DomainName>sitemonitor.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>BatchCompute</ProductName>
-                <DomainName>batchCompute.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>AMS</ProductName>
-                <DomainName>ams.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>ROS</ProductName>
-                <DomainName>ros.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>PTS</ProductName>
-                <DomainName>pts.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Qualitycheck</ProductName>
-                <DomainName>qualitycheck.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>M-kvstore</ProductName>
-                <DomainName>m-kvstore.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Apigateway</ProductName>
-                <DomainName>apigateway.cn-shanghai.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>CloudAPI</ProductName>
-                <DomainName>apigateway.cn-shanghai.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Sts</ProductName>
-                <DomainName>sts.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Vpc</ProductName>
-                <DomainName>vpc.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ace</ProductName>
-                <DomainName>ace.cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Mts</ProductName>
-                <DomainName>mts.cn-shanghai.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Dds</ProductName>
-                <DomainName>mongodb.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>CF</ProductName>
-                <DomainName>cf.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Acs</ProductName>
-                <DomainName>acs.aliyun-inc.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Httpdns</ProductName>
-                <DomainName>httpdns-api.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Push</ProductName>
-                <DomainName>cloudpush.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Location-inner</ProductName>
-                <DomainName>location-inner.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Aas</ProductName>
-                <DomainName>aas.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Emr</ProductName>
-                <DomainName>emr.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Dts</ProductName>
-                <DomainName>dts.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>HighDDos</ProductName>
-                <DomainName>yd-highddos-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Jaq</ProductName>
-                <DomainName>jaq.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Cms</ProductName>
-                <DomainName>metrics.cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Slb</ProductName>
-                <DomainName>slb.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Crm</ProductName>
-                <DomainName>crm-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Domain</ProductName>
-                <DomainName>domain.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ots</ProductName>
-                <DomainName>ots-pop.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>jaq</ProductName>
-                <DomainName>jaq.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Cdn</ProductName>
-                <DomainName>cdn.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ram</ProductName>
-                <DomainName>ram.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Sales</ProductName>
-                <DomainName>sales.cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Vpc-inner</ProductName>
-                <DomainName>vpc-inner.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Rds</ProductName>
-                <DomainName>rds.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>OssAdmin</ProductName>
-                <DomainName>oss-admin.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ons</ProductName>
-                <DomainName>ons.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ess</ProductName>
-                <DomainName>ess.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Oss</ProductName>
-                <DomainName>oss-cn-shanghai.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>YundunDdos</ProductName>
-                <DomainName>inner-yundun-ddos.cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>vod</ProductName>
-                <DomainName>vod.cn-shanghai.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ft</ProductName>
-                <DomainName>ft.aliyuncs.com</DomainName>
-            </Product>
-        </Products>
-    </Endpoint>
-    <Endpoint name="cn-shenzhen-inner">
-        <RegionIds>
-            <RegionId>cn-shenzhen-inner</RegionId>
-        </RegionIds>
-        <Products>
-            <Product>
-                <ProductName>Risk</ProductName>
-                <DomainName>risk-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>COS</ProductName>
-                <DomainName>cos.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ons</ProductName>
-                <DomainName>ons.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ess</ProductName>
-                <DomainName>ess.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Billing</ProductName>
-                <DomainName>billing.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Dqs</ProductName>
-                <DomainName>dqs.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Dds</ProductName>
-                <DomainName>mongodb.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Alidns</ProductName>
-                <DomainName>alidns.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Sms</ProductName>
-                <DomainName>sms.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Sales</ProductName>
-                <DomainName>sales.cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>HPC</ProductName>
-                <DomainName>hpc.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Location</ProductName>
-                <DomainName>location.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Msg</ProductName>
-                <DomainName>msg-inner.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>ChargingService</ProductName>
-                <DomainName>chargingservice.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ocs</ProductName>
-                <DomainName>m-kvstore.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>jaq</ProductName>
-                <DomainName>jaq.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Msc</ProductName>
-                <DomainName>msc-inner.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>HighDDos</ProductName>
-                <DomainName>yd-highddos-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>R-kvstore</ProductName>
-                <DomainName>r-kvstore-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Bss</ProductName>
-                <DomainName>bss.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ubsms-inner</ProductName>
-                <DomainName>ubsms-inner.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Dm</ProductName>
-                <DomainName>dm.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Commondriver</ProductName>
-                <DomainName>common.driver.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>oceanbase</ProductName>
-                <DomainName>oceanbase.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Workorder</ProductName>
-                <DomainName>workorder.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Yundunhsm</ProductName>
-                <DomainName>yundunhsm.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Iot</ProductName>
-                <DomainName>iot.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Alert</ProductName>
-                <DomainName>alert.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Oms</ProductName>
-                <DomainName>oms.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>live</ProductName>
-                <DomainName>live.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ecs</ProductName>
-                <DomainName>ecs-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ubsms</ProductName>
-                <DomainName>ubsms.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>CmsSiteMonitor</ProductName>
-                <DomainName>sitemonitor.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>AMS</ProductName>
-                <DomainName>ams.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Crm</ProductName>
-                <DomainName>crm-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>PTS</ProductName>
-                <DomainName>pts.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Qualitycheck</ProductName>
-                <DomainName>qualitycheck.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>M-kvstore</ProductName>
-                <DomainName>m-kvstore.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Sts</ProductName>
-                <DomainName>sts.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ace</ProductName>
-                <DomainName>ace.cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Mts</ProductName>
-                <DomainName>mts.cn-shenzhen.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>CF</ProductName>
-                <DomainName>cf.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Httpdns</ProductName>
-                <DomainName>httpdns-api.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Green</ProductName>
-                <DomainName>green.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Aas</ProductName>
-                <DomainName>aas.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Emr</ProductName>
-                <DomainName>emr.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>CS</ProductName>
-                <DomainName>cs.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Drc</ProductName>
-                <DomainName>drc.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Push</ProductName>
-                <DomainName>cloudpush.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Cms</ProductName>
-                <DomainName>metrics.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Slb</ProductName>
-                <DomainName>slb.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>YundunDdos</ProductName>
-                <DomainName>inner-yundun-ddos.cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Dts</ProductName>
-                <DomainName>dts.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Domain</ProductName>
-                <DomainName>domain.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ots</ProductName>
-                <DomainName>ots-pop.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>ROS</ProductName>
-                <DomainName>ros.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Cdn</ProductName>
-                <DomainName>cdn.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ram</ProductName>
-                <DomainName>ram.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Drds</ProductName>
-                <DomainName>drds.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Rds</ProductName>
-                <DomainName>rds.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>OssAdmin</ProductName>
-                <DomainName>oss-admin.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Location-inner</ProductName>
-                <DomainName>location-inner.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Yundun</ProductName>
-                <DomainName>yundun-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Oss</ProductName>
-                <DomainName>oss-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-        </Products>
-    </Endpoint>
-    <Endpoint name="cn-fujian">
-        <RegionIds>
-            <RegionId>cn-fujian</RegionId>
-        </RegionIds>
-        <Products>
-            <Product>
-                <ProductName>Ecs</ProductName>
-                <DomainName>ecs-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Rds</ProductName>
-                <DomainName>rds.aliyuncs.com</DomainName>
-            </Product>
-        </Products>
-    </Endpoint>
-    <Endpoint name="in-mumbai-alipay">
-        <RegionIds>
-            <RegionId>in-mumbai-alipay</RegionId>
-        </RegionIds>
-        <Products>
-            <Product>
-                <ProductName>Ecs</ProductName>
-                <DomainName>ecs-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-        </Products>
-    </Endpoint>
-    <Endpoint name="us-west-1">
-        <RegionIds>
-            <RegionId>us-west-1</RegionId>
-        </RegionIds>
-        <Products>
-            <Product>
-                <ProductName>CS</ProductName>
-                <DomainName>cs.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>COS</ProductName>
-                <DomainName>cos.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ess</ProductName>
-                <DomainName>ess.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ace-ops</ProductName>
-                <DomainName>ace-ops.cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Billing</ProductName>
-                <DomainName>billing.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Dqs</ProductName>
-                <DomainName>dqs.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Dds</ProductName>
-                <DomainName>mongodb.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Sts</ProductName>
-                <DomainName>sts.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Sms</ProductName>
-                <DomainName>sms.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Jaq</ProductName>
-                <DomainName>jaq.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Push</ProductName>
-                <DomainName>cloudpush.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Alidns</ProductName>
-                <DomainName>alidns.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Location</ProductName>
-                <DomainName>location.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Msg</ProductName>
-                <DomainName>msg-inner.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>ChargingService</ProductName>
-                <DomainName>chargingservice.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ocs</ProductName>
-                <DomainName>m-kvstore.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Bss</ProductName>
-                <DomainName>bss.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Msc</ProductName>
-                <DomainName>msc-inner.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>R-kvstore</ProductName>
-                <DomainName>r-kvstore-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Yundun</ProductName>
-                <DomainName>yundun-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ubsms-inner</ProductName>
-                <DomainName>ubsms-inner.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Dm</ProductName>
-                <DomainName>dm.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Green</ProductName>
-                <DomainName>green.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Risk</ProductName>
-                <DomainName>risk-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>oceanbase</ProductName>
-                <DomainName>oceanbase.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Workorder</ProductName>
-                <DomainName>workorder.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Yundunhsm</ProductName>
-                <DomainName>yundunhsm.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Iot</ProductName>
-                <DomainName>iot.us-west-1.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Alert</ProductName>
-                <DomainName>alert.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Oms</ProductName>
-                <DomainName>oms.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>live</ProductName>
-                <DomainName>live.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ecs</ProductName>
-                <DomainName>ecs-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>M-kvstore</ProductName>
-                <DomainName>m-kvstore.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Vpc</ProductName>
-                <DomainName>vpc.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>BatchCompute</ProductName>
-                <DomainName>batchCompute.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ace</ProductName>
-                <DomainName>ace.cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>AMS</ProductName>
-                <DomainName>ams.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>ROS</ProductName>
-                <DomainName>ros.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>PTS</ProductName>
-                <DomainName>pts.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Qualitycheck</ProductName>
-                <DomainName>qualitycheck.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ubsms</ProductName>
-                <DomainName>ubsms.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>HighDDos</ProductName>
-                <DomainName>yd-highddos-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>CmsSiteMonitor</ProductName>
-                <DomainName>sitemonitor.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Rds</ProductName>
-                <DomainName>rds.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Mts</ProductName>
-                <DomainName>mts.us-west-1.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>CF</ProductName>
-                <DomainName>cf.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Acs</ProductName>
-                <DomainName>acs.aliyun-inc.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Httpdns</ProductName>
-                <DomainName>httpdns-api.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Location-inner</ProductName>
-                <DomainName>location-inner.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Aas</ProductName>
-                <DomainName>aas.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Emr</ProductName>
-                <DomainName>emr.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>HPC</ProductName>
-                <DomainName>hpc.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Drc</ProductName>
-                <DomainName>drc.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Vpc-inner</ProductName>
-                <DomainName>vpc-inner.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Cms</ProductName>
-                <DomainName>metrics.cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Slb</ProductName>
-                <DomainName>slb.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Crm</ProductName>
-                <DomainName>crm-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Dts</ProductName>
-                <DomainName>dts.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Domain</ProductName>
-                <DomainName>domain.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ots</ProductName>
-                <DomainName>ots-pop.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Commondriver</ProductName>
-                <DomainName>common.driver.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>jaq</ProductName>
-                <DomainName>jaq.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Cdn</ProductName>
-                <DomainName>cdn.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ram</ProductName>
-                <DomainName>ram.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Drds</ProductName>
-                <DomainName>drds.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>OssAdmin</ProductName>
-                <DomainName>oss-admin.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Sales</ProductName>
-                <DomainName>sales.cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ons</ProductName>
-                <DomainName>ons.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Oss</ProductName>
-                <DomainName>oss-us-west-1.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>YundunDdos</ProductName>
-                <DomainName>inner-yundun-ddos.cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-        </Products>
-    </Endpoint>
-    <Endpoint name="cn-shanghai-inner">
-        <RegionIds>
-            <RegionId>cn-shanghai-inner</RegionId>
-        </RegionIds>
-        <Products>
-            <Product>
-                <ProductName>CS</ProductName>
-                <DomainName>cs.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>COS</ProductName>
-                <DomainName>cos.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ess</ProductName>
-                <DomainName>ess.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Billing</ProductName>
-                <DomainName>billing.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Dqs</ProductName>
-                <DomainName>dqs.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Dds</ProductName>
-                <DomainName>mongodb.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Emr</ProductName>
-                <DomainName>emr.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Sms</ProductName>
-                <DomainName>sms.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Drds</ProductName>
-                <DomainName>drds.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>HPC</ProductName>
-                <DomainName>hpc.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Location</ProductName>
-                <DomainName>location.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>ChargingService</ProductName>
-                <DomainName>chargingservice.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Msg</ProductName>
-                <DomainName>msg-inner.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Commondriver</ProductName>
-                <DomainName>common.driver.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>R-kvstore</ProductName>
-                <DomainName>r-kvstore-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>jaq</ProductName>
-                <DomainName>jaq.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Msc</ProductName>
-                <DomainName>msc-inner.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ocs</ProductName>
-                <DomainName>m-kvstore.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Yundun</ProductName>
-                <DomainName>yundun-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ubsms-inner</ProductName>
-                <DomainName>ubsms-inner.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Dm</ProductName>
-                <DomainName>dm.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Green</ProductName>
-                <DomainName>green.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Risk</ProductName>
-                <DomainName>risk-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>oceanbase</ProductName>
-                <DomainName>oceanbase.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Workorder</ProductName>
-                <DomainName>workorder.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Yundunhsm</ProductName>
-                <DomainName>yundunhsm.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Iot</ProductName>
-                <DomainName>iot.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Bss</ProductName>
-                <DomainName>bss.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Oms</ProductName>
-                <DomainName>oms.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>live</ProductName>
-                <DomainName>live.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ecs</ProductName>
-                <DomainName>ecs-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>M-kvstore</ProductName>
-                <DomainName>m-kvstore.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>CmsSiteMonitor</ProductName>
-                <DomainName>sitemonitor.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Alert</ProductName>
-                <DomainName>alert.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ace</ProductName>
-                <DomainName>ace.cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>AMS</ProductName>
-                <DomainName>ams.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>ROS</ProductName>
-                <DomainName>ros.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>PTS</ProductName>
-                <DomainName>pts.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Qualitycheck</ProductName>
-                <DomainName>qualitycheck.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ubsms</ProductName>
-                <DomainName>ubsms.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>HighDDos</ProductName>
-                <DomainName>yd-highddos-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Rds</ProductName>
-                <DomainName>rds.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Mts</ProductName>
-                <DomainName>mts.cn-shanghai.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>CF</ProductName>
-                <DomainName>cf.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Httpdns</ProductName>
-                <DomainName>httpdns-api.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Location-inner</ProductName>
-                <DomainName>location-inner.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Aas</ProductName>
-                <DomainName>aas.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Sts</ProductName>
-                <DomainName>sts.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Dts</ProductName>
-                <DomainName>dts.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Drc</ProductName>
-                <DomainName>drc.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Push</ProductName>
-                <DomainName>cloudpush.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Cms</ProductName>
-                <DomainName>metrics.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Slb</ProductName>
-                <DomainName>slb.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>YundunDdos</ProductName>
-                <DomainName>inner-yundun-ddos.cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Domain</ProductName>
-                <DomainName>domain.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ots</ProductName>
-                <DomainName>ots-pop.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Oss</ProductName>
-                <DomainName>oss-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ram</ProductName>
-                <DomainName>ram.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Sales</ProductName>
-                <DomainName>sales.cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Crm</ProductName>
-                <DomainName>crm-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>OssAdmin</ProductName>
-                <DomainName>oss-admin.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Alidns</ProductName>
-                <DomainName>alidns.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ons</ProductName>
-                <DomainName>ons.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Cdn</ProductName>
-                <DomainName>cdn.aliyuncs.com</DomainName>
-            </Product>
-        </Products>
-    </Endpoint>
-    <Endpoint name="cn-anhui-gov-1">
-        <RegionIds>
-            <RegionId>cn-anhui-gov-1</RegionId>
-        </RegionIds>
-        <Products>
-            <Product>
-                <ProductName>Ecs</ProductName>
-                <DomainName>ecs-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-        </Products>
-    </Endpoint>
-    <Endpoint name="cn-hangzhou-finance">
-        <RegionIds>
-            <RegionId>cn-hangzhou-finance</RegionId>
-        </RegionIds>
-        <Products>
-            <Product>
-                <ProductName>Oss</ProductName>
-                <DomainName>oss-cn-hzjbp-b-console.aliyuncs.com</DomainName>
-            </Product>
-        </Products>
-    </Endpoint>
-    <Endpoint name="cn-hangzhou">
-        <RegionIds>
-            <RegionId>cn-hangzhou</RegionId>
-        </RegionIds>
-        <Products>
-            <Product>
-                <ProductName>ARMS</ProductName>
-                <DomainName>arms.cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>CS</ProductName>
-                <DomainName>cs.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>COS</ProductName>
-                <DomainName>cos.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ess</ProductName>
-                <DomainName>ess.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ace-ops</ProductName>
-                <DomainName>ace-ops.cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Billing</ProductName>
-                <DomainName>billing.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Dqs</ProductName>
-                <DomainName>dqs.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Dds</ProductName>
-                <DomainName>mongodb.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Sts</ProductName>
-                <DomainName>sts.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Sms</ProductName>
-                <DomainName>sms.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Msg</ProductName>
-                <DomainName>msg-inner.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Jaq</ProductName>
-                <DomainName>jaq.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Push</ProductName>
-                <DomainName>cloudpush.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Live</ProductName>
-                <DomainName>live.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Kms</ProductName>
-                <DomainName>kms.cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Location</ProductName>
-                <DomainName>location.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Hpc</ProductName>
-                <DomainName>hpc.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>ChargingService</ProductName>
-                <DomainName>chargingservice.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>R-kvstore</ProductName>
-                <DomainName>r-kvstore-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Alert</ProductName>
-                <DomainName>alert.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Msc</ProductName>
-                <DomainName>msc-inner.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Drc</ProductName>
-                <DomainName>drc.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Yundun</ProductName>
-                <DomainName>yundun-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ubsms-inner</ProductName>
-                <DomainName>ubsms-inner.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ocs</ProductName>
-                <DomainName>m-kvstore.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Dm</ProductName>
-                <DomainName>dm.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Green</ProductName>
-                <DomainName>green.cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Commondriver</ProductName>
-                <DomainName>common.driver.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>oceanbase</ProductName>
-                <DomainName>oceanbase.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Workorder</ProductName>
-                <DomainName>workorder.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Yundunhsm</ProductName>
-                <DomainName>yundunhsm.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Iot</ProductName>
-                <DomainName>iot.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>jaq</ProductName>
-                <DomainName>jaq.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Oms</ProductName>
-                <DomainName>oms.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>live</ProductName>
-                <DomainName>live.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ecs</ProductName>
-                <DomainName>ecs-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>M-kvstore</ProductName>
-                <DomainName>m-kvstore.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Vpc</ProductName>
-                <DomainName>vpc.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>BatchCompute</ProductName>
-                <DomainName>batchCompute.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Domain</ProductName>
-                <DomainName>domain.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>AMS</ProductName>
-                <DomainName>ams.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>ROS</ProductName>
-                <DomainName>ros.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>PTS</ProductName>
-                <DomainName>pts.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Qualitycheck</ProductName>
-                <DomainName>qualitycheck.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ubsms</ProductName>
-                <DomainName>ubsms.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Apigateway</ProductName>
-                <DomainName>apigateway.cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>CloudAPI</ProductName>
-                <DomainName>apigateway.cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>CmsSiteMonitor</ProductName>
-                <DomainName>sitemonitor.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ace</ProductName>
-                <DomainName>ace.cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Mts</ProductName>
-                <DomainName>mts.cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Oas</ProductName>
-                <DomainName>cn-hangzhou.oas.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>CF</ProductName>
-                <DomainName>cf.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Acs</ProductName>
-                <DomainName>acs.aliyun-inc.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Httpdns</ProductName>
-                <DomainName>httpdns-api.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Location-inner</ProductName>
-                <DomainName>location-inner.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Aas</ProductName>
-                <DomainName>aas.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Alidns</ProductName>
-                <DomainName>alidns.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>HPC</ProductName>
-                <DomainName>hpc.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Emr</ProductName>
-                <DomainName>emr.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>HighDDos</ProductName>
-                <DomainName>yd-highddos-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Vpc-inner</ProductName>
-                <DomainName>vpc-inner.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Cms</ProductName>
-                <DomainName>metrics.cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Slb</ProductName>
-                <DomainName>slb.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Risk</ProductName>
-                <DomainName>risk-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Dts</ProductName>
-                <DomainName>dts.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Bss</ProductName>
-                <DomainName>bss.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ots</ProductName>
-                <DomainName>ots-pop.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Cdn</ProductName>
-                <DomainName>cdn.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ram</ProductName>
-                <DomainName>ram.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Drds</ProductName>
-                <DomainName>drds.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Rds</ProductName>
-                <DomainName>rds.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Crm</ProductName>
-                <DomainName>crm-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>OssAdmin</ProductName>
-                <DomainName>oss-admin.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Sales</ProductName>
-                <DomainName>sales.cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ons</ProductName>
-                <DomainName>ons.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Oss</ProductName>
-                <DomainName>oss-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>YundunDdos</ProductName>
-                <DomainName>inner-yundun-ddos.cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>connect</ProductName>
-                <DomainName>connect.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ft</ProductName>
-                <DomainName>ft.aliyuncs.com</DomainName>
-            </Product>
-        </Products>
-    </Endpoint>
-    <Endpoint name="cn-beijing-inner">
-        <RegionIds>
-            <RegionId>cn-beijing-inner</RegionId>
-        </RegionIds>
-        <Products>
-            <Product>
-                <ProductName>Risk</ProductName>
-                <DomainName>risk-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>COS</ProductName>
-                <DomainName>cos.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>HPC</ProductName>
-                <DomainName>hpc.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Billing</ProductName>
-                <DomainName>billing.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Dqs</ProductName>
-                <DomainName>dqs.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Dds</ProductName>
-                <DomainName>mongodb.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Emr</ProductName>
-                <DomainName>emr.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Sms</ProductName>
-                <DomainName>sms.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Drds</ProductName>
-                <DomainName>drds.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>CS</ProductName>
-                <DomainName>cs.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Location</ProductName>
-                <DomainName>location.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>ChargingService</ProductName>
-                <DomainName>chargingservice.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Msg</ProductName>
-                <DomainName>msg-inner.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ess</ProductName>
-                <DomainName>ess.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>R-kvstore</ProductName>
-                <DomainName>r-kvstore-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Bss</ProductName>
-                <DomainName>bss.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Workorder</ProductName>
-                <DomainName>workorder.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Drc</ProductName>
-                <DomainName>drc.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Yundun</ProductName>
-                <DomainName>yundun-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ubsms-inner</ProductName>
-                <DomainName>ubsms-inner.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ocs</ProductName>
-                <DomainName>m-kvstore.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Dm</ProductName>
-                <DomainName>dm.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>YundunDdos</ProductName>
-                <DomainName>inner-yundun-ddos.cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>oceanbase</ProductName>
-                <DomainName>oceanbase.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Msc</ProductName>
-                <DomainName>msc-inner.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Yundunhsm</ProductName>
-                <DomainName>yundunhsm.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Iot</ProductName>
-                <DomainName>iot.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>jaq</ProductName>
-                <DomainName>jaq.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Oms</ProductName>
-                <DomainName>oms.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>M-kvstore</ProductName>
-                <DomainName>m-kvstore.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>live</ProductName>
-                <DomainName>live.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ecs</ProductName>
-                <DomainName>ecs-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Alert</ProductName>
-                <DomainName>alert.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>CmsSiteMonitor</ProductName>
-                <DomainName>sitemonitor.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ace</ProductName>
-                <DomainName>ace.cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>AMS</ProductName>
-                <DomainName>ams.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ots</ProductName>
-                <DomainName>ots-pop.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>PTS</ProductName>
-                <DomainName>pts.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Qualitycheck</ProductName>
-                <DomainName>qualitycheck.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ubsms</ProductName>
-                <DomainName>ubsms.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Sts</ProductName>
-                <DomainName>sts.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Rds</ProductName>
-                <DomainName>rds.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Mts</ProductName>
-                <DomainName>mts.cn-beijing.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Location-inner</ProductName>
-                <DomainName>location-inner.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>CF</ProductName>
-                <DomainName>cf.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Httpdns</ProductName>
-                <DomainName>httpdns-api.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Green</ProductName>
-                <DomainName>green.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Aas</ProductName>
-                <DomainName>aas.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Alidns</ProductName>
-                <DomainName>alidns.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Push</ProductName>
-                <DomainName>cloudpush.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>HighDDos</ProductName>
-                <DomainName>yd-highddos-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Cms</ProductName>
-                <DomainName>metrics.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Slb</ProductName>
-                <DomainName>slb.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Commondriver</ProductName>
-                <DomainName>common.driver.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Dts</ProductName>
-                <DomainName>dts.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Domain</ProductName>
-                <DomainName>domain.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>ROS</ProductName>
-                <DomainName>ros.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Oss</ProductName>
-                <DomainName>oss-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ram</ProductName>
-                <DomainName>ram.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Sales</ProductName>
-                <DomainName>sales.cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Crm</ProductName>
-                <DomainName>crm-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>OssAdmin</ProductName>
-                <DomainName>oss-admin.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ons</ProductName>
-                <DomainName>ons.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Cdn</ProductName>
-                <DomainName>cdn.aliyuncs.com</DomainName>
-            </Product>
-        </Products>
-    </Endpoint>
-    <Endpoint name="cn-haidian-cm12-c01">
-        <RegionIds>
-            <RegionId>cn-haidian-cm12-c01</RegionId>
-        </RegionIds>
-        <Products>
-            <Product>
-                <ProductName>Ecs</ProductName>
-                <DomainName>ecs-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Vpc</ProductName>
-                <DomainName>vpc.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Rds</ProductName>
-                <DomainName>rds.aliyuncs.com</DomainName>
-            </Product>
-        </Products>
-    </Endpoint>
-    <Endpoint name="cn-anhui-gov">
-        <RegionIds>
-            <RegionId>cn-anhui-gov</RegionId>
-        </RegionIds>
-        <Products>
-            <Product>
-                <ProductName>Ecs</ProductName>
-                <DomainName>ecs-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Vpc</ProductName>
-                <DomainName>vpc.aliyuncs.com</DomainName>
-            </Product>
-        </Products>
-    </Endpoint>
-    <Endpoint name="cn-shenzhen">
-        <RegionIds>
-            <RegionId>cn-shenzhen</RegionId>
-        </RegionIds>
-        <Products>
-            <Product>
-                <ProductName>ARMS</ProductName>
-                <DomainName>arms.cn-shenzhen.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>CS</ProductName>
-                <DomainName>cs.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>COS</ProductName>
-                <DomainName>cos.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ons</ProductName>
-                <DomainName>ons.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ess</ProductName>
-                <DomainName>ess.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Dqs</ProductName>
-                <DomainName>dqs.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Dds</ProductName>
-                <DomainName>mongodb.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Alidns</ProductName>
-                <DomainName>alidns.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Sms</ProductName>
-                <DomainName>sms.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Jaq</ProductName>
-                <DomainName>jaq.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Push</ProductName>
-                <DomainName>cloudpush.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Kms</ProductName>
-                <DomainName>kms.cn-shenzhen.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Location</ProductName>
-                <DomainName>location.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ocs</ProductName>
-                <DomainName>m-kvstore.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Alert</ProductName>
-                <DomainName>alert.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Drc</ProductName>
-                <DomainName>drc.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>R-kvstore</ProductName>
-                <DomainName>r-kvstore-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Yundun</ProductName>
-                <DomainName>yundun-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ubsms-inner</ProductName>
-                <DomainName>ubsms-inner.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Dm</ProductName>
-                <DomainName>dm.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Commondriver</ProductName>
-                <DomainName>common.driver.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>oceanbase</ProductName>
-                <DomainName>oceanbase.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Iot</ProductName>
-                <DomainName>iot.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>HPC</ProductName>
-                <DomainName>hpc.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Bss</ProductName>
-                <DomainName>bss.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Oms</ProductName>
-                <DomainName>oms.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ubsms</ProductName>
-                <DomainName>ubsms.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>live</ProductName>
-                <DomainName>live.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ecs</ProductName>
-                <DomainName>ecs-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>M-kvstore</ProductName>
-                <DomainName>m-kvstore.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>CmsSiteMonitor</ProductName>
-                <DomainName>sitemonitor.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>BatchCompute</ProductName>
-                <DomainName>batchcompute.cn-shenzhen.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ace</ProductName>
-                <DomainName>ace.cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>ROS</ProductName>
-                <DomainName>ros.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>PTS</ProductName>
-                <DomainName>pts.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ace-ops</ProductName>
-                <DomainName>ace-ops.cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Apigateway</ProductName>
-                <DomainName>apigateway.cn-shenzhen.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>CloudAPI</ProductName>
-                <DomainName>apigateway.cn-shenzhen.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Sts</ProductName>
-                <DomainName>sts.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Vpc</ProductName>
-                <DomainName>vpc.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Rds</ProductName>
-                <DomainName>rds.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Mts</ProductName>
-                <DomainName>mts.cn-shenzhen.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Oas</ProductName>
-                <DomainName>cn-shenzhen.oas.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>CF</ProductName>
-                <DomainName>cf.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Acs</ProductName>
-                <DomainName>acs.aliyun-inc.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Crm</ProductName>
-                <DomainName>crm-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Location-inner</ProductName>
-                <DomainName>location-inner.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Aas</ProductName>
-                <DomainName>aas.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Emr</ProductName>
-                <DomainName>emr.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Dts</ProductName>
-                <DomainName>dts.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>HighDDos</ProductName>
-                <DomainName>yd-highddos-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Vpc-inner</ProductName>
-                <DomainName>vpc-inner.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Cms</ProductName>
-                <DomainName>metrics.cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Slb</ProductName>
-                <DomainName>slb.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Risk</ProductName>
-                <DomainName>risk-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Domain</ProductName>
-                <DomainName>domain.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ots</ProductName>
-                <DomainName>ots-pop.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>jaq</ProductName>
-                <DomainName>jaq.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Cdn</ProductName>
-                <DomainName>cdn.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ram</ProductName>
-                <DomainName>ram.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Drds</ProductName>
-                <DomainName>drds.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>OssAdmin</ProductName>
-                <DomainName>oss-admin.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Green</ProductName>
-                <DomainName>green.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Httpdns</ProductName>
-                <DomainName>httpdns-api.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Oss</ProductName>
-                <DomainName>oss-cn-shenzhen.aliyuncs.com</DomainName>
-            </Product>
-        </Products>
-    </Endpoint>
-    <Endpoint name="ap-southeast-2">
-        <RegionIds>
-            <RegionId>ap-southeast-2</RegionId>
-        </RegionIds>
-        <Products>
-            <Product>
-                <ProductName>Rds</ProductName>
-                <DomainName>rds.ap-southeast-2.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Kms</ProductName>
-                <DomainName>kms.ap-southeast-2.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Vpc</ProductName>
-                <DomainName>vpc.ap-southeast-2.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ecs</ProductName>
-                <DomainName>ecs.ap-southeast-2.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Cms</ProductName>
-                <DomainName>metrics.cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Slb</ProductName>
-                <DomainName>slb.ap-southeast-2.aliyuncs.com</DomainName>
-            </Product>
-        </Products>
-    </Endpoint>
-    <Endpoint name="cn-qingdao">
-        <RegionIds>
-            <RegionId>cn-qingdao</RegionId>
-        </RegionIds>
-        <Products>
-            <Product>
-                <ProductName>CS</ProductName>
-                <DomainName>cs.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>COS</ProductName>
-                <DomainName>cos.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>HPC</ProductName>
-                <DomainName>hpc.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Dqs</ProductName>
-                <DomainName>dqs.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Dds</ProductName>
-                <DomainName>mongodb.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Emr</ProductName>
-                <DomainName>emr.cn-qingdao.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Sms</ProductName>
-                <DomainName>sms.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Jaq</ProductName>
-                <DomainName>jaq.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Dts</ProductName>
-                <DomainName>dts.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Location</ProductName>
-                <DomainName>location.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ess</ProductName>
-                <DomainName>ess.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>R-kvstore</ProductName>
-                <DomainName>r-kvstore-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Alert</ProductName>
-                <DomainName>alert.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Drc</ProductName>
-                <DomainName>drc.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Yundun</ProductName>
-                <DomainName>yundun-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ubsms-inner</ProductName>
-                <DomainName>ubsms-inner.cn-qingdao.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ocs</ProductName>
-                <DomainName>m-kvstore.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Dm</ProductName>
-                <DomainName>dm.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Risk</ProductName>
-                <DomainName>risk-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>oceanbase</ProductName>
-                <DomainName>oceanbase.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Iot</ProductName>
-                <DomainName>iot.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Bss</ProductName>
-                <DomainName>bss.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Oms</ProductName>
-                <DomainName>oms.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ubsms</ProductName>
-                <DomainName>ubsms.cn-qingdao.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>live</ProductName>
-                <DomainName>live.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ecs</ProductName>
-                <DomainName>ecs-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>M-kvstore</ProductName>
-                <DomainName>m-kvstore.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>CmsSiteMonitor</ProductName>
-                <DomainName>sitemonitor.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>BatchCompute</ProductName>
-                <DomainName>batchcompute.cn-qingdao.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ace</ProductName>
-                <DomainName>ace.cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ots</ProductName>
-                <DomainName>ots-pop.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>PTS</ProductName>
-                <DomainName>pts.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ace-ops</ProductName>
-                <DomainName>ace-ops.cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Apigateway</ProductName>
-                <DomainName>apigateway.cn-qingdao.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>CloudAPI</ProductName>
-                <DomainName>apigateway.cn-qingdao.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Sts</ProductName>
-                <DomainName>sts.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Rds</ProductName>
-                <DomainName>rds.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Mts</ProductName>
-                <DomainName>mts.cn-qingdao.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Location-inner</ProductName>
-                <DomainName>location-inner.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>CF</ProductName>
-                <DomainName>cf.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Acs</ProductName>
-                <DomainName>acs.aliyun-inc.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Httpdns</ProductName>
-                <DomainName>httpdns-api.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Green</ProductName>
-                <DomainName>green.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Aas</ProductName>
-                <DomainName>aas.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Alidns</ProductName>
-                <DomainName>alidns.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Push</ProductName>
-                <DomainName>cloudpush.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>HighDDos</ProductName>
-                <DomainName>yd-highddos-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Vpc-inner</ProductName>
-                <DomainName>vpc-inner.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Cms</ProductName>
-                <DomainName>metrics.cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Slb</ProductName>
-                <DomainName>slb.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Commondriver</ProductName>
-                <DomainName>common.driver.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Domain</ProductName>
-                <DomainName>domain.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>ROS</ProductName>
-                <DomainName>ros.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>jaq</ProductName>
-                <DomainName>jaq.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Cdn</ProductName>
-                <DomainName>cdn.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ram</ProductName>
-                <DomainName>ram.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Drds</ProductName>
-                <DomainName>drds.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Crm</ProductName>
-                <DomainName>crm-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>OssAdmin</ProductName>
-                <DomainName>oss-admin.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ons</ProductName>
-                <DomainName>ons.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Oss</ProductName>
-                <DomainName>oss-cn-qingdao.aliyuncs.com</DomainName>
-            </Product>
-        </Products>
-    </Endpoint>
-    <Endpoint name="cn-shenzhen-su18-b02">
-        <RegionIds>
-            <RegionId>cn-shenzhen-su18-b02</RegionId>
-        </RegionIds>
-        <Products>
-            <Product>
-                <ProductName>Ecs</ProductName>
-                <DomainName>ecs-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-        </Products>
-    </Endpoint>
-    <Endpoint name="cn-shenzhen-su18-b03">
-        <RegionIds>
-            <RegionId>cn-shenzhen-su18-b03</RegionId>
-        </RegionIds>
-        <Products>
-            <Product>
-                <ProductName>Ecs</ProductName>
-                <DomainName>ecs-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-        </Products>
-    </Endpoint>
-    <Endpoint name="cn-shenzhen-su18-b01">
-        <RegionIds>
-            <RegionId>cn-shenzhen-su18-b01</RegionId>
-        </RegionIds>
-        <Products>
-            <Product>
-                <ProductName>Ecs</ProductName>
-                <DomainName>ecs-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-        </Products>
-    </Endpoint>
-    <Endpoint name="ap-southeast-antgroup-1">
-        <RegionIds>
-            <RegionId>ap-southeast-antgroup-1</RegionId>
-        </RegionIds>
-        <Products>
-            <Product>
-                <ProductName>Ecs</ProductName>
-                <DomainName>ecs-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-        </Products>
-    </Endpoint>
-    <Endpoint name="oss-cn-bjzwy">
-        <RegionIds>
-            <RegionId>oss-cn-bjzwy</RegionId>
-        </RegionIds>
-        <Products>
-            <Product>
-                <ProductName>Oss</ProductName>
-                <DomainName>oss-cn-bjzwy.aliyuncs.com</DomainName>
-            </Product>
-        </Products>
-    </Endpoint>
-    <Endpoint name="cn-henan-am12001">
-        <RegionIds>
-            <RegionId>cn-henan-am12001</RegionId>
-        </RegionIds>
-        <Products>
-            <Product>
-                <ProductName>Ecs</ProductName>
-                <DomainName>ecs-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Vpc</ProductName>
-                <DomainName>vpc.aliyuncs.com</DomainName>
-            </Product>
-        </Products>
-    </Endpoint>
-    <Endpoint name="cn-beijing">
-        <RegionIds>
-            <RegionId>cn-beijing</RegionId>
-        </RegionIds>
-        <Products>
-            <Product>
-                <ProductName>ARMS</ProductName>
-                <DomainName>arms.cn-beijing.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>CS</ProductName>
-                <DomainName>cs.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>COS</ProductName>
-                <DomainName>cos.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Jaq</ProductName>
-                <DomainName>jaq.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ess</ProductName>
-                <DomainName>ess.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Billing</ProductName>
-                <DomainName>billing.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Dqs</ProductName>
-                <DomainName>dqs.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Dds</ProductName>
-                <DomainName>mongodb.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Sts</ProductName>
-                <DomainName>sts.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Sms</ProductName>
-                <DomainName>sms.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Msg</ProductName>
-                <DomainName>msg-inner.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Sales</ProductName>
-                <DomainName>sales.cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>HPC</ProductName>
-                <DomainName>hpc.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Oas</ProductName>
-                <DomainName>cn-beijing.oas.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Location</ProductName>
-                <DomainName>location.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ons</ProductName>
-                <DomainName>ons.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>ChargingService</ProductName>
-                <DomainName>chargingservice.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Hpc</ProductName>
-                <DomainName>hpc.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Commondriver</ProductName>
-                <DomainName>common.driver.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ocs</ProductName>
-                <DomainName>m-kvstore.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>jaq</ProductName>
-                <DomainName>jaq.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Workorder</ProductName>
-                <DomainName>workorder.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>R-kvstore</ProductName>
-                <DomainName>r-kvstore-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Bss</ProductName>
-                <DomainName>bss.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ubsms-inner</ProductName>
-                <DomainName>ubsms-inner.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Dm</ProductName>
-                <DomainName>dm.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Risk</ProductName>
-                <DomainName>risk-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>oceanbase</ProductName>
-                <DomainName>oceanbase.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Msc</ProductName>
-                <DomainName>msc-inner.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Yundunhsm</ProductName>
-                <DomainName>yundunhsm.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Iot</ProductName>
-                <DomainName>iot.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Alert</ProductName>
-                <DomainName>alert.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Oms</ProductName>
-                <DomainName>oms.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ubsms</ProductName>
-                <DomainName>ubsms.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>live</ProductName>
-                <DomainName>live.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ecs</ProductName>
-                <DomainName>ecs-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ace-ops</ProductName>
-                <DomainName>ace-ops.cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Vpc</ProductName>
-                <DomainName>vpc.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>BatchCompute</ProductName>
-                <DomainName>batchCompute.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>AMS</ProductName>
-                <DomainName>ams.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>ROS</ProductName>
-                <DomainName>ros.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>PTS</ProductName>
-                <DomainName>pts.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>M-kvstore</ProductName>
-                <DomainName>m-kvstore.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Apigateway</ProductName>
-                <DomainName>apigateway.cn-beijing.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>CloudAPI</ProductName>
-                <DomainName>apigateway.cn-beijing.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Kms</ProductName>
-                <DomainName>kms.cn-beijing.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>HighDDos</ProductName>
-                <DomainName>yd-highddos-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>CmsSiteMonitor</ProductName>
-                <DomainName>sitemonitor.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ace</ProductName>
-                <DomainName>ace.cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Mts</ProductName>
-                <DomainName>mts.cn-beijing.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>CF</ProductName>
-                <DomainName>cf.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Acs</ProductName>
-                <DomainName>acs.aliyun-inc.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Httpdns</ProductName>
-                <DomainName>httpdns-api.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Location-inner</ProductName>
-                <DomainName>location-inner.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Aas</ProductName>
-                <DomainName>aas.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Emr</ProductName>
-                <DomainName>emr.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Dts</ProductName>
-                <DomainName>dts.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Drc</ProductName>
-                <DomainName>drc.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Push</ProductName>
-                <DomainName>cloudpush.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Cms</ProductName>
-                <DomainName>metrics.cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Slb</ProductName>
-                <DomainName>slb.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Crm</ProductName>
-                <DomainName>crm-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Domain</ProductName>
-                <DomainName>domain.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ots</ProductName>
-                <DomainName>ots-pop.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Oss</ProductName>
-                <DomainName>oss-cn-beijing.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ram</ProductName>
-                <DomainName>ram.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Drds</ProductName>
-                <DomainName>drds.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Vpc-inner</ProductName>
-                <DomainName>vpc-inner.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Rds</ProductName>
-                <DomainName>rds.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>OssAdmin</ProductName>
-                <DomainName>oss-admin.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Alidns</ProductName>
-                <DomainName>alidns.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Green</ProductName>
-                <DomainName>green.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Yundun</ProductName>
-                <DomainName>yundun-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Cdn</ProductName>
-                <DomainName>cdn.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>YundunDdos</ProductName>
-                <DomainName>inner-yundun-ddos.cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>vod</ProductName>
-                <DomainName>vod.cn-beijing.aliyuncs.com</DomainName>
-            </Product>
-        </Products>
-    </Endpoint>
-    <Endpoint name="cn-hangzhou-d">
-        <RegionIds>
-            <RegionId>cn-hangzhou-d</RegionId>
-        </RegionIds>
-        <Products>
-            <Product>
-                <ProductName>CS</ProductName>
-                <DomainName>cs.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>COS</ProductName>
-                <DomainName>cos.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ess</ProductName>
-                <DomainName>ess.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Billing</ProductName>
-                <DomainName>billing.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Dqs</ProductName>
-                <DomainName>dqs.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Dds</ProductName>
-                <DomainName>mongodb.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Emr</ProductName>
-                <DomainName>emr.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Sms</ProductName>
-                <DomainName>sms.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Sales</ProductName>
-                <DomainName>sales.cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Dts</ProductName>
-                <DomainName>dts.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Location</ProductName>
-                <DomainName>location.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Msg</ProductName>
-                <DomainName>msg-inner.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>ChargingService</ProductName>
-                <DomainName>chargingservice.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>R-kvstore</ProductName>
-                <DomainName>r-kvstore-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Bss</ProductName>
-                <DomainName>bss.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Msc</ProductName>
-                <DomainName>msc-inner.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ocs</ProductName>
-                <DomainName>m-kvstore.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Yundun</ProductName>
-                <DomainName>yundun-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ubsms-inner</ProductName>
-                <DomainName>ubsms-inner.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Dm</ProductName>
-                <DomainName>dm.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Risk</ProductName>
-                <DomainName>risk-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>oceanbase</ProductName>
-                <DomainName>oceanbase.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Workorder</ProductName>
-                <DomainName>workorder.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Alidns</ProductName>
-                <DomainName>alidns.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Iot</ProductName>
-                <DomainName>iot.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>HPC</ProductName>
-                <DomainName>hpc.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>jaq</ProductName>
-                <DomainName>jaq.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Oms</ProductName>
-                <DomainName>oms.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>live</ProductName>
-                <DomainName>live.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ecs</ProductName>
-                <DomainName>ecs-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>M-kvstore</ProductName>
-                <DomainName>m-kvstore.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>CmsSiteMonitor</ProductName>
-                <DomainName>sitemonitor.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Alert</ProductName>
-                <DomainName>alert.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ace</ProductName>
-                <DomainName>ace.cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>AMS</ProductName>
-                <DomainName>ams.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ots</ProductName>
-                <DomainName>ots-pop.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>PTS</ProductName>
-                <DomainName>pts.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Qualitycheck</ProductName>
-                <DomainName>qualitycheck.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ubsms</ProductName>
-                <DomainName>ubsms.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Rds</ProductName>
-                <DomainName>rds.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Mts</ProductName>
-                <DomainName>mts.cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Location-inner</ProductName>
-                <DomainName>location-inner.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>CF</ProductName>
-                <DomainName>cf.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Httpdns</ProductName>
-                <DomainName>httpdns-api.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Green</ProductName>
-                <DomainName>green.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Aas</ProductName>
-                <DomainName>aas.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Sts</ProductName>
-                <DomainName>sts.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Push</ProductName>
-                <DomainName>cloudpush.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>HighDDos</ProductName>
-                <DomainName>yd-highddos-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Cms</ProductName>
-                <DomainName>metrics.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Slb</ProductName>
-                <DomainName>slb.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>YundunDdos</ProductName>
-                <DomainName>inner-yundun-ddos.cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Domain</ProductName>
-                <DomainName>domain.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Commondriver</ProductName>
-                <DomainName>common.driver.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>ROS</ProductName>
-                <DomainName>ros.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Cdn</ProductName>
-                <DomainName>cdn.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ram</ProductName>
-                <DomainName>ram.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Drds</ProductName>
-                <DomainName>drds.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Crm</ProductName>
-                <DomainName>crm-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>OssAdmin</ProductName>
-                <DomainName>oss-admin.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ons</ProductName>
-                <DomainName>ons.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Yundunhsm</ProductName>
-                <DomainName>yundunhsm.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Drc</ProductName>
-                <DomainName>drc.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Oss</ProductName>
-                <DomainName>oss-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-        </Products>
-    </Endpoint>
-    <Endpoint name="cn-gansu-am6">
-        <RegionIds>
-            <RegionId>cn-gansu-am6</RegionId>
-        </RegionIds>
-        <Products>
-            <Product>
-                <ProductName>Ecs</ProductName>
-                <DomainName>ecs-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Vpc</ProductName>
-                <DomainName>vpc.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Rds</ProductName>
-                <DomainName>rds.aliyuncs.com</DomainName>
-            </Product>
-        </Products>
-    </Endpoint>
-    <Endpoint name="cn-ningxiazhongwei">
-        <RegionIds>
-            <RegionId>cn-ningxiazhongwei</RegionId>
-        </RegionIds>
-        <Products>
-            <Product>
-                <ProductName>Ecs</ProductName>
-                <DomainName>ecs-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Vpc</ProductName>
-                <DomainName>vpc.aliyuncs.com</DomainName>
-            </Product>
-        </Products>
-    </Endpoint>
-    <Endpoint name="cn-shanghai-et2-b01">
-        <RegionIds>
-            <RegionId>cn-shanghai-et2-b01</RegionId>
-        </RegionIds>
-        <Products>
-            <Product>
-                <ProductName>CS</ProductName>
-                <DomainName>cs.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Risk</ProductName>
-                <DomainName>risk-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>COS</ProductName>
-                <DomainName>cos.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ons</ProductName>
-                <DomainName>ons.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ess</ProductName>
-                <DomainName>ess.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Billing</ProductName>
-                <DomainName>billing.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Dqs</ProductName>
-                <DomainName>dqs.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Dds</ProductName>
-                <DomainName>mongodb.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Alidns</ProductName>
-                <DomainName>alidns.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Sms</ProductName>
-                <DomainName>sms.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Jaq</ProductName>
-                <DomainName>jaq.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Dts</ProductName>
-                <DomainName>dts.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Location</ProductName>
-                <DomainName>location.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Msg</ProductName>
-                <DomainName>msg-inner.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>ChargingService</ProductName>
-                <DomainName>chargingservice.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ocs</ProductName>
-                <DomainName>m-kvstore.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Bss</ProductName>
-                <DomainName>bss.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Msc</ProductName>
-                <DomainName>msc-inner.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>R-kvstore</ProductName>
-                <DomainName>r-kvstore-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Yundun</ProductName>
-                <DomainName>yundun-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ubsms-inner</ProductName>
-                <DomainName>ubsms-inner.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Dm</ProductName>
-                <DomainName>dm.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Commondriver</ProductName>
-                <DomainName>common.driver.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>oceanbase</ProductName>
-                <DomainName>oceanbase.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Workorder</ProductName>
-                <DomainName>workorder.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Yundunhsm</ProductName>
-                <DomainName>yundunhsm.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Iot</ProductName>
-                <DomainName>iot.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>jaq</ProductName>
-                <DomainName>jaq.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Oms</ProductName>
-                <DomainName>oms.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ubsms</ProductName>
-                <DomainName>ubsms.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>live</ProductName>
-                <DomainName>live.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ecs</ProductName>
-                <DomainName>ecs-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ace-ops</ProductName>
-                <DomainName>ace-ops.cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>CmsSiteMonitor</ProductName>
-                <DomainName>sitemonitor.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>BatchCompute</ProductName>
-                <DomainName>batchCompute.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ace</ProductName>
-                <DomainName>ace.cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>AMS</ProductName>
-                <DomainName>ams.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ots</ProductName>
-                <DomainName>ots-pop.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>PTS</ProductName>
-                <DomainName>pts.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Qualitycheck</ProductName>
-                <DomainName>qualitycheck.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>M-kvstore</ProductName>
-                <DomainName>m-kvstore.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Rds</ProductName>
-                <DomainName>rds.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Mts</ProductName>
-                <DomainName>mts.cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>CF</ProductName>
-                <DomainName>cf.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Acs</ProductName>
-                <DomainName>acs.aliyun-inc.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Httpdns</ProductName>
-                <DomainName>httpdns-api.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Location-inner</ProductName>
-                <DomainName>location-inner.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Aas</ProductName>
-                <DomainName>aas.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Sts</ProductName>
-                <DomainName>sts.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>HPC</ProductName>
-                <DomainName>hpc.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Emr</ProductName>
-                <DomainName>emr.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>HighDDos</ProductName>
-                <DomainName>yd-highddos-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Push</ProductName>
-                <DomainName>cloudpush.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Cms</ProductName>
-                <DomainName>metrics.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Slb</ProductName>
-                <DomainName>slb.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Crm</ProductName>
-                <DomainName>crm-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Alert</ProductName>
-                <DomainName>alert.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Domain</ProductName>
-                <DomainName>domain.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>ROS</ProductName>
-                <DomainName>ros.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Cdn</ProductName>
-                <DomainName>cdn.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ram</ProductName>
-                <DomainName>ram.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Drds</ProductName>
-                <DomainName>drds.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Vpc-inner</ProductName>
-                <DomainName>vpc-inner.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>OssAdmin</ProductName>
-                <DomainName>oss-admin.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Sales</ProductName>
-                <DomainName>sales.cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Green</ProductName>
-                <DomainName>green.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Drc</ProductName>
-                <DomainName>drc.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Oss</ProductName>
-                <DomainName>oss-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>YundunDdos</ProductName>
-                <DomainName>inner-yundun-ddos.cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-        </Products>
-    </Endpoint>
-    <Endpoint name="cn-ningxia-am7-c01">
-        <RegionIds>
-            <RegionId>cn-ningxia-am7-c01</RegionId>
-        </RegionIds>
-        <Products>
-            <Product>
-                <ProductName>Ecs</ProductName>
-                <DomainName>ecs-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Vpc</ProductName>
-                <DomainName>vpc.aliyuncs.com</DomainName>
-            </Product>
-        </Products>
-    </Endpoint>
-    <Endpoint name="cn-shenzhen-finance-1">
-        <RegionIds>
-            <RegionId>cn-shenzhen-finance-1</RegionId>
-        </RegionIds>
-        <Products>
-            <Product>
-                <ProductName>Kms</ProductName>
-                <DomainName>kms.cn-shenzhen-finance-1.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ecs</ProductName>
-                <DomainName>ecs-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Rds</ProductName>
-                <DomainName>rds.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Vpc</ProductName>
-                <DomainName>vpc.aliyuncs.com</DomainName>
-            </Product>
-        </Products>
-    </Endpoint>
-    <Endpoint name="ap-southeast-1">
-        <RegionIds>
-            <RegionId>ap-southeast-1</RegionId>
-        </RegionIds>
-        <Products>
-            <Product>
-                <ProductName>CS</ProductName>
-                <DomainName>cs.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Risk</ProductName>
-                <DomainName>risk-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>COS</ProductName>
-                <DomainName>cos.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ess</ProductName>
-                <DomainName>ess.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Billing</ProductName>
-                <DomainName>billing.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Dqs</ProductName>
-                <DomainName>dqs.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Dds</ProductName>
-                <DomainName>mongodb.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Alidns</ProductName>
-                <DomainName>alidns.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Sms</ProductName>
-                <DomainName>sms.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Drds</ProductName>
-                <DomainName>drds.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Dts</ProductName>
-                <DomainName>dts.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Kms</ProductName>
-                <DomainName>kms.ap-southeast-1.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Location</ProductName>
-                <DomainName>location.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Msg</ProductName>
-                <DomainName>msg-inner.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>ChargingService</ProductName>
-                <DomainName>chargingservice.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>R-kvstore</ProductName>
-                <DomainName>r-kvstore-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Alert</ProductName>
-                <DomainName>alert.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Msc</ProductName>
-                <DomainName>msc-inner.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>HighDDos</ProductName>
-                <DomainName>yd-highddos-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Yundun</ProductName>
-                <DomainName>yundun-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ubsms-inner</ProductName>
-                <DomainName>ubsms-inner.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ocs</ProductName>
-                <DomainName>m-kvstore.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Dm</ProductName>
-                <DomainName>dm.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Green</ProductName>
-                <DomainName>green.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Commondriver</ProductName>
-                <DomainName>common.driver.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>oceanbase</ProductName>
-                <DomainName>oceanbase.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Workorder</ProductName>
-                <DomainName>workorder.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Yundunhsm</ProductName>
-                <DomainName>yundunhsm.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Iot</ProductName>
-                <DomainName>iot.ap-southeast-1.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>HPC</ProductName>
-                <DomainName>hpc.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>jaq</ProductName>
-                <DomainName>jaq.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Oms</ProductName>
-                <DomainName>oms.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>live</ProductName>
-                <DomainName>live.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ecs</ProductName>
-                <DomainName>ecs-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>M-kvstore</ProductName>
-                <DomainName>m-kvstore.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Vpc</ProductName>
-                <DomainName>vpc.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>BatchCompute</ProductName>
-                <DomainName>batchCompute.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>AMS</ProductName>
-                <DomainName>ams.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>ROS</ProductName>
-                <DomainName>ros.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>PTS</ProductName>
-                <DomainName>pts.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Qualitycheck</ProductName>
-                <DomainName>qualitycheck.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Bss</ProductName>
-                <DomainName>bss.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ubsms</ProductName>
-                <DomainName>ubsms.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Apigateway</ProductName>
-                <DomainName>apigateway.ap-southeast-1.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>CloudAPI</ProductName>
-                <DomainName>apigateway.ap-southeast-1.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Sts</ProductName>
-                <DomainName>sts.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>CmsSiteMonitor</ProductName>
-                <DomainName>sitemonitor.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ace</ProductName>
-                <DomainName>ace.cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Mts</ProductName>
-                <DomainName>mts.ap-southeast-1.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>CF</ProductName>
-                <DomainName>cf.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Crm</ProductName>
-                <DomainName>crm-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Location-inner</ProductName>
-                <DomainName>location-inner.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Aas</ProductName>
-                <DomainName>aas.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Emr</ProductName>
-                <DomainName>emr.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Httpdns</ProductName>
-                <DomainName>httpdns-api.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Drc</ProductName>
-                <DomainName>drc.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Push</ProductName>
-                <DomainName>cloudpush.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Cms</ProductName>
-                <DomainName>metrics.cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Slb</ProductName>
-                <DomainName>slb.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>YundunDdos</ProductName>
-                <DomainName>inner-yundun-ddos.cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Domain</ProductName>
-                <DomainName>domain.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ots</ProductName>
-                <DomainName>ots-pop.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Cdn</ProductName>
-                <DomainName>cdn.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ram</ProductName>
-                <DomainName>ram.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Sales</ProductName>
-                <DomainName>sales.cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Rds</ProductName>
-                <DomainName>rds.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>OssAdmin</ProductName>
-                <DomainName>oss-admin.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ons</ProductName>
-                <DomainName>ons.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Oss</ProductName>
-                <DomainName>oss-ap-southeast-1.aliyuncs.com</DomainName>
-            </Product>
-        </Products>
-    </Endpoint>
-    <Endpoint name="cn-shenzhen-st4-d01">
-        <RegionIds>
-            <RegionId>cn-shenzhen-st4-d01</RegionId>
-        </RegionIds>
-        <Products>
-            <Product>
-                <ProductName>Ecs</ProductName>
-                <DomainName>ecs-cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-        </Products>
-    </Endpoint>
-    <Endpoint name="eu-central-1">
-        <RegionIds>
-            <RegionId>eu-central-1</RegionId>
-        </RegionIds>
-        <Products>
-            <Product>
-                <ProductName>Rds</ProductName>
-                <DomainName>rds.eu-central-1.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ecs</ProductName>
-                <DomainName>ecs.eu-central-1.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Vpc</ProductName>
-                <DomainName>vpc.eu-central-1.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Kms</ProductName>
-                <DomainName>kms.eu-central-1.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Cms</ProductName>
-                <DomainName>metrics.cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Slb</ProductName>
-                <DomainName>slb.eu-central-1.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Emr</ProductName>
-                <DomainName>emr.eu-central-1.aliyuncs.com</DomainName>
-            </Product>
-        </Products>
-    </Endpoint>
-    <Endpoint name="cn-zhangjiakou">
-        <RegionIds>
-            <RegionId>cn-zhangjiakou</RegionId>
-        </RegionIds>
-        <Products>
-            <Product>
-                <ProductName>Rds</ProductName>
-                <DomainName>rds.cn-zhangjiakou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Ecs</ProductName>
-                <DomainName>ecs.cn-zhangjiakou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Vpc</ProductName>
-                <DomainName>vpc.cn-zhangjiakou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Cms</ProductName>
-                <DomainName>metrics.cn-hangzhou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Slb</ProductName>
-                <DomainName>slb.cn-zhangjiakou.aliyuncs.com</DomainName>
-            </Product>
-            <Product>
-                <ProductName>Emr</ProductName>
-                <DomainName>emr.cn-zhangjiakou.aliyuncs.com</DomainName>
-            </Product>
-        </Products>
-    </Endpoint>
-</Endpoints>

+ 0 - 102
sdk/endpoints/local_xml_resolver.go

@@ -1,102 +0,0 @@
-/*
- * 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.
- */
-
-package endpoints
-
-import (
-	"encoding/xml"
-	"fmt"
-	"io/ioutil"
-	"os"
-	"sync"
-)
-
-var readXmlOnce sync.Once
-var v = Endpoints{}
-
-type LocalXmlResolver struct {
-}
-
-func (resolver *LocalXmlResolver) TryResolve(param *ResolveParam) (endpoint string, support bool, err error) {
-	readXmlOnce.Do(func() {
-		dir, _ := os.Getwd()
-
-		file, err := os.Open(dir + "/endpoints/endpoints.xml")
-		if err != nil {
-			fmt.Printf("error: %v", err)
-			support = false
-			return
-		}
-		defer file.Close()
-		data, err := ioutil.ReadAll(file)
-		if err != nil {
-			fmt.Printf("error: %v", err)
-			support = false
-			return
-		}
-
-		err = xml.Unmarshal(data, &v)
-		if err != nil {
-			fmt.Printf("error: %v", err)
-			support = false
-			return
-		}
-	})
-
-	for _, xmlEndpoint := range v.EndpointList {
-		for _, xmlRegionId := range xmlEndpoint.RegionIds.Id {
-			if xmlRegionId == param.RegionId {
-				for _, xmlProduct := range xmlEndpoint.Products.ProductList {
-					if xmlProduct.ProductName == param.Product {
-						endpoint = xmlProduct.DomainName
-						support = true
-						return
-					}
-				}
-			}
-		}
-	}
-
-	support = false
-	return
-}
-
-type Endpoints struct {
-	XMLName      xml.Name   `xml:"Endpoints"`
-	EndpointList []Endpoint `xml:"Endpoint"`
-}
-
-type Endpoint struct {
-	XMLName   xml.Name  `xml:"Endpoint"`
-	Name      string    `xml:"name,attr"`
-	RegionIds RegionIds `xml:"RegionIds"`
-	Products  Products  `xml:"Products"`
-}
-
-type RegionIds struct {
-	Id []string `xml:"RegionId"`
-}
-
-type Products struct {
-	ProductList []Product `xml:"Product"`
-}
-
-type RegionId struct {
-	XMLName string `xml:"RegionId"`
-}
-
-type Product struct {
-	ProductName string `xml:"ProductName"`
-	DomainName  string `xml:"DomainName"`
-}

+ 0 - 124
sdk/endpoints/location_resolver.go

@@ -1,124 +0,0 @@
-/*
- * 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.
- */
-package endpoints
-
-import (
-	"encoding/json"
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
-	"time"
-)
-
-const (
-	EndpointCacheExpireTime = 3600 //Seconds
-)
-
-var lastClearTimePerProduct map[string]int64 = make(map[string]int64)
-var endpointCache map[string]string = make(map[string]string)
-
-type LocationResolver struct {
-}
-
-func (resolver *LocationResolver) TryResolve(param *ResolveParam) (endpoint string, support bool, err error) {
-	if len(param.LocationProduct) <= 0 {
-		support = false
-		return
-	}
-
-	//get from cache
-	cacheKey := param.Product + "#" + param.RegionId
-	if endpointCache != nil && len(endpointCache[cacheKey]) > 0 && !CheckCacheIsExpire(cacheKey) {
-		endpoint = endpointCache[cacheKey]
-		support = true
-		return
-	}
-
-	//get from remote
-	getEndpointRequest := requests.NewCommonRequest()
-	getEndpointRequest.Product = "Location"
-	getEndpointRequest.Version = "2015-06-12"
-	getEndpointRequest.ApiName = "DescribeEndpoints"
-	getEndpointRequest.Domain = "location.aliyuncs.com"
-	getEndpointRequest.Method = "GET"
-
-	getEndpointRequest.QueryParams["Id"] = param.RegionId
-	getEndpointRequest.QueryParams["ServiceCode"] = param.LocationProduct
-	if len(param.LocationEndpoint) > 0 {
-		getEndpointRequest.QueryParams["Type"] = param.LocationEndpoint
-	} else {
-		getEndpointRequest.QueryParams["Type"] = "openAPI"
-	}
-
-	response, err := param.CommonApi(getEndpointRequest)
-	//{"Endpoints":{"Endpoint":[{"Protocols":{"Protocols":["HTTP","HTTPS"]},"Type":"openAPI","Namespace":"26842","Id":"cn-hangzhou","SerivceCode":"apigateway","Endpoint":"apigateway.cn-hangzhou.aliyuncs.com"}]},"RequestId":"3287538B-19A0-4550-9995-143C5EDBD955","Success":true}
-	var getEndpointResponse GetEndpointResponse
-	if !response.IsSuccess() {
-		support = false
-		return
-	}
-
-	json.Unmarshal([]byte(response.GetHttpContentString()), &getEndpointResponse)
-	if !getEndpointResponse.Success || getEndpointResponse.Endpoints == nil {
-		support = false
-		return
-	}
-	if len(getEndpointResponse.Endpoints.Endpoint) <= 0 {
-		support = false
-		return
-	}
-	if len(getEndpointResponse.Endpoints.Endpoint[0].Endpoint) > 0 {
-		endpoint = getEndpointResponse.Endpoints.Endpoint[0].Endpoint
-		endpointCache[cacheKey] = endpoint
-		lastClearTimePerProduct[cacheKey] = time.Now().Unix()
-		support = true
-		return
-	}
-
-	support = false
-	return
-}
-
-func CheckCacheIsExpire(cacheKey string) bool {
-	lastClearTime := lastClearTimePerProduct[cacheKey]
-	if lastClearTime <= 0 {
-		lastClearTime = time.Now().Unix()
-		lastClearTimePerProduct[cacheKey] = lastClearTime
-	}
-
-	now := time.Now().Unix()
-	elapsedTime := now - lastClearTime
-	if elapsedTime > EndpointCacheExpireTime {
-		return true
-	}
-
-	return false
-}
-
-type GetEndpointResponse struct {
-	Endpoints *EndpointsObj
-	RequestId string
-	Success   bool
-}
-
-type EndpointsObj struct {
-	Endpoint []EndpointObj
-}
-
-type EndpointObj struct {
-	Protocols   map[string]string
-	Type        string
-	Namespace   string
-	Id          string
-	SerivceCode string
-	Endpoint    string
-}

+ 0 - 78
sdk/endpoints/resolver.go

@@ -1,78 +0,0 @@
-/*
- * 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.
- */
-
-package endpoints
-
-import (
-	"fmt"
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/errors"
-	"sync"
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
-	"encoding/json"
-)
-
-const (
-	ResolveEndpointUserGuideLink = ""
-)
-
-var once sync.Once
-var resolvers []Resolver
-
-type Resolver interface {
-	TryResolve(param *ResolveParam) (endpoint string, support bool, err error)
-}
-
-func Resolve(param *ResolveParam) (endpoint string, err error) {
-	supportedResolvers := getAllResolvers()
-	for _, resolver := range supportedResolvers {
-		endpoint, supported, err := resolver.TryResolve(param)
-		if supported {
-			return endpoint, err
-		}
-	}
-
-	// not support
-	errorMsg := fmt.Sprintf(errors.CanNotResolveEndpointMessage, param, ResolveEndpointUserGuideLink)
-	err = errors.NewClientError(errors.CanNotResolveEndpointCode, errorMsg, nil)
-	return
-}
-
-func getAllResolvers() []Resolver {
-	once.Do(func() {
-		resolvers = []Resolver{
-			&SimpleHostResolver{},
-			&LocationResolver{},
-			&LocalXmlResolver{},
-		}
-	})
-	return resolvers
-}
-
-type ResolveParam struct {
-	Domain           string
-	Product          string
-	RegionId         string
-	LocationProduct  string
-	LocationEndpoint string
-	CommonApi        func(request *requests.CommonRequest) (response *responses.CommonResponse, err error) `json:"-"`
-}
-
-func (param *ResolveParam) String() string {
-	jsonBytes, err := json.Marshal(param)
-	if err != nil {
-		return fmt.Sprint("ResolveParam.String() process error:", err)
-	}
-	return string(jsonBytes)
-}

+ 0 - 26
sdk/endpoints/simple_host_resolver.go

@@ -1,26 +0,0 @@
-/*
- * 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.
- */
-
-package endpoints
-
-type SimpleHostResolver struct {
-}
-
-func (resolver *SimpleHostResolver) TryResolve(param *ResolveParam) (endpoint string, support bool, err error) {
-	if support = len(param.Domain) > 0; support {
-		endpoint = param.Domain
-	}
-	return
-}
-

+ 0 - 80
sdk/errors/client_error.go

@@ -1,80 +0,0 @@
-/*
- * 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.
- */
-
-package errors
-
-const (
-	DefaultClientErrorStatus = 400
-	DefaultClientErrorCode   = "SDK.ClientError"
-
-	UnsupportedCredentialCode    = "SDK.UnsupportedCredential"
-	UnsupportedCredentialMessage = "Specified credential (type = %s) is not supported, please check"
-
-	CanNotResolveEndpointCode    = "SDK.CanNotResolveEndpoint"
-	CanNotResolveEndpointMessage = "Can not resolve endpoint(param = %s), please check the user guide\n %s"
-
-	UnsupportedParamPositionCode    = "SDK.UnsupportedParamPosition"
-	UnsupportedParamPositionMessage = "Specified param position (%s) is not supported, please upgrade sdk and retry"
-
-	AsyncFunctionNotEnabledCode    = "SDK.AsyncFunctionNotEnabled"
-	AsyncFunctionNotEnabledMessage = "Async function is not enabled in client, please invoke 'client.EnableAsync' function"
-
-	UnknownRequestTypeCode    = "SDK.UnknownRequestType"
-	UnknownRequestTypeMessage = "Unknown Request Type: %s"
-
-	MissingParamCode = "SDK.MissingParam"
-	InvalidParamCode = "SDK.InvalidParam"
-)
-
-type ClientError struct {
-	errorCode   string
-	message     string
-	originError error
-}
-
-func NewClientError(errorCode, message string, originErr error) Error {
-	return &ClientError{
-		errorCode:   errorCode,
-		message:     message,
-		originError: originErr,
-	}
-}
-
-func (err *ClientError) Error() string {
-	if err.originError != nil {
-		return err.originError.Error()
-	} else {
-		return ""
-	}
-}
-
-func (err *ClientError) OriginError() error {
-	return err.originError
-}
-
-func (*ClientError) HttpStatus() int {
-	return DefaultClientErrorStatus
-}
-
-func (err *ClientError) ErrorCode() string {
-	if err.errorCode == "" {
-		return DefaultClientErrorCode
-	} else {
-		return err.errorCode
-	}
-}
-
-func (err *ClientError) Message() string {
-	return err.message
-}

+ 0 - 23
sdk/errors/error.go

@@ -1,23 +0,0 @@
-/*
- * 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.
- */
-
-package errors
-
-type Error interface {
-	error
-	HttpStatus() int
-	ErrorCode() string
-	Message() string
-	OriginError() error
-}

+ 0 - 49
sdk/errors/server_error.go

@@ -1,49 +0,0 @@
-/*
- * 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.
- */
-
-package errors
-
-type ServerError struct {
-	httpStatus int
-	errorCode  string
-	message    string
-}
-
-func NewServerError(httpStatus int, errorCode, message string) Error {
-	return &ServerError{
-		httpStatus: httpStatus,
-		errorCode:  errorCode,
-		message:    message,
-	}
-}
-
-func (err *ServerError) HttpStatus() int {
-	return err.httpStatus
-}
-
-func (err *ServerError) ErrorCode() string {
-	return err.errorCode
-}
-
-func (err *ServerError) Message() string {
-	return err.message
-}
-
-func (err *ServerError) Error() string {
-	return "SDK.ServerError"
-}
-
-func (err *ServerError) OriginError() error {
-	return nil
-}

+ 0 - 258
sdk/requests/acs_reqeust.go

@@ -1,258 +0,0 @@
-/*
- * 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.
- */
-
-package requests
-
-import (
-	"fmt"
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/errors"
-	"io"
-	"reflect"
-	"strconv"
-)
-
-const (
-	RPC = "RPC"
-	ROA = "ROA"
-
-	HTTP  = "HTTP"
-	HTTPS = "HTTPS"
-
-	DefaultHttpPort = "80"
-
-	GET     = "GET"
-	PUT     = "PUT"
-	POST    = "POST"
-	DELETE  = "DELETE"
-	HEAD    = "HEAD"
-	OPTIONS = "OPTIONS"
-
-	Json = "application/json"
-	Xml  = "application/xml"
-	Raw  = "application/octet-stream"
-	Form = "application/x-www-form-urlencoded"
-
-	Header = "Header"
-	Query  = "Query"
-	Body   = "Body"
-	Path   = "Path"
-
-	HeaderSeparator = "\n"
-)
-
-// interface
-type AcsRequest interface {
-	GetScheme() string
-	GetMethod() string
-	GetDomain() string
-	GetPort() string
-	GetRegionId() string
-	GetUrl() string
-	GetHeaders() map[string]string
-	GetBodyReader() io.Reader
-	GetStyle() string
-	GetProduct() string
-	GetAcceptFormat() string
-	GetLocationServiceCode() string
-	GetLocationEndpointType() string
-
-	SetDomain(domain string)
-
-	GetQueries() string
-	addHeaderParam(key, value string)
-	addQueryParam(key, value string)
-	addFormParam(key, value string)
-	addPathParam(key, value string)
-}
-
-// base class
-type baseRequest struct {
-	Scheme   string
-	Method   string
-	Domain   string
-	Port     string
-	RegionId string
-
-	product    string
-	version    string
-	actionName string
-
-	acceptFormat string
-
-	QueryParams map[string]string
-	Headers     map[string]string
-	FormParams  map[string]string
-	Content     []byte
-
-	locationServiceCode  string
-	locationEndpointType string
-
-	queries string
-}
-
-func (request *baseRequest) addHeaderParam(key, value string) {
-	request.Headers[key] = value
-}
-
-func (request *baseRequest) addQueryParam(key, value string) {
-	request.QueryParams[key] = value
-}
-
-func (request *baseRequest) addFormParam(key, value string) {
-	request.FormParams[key] = value
-}
-
-func (request *baseRequest) GetAcceptFormat() string {
-	return request.acceptFormat
-}
-
-func (request *baseRequest) GetLocationServiceCode() string {
-	return request.locationServiceCode
-}
-
-func (request *baseRequest) GetLocationEndpointType() string {
-	return request.locationEndpointType
-}
-
-func (request *baseRequest) GetProduct() string {
-	return request.product
-}
-
-func (request *baseRequest) GetScheme() string {
-	return request.Scheme
-}
-
-func (request *baseRequest) GetMethod() string {
-	return request.Method
-}
-
-func (request *baseRequest) GetDomain() string {
-	return request.Domain
-}
-
-func (request *baseRequest) SetDomain(host string) {
-	request.Domain = host
-}
-
-func (request *baseRequest) GetPort() string {
-	return request.Port
-}
-
-func (request *baseRequest) GetRegionId() string {
-	return request.RegionId
-}
-
-func (request *baseRequest) GetHeaders() map[string]string {
-	return request.Headers
-}
-
-func (request *baseRequest) SetContentType(contentType string) {
-	request.Headers["Content-Type"] = contentType
-}
-
-func (request *baseRequest) GetContentType() (contentType string, contains bool) {
-	contentType, contains = request.Headers["Content-Type"]
-	return
-}
-
-func defaultBaseRequest() (request *baseRequest) {
-	request = &baseRequest{
-		Scheme:       HTTP,
-		Port:         DefaultHttpPort,
-		acceptFormat: "JSON",
-		Method:       GET,
-		QueryParams:  make(map[string]string),
-		Headers: map[string]string{
-			"x-sdk-client":      "golang/1.0.0",
-			"x-sdk-invoke-type": "normal",
-		},
-		FormParams: make(map[string]string),
-	}
-	return
-}
-
-func InitParams(request AcsRequest) (err error) {
-	requestValue := reflect.ValueOf(request).Elem()
-	err = flatRepeatedList(requestValue, request, "", "")
-	return
-}
-
-func flatRepeatedList(dataValue reflect.Value, request AcsRequest, position, prefix string) (err error) {
-	dataType := dataValue.Type()
-	for i := 0; i < dataType.NumField(); i++ {
-		field := dataType.Field(i)
-		name, containsNameTag := field.Tag.Lookup("name")
-		fieldPosition := position
-		if fieldPosition == "" {
-			fieldPosition, _ = field.Tag.Lookup("position")
-		}
-		typeTag, containsTypeTag := field.Tag.Lookup("type")
-		if containsNameTag {
-			if !containsTypeTag {
-				// simple param
-				key := prefix + name
-				value := dataValue.Field(i).String()
-				err = addParam(request, fieldPosition, key, value)
-				if err != nil {
-					return
-				}
-			} else if typeTag == "Repeated" {
-				// repeated param
-				repeatedFieldValue := dataValue.Field(i)
-				if repeatedFieldValue.Kind() != reflect.Slice {
-					// possible value: {"[]string", "*[]struct"}, we must call Elem() in the last condition
-					repeatedFieldValue = repeatedFieldValue.Elem()
-				}
-				if repeatedFieldValue.IsValid() && !repeatedFieldValue.IsNil() {
-					for m := 0; m < repeatedFieldValue.Len(); m++ {
-						elementValue := repeatedFieldValue.Index(m)
-						key := prefix + name + "." + strconv.Itoa(m+1)
-						if elementValue.Type().String() == "string" {
-							value := elementValue.String()
-							err = addParam(request, fieldPosition, key, value)
-							if err != nil {
-								return
-							}
-						} else {
-							err = flatRepeatedList(elementValue, request, fieldPosition, key+".")
-							if err != nil {
-								return
-							}
-						}
-					}
-				}
-			}
-		}
-	}
-	return
-}
-
-func addParam(request AcsRequest, position, name, value string) (err error) {
-	if len(value) > 0 {
-		switch position {
-		case Header:
-			request.addHeaderParam(name, value)
-		case Query:
-			request.addQueryParam(name, value)
-		case Path:
-			request.addPathParam(name, value)
-		case Body:
-			request.addFormParam(name, value)
-		default:
-			errMsg := fmt.Sprintf(errors.UnsupportedParamPositionMessage, position)
-			err = errors.NewClientError(errors.UnsupportedParamPositionCode, errMsg, nil)
-		}
-	}
-	return
-}

+ 0 - 76
sdk/requests/common_request.go

@@ -1,76 +0,0 @@
-package requests
-
-import (
-	"io"
-	"strings"
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/errors"
-)
-
-type CommonRequest struct {
-	*baseRequest
-
-	Version string
-	ApiName string
-	Product string
-
-	// roa params
-	PathPattern string
-	PathParams  map[string]string
-
-	Ontology AcsRequest
-}
-
-func NewCommonRequest() (request *CommonRequest) {
-	request = &CommonRequest{
-		baseRequest: defaultBaseRequest(),
-	}
-	request.Headers["x-sdk-invoke-type"] = "common"
-	request.PathParams = make(map[string]string)
-	return
-}
-
-func (request *CommonRequest) TransToAcsRequest() {
-	if len(request.Version) == 0 {
-		errors.NewClientError(errors.MissingParamCode, "Common request [version] is required", nil)
-	}
-	if len(request.ApiName) == 0 || len(request.PathPattern) == 0 {
-		errors.NewClientError(errors.MissingParamCode, "At least one of [ApiName] and [PathPattern] should has a value", nil)
-	}
-	if len(request.Domain) == 0 || len(request.Product) == 0 {
-		errors.NewClientError(errors.MissingParamCode, "At least one of [Host] and [Product] should has a value", nil)
-	}
-
-	if len(request.PathPattern) > 0 {
-		roaRequest := &RoaRequest{}
-		roaRequest.initWithCommonRequest(request)
-		request.Ontology = roaRequest
-	} else {
-		rpcRequest := &RpcRequest{}
-		rpcRequest.baseRequest = request.baseRequest
-		rpcRequest.product = request.Product
-		rpcRequest.version = request.Version
-		rpcRequest.actionName = request.ApiName
-		request.Ontology = rpcRequest
-	}
-
-}
-
-func (request *CommonRequest) GetUrl() string {
-	return strings.ToLower(request.Scheme) + "://" + request.Domain + ":" + request.Port + request.GetQueries()
-}
-
-func (request *CommonRequest) GetBodyReader() io.Reader {
-	return request.Ontology.GetBodyReader()
-}
-
-func (request *CommonRequest) GetStyle() string {
-	return request.Ontology.GetStyle()
-}
-
-func (request *CommonRequest) GetQueries() string {
-	return request.Ontology.GetQueries()
-}
-
-func (request *CommonRequest) addPathParam(key, value string) {
-	request.PathParams[key] = value
-}

+ 0 - 122
sdk/requests/roa_request.go

@@ -1,122 +0,0 @@
-/*
- * 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.
- */
-
-package requests
-
-import (
-	"bytes"
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/utils"
-	"io"
-	"sort"
-	"strings"
-)
-
-type RoaRequest struct {
-	*baseRequest
-	pathPattern string
-	PathParams  map[string]string
-}
-
-func (*RoaRequest) GetStyle() string {
-	return ROA
-}
-
-func (request *RoaRequest) GetBodyReader() io.Reader {
-	if request.FormParams != nil && len(request.FormParams) > 0 {
-		formString := utils.GetUrlFormedMap(request.FormParams)
-		return strings.NewReader(formString)
-	} else if len(request.Content) > 0 {
-		return bytes.NewReader(request.Content)
-	} else {
-		return nil
-	}
-}
-
-func (request *RoaRequest) GetQueries() string {
-	if len(request.queries) == 0 {
-		request.buildQueries()
-	}
-	return request.queries
-}
-
-func (request *RoaRequest) buildQueries() {
-	// replace path params with value
-	path := request.pathPattern
-	for key, value := range request.PathParams {
-		path = strings.Replace(path, "["+key+"]", value, 1)
-	}
-
-	queryParams := request.QueryParams
-	// check if path contains params
-	splitArray := strings.Split(path, "?")
-	path = splitArray[0]
-	if len(splitArray) > 1 && len(splitArray[1]) > 0 {
-		queryParams[splitArray[1]] = ""
-	}
-	// sort QueryParams by key
-	var queryKeys []string
-	for key := range queryParams {
-		queryKeys = append(queryKeys, key)
-	}
-	sort.Strings(queryKeys)
-
-	// append urlBuilder
-	urlBuilder := bytes.Buffer{}
-	urlBuilder.WriteString(path)
-	urlBuilder.WriteString("?")
-	for i := 0; i < len(queryKeys); i++ {
-		queryKey := queryKeys[i]
-		urlBuilder.WriteString(queryKey)
-		if value := queryParams[queryKey]; len(value) > 0 {
-			urlBuilder.WriteString("=")
-			urlBuilder.WriteString(value)
-		}
-		if i < len(queryKeys)-1 {
-			urlBuilder.WriteString("&")
-		}
-	}
-	request.queries = urlBuilder.String()
-}
-
-func (request *RoaRequest) GetUrl() string {
-	return strings.ToLower(request.Scheme) + "://" + request.Domain + ":" + request.Port + request.GetQueries()
-}
-
-func (request *RoaRequest) addPathParam(key, value string) {
-	request.PathParams[key] = value
-}
-
-func (request *RoaRequest) InitWithApiInfo(product, version, action, uriPattern, serviceCode, endpointType string) {
-	request.baseRequest = defaultBaseRequest()
-	request.PathParams = make(map[string]string)
-	request.Headers["x-acs-version"] = version
-	request.pathPattern = uriPattern
-	request.locationServiceCode = serviceCode
-	request.locationEndpointType = endpointType
-	//request.product = product
-	//request.version = version
-	//request.actionName = action
-}
-
-func (request *RoaRequest) initWithCommonRequest(commonRequest *CommonRequest) {
-	request.baseRequest = commonRequest.baseRequest
-	request.PathParams = commonRequest.PathParams
-	//request.product = commonRequest.Product
-	//request.version = commonRequest.Version
-	request.Headers["x-acs-version"] = commonRequest.Version
-	//request.actionName = commonRequest.ApiName
-	request.pathPattern = commonRequest.PathPattern
-	request.locationServiceCode = ""
-	request.locationEndpointType = ""
-}

+ 0 - 75
sdk/requests/rpc_request.go

@@ -1,75 +0,0 @@
-/*
- * 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.
- */
-
-package requests
-
-import (
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/utils"
-	"io"
-	"strings"
-)
-
-type RpcRequest struct {
-	*baseRequest
-}
-
-func (request *RpcRequest) init() {
-	request.baseRequest = defaultBaseRequest()
-	request.Method = POST
-}
-
-func (*RpcRequest) GetStyle() string {
-	return RPC
-}
-
-func (request *RpcRequest) GetBodyReader() io.Reader {
-	if request.FormParams != nil && len(request.FormParams) > 0 {
-		formString := utils.GetUrlFormedMap(request.FormParams)
-		return strings.NewReader(formString)
-	} else {
-		return strings.NewReader("")
-	}
-}
-
-func (request *RpcRequest) GetQueries() string {
-	if request.queries == "" {
-		request.queries = "/?" + utils.GetUrlFormedMap(request.QueryParams)
-	}
-	return request.queries
-}
-
-func (request *RpcRequest) GetUrl() string {
-	return strings.ToLower(request.Scheme) + "://" + request.Domain + ":" + request.Port + request.GetQueries()
-}
-
-func (request *RpcRequest) GetVersion() string {
-	return request.version
-}
-
-func (request *RpcRequest) GetActionName() string {
-	return request.actionName
-}
-
-func (request *RpcRequest) addPathParam(key, value string) {
-	panic("not support")
-}
-
-func (request *RpcRequest) InitWithApiInfo(product, version, action, serviceCode, endpointType string) {
-	request.init()
-	request.product = product
-	request.version = version
-	request.actionName = action
-	request.locationServiceCode = serviceCode
-	request.locationEndpointType = endpointType
-}

+ 0 - 124
sdk/responses/response.go

@@ -1,124 +0,0 @@
-/*
- * 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.
- */
-
-package responses
-
-import (
-	"bytes"
-	"encoding/json"
-	"encoding/xml"
-	"io/ioutil"
-	"net/http"
-	"strconv"
-	"strings"
-	"fmt"
-)
-
-type AcsResponse interface {
-	GetHttpStatus() int
-	GetHttpHeaders() map[string][]string
-	GetHttpContentString() string
-	GetHttpContentBytes() []byte
-	GetOriginHttpResponse() *http.Response
-	parseFromHttpResponse(httpResponse *http.Response) error
-}
-
-func Unmarshal(response AcsResponse, httpResponse *http.Response, format string) (err error) {
-	err = response.parseFromHttpResponse(httpResponse)
-	fmt.Println(response.GetHttpContentString())
-	if err != nil {
-		return
-	}
-	if strings.ToUpper(format) == "JSON" {
-		err = json.Unmarshal(response.GetHttpContentBytes(), response)
-	} else if strings.ToUpper(format) == "XML" {
-		err = xml.Unmarshal(response.GetHttpContentBytes(), response)
-	}
-	return
-}
-
-type BaseResponse struct {
-	httpStatus         int
-	httpHeaders        map[string][]string
-	httpContentString  string
-	httpContentBytes   []byte
-	originHttpResponse *http.Response
-}
-
-func (baseResponse *BaseResponse) GetHttpStatus() int {
-	return baseResponse.httpStatus
-}
-
-func (baseResponse *BaseResponse) GetHttpHeaders() map[string][]string {
-	return baseResponse.httpHeaders
-}
-
-func (baseResponse *BaseResponse) GetHttpContentString() string {
-	return baseResponse.httpContentString
-}
-
-func (baseResponse *BaseResponse) GetHttpContentBytes() []byte {
-	return baseResponse.httpContentBytes
-}
-
-func (baseResponse *BaseResponse) GetOriginHttpResponse() *http.Response {
-	return baseResponse.originHttpResponse
-}
-
-func (baseResponse *BaseResponse) IsSuccess() bool {
-	if baseResponse.GetHttpStatus() >= 200 && baseResponse.GetHttpStatus() < 300 {
-		return true
-	}
-
-	return false
-}
-
-func (baseResponse *BaseResponse) parseFromHttpResponse(httpResponse *http.Response) (err error) {
-	defer httpResponse.Body.Close()
-	body, err := ioutil.ReadAll(httpResponse.Body)
-	if err != nil {
-		return
-	}
-	baseResponse.httpStatus = httpResponse.StatusCode
-	baseResponse.httpHeaders = httpResponse.Header
-	baseResponse.httpContentBytes = body
-	baseResponse.httpContentString = string(body)
-	baseResponse.originHttpResponse = httpResponse
-	return
-}
-
-func (baseResponse *BaseResponse) String() string {
-	resultBuilder := bytes.Buffer{}
-	// statusCode
-	resultBuilder.WriteString("StatusCode : " + strconv.Itoa(baseResponse.httpStatus) + "\n")
-	// httpHeaders
-	resultBuilder.WriteString("Headers:\n")
-	for key, value := range baseResponse.httpHeaders {
-		resultBuilder.WriteString(" -> " + key + " : " + strings.Join(value, ";") + "\n")
-	}
-	// content
-	resultBuilder.WriteString("Content:\n")
-	resultBuilder.WriteString(" -> " + baseResponse.httpContentString + "\n")
-	return resultBuilder.String()
-}
-
-type CommonResponse struct {
-	*BaseResponse
-}
-
-func NewCommonResponse() (request *CommonResponse) {
-	return &CommonResponse{
-		BaseResponse: &BaseResponse{},
-	}
-}

+ 0 - 100
sdk/utils/utils.go

@@ -1,100 +0,0 @@
-/*
- * 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.
- */
-
-package utils
-
-import (
-	"crypto/md5"
-	"encoding/base64"
-	"encoding/hex"
-	"encoding/json"
-	"fmt"
-	"github.com/satori/go.uuid"
-	"net/url"
-	"reflect"
-	"strconv"
-	"time"
-)
-
-func GetUUIDV4() (uuidHex string) {
-	uuidV4 := uuid.NewV4()
-	uuidHex = hex.EncodeToString(uuidV4.Bytes())
-	return
-}
-
-func GetMD5Base64(bytes []byte) (base64Value string) {
-	md5Ctx := md5.New()
-	md5Ctx.Write(bytes)
-	md5Value := md5Ctx.Sum(nil)
-	base64Value = base64.StdEncoding.EncodeToString(md5Value)
-	return
-}
-
-func GetTimeInFormatISO8601() (timeStr string) {
-	gmt, err := time.LoadLocation("GMT")
-	if err != nil {
-		panic(err)
-	}
-	return time.Now().In(gmt).Format("2006-01-02T15:04:05Z")
-}
-
-func GetTimeInFormatRFC2616() (timeStr string) {
-	gmt, err := time.LoadLocation("GMT")
-	if err != nil {
-		panic(err)
-	}
-	return time.Now().In(gmt).Format("Mon, 02 Jan 2006 15:04:05 GMT")
-}
-
-func GetUrlFormedMap(source map[string]string) (urlEncoded string) {
-	urlEncoder := url.Values{}
-	for key, value := range source {
-		urlEncoder.Add(key, value)
-	}
-	urlEncoded = urlEncoder.Encode()
-	return
-}
-
-func GetFromJsonString(jsonString, key string) (result string, err error) {
-	var responseMap map[string]*json.RawMessage
-	err = json.Unmarshal([]byte(jsonString), &responseMap)
-	if err != nil {
-		return
-	}
-	fmt.Println(string(*responseMap[key]))
-	err = json.Unmarshal(*responseMap[key], &result)
-	return
-}
-
-func InitStructWithDefaultTag(bean interface{}) {
-	configType := reflect.TypeOf(bean)
-	for i := 0; i < configType.Elem().NumField(); i++ {
-		field := configType.Elem().Field(i)
-		defaultValue := field.Tag.Get("default")
-		if defaultValue == "" {
-			continue
-		}
-		setter := reflect.ValueOf(bean).Elem().Field(i)
-		switch field.Type.String() {
-		case "int":
-			intValue, _ := strconv.ParseInt(defaultValue, 10, 64)
-			setter.SetInt(intValue)
-		case "string":
-			setter.SetString(defaultValue)
-		case "bool":
-			boolValue, _ := strconv.ParseBool(defaultValue)
-			setter.SetBool(boolValue)
-		}
-	}
-}

+ 0 - 104
services/ft/api_define_test.go

@@ -1,104 +0,0 @@
-
-package ft
-
-//Licensed under the Apache License, Version 2.0 (the "License");
-//you may not use this file except in compliance with the License.
-//You may obtain a copy of the License at
-//
-//http://www.apache.org/licenses/LICENSE-2.0
-//
-//Unless required by applicable law or agreed to in writing, software
-//distributed under the License is distributed on an "AS IS" BASIS,
-//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//See the License for the specific language governing permissions and
-//limitations under the License.
-//
-// Code generated by Alibaba Cloud SDK Code Generator.
-// Changes may cause incorrect behavior and will be lost if the code is regenerated.
-
-import (
-"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
-"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
-)
-
-func (client *Client) ApiDefineTest(request *ApiDefineTestRequest) (response *ApiDefineTestResponse, err error) {
-response = CreateApiDefineTestResponse()
-err = client.DoAction(request, response)
-return
-}
-
-func (client *Client) ApiDefineTestWithChan(request *ApiDefineTestRequest) (<-chan *ApiDefineTestResponse, <-chan error) {
-responseChan := make(chan *ApiDefineTestResponse, 1)
-errChan := make(chan error, 1)
-err := client.AddAsyncTask(func() {
-defer close(responseChan)
-defer close(errChan)
-response, err :=  client.ApiDefineTest(request)
-responseChan <- response
-errChan <- err
-})
-if err != nil {
-errChan <- err
-close(responseChan)
-close(errChan)
-}
-return responseChan, errChan
-}
-
-func (client *Client) ApiDefineTestWithCallback(request *ApiDefineTestRequest, callback func(response *ApiDefineTestResponse, err error)) (<-chan int) {
-result := make(chan int, 1)
-err := client.AddAsyncTask(func() {
-var response *ApiDefineTestResponse
-var err error
-defer close(result)
-response, err = client.ApiDefineTest(request)
-callback(response, err)
-result <- 1
-})
-if err != nil {
-defer close(result)
-callback(nil, err)
-result <- 0
-}
-return result
-}
-
-type ApiDefineTestRequest struct {
-*requests.RpcRequest
-            RequestId  string `position:"Query" name:"RequestId"`
-}
-
-
-type ApiDefineTestResponse struct {
-*responses.BaseResponse
-            ResultSwitchValue     string `json:"ResultSwitchValue"`
-            ListValue   []    string  `json:"ListValue"`
-            StructValue struct {
-            NullToEmptyStructChildValue     string `json:"NullToEmptyStructChildValue"`
-            SubStructValue struct {
-            SubStructChildValue     string `json:"SubStructChildValue"`
-            }  `json:"SubStructValue"`
-            }  `json:"StructValue"`
-            ArrayValue  []struct {
-            ArrayChildValue     string `json:"ArrayChildValue"`
-            SubArrayValue  []struct {
-            SubArrayChildValue     string `json:"SubArrayChildValue"`
-            }  `json:"SubArrayValue"`
-            }  `json:"ArrayValue"`
-}
-
-func CreateApiDefineTestRequest() (request *ApiDefineTestRequest) {
-request = &ApiDefineTestRequest{
-RpcRequest: &requests.RpcRequest{},
-}
-request.InitWithApiInfo("Ft", "2015-01-01", "ApiDefineTest", "", "")
-return
-}
-
-func CreateApiDefineTestResponse() (response *ApiDefineTestResponse) {
-response = &ApiDefineTestResponse{
-BaseResponse: &responses.BaseResponse{},
-}
-return
-}
-

+ 0 - 44
services/ft/client.go

@@ -1,44 +0,0 @@
-
-package ft
-
-//Licensed under the Apache License, Version 2.0 (the "License");
-//you may not use this file except in compliance with the License.
-//You may obtain a copy of the License at
-//
-//http://www.apache.org/licenses/LICENSE-2.0
-//
-//Unless required by applicable law or agreed to in writing, software
-//distributed under the License is distributed on an "AS IS" BASIS,
-//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//See the License for the specific language governing permissions and
-//limitations under the License.
-//
-// Code generated by Alibaba Cloud SDK Code Generator.
-// Changes may cause incorrect behavior and will be lost if the code is regenerated.
-
-import (
-    "github.com/aliyun/alibaba-cloud-sdk-go/sdk"
-    "github.com/aliyun/alibaba-cloud-sdk-go/sdk/auth"
-)
-
-type Client struct {
-    sdk.Client
-}
-
-func NewClient() (client *Client, err error) {
-    client = &Client{}
-    err = client.Init()
-    return
-}
-
-func NewClientWithOptions(regionId string, config *sdk.Config, credential auth.Credential) (client *Client, err error) {
-    client = &Client{}
-    err = client.InitWithOptions(regionId, config, credential)
-    return
-}
-
-func NewClientWithAccessKey(regionId, accessKeyId, accessKeySecret string) (client *Client, err error) {
-    client = &Client{}
-    err = client.InitWithAccessKey(regionId, accessKeyId, accessKeySecret)
-    return
-}

+ 0 - 90
services/ft/dubbo_perf_api.go

@@ -1,90 +0,0 @@
-
-package ft
-
-//Licensed under the Apache License, Version 2.0 (the "License");
-//you may not use this file except in compliance with the License.
-//You may obtain a copy of the License at
-//
-//http://www.apache.org/licenses/LICENSE-2.0
-//
-//Unless required by applicable law or agreed to in writing, software
-//distributed under the License is distributed on an "AS IS" BASIS,
-//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//See the License for the specific language governing permissions and
-//limitations under the License.
-//
-// Code generated by Alibaba Cloud SDK Code Generator.
-// Changes may cause incorrect behavior and will be lost if the code is regenerated.
-
-import (
-"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
-"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
-)
-
-func (client *Client) DubboPerfApi(request *DubboPerfApiRequest) (response *DubboPerfApiResponse, err error) {
-response = CreateDubboPerfApiResponse()
-err = client.DoAction(request, response)
-return
-}
-
-func (client *Client) DubboPerfApiWithChan(request *DubboPerfApiRequest) (<-chan *DubboPerfApiResponse, <-chan error) {
-responseChan := make(chan *DubboPerfApiResponse, 1)
-errChan := make(chan error, 1)
-err := client.AddAsyncTask(func() {
-defer close(responseChan)
-defer close(errChan)
-response, err :=  client.DubboPerfApi(request)
-responseChan <- response
-errChan <- err
-})
-if err != nil {
-errChan <- err
-close(responseChan)
-close(errChan)
-}
-return responseChan, errChan
-}
-
-func (client *Client) DubboPerfApiWithCallback(request *DubboPerfApiRequest, callback func(response *DubboPerfApiResponse, err error)) (<-chan int) {
-result := make(chan int, 1)
-err := client.AddAsyncTask(func() {
-var response *DubboPerfApiResponse
-var err error
-defer close(result)
-response, err = client.DubboPerfApi(request)
-callback(response, err)
-result <- 1
-})
-if err != nil {
-defer close(result)
-callback(nil, err)
-result <- 0
-}
-return result
-}
-
-type DubboPerfApiRequest struct {
-*requests.RpcRequest
-}
-
-
-type DubboPerfApiResponse struct {
-*responses.BaseResponse
-            RequestId     string `json:"requestId"`
-}
-
-func CreateDubboPerfApiRequest() (request *DubboPerfApiRequest) {
-request = &DubboPerfApiRequest{
-RpcRequest: &requests.RpcRequest{},
-}
-request.InitWithApiInfo("Ft", "2015-01-01", "DubboPerfApi", "", "")
-return
-}
-
-func CreateDubboPerfApiResponse() (response *DubboPerfApiResponse) {
-response = &DubboPerfApiResponse{
-BaseResponse: &responses.BaseResponse{},
-}
-return
-}
-

+ 0 - 145
services/ft/gated_launch_ft_api.go

@@ -1,145 +0,0 @@
-
-package ft
-
-//Licensed under the Apache License, Version 2.0 (the "License");
-//you may not use this file except in compliance with the License.
-//You may obtain a copy of the License at
-//
-//http://www.apache.org/licenses/LICENSE-2.0
-//
-//Unless required by applicable law or agreed to in writing, software
-//distributed under the License is distributed on an "AS IS" BASIS,
-//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//See the License for the specific language governing permissions and
-//limitations under the License.
-//
-// Code generated by Alibaba Cloud SDK Code Generator.
-// Changes may cause incorrect behavior and will be lost if the code is regenerated.
-
-import (
-"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
-"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
-)
-
-func (client *Client) GatedLaunchFtApi(request *GatedLaunchFtApiRequest) (response *GatedLaunchFtApiResponse, err error) {
-response = CreateGatedLaunchFtApiResponse()
-err = client.DoAction(request, response)
-return
-}
-
-func (client *Client) GatedLaunchFtApiWithChan(request *GatedLaunchFtApiRequest) (<-chan *GatedLaunchFtApiResponse, <-chan error) {
-responseChan := make(chan *GatedLaunchFtApiResponse, 1)
-errChan := make(chan error, 1)
-err := client.AddAsyncTask(func() {
-defer close(responseChan)
-defer close(errChan)
-response, err :=  client.GatedLaunchFtApi(request)
-responseChan <- response
-errChan <- err
-})
-if err != nil {
-errChan <- err
-close(responseChan)
-close(errChan)
-}
-return responseChan, errChan
-}
-
-func (client *Client) GatedLaunchFtApiWithCallback(request *GatedLaunchFtApiRequest, callback func(response *GatedLaunchFtApiResponse, err error)) (<-chan int) {
-result := make(chan int, 1)
-err := client.AddAsyncTask(func() {
-var response *GatedLaunchFtApiResponse
-var err error
-defer close(result)
-response, err = client.GatedLaunchFtApi(request)
-callback(response, err)
-result <- 1
-})
-if err != nil {
-defer close(result)
-callback(nil, err)
-result <- 0
-}
-return result
-}
-
-type GatedLaunchFtApiRequest struct {
-*requests.RpcRequest
-            SwitchValue  string `position:"Query" name:"SwitchValue"`
-            StringValue  string `position:"Query" name:"StringValue"`
-            EnumValue  string `position:"Query" name:"EnumValue"`
-            OtherParam  string `position:"Query" name:"OtherParam"`
-            ResultSwitchValue  string `position:"Query" name:"ResultSwitchValue"`
-            IntValue  string `position:"Query" name:"IntValue"`
-            Code  string `position:"Query" name:"Code"`
-            Sleep  string `position:"Query" name:"Sleep"`
-            NumberRange  string `position:"Query" name:"NumberRange"`
-            JsonObjectList  string `position:"Query" name:"JsonObjectList"`
-            JsonObject  string `position:"Query" name:"JsonObject"`
-            Message  string `position:"Query" name:"Message"`
-            HttpStatusCode  string `position:"Query" name:"HttpStatusCode"`
-            RegionId  string `position:"Query" name:"RegionId"`
-            RequiredValueGatedRelease  string `position:"Query" name:"RequiredValue_Gated_Release"`
-            ProxyOriginalSecurityTransport  string `position:"Query" name:"proxy_original_security_transport"`
-            ProxyOriginalSourceIp  string `position:"Query" name:"proxy_original_source_ip"`
-            DefaultValue  string `position:"Query" name:"DefaultValue"`
-            Success  string `position:"Query" name:"Success"`
-}
-
-
-type GatedLaunchFtApiResponse struct {
-*responses.BaseResponse
-            IntValue     string `json:"IntValue"`
-            NumberRange     string `json:"NumberRange"`
-            StringValue     string `json:"StringValue"`
-            SwitchValue     string `json:"SwitchValue"`
-            EnumValue     string `json:"EnumValue"`
-            RequiredValueGatedRelease     string `json:"RequiredValue_Gated_Release"`
-            Success     string `json:"Success"`
-            Code     string `json:"Code"`
-            Message     string `json:"Message"`
-            HttpStatusCode     string `json:"HttpStatusCode"`
-            NullToEmptyValue     string `json:"NullToEmptyValue"`
-            ResultSwitchValue     string `json:"ResultSwitchValue"`
-            RegionId     string `json:"RegionId"`
-            Name     string `json:"Name"`
-            Age     string `json:"Age"`
-            JsonListStrig     string `json:"JsonListStrig"`
-            CallerUid     string `json:"callerUid"`
-            CallerBid     string `json:"callerBid"`
-            ProxyTrustTransportInfo     string `json:"proxy_trust_transport_info"`
-            AkMfaPresent     string `json:"ak_mfa_present"`
-            CallerType     string `json:"callerType"`
-            CallerParentId     string `json:"callerParentId"`
-            ResourceOwnerId     string `json:"resourceOwnerId"`
-            AppIp     string `json:"app_ip"`
-            ProxyOriginalSourceIp     string `json:"proxy_original_source_ip"`
-            ProxyOriginalSecurityTransport     string `json:"proxy_original_security_transport"`
-            SecurityTransport     string `json:"security_transport"`
-            RequestId     string `json:"requestId"`
-            NullToEmptyStructValueGatedRelease struct {
-            NullToEmptyStructChildValue     string `json:"NullToEmptyStructChildValue"`
-            }  `json:"NullToEmptyStructValue_Gated_Release"`
-            StructValue struct {
-            StructChildValue     string `json:"StructChildValue"`
-            }  `json:"StructValue"`
-            ArrayValueGatedRelease  []struct {
-            ArrayChildValue     string `json:"ArrayChildValue"`
-            }  `json:"ArrayValue_Gated_Release"`
-}
-
-func CreateGatedLaunchFtApiRequest() (request *GatedLaunchFtApiRequest) {
-request = &GatedLaunchFtApiRequest{
-RpcRequest: &requests.RpcRequest{},
-}
-request.InitWithApiInfo("Ft", "2015-01-01", "GatedLaunchFtApi", "", "")
-return
-}
-
-func CreateGatedLaunchFtApiResponse() (response *GatedLaunchFtApiResponse) {
-response = &GatedLaunchFtApiResponse{
-BaseResponse: &responses.BaseResponse{},
-}
-return
-}
-

+ 0 - 94
services/ft/hidden_json_item_name_ft_api.go

@@ -1,94 +0,0 @@
-
-package ft
-
-//Licensed under the Apache License, Version 2.0 (the "License");
-//you may not use this file except in compliance with the License.
-//You may obtain a copy of the License at
-//
-//http://www.apache.org/licenses/LICENSE-2.0
-//
-//Unless required by applicable law or agreed to in writing, software
-//distributed under the License is distributed on an "AS IS" BASIS,
-//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//See the License for the specific language governing permissions and
-//limitations under the License.
-//
-// Code generated by Alibaba Cloud SDK Code Generator.
-// Changes may cause incorrect behavior and will be lost if the code is regenerated.
-
-import (
-"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
-"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
-)
-
-func (client *Client) HiddenJsonItemNameFtApi(request *HiddenJsonItemNameFtApiRequest) (response *HiddenJsonItemNameFtApiResponse, err error) {
-response = CreateHiddenJsonItemNameFtApiResponse()
-err = client.DoAction(request, response)
-return
-}
-
-func (client *Client) HiddenJsonItemNameFtApiWithChan(request *HiddenJsonItemNameFtApiRequest) (<-chan *HiddenJsonItemNameFtApiResponse, <-chan error) {
-responseChan := make(chan *HiddenJsonItemNameFtApiResponse, 1)
-errChan := make(chan error, 1)
-err := client.AddAsyncTask(func() {
-defer close(responseChan)
-defer close(errChan)
-response, err :=  client.HiddenJsonItemNameFtApi(request)
-responseChan <- response
-errChan <- err
-})
-if err != nil {
-errChan <- err
-close(responseChan)
-close(errChan)
-}
-return responseChan, errChan
-}
-
-func (client *Client) HiddenJsonItemNameFtApiWithCallback(request *HiddenJsonItemNameFtApiRequest, callback func(response *HiddenJsonItemNameFtApiResponse, err error)) (<-chan int) {
-result := make(chan int, 1)
-err := client.AddAsyncTask(func() {
-var response *HiddenJsonItemNameFtApiResponse
-var err error
-defer close(result)
-response, err = client.HiddenJsonItemNameFtApi(request)
-callback(response, err)
-result <- 1
-})
-if err != nil {
-defer close(result)
-callback(nil, err)
-result <- 0
-}
-return result
-}
-
-type HiddenJsonItemNameFtApiRequest struct {
-*requests.RpcRequest
-            StringList  string `position:"Query" name:"StringList"`
-}
-
-
-type HiddenJsonItemNameFtApiResponse struct {
-*responses.BaseResponse
-            StringList   []    string  `json:"StringList"`
-            ArrayValue  []struct {
-            ArrayChildValue     string `json:"ArrayChildValue"`
-            }  `json:"ArrayValue"`
-}
-
-func CreateHiddenJsonItemNameFtApiRequest() (request *HiddenJsonItemNameFtApiRequest) {
-request = &HiddenJsonItemNameFtApiRequest{
-RpcRequest: &requests.RpcRequest{},
-}
-request.InitWithApiInfo("Ft", "2015-01-01", "HiddenJsonItemNameFtApi", "", "")
-return
-}
-
-func CreateHiddenJsonItemNameFtApiResponse() (response *HiddenJsonItemNameFtApiResponse) {
-response = &HiddenJsonItemNameFtApiResponse{
-BaseResponse: &responses.BaseResponse{},
-}
-return
-}
-

+ 0 - 101
services/ft/multi_input_param_api.go

@@ -1,101 +0,0 @@
-
-package ft
-
-//Licensed under the Apache License, Version 2.0 (the "License");
-//you may not use this file except in compliance with the License.
-//You may obtain a copy of the License at
-//
-//http://www.apache.org/licenses/LICENSE-2.0
-//
-//Unless required by applicable law or agreed to in writing, software
-//distributed under the License is distributed on an "AS IS" BASIS,
-//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//See the License for the specific language governing permissions and
-//limitations under the License.
-//
-// Code generated by Alibaba Cloud SDK Code Generator.
-// Changes may cause incorrect behavior and will be lost if the code is regenerated.
-
-import (
-"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
-"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
-)
-
-func (client *Client) MultiInputParamApi(request *MultiInputParamApiRequest) (response *MultiInputParamApiResponse, err error) {
-response = CreateMultiInputParamApiResponse()
-err = client.DoAction(request, response)
-return
-}
-
-func (client *Client) MultiInputParamApiWithChan(request *MultiInputParamApiRequest) (<-chan *MultiInputParamApiResponse, <-chan error) {
-responseChan := make(chan *MultiInputParamApiResponse, 1)
-errChan := make(chan error, 1)
-err := client.AddAsyncTask(func() {
-defer close(responseChan)
-defer close(errChan)
-response, err :=  client.MultiInputParamApi(request)
-responseChan <- response
-errChan <- err
-})
-if err != nil {
-errChan <- err
-close(responseChan)
-close(errChan)
-}
-return responseChan, errChan
-}
-
-func (client *Client) MultiInputParamApiWithCallback(request *MultiInputParamApiRequest, callback func(response *MultiInputParamApiResponse, err error)) (<-chan int) {
-result := make(chan int, 1)
-err := client.AddAsyncTask(func() {
-var response *MultiInputParamApiResponse
-var err error
-defer close(result)
-response, err = client.MultiInputParamApi(request)
-callback(response, err)
-result <- 1
-})
-if err != nil {
-defer close(result)
-callback(nil, err)
-result <- 0
-}
-return result
-}
-
-type MultiInputParamApiRequest struct {
-*requests.RpcRequest
-            SwitchValue  string `position:"Query" name:"SwitchValue"`
-            RequestId  string `position:"Query" name:"RequestId"`
-            JsonRepeatList  *[]MultiInputParamApiJsonRepeatList `position:"Query" name:"JsonRepeatList"  type:"Repeated"`
-            RequiredValue  string `position:"Query" name:"RequiredValue"`
-}
-
-type MultiInputParamApiJsonRepeatList struct{
-        Size string `name:"Size"`
-        Type string `name:"Type"`
-}
-
-type MultiInputParamApiResponse struct {
-*responses.BaseResponse
-            L1RequestId     string `json:"l1RequestId"`
-            L1Map     string `json:"l1Map"`
-            L1FtTestParam     string `json:"l1FtTestParam"`
-            L1FtTestParams     string `json:"l1FtTestParams"`
-}
-
-func CreateMultiInputParamApiRequest() (request *MultiInputParamApiRequest) {
-request = &MultiInputParamApiRequest{
-RpcRequest: &requests.RpcRequest{},
-}
-request.InitWithApiInfo("Ft", "2015-01-01", "MultiInputParamApi", "", "")
-return
-}
-
-func CreateMultiInputParamApiResponse() (response *MultiInputParamApiResponse) {
-response = &MultiInputParamApiResponse{
-BaseResponse: &responses.BaseResponse{},
-}
-return
-}
-

+ 0 - 144
services/ft/rpc_anonymous_api.go

@@ -1,144 +0,0 @@
-
-package ft
-
-//Licensed under the Apache License, Version 2.0 (the "License");
-//you may not use this file except in compliance with the License.
-//You may obtain a copy of the License at
-//
-//http://www.apache.org/licenses/LICENSE-2.0
-//
-//Unless required by applicable law or agreed to in writing, software
-//distributed under the License is distributed on an "AS IS" BASIS,
-//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//See the License for the specific language governing permissions and
-//limitations under the License.
-//
-// Code generated by Alibaba Cloud SDK Code Generator.
-// Changes may cause incorrect behavior and will be lost if the code is regenerated.
-
-import (
-"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
-"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
-)
-
-func (client *Client) RpcAnonymousApi(request *RpcAnonymousApiRequest) (response *RpcAnonymousApiResponse, err error) {
-response = CreateRpcAnonymousApiResponse()
-err = client.DoAction(request, response)
-return
-}
-
-func (client *Client) RpcAnonymousApiWithChan(request *RpcAnonymousApiRequest) (<-chan *RpcAnonymousApiResponse, <-chan error) {
-responseChan := make(chan *RpcAnonymousApiResponse, 1)
-errChan := make(chan error, 1)
-err := client.AddAsyncTask(func() {
-defer close(responseChan)
-defer close(errChan)
-response, err :=  client.RpcAnonymousApi(request)
-responseChan <- response
-errChan <- err
-})
-if err != nil {
-errChan <- err
-close(responseChan)
-close(errChan)
-}
-return responseChan, errChan
-}
-
-func (client *Client) RpcAnonymousApiWithCallback(request *RpcAnonymousApiRequest, callback func(response *RpcAnonymousApiResponse, err error)) (<-chan int) {
-result := make(chan int, 1)
-err := client.AddAsyncTask(func() {
-var response *RpcAnonymousApiResponse
-var err error
-defer close(result)
-response, err = client.RpcAnonymousApi(request)
-callback(response, err)
-result <- 1
-})
-if err != nil {
-defer close(result)
-callback(nil, err)
-result <- 0
-}
-return result
-}
-
-type RpcAnonymousApiRequest struct {
-*requests.RpcRequest
-            SwitchValue  string `position:"Query" name:"SwitchValue"`
-            StringValue  string `position:"Query" name:"StringValue"`
-            EnumValue  string `position:"Query" name:"EnumValue"`
-            OtherParam  string `position:"Query" name:"OtherParam"`
-            ResultSwitchValue  string `position:"Query" name:"ResultSwitchValue"`
-            IntValue  string `position:"Query" name:"IntValue"`
-            Code  string `position:"Query" name:"Code"`
-            NumberRange  string `position:"Query" name:"NumberRange"`
-            JsonObjectList  string `position:"Query" name:"JsonObjectList"`
-            JsonObject  string `position:"Query" name:"JsonObject"`
-            Message  string `position:"Query" name:"Message"`
-            HttpStatusCode  string `position:"Query" name:"HttpStatusCode"`
-            RegionId  string `position:"Query" name:"RegionId"`
-            ProxyOriginalSecurityTransport  string `position:"Query" name:"proxy_original_security_transport"`
-            ProxyOriginalSourceIp  string `position:"Query" name:"proxy_original_source_ip"`
-            DefaultValue  string `position:"Query" name:"DefaultValue"`
-            Success  string `position:"Query" name:"Success"`
-            RequiredValue  string `position:"Query" name:"RequiredValue"`
-}
-
-
-type RpcAnonymousApiResponse struct {
-*responses.BaseResponse
-            IntValue     string `json:"IntValue"`
-            NumberRange     string `json:"NumberRange"`
-            StringValue     string `json:"StringValue"`
-            SwitchValue     string `json:"SwitchValue"`
-            EnumValue     string `json:"EnumValue"`
-            RequiredValue     string `json:"RequiredValue"`
-            Success     string `json:"Success"`
-            Code     string `json:"Code"`
-            Message     string `json:"Message"`
-            HttpStatusCode     string `json:"HttpStatusCode"`
-            NullToEmptyValue     string `json:"NullToEmptyValue"`
-            ResultSwitchValue     string `json:"ResultSwitchValue"`
-            RegionId     string `json:"RegionId"`
-            Name     string `json:"Name"`
-            Age     string `json:"Age"`
-            JsonListStrig     string `json:"JsonListStrig"`
-            CallerUid     string `json:"callerUid"`
-            CallerBid     string `json:"callerBid"`
-            ProxyTrustTransportInfo     string `json:"proxy_trust_transport_info"`
-            AkMfaPresent     string `json:"ak_mfa_present"`
-            CallerType     string `json:"callerType"`
-            CallerParentId     string `json:"callerParentId"`
-            ResourceOwnerId     string `json:"resourceOwnerId"`
-            AppIp     string `json:"app_ip"`
-            ProxyOriginalSourceIp     string `json:"proxy_original_source_ip"`
-            ProxyOriginalSecurityTransport     string `json:"proxy_original_security_transport"`
-            SecurityTransport     string `json:"security_transport"`
-            RequestId     string `json:"requestId"`
-            NullToEmptyStructValue struct {
-            NullToEmptyStructChildValue     string `json:"NullToEmptyStructChildValue"`
-            }  `json:"NullToEmptyStructValue"`
-            StructValue struct {
-            StructChildValue     string `json:"StructChildValue"`
-            }  `json:"StructValue"`
-            ArrayValue  []struct {
-            ArrayChildValue     string `json:"ArrayChildValue"`
-            }  `json:"ArrayValue"`
-}
-
-func CreateRpcAnonymousApiRequest() (request *RpcAnonymousApiRequest) {
-request = &RpcAnonymousApiRequest{
-RpcRequest: &requests.RpcRequest{},
-}
-request.InitWithApiInfo("Ft", "2015-01-01", "RpcAnonymousApi", "", "")
-return
-}
-
-func CreateRpcAnonymousApiResponse() (response *RpcAnonymousApiResponse) {
-response = &RpcAnonymousApiResponse{
-BaseResponse: &responses.BaseResponse{},
-}
-return
-}
-

+ 0 - 161
services/ft/rpc_dubbo_api.go

@@ -1,161 +0,0 @@
-
-package ft
-
-//Licensed under the Apache License, Version 2.0 (the "License");
-//you may not use this file except in compliance with the License.
-//You may obtain a copy of the License at
-//
-//http://www.apache.org/licenses/LICENSE-2.0
-//
-//Unless required by applicable law or agreed to in writing, software
-//distributed under the License is distributed on an "AS IS" BASIS,
-//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//See the License for the specific language governing permissions and
-//limitations under the License.
-//
-// Code generated by Alibaba Cloud SDK Code Generator.
-// Changes may cause incorrect behavior and will be lost if the code is regenerated.
-
-import (
-"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
-"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
-)
-
-func (client *Client) RpcDubboApi(request *RpcDubboApiRequest) (response *RpcDubboApiResponse, err error) {
-response = CreateRpcDubboApiResponse()
-err = client.DoAction(request, response)
-return
-}
-
-func (client *Client) RpcDubboApiWithChan(request *RpcDubboApiRequest) (<-chan *RpcDubboApiResponse, <-chan error) {
-responseChan := make(chan *RpcDubboApiResponse, 1)
-errChan := make(chan error, 1)
-err := client.AddAsyncTask(func() {
-defer close(responseChan)
-defer close(errChan)
-response, err :=  client.RpcDubboApi(request)
-responseChan <- response
-errChan <- err
-})
-if err != nil {
-errChan <- err
-close(responseChan)
-close(errChan)
-}
-return responseChan, errChan
-}
-
-func (client *Client) RpcDubboApiWithCallback(request *RpcDubboApiRequest, callback func(response *RpcDubboApiResponse, err error)) (<-chan int) {
-result := make(chan int, 1)
-err := client.AddAsyncTask(func() {
-var response *RpcDubboApiResponse
-var err error
-defer close(result)
-response, err = client.RpcDubboApi(request)
-callback(response, err)
-result <- 1
-})
-if err != nil {
-defer close(result)
-callback(nil, err)
-result <- 0
-}
-return result
-}
-
-type RpcDubboApiRequest struct {
-*requests.RpcRequest
-            SwitchValue  string `position:"Query" name:"SwitchValue"`
-            StringValue  string `position:"Query" name:"StringValue"`
-            EnumValue  string `position:"Query" name:"EnumValue"`
-            OtherParam  string `position:"Query" name:"OtherParam"`
-            ResultSwitchValue  string `position:"Query" name:"ResultSwitchValue"`
-            IntValue  string `position:"Query" name:"IntValue"`
-            Code  string `position:"Query" name:"Code"`
-            Sleep  string `position:"Query" name:"Sleep"`
-            NumberRange  string `position:"Query" name:"NumberRange"`
-            JsonObjectList  string `position:"Query" name:"JsonObjectList"`
-            JsonObject  string `position:"Query" name:"JsonObject"`
-            Message  string `position:"Query" name:"Message"`
-            HttpStatusCode  string `position:"Query" name:"HttpStatusCode"`
-            RegionId  string `position:"Query" name:"RegionId"`
-            ProxyOriginalSecurityTransport  string `position:"Query" name:"proxy_original_security_transport"`
-            ProxyOriginalSourceIp  string `position:"Query" name:"proxy_original_source_ip"`
-            DefaultValue  string `position:"Query" name:"DefaultValue"`
-            Success  string `position:"Query" name:"Success"`
-            RequiredValue  string `position:"Query" name:"RequiredValue"`
-}
-
-
-type RpcDubboApiResponse struct {
-*responses.BaseResponse
-            IntValue     string `json:"IntValue"`
-            NumberRange     string `json:"NumberRange"`
-            StringValue     string `json:"StringValue"`
-            SwitchValue     string `json:"SwitchValue"`
-            EnumValue     string `json:"EnumValue"`
-            RequiredValue     string `json:"RequiredValue"`
-            DefaultValue     string `json:"DefaultValue"`
-            Success     string `json:"Success"`
-            Code     string `json:"Code"`
-            Message     string `json:"Message"`
-            HttpStatusCode     string `json:"HttpStatusCode"`
-            NullToEmptyValue     string `json:"NullToEmptyValue"`
-            ResultSwitchValue     string `json:"ResultSwitchValue"`
-            RegionId     string `json:"RegionId"`
-            Name     string `json:"Name"`
-            Age     string `json:"Age"`
-            JsonListStrig     string `json:"JsonListStrig"`
-            CallerUid     string `json:"callerUid"`
-            CallerBid     string `json:"callerBid"`
-            ProxyTrustTransportInfo     string `json:"proxy_trust_transport_info"`
-            AkMfaPresent     string `json:"ak_mfa_present"`
-            CallerType     string `json:"callerType"`
-            CallerParentId     string `json:"callerParentId"`
-            ResourceOwnerId     string `json:"resourceOwnerId"`
-            AppIp     string `json:"app_ip"`
-            ProxyOriginalSourceIp     string `json:"proxy_original_source_ip"`
-            ProxyOriginalSecurityTransport     string `json:"proxy_original_security_transport"`
-            SecurityTransport     string `json:"security_transport"`
-            RequestId     string `json:"requestId"`
-            NullToEmptyStructValue struct {
-            NullToEmptyStructChildValue     string `json:"NullToEmptyStructChildValue"`
-            }  `json:"NullToEmptyStructValue"`
-            StructValue struct {
-            StructChildValue     string `json:"StructChildValue"`
-            }  `json:"StructValue"`
-            ArrayValue  []struct {
-            ArrayChildValue     string `json:"ArrayChildValue"`
-            }  `json:"ArrayValue"`
-            L1Array  []struct {
-            L1Member1     string `json:"L1Member1"`
-            L1Struct struct {
-            L1StructMember     string `json:"L1StructMember"`
-            }  `json:"L1Struct"`
-            L2Array  []struct {
-            L2Member1     string `json:"L2Member1"`
-            L3Array  []struct {
-            L3Member1     string `json:"L3Member1"`
-            }  `json:"L3Array"`
-            }  `json:"L2Array"`
-            }  `json:"L1Array"`
-            NullArrayValue  []struct {
-            ArrayChildValue     string `json:"ArrayChildValue"`
-            }  `json:"NullArrayValue"`
-}
-
-func CreateRpcDubboApiRequest() (request *RpcDubboApiRequest) {
-request = &RpcDubboApiRequest{
-RpcRequest: &requests.RpcRequest{},
-}
-request.InitWithApiInfo("Ft", "2015-01-01", "RpcDubboApi", "", "")
-return
-}
-
-func CreateRpcDubboApiResponse() (response *RpcDubboApiResponse) {
-response = &RpcDubboApiResponse{
-BaseResponse: &responses.BaseResponse{},
-}
-return
-}
-

+ 0 - 161
services/ft/rpc_dubbo_api2.go

@@ -1,161 +0,0 @@
-
-package ft
-
-//Licensed under the Apache License, Version 2.0 (the "License");
-//you may not use this file except in compliance with the License.
-//You may obtain a copy of the License at
-//
-//http://www.apache.org/licenses/LICENSE-2.0
-//
-//Unless required by applicable law or agreed to in writing, software
-//distributed under the License is distributed on an "AS IS" BASIS,
-//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//See the License for the specific language governing permissions and
-//limitations under the License.
-//
-// Code generated by Alibaba Cloud SDK Code Generator.
-// Changes may cause incorrect behavior and will be lost if the code is regenerated.
-
-import (
-"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
-"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
-)
-
-func (client *Client) RpcDubboApi2(request *RpcDubboApi2Request) (response *RpcDubboApi2Response, err error) {
-response = CreateRpcDubboApi2Response()
-err = client.DoAction(request, response)
-return
-}
-
-func (client *Client) RpcDubboApi2WithChan(request *RpcDubboApi2Request) (<-chan *RpcDubboApi2Response, <-chan error) {
-responseChan := make(chan *RpcDubboApi2Response, 1)
-errChan := make(chan error, 1)
-err := client.AddAsyncTask(func() {
-defer close(responseChan)
-defer close(errChan)
-response, err :=  client.RpcDubboApi2(request)
-responseChan <- response
-errChan <- err
-})
-if err != nil {
-errChan <- err
-close(responseChan)
-close(errChan)
-}
-return responseChan, errChan
-}
-
-func (client *Client) RpcDubboApi2WithCallback(request *RpcDubboApi2Request, callback func(response *RpcDubboApi2Response, err error)) (<-chan int) {
-result := make(chan int, 1)
-err := client.AddAsyncTask(func() {
-var response *RpcDubboApi2Response
-var err error
-defer close(result)
-response, err = client.RpcDubboApi2(request)
-callback(response, err)
-result <- 1
-})
-if err != nil {
-defer close(result)
-callback(nil, err)
-result <- 0
-}
-return result
-}
-
-type RpcDubboApi2Request struct {
-*requests.RpcRequest
-            SwitchValue  string `position:"Query" name:"SwitchValue"`
-            StringValue  string `position:"Query" name:"StringValue"`
-            EnumValue  string `position:"Query" name:"EnumValue"`
-            OtherParam  string `position:"Query" name:"OtherParam"`
-            ResultSwitchValue  string `position:"Query" name:"ResultSwitchValue"`
-            IntValue  string `position:"Query" name:"IntValue"`
-            Code  string `position:"Query" name:"Code"`
-            Sleep  string `position:"Query" name:"Sleep"`
-            NumberRange  string `position:"Query" name:"NumberRange"`
-            JsonObjectList  string `position:"Query" name:"JsonObjectList"`
-            JsonObject  string `position:"Query" name:"JsonObject"`
-            Message  string `position:"Query" name:"Message"`
-            HttpStatusCode  string `position:"Query" name:"HttpStatusCode"`
-            RegionId  string `position:"Query" name:"RegionId"`
-            ProxyOriginalSecurityTransport  string `position:"Query" name:"proxy_original_security_transport"`
-            ProxyOriginalSourceIp  string `position:"Query" name:"proxy_original_source_ip"`
-            DefaultValue  string `position:"Query" name:"DefaultValue"`
-            Success  string `position:"Query" name:"Success"`
-            RequiredValue  string `position:"Query" name:"RequiredValue"`
-}
-
-
-type RpcDubboApi2Response struct {
-*responses.BaseResponse
-            IntValue     string `json:"IntValue"`
-            NumberRange     string `json:"NumberRange"`
-            StringValue     string `json:"StringValue"`
-            SwitchValue     string `json:"SwitchValue"`
-            EnumValue     string `json:"EnumValue"`
-            RequiredValue     string `json:"RequiredValue"`
-            DefaultValue     string `json:"DefaultValue"`
-            Success     string `json:"Success"`
-            Code     string `json:"Code"`
-            Message     string `json:"Message"`
-            HttpStatusCode     string `json:"HttpStatusCode"`
-            NullToEmptyValue     string `json:"NullToEmptyValue"`
-            ResultSwitchValue     string `json:"ResultSwitchValue"`
-            RegionId     string `json:"RegionId"`
-            Name     string `json:"Name"`
-            Age     string `json:"Age"`
-            JsonListStrig     string `json:"JsonListStrig"`
-            CallerUid     string `json:"callerUid"`
-            CallerBid     string `json:"callerBid"`
-            ProxyTrustTransportInfo     string `json:"proxy_trust_transport_info"`
-            AkMfaPresent     string `json:"ak_mfa_present"`
-            CallerType     string `json:"callerType"`
-            CallerParentId     string `json:"callerParentId"`
-            ResourceOwnerId     string `json:"resourceOwnerId"`
-            AppIp     string `json:"app_ip"`
-            ProxyOriginalSourceIp     string `json:"proxy_original_source_ip"`
-            ProxyOriginalSecurityTransport     string `json:"proxy_original_security_transport"`
-            SecurityTransport     string `json:"security_transport"`
-            RequestId     string `json:"requestId"`
-            NullToEmptyStructValue struct {
-            NullToEmptyStructChildValue     string `json:"NullToEmptyStructChildValue"`
-            }  `json:"NullToEmptyStructValue"`
-            StructValue struct {
-            StructChildValue     string `json:"StructChildValue"`
-            }  `json:"StructValue"`
-            ArrayValue  []struct {
-            ArrayChildValue     string `json:"ArrayChildValue"`
-            }  `json:"ArrayValue"`
-            L1Array  []struct {
-            L1Member1     string `json:"L1Member1"`
-            L1Struct struct {
-            L1StructMember     string `json:"L1StructMember"`
-            }  `json:"L1Struct"`
-            L2Array  []struct {
-            L2Member1     string `json:"L2Member1"`
-            L3Array  []struct {
-            L3Member1     string `json:"L3Member1"`
-            }  `json:"L3Array"`
-            }  `json:"L2Array"`
-            }  `json:"L1Array"`
-            NullArrayValue  []struct {
-            ArrayChildValue     string `json:"ArrayChildValue"`
-            }  `json:"NullArrayValue"`
-}
-
-func CreateRpcDubboApi2Request() (request *RpcDubboApi2Request) {
-request = &RpcDubboApi2Request{
-RpcRequest: &requests.RpcRequest{},
-}
-request.InitWithApiInfo("Ft", "2015-01-01", "RpcDubboApi2", "", "")
-return
-}
-
-func CreateRpcDubboApi2Response() (response *RpcDubboApi2Response) {
-response = &RpcDubboApi2Response{
-BaseResponse: &responses.BaseResponse{},
-}
-return
-}
-

+ 0 - 161
services/ft/rpc_dubbo_api3.go

@@ -1,161 +0,0 @@
-
-package ft
-
-//Licensed under the Apache License, Version 2.0 (the "License");
-//you may not use this file except in compliance with the License.
-//You may obtain a copy of the License at
-//
-//http://www.apache.org/licenses/LICENSE-2.0
-//
-//Unless required by applicable law or agreed to in writing, software
-//distributed under the License is distributed on an "AS IS" BASIS,
-//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//See the License for the specific language governing permissions and
-//limitations under the License.
-//
-// Code generated by Alibaba Cloud SDK Code Generator.
-// Changes may cause incorrect behavior and will be lost if the code is regenerated.
-
-import (
-"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
-"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
-)
-
-func (client *Client) RpcDubboApi3(request *RpcDubboApi3Request) (response *RpcDubboApi3Response, err error) {
-response = CreateRpcDubboApi3Response()
-err = client.DoAction(request, response)
-return
-}
-
-func (client *Client) RpcDubboApi3WithChan(request *RpcDubboApi3Request) (<-chan *RpcDubboApi3Response, <-chan error) {
-responseChan := make(chan *RpcDubboApi3Response, 1)
-errChan := make(chan error, 1)
-err := client.AddAsyncTask(func() {
-defer close(responseChan)
-defer close(errChan)
-response, err :=  client.RpcDubboApi3(request)
-responseChan <- response
-errChan <- err
-})
-if err != nil {
-errChan <- err
-close(responseChan)
-close(errChan)
-}
-return responseChan, errChan
-}
-
-func (client *Client) RpcDubboApi3WithCallback(request *RpcDubboApi3Request, callback func(response *RpcDubboApi3Response, err error)) (<-chan int) {
-result := make(chan int, 1)
-err := client.AddAsyncTask(func() {
-var response *RpcDubboApi3Response
-var err error
-defer close(result)
-response, err = client.RpcDubboApi3(request)
-callback(response, err)
-result <- 1
-})
-if err != nil {
-defer close(result)
-callback(nil, err)
-result <- 0
-}
-return result
-}
-
-type RpcDubboApi3Request struct {
-*requests.RpcRequest
-            ResultSwitchValue  string `position:"Query" name:"ResultSwitchValue"`
-            NumberRange  string `position:"Query" name:"NumberRange"`
-            JsonObjectList  string `position:"Query" name:"JsonObjectList"`
-            ProxyOriginalSourceIp  string `position:"Query" name:"proxy_original_source_ip"`
-            DefaultValue  string `position:"Query" name:"DefaultValue"`
-            SwitchValue  string `position:"Query" name:"SwitchValue"`
-            EnumValue  string `position:"Query" name:"EnumValue"`
-            StringValue  string `position:"Query" name:"StringValue"`
-            OtherParam  string `position:"Query" name:"OtherParam"`
-            Code  string `position:"Query" name:"Code"`
-            IntValue  string `position:"Query" name:"IntValue"`
-            Sleep  string `position:"Query" name:"Sleep"`
-            JsonObject  string `position:"Query" name:"JsonObject"`
-            Message  string `position:"Query" name:"Message"`
-            HttpStatusCode  string `position:"Query" name:"HttpStatusCode"`
-            RegionId  string `position:"Query" name:"RegionId"`
-            ProxyOriginalSecurityTransport  string `position:"Query" name:"proxy_original_security_transport"`
-            Success  string `position:"Query" name:"Success"`
-            RequiredValue  string `position:"Query" name:"RequiredValue"`
-}
-
-
-type RpcDubboApi3Response struct {
-*responses.BaseResponse
-            IntValue     string `json:"IntValue"`
-            NumberRange     string `json:"NumberRange"`
-            StringValue     string `json:"StringValue"`
-            SwitchValue     string `json:"SwitchValue"`
-            EnumValue     string `json:"EnumValue"`
-            RequiredValue     string `json:"RequiredValue"`
-            DefaultValue     string `json:"DefaultValue"`
-            Success     string `json:"Success"`
-            Code     string `json:"Code"`
-            Message     string `json:"Message"`
-            HttpStatusCode     string `json:"HttpStatusCode"`
-            NullToEmptyValue     string `json:"NullToEmptyValue"`
-            ResultSwitchValue     string `json:"ResultSwitchValue"`
-            RegionId     string `json:"RegionId"`
-            Name     string `json:"Name"`
-            Age     string `json:"Age"`
-            JsonListStrig     string `json:"JsonListStrig"`
-            CallerUid     string `json:"callerUid"`
-            CallerBid     string `json:"callerBid"`
-            ProxyTrustTransportInfo     string `json:"proxy_trust_transport_info"`
-            AkMfaPresent     string `json:"ak_mfa_present"`
-            CallerType     string `json:"callerType"`
-            CallerParentId     string `json:"callerParentId"`
-            ResourceOwnerId     string `json:"resourceOwnerId"`
-            AppIp     string `json:"app_ip"`
-            ProxyOriginalSourceIp     string `json:"proxy_original_source_ip"`
-            ProxyOriginalSecurityTransport     string `json:"proxy_original_security_transport"`
-            SecurityTransport     string `json:"security_transport"`
-            RequestId     string `json:"requestId"`
-            NullToEmptyStructValue struct {
-            NullToEmptyStructChildValue     string `json:"NullToEmptyStructChildValue"`
-            }  `json:"NullToEmptyStructValue"`
-            StructValue struct {
-            StructChildValue     string `json:"StructChildValue"`
-            }  `json:"StructValue"`
-            ArrayValue  []struct {
-            ArrayChildValue     string `json:"ArrayChildValue"`
-            }  `json:"ArrayValue"`
-            L1Array  []struct {
-            L1Member1     string `json:"L1Member1"`
-            L1Struct struct {
-            L1StructMember     string `json:"L1StructMember"`
-            }  `json:"L1Struct"`
-            L2Array  []struct {
-            L2Member1     string `json:"L2Member1"`
-            L3Array  []struct {
-            L3Member1     string `json:"L3Member1"`
-            }  `json:"L3Array"`
-            }  `json:"L2Array"`
-            }  `json:"L1Array"`
-            NullArrayValue  []struct {
-            ArrayChildValue     string `json:"ArrayChildValue"`
-            }  `json:"NullArrayValue"`
-}
-
-func CreateRpcDubboApi3Request() (request *RpcDubboApi3Request) {
-request = &RpcDubboApi3Request{
-RpcRequest: &requests.RpcRequest{},
-}
-request.InitWithApiInfo("Ft", "2015-01-01", "RpcDubboApi3", "", "")
-return
-}
-
-func CreateRpcDubboApi3Response() (response *RpcDubboApi3Response) {
-response = &RpcDubboApi3Response{
-BaseResponse: &responses.BaseResponse{},
-}
-return
-}
-

+ 0 - 113
services/ft/rpc_dubbo_api_for_dev.go

@@ -1,113 +0,0 @@
-
-package ft
-
-//Licensed under the Apache License, Version 2.0 (the "License");
-//you may not use this file except in compliance with the License.
-//You may obtain a copy of the License at
-//
-//http://www.apache.org/licenses/LICENSE-2.0
-//
-//Unless required by applicable law or agreed to in writing, software
-//distributed under the License is distributed on an "AS IS" BASIS,
-//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//See the License for the specific language governing permissions and
-//limitations under the License.
-//
-// Code generated by Alibaba Cloud SDK Code Generator.
-// Changes may cause incorrect behavior and will be lost if the code is regenerated.
-
-import (
-"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
-"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
-)
-
-func (client *Client) RpcDubboApiForDev(request *RpcDubboApiForDevRequest) (response *RpcDubboApiForDevResponse, err error) {
-response = CreateRpcDubboApiForDevResponse()
-err = client.DoAction(request, response)
-return
-}
-
-func (client *Client) RpcDubboApiForDevWithChan(request *RpcDubboApiForDevRequest) (<-chan *RpcDubboApiForDevResponse, <-chan error) {
-responseChan := make(chan *RpcDubboApiForDevResponse, 1)
-errChan := make(chan error, 1)
-err := client.AddAsyncTask(func() {
-defer close(responseChan)
-defer close(errChan)
-response, err :=  client.RpcDubboApiForDev(request)
-responseChan <- response
-errChan <- err
-})
-if err != nil {
-errChan <- err
-close(responseChan)
-close(errChan)
-}
-return responseChan, errChan
-}
-
-func (client *Client) RpcDubboApiForDevWithCallback(request *RpcDubboApiForDevRequest, callback func(response *RpcDubboApiForDevResponse, err error)) (<-chan int) {
-result := make(chan int, 1)
-err := client.AddAsyncTask(func() {
-var response *RpcDubboApiForDevResponse
-var err error
-defer close(result)
-response, err = client.RpcDubboApiForDev(request)
-callback(response, err)
-result <- 1
-})
-if err != nil {
-defer close(result)
-callback(nil, err)
-result <- 0
-}
-return result
-}
-
-type RpcDubboApiForDevRequest struct {
-*requests.RpcRequest
-}
-
-
-type RpcDubboApiForDevResponse struct {
-*responses.BaseResponse
-            IntValue     string `json:"IntValue"`
-            NumberRange     string `json:"NumberRange"`
-            StringValue     string `json:"StringValue"`
-            SwitchValue     string `json:"SwitchValue"`
-            EnumValue     string `json:"EnumValue"`
-            RequiredValue     string `json:"RequiredValue"`
-            Success     string `json:"Success"`
-            Code     string `json:"Code"`
-            Message     string `json:"Message"`
-            HttpStatusCode     string `json:"HttpStatusCode"`
-            NullToEmptyValue     string `json:"NullToEmptyValue"`
-            ResultSwitchValue     string `json:"ResultSwitchValue"`
-            RegionId     string `json:"RegionId"`
-            Name     string `json:"Name"`
-            Age     string `json:"Age"`
-            NullToEmptyStructValue struct {
-            NullToEmptyStructChildValue     string `json:"NullToEmptyStructChildValue"`
-            }  `json:"NullToEmptyStructValue"`
-            StructValue struct {
-            StructChildValue     string `json:"StructChildValue"`
-            }  `json:"StructValue"`
-            ArrayValue  []struct {
-            ArrayChildValue     string `json:"ArrayChildValue"`
-            }  `json:"ArrayValue"`
-}
-
-func CreateRpcDubboApiForDevRequest() (request *RpcDubboApiForDevRequest) {
-request = &RpcDubboApiForDevRequest{
-RpcRequest: &requests.RpcRequest{},
-}
-request.InitWithApiInfo("Ft", "2015-01-01", "RpcDubboApiForDev", "", "")
-return
-}
-
-func CreateRpcDubboApiForDevResponse() (response *RpcDubboApiForDevResponse) {
-response = &RpcDubboApiForDevResponse{
-BaseResponse: &responses.BaseResponse{},
-}
-return
-}
-

+ 0 - 157
services/ft/rpc_dubbo_api_for_repeat_list.go

@@ -1,157 +0,0 @@
-
-package ft
-
-//Licensed under the Apache License, Version 2.0 (the "License");
-//you may not use this file except in compliance with the License.
-//You may obtain a copy of the License at
-//
-//http://www.apache.org/licenses/LICENSE-2.0
-//
-//Unless required by applicable law or agreed to in writing, software
-//distributed under the License is distributed on an "AS IS" BASIS,
-//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//See the License for the specific language governing permissions and
-//limitations under the License.
-//
-// Code generated by Alibaba Cloud SDK Code Generator.
-// Changes may cause incorrect behavior and will be lost if the code is regenerated.
-
-import (
-"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
-"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
-)
-
-func (client *Client) RpcDubboApiForRepeatList(request *RpcDubboApiForRepeatListRequest) (response *RpcDubboApiForRepeatListResponse, err error) {
-response = CreateRpcDubboApiForRepeatListResponse()
-err = client.DoAction(request, response)
-return
-}
-
-func (client *Client) RpcDubboApiForRepeatListWithChan(request *RpcDubboApiForRepeatListRequest) (<-chan *RpcDubboApiForRepeatListResponse, <-chan error) {
-responseChan := make(chan *RpcDubboApiForRepeatListResponse, 1)
-errChan := make(chan error, 1)
-err := client.AddAsyncTask(func() {
-defer close(responseChan)
-defer close(errChan)
-response, err :=  client.RpcDubboApiForRepeatList(request)
-responseChan <- response
-errChan <- err
-})
-if err != nil {
-errChan <- err
-close(responseChan)
-close(errChan)
-}
-return responseChan, errChan
-}
-
-func (client *Client) RpcDubboApiForRepeatListWithCallback(request *RpcDubboApiForRepeatListRequest, callback func(response *RpcDubboApiForRepeatListResponse, err error)) (<-chan int) {
-result := make(chan int, 1)
-err := client.AddAsyncTask(func() {
-var response *RpcDubboApiForRepeatListResponse
-var err error
-defer close(result)
-response, err = client.RpcDubboApiForRepeatList(request)
-callback(response, err)
-result <- 1
-})
-if err != nil {
-defer close(result)
-callback(nil, err)
-result <- 0
-}
-return result
-}
-
-type RpcDubboApiForRepeatListRequest struct {
-*requests.RpcRequest
-            SwitchValue  string `position:"Query" name:"SwitchValue"`
-            MixedRepeatListDisk  *[]RpcDubboApiForRepeatListMixedRepeatListDisk `position:"Query" name:"MixedRepeatListDisk"  type:"Repeated"`
-            StringValue  string `position:"Query" name:"StringValue"`
-            EnumValue  string `position:"Query" name:"EnumValue"`
-            StandardRepeatListDisk  *[]RpcDubboApiForRepeatListStandardRepeatListDisk `position:"Query" name:"StandardRepeatListDisk"  type:"Repeated"`
-            OtherParam  string `position:"Query" name:"OtherParam"`
-            ResultSwitchValue  string `position:"Query" name:"ResultSwitchValue"`
-            Code  string `position:"Query" name:"Code"`
-            IntValue  string `position:"Query" name:"IntValue"`
-            NumberRange  string `position:"Query" name:"NumberRange"`
-            JsonObject  string `position:"Query" name:"JsonObject"`
-            JsonRepeatList  *[]RpcDubboApiForRepeatListJsonRepeatList `position:"Query" name:"JsonRepeatList"  type:"Repeated"`
-            Message  string `position:"Query" name:"Message"`
-            HttpStatusCode  string `position:"Query" name:"HttpStatusCode"`
-            RegionId  string `position:"Query" name:"RegionId"`
-            ListDisk  *[]string `position:"Query" name:"ListDisk"  type:"Repeated"`
-            NestedRepeatListDisk  *[]RpcDubboApiForRepeatListNestedRepeatListDisk `position:"Query" name:"NestedRepeatListDisk"  type:"Repeated"`
-            Success  string `position:"Query" name:"Success"`
-            DefaultValue  string `position:"Query" name:"DefaultValue"`
-            SimpleRepeatListDisk  *[]string `position:"Query" name:"SimpleRepeatListDisk"  type:"Repeated"`
-            RequiredValue  string `position:"Query" name:"RequiredValue"`
-}
-
-type RpcDubboApiForRepeatListMixedRepeatListDisk struct{
-        Size string `name:"Size"`
-        Type *[]string `name:"Type" type:"Repeated"`
-}
-type RpcDubboApiForRepeatListStandardRepeatListDisk struct{
-        Size string `name:"Size"`
-        Type string `name:"Type"`
-}
-type RpcDubboApiForRepeatListJsonRepeatList struct{
-        Size string `name:"Size"`
-        Type string `name:"Type"`
-}
-type RpcDubboApiForRepeatListNestedRepeatListDisk struct{
-        Size *[]string `name:"Size" type:"Repeated"`
-        Type *[]string `name:"Type" type:"Repeated"`
-}
-
-type RpcDubboApiForRepeatListResponse struct {
-*responses.BaseResponse
-            IntValue     string `json:"IntValue"`
-            NumberRange     string `json:"NumberRange"`
-            StringValue     string `json:"StringValue"`
-            SwitchValue     string `json:"SwitchValue"`
-            EnumValue     string `json:"EnumValue"`
-            RequiredValue     string `json:"RequiredValue"`
-            DefaultValue     string `json:"DefaultValue"`
-            Success     string `json:"Success"`
-            Code     string `json:"Code"`
-            Message     string `json:"Message"`
-            HttpStatusCode     string `json:"HttpStatusCode"`
-            NullToEmptyValue     string `json:"NullToEmptyValue"`
-            ResultSwitchValue     string `json:"ResultSwitchValue"`
-            RegionId     string `json:"RegionId"`
-            Name     string `json:"Name"`
-            Age     string `json:"Age"`
-            JsonRepeatList     string `json:"JsonRepeatList"`
-            ListDisks     string `json:"ListDisks"`
-            SimpleRepeatListDisks     string `json:"SimpleRepeatListDisks"`
-            StandardRepeatListDisks     string `json:"StandardRepeatListDisks"`
-            MixedRepeatListDisks     string `json:"MixedRepeatListDisks"`
-            NestedRepeatListDisks     string `json:"NestedRepeatListDisks"`
-            NullToEmptyStructValue struct {
-            NullToEmptyStructChildValue     string `json:"NullToEmptyStructChildValue"`
-            }  `json:"NullToEmptyStructValue"`
-            StructValue struct {
-            StructChildValue     string `json:"StructChildValue"`
-            }  `json:"StructValue"`
-            ArrayValue  []struct {
-            ArrayChildValue     string `json:"ArrayChildValue"`
-            }  `json:"ArrayValue"`
-}
-
-func CreateRpcDubboApiForRepeatListRequest() (request *RpcDubboApiForRepeatListRequest) {
-request = &RpcDubboApiForRepeatListRequest{
-RpcRequest: &requests.RpcRequest{},
-}
-request.InitWithApiInfo("Ft", "2015-01-01", "RpcDubboApiForRepeatList", "", "")
-return
-}
-
-func CreateRpcDubboApiForRepeatListResponse() (response *RpcDubboApiForRepeatListResponse) {
-response = &RpcDubboApiForRepeatListResponse{
-BaseResponse: &responses.BaseResponse{},
-}
-return
-}
-

+ 0 - 142
services/ft/rpc_dubbo_api_tmp.go

@@ -1,142 +0,0 @@
-
-package ft
-
-//Licensed under the Apache License, Version 2.0 (the "License");
-//you may not use this file except in compliance with the License.
-//You may obtain a copy of the License at
-//
-//http://www.apache.org/licenses/LICENSE-2.0
-//
-//Unless required by applicable law or agreed to in writing, software
-//distributed under the License is distributed on an "AS IS" BASIS,
-//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//See the License for the specific language governing permissions and
-//limitations under the License.
-//
-// Code generated by Alibaba Cloud SDK Code Generator.
-// Changes may cause incorrect behavior and will be lost if the code is regenerated.
-
-import (
-"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
-"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
-)
-
-func (client *Client) RpcDubboApiTmp(request *RpcDubboApiTmpRequest) (response *RpcDubboApiTmpResponse, err error) {
-response = CreateRpcDubboApiTmpResponse()
-err = client.DoAction(request, response)
-return
-}
-
-func (client *Client) RpcDubboApiTmpWithChan(request *RpcDubboApiTmpRequest) (<-chan *RpcDubboApiTmpResponse, <-chan error) {
-responseChan := make(chan *RpcDubboApiTmpResponse, 1)
-errChan := make(chan error, 1)
-err := client.AddAsyncTask(func() {
-defer close(responseChan)
-defer close(errChan)
-response, err :=  client.RpcDubboApiTmp(request)
-responseChan <- response
-errChan <- err
-})
-if err != nil {
-errChan <- err
-close(responseChan)
-close(errChan)
-}
-return responseChan, errChan
-}
-
-func (client *Client) RpcDubboApiTmpWithCallback(request *RpcDubboApiTmpRequest, callback func(response *RpcDubboApiTmpResponse, err error)) (<-chan int) {
-result := make(chan int, 1)
-err := client.AddAsyncTask(func() {
-var response *RpcDubboApiTmpResponse
-var err error
-defer close(result)
-response, err = client.RpcDubboApiTmp(request)
-callback(response, err)
-result <- 1
-})
-if err != nil {
-defer close(result)
-callback(nil, err)
-result <- 0
-}
-return result
-}
-
-type RpcDubboApiTmpRequest struct {
-*requests.RpcRequest
-            SwitchValue  string `position:"Query" name:"SwitchValue"`
-            StringValue  string `position:"Query" name:"StringValue"`
-            EnumValue  string `position:"Query" name:"EnumValue"`
-            OtherParam  string `position:"Query" name:"OtherParam"`
-            ResultSwitchValue  string `position:"Query" name:"ResultSwitchValue"`
-            IntValue  string `position:"Query" name:"IntValue"`
-            Code  string `position:"Query" name:"Code"`
-            NumberRange  string `position:"Query" name:"NumberRange"`
-            JsonObject  string `position:"Query" name:"JsonObject"`
-            Message  string `position:"Query" name:"Message"`
-            HttpStatusCode  string `position:"Query" name:"HttpStatusCode"`
-            RegionId  string `position:"Query" name:"RegionId"`
-            ProxyOriginalSecurityTransport  string `position:"Query" name:"proxy_original_security_transport"`
-            ProxyOriginalSourceIp  string `position:"Query" name:"proxy_original_source_ip"`
-            DefaultValue  string `position:"Query" name:"DefaultValue"`
-            Success  string `position:"Query" name:"Success"`
-            RequiredValue  string `position:"Query" name:"RequiredValue"`
-}
-
-
-type RpcDubboApiTmpResponse struct {
-*responses.BaseResponse
-            IntValue     string `json:"IntValue"`
-            NumberRange     string `json:"NumberRange"`
-            StringValue     string `json:"StringValue"`
-            SwitchValue     string `json:"SwitchValue"`
-            EnumValue     string `json:"EnumValue"`
-            RequiredValue     string `json:"RequiredValue"`
-            Success     string `json:"Success"`
-            Code     string `json:"Code"`
-            Message     string `json:"Message"`
-            HttpStatusCode     string `json:"HttpStatusCode"`
-            NullToEmptyValue     string `json:"NullToEmptyValue"`
-            ResultSwitchValue     string `json:"ResultSwitchValue"`
-            RegionId     string `json:"RegionId"`
-            Name     string `json:"Name"`
-            Age     string `json:"Age"`
-            CallerUid     string `json:"callerUid"`
-            CallerBid     string `json:"callerBid"`
-            ProxyTrustTransportInfo     string `json:"proxy_trust_transport_info"`
-            AkMfaPresent     string `json:"ak_mfa_present"`
-            CallerType     string `json:"callerType"`
-            CallerParentId     string `json:"callerParentId"`
-            ResourceOwnerId     string `json:"resourceOwnerId"`
-            AppIp     string `json:"app_ip"`
-            ProxyOriginalSourceIp     string `json:"proxy_original_source_ip"`
-            ProxyOriginalSecurityTransport     string `json:"proxy_original_security_transport"`
-            SecurityTransport     string `json:"security_transport"`
-            RequestId     string `json:"requestId"`
-            NullToEmptyStructValue struct {
-            NullToEmptyStructChildValue     string `json:"NullToEmptyStructChildValue"`
-            }  `json:"NullToEmptyStructValue"`
-            StructValue struct {
-            StructChildValue     string `json:"StructChildValue"`
-            }  `json:"StructValue"`
-            ArrayValue  []struct {
-            ArrayChildValue     string `json:"ArrayChildValue"`
-            }  `json:"ArrayValue"`
-}
-
-func CreateRpcDubboApiTmpRequest() (request *RpcDubboApiTmpRequest) {
-request = &RpcDubboApiTmpRequest{
-RpcRequest: &requests.RpcRequest{},
-}
-request.InitWithApiInfo("Ft", "2015-01-01", "RpcDubboApiTmp", "", "")
-return
-}
-
-func CreateRpcDubboApiTmpResponse() (response *RpcDubboApiTmpResponse) {
-response = &RpcDubboApiTmpResponse{
-BaseResponse: &responses.BaseResponse{},
-}
-return
-}
-

+ 0 - 124
services/ft/rpc_dubbo_error_api.go

@@ -1,124 +0,0 @@
-
-package ft
-
-//Licensed under the Apache License, Version 2.0 (the "License");
-//you may not use this file except in compliance with the License.
-//You may obtain a copy of the License at
-//
-//http://www.apache.org/licenses/LICENSE-2.0
-//
-//Unless required by applicable law or agreed to in writing, software
-//distributed under the License is distributed on an "AS IS" BASIS,
-//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//See the License for the specific language governing permissions and
-//limitations under the License.
-//
-// Code generated by Alibaba Cloud SDK Code Generator.
-// Changes may cause incorrect behavior and will be lost if the code is regenerated.
-
-import (
-"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
-"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
-)
-
-func (client *Client) RpcDubboErrorApi(request *RpcDubboErrorApiRequest) (response *RpcDubboErrorApiResponse, err error) {
-response = CreateRpcDubboErrorApiResponse()
-err = client.DoAction(request, response)
-return
-}
-
-func (client *Client) RpcDubboErrorApiWithChan(request *RpcDubboErrorApiRequest) (<-chan *RpcDubboErrorApiResponse, <-chan error) {
-responseChan := make(chan *RpcDubboErrorApiResponse, 1)
-errChan := make(chan error, 1)
-err := client.AddAsyncTask(func() {
-defer close(responseChan)
-defer close(errChan)
-response, err :=  client.RpcDubboErrorApi(request)
-responseChan <- response
-errChan <- err
-})
-if err != nil {
-errChan <- err
-close(responseChan)
-close(errChan)
-}
-return responseChan, errChan
-}
-
-func (client *Client) RpcDubboErrorApiWithCallback(request *RpcDubboErrorApiRequest, callback func(response *RpcDubboErrorApiResponse, err error)) (<-chan int) {
-result := make(chan int, 1)
-err := client.AddAsyncTask(func() {
-var response *RpcDubboErrorApiResponse
-var err error
-defer close(result)
-response, err = client.RpcDubboErrorApi(request)
-callback(response, err)
-result <- 1
-})
-if err != nil {
-defer close(result)
-callback(nil, err)
-result <- 0
-}
-return result
-}
-
-type RpcDubboErrorApiRequest struct {
-*requests.RpcRequest
-            Message  string `position:"Query" name:"Message"`
-            SwitchValue  string `position:"Query" name:"SwitchValue"`
-            HttpStatusCode  string `position:"Query" name:"HttpStatusCode"`
-            EnumValue  string `position:"Query" name:"EnumValue"`
-            StringValue  string `position:"Query" name:"StringValue"`
-            RegionId  string `position:"Query" name:"RegionId"`
-            ResultSwitchValue  string `position:"Query" name:"ResultSwitchValue"`
-            Code  string `position:"Query" name:"Code"`
-            IntValue  string `position:"Query" name:"IntValue"`
-            Success  string `position:"Query" name:"Success"`
-            DefaultValue  string `position:"Query" name:"DefaultValue"`
-            NumberRange  string `position:"Query" name:"NumberRange"`
-            RequiredValue  string `position:"Query" name:"RequiredValue"`
-}
-
-
-type RpcDubboErrorApiResponse struct {
-*responses.BaseResponse
-            IntValue     string `json:"IntValue"`
-            NumberRange     string `json:"NumberRange"`
-            StringValue     string `json:"StringValue"`
-            SwitchValue     string `json:"SwitchValue"`
-            EnumValue     string `json:"EnumValue"`
-            RequiredValue     string `json:"RequiredValue"`
-            Success     string `json:"Success"`
-            Code     string `json:"Code"`
-            Message     string `json:"Message"`
-            HttpStatusCode     string `json:"HttpStatusCode"`
-            NullToEmptyValue     string `json:"NullToEmptyValue"`
-            ResultSwitchValue     string `json:"ResultSwitchValue"`
-            RegionId     string `json:"RegionId"`
-            NullToEmptyStructValue struct {
-            NullToEmptyStructChildValue     string `json:"NullToEmptyStructChildValue"`
-            }  `json:"NullToEmptyStructValue"`
-            StructValue struct {
-            StructChildValue     string `json:"StructChildValue"`
-            }  `json:"StructValue"`
-            ArrayValue  []struct {
-            ArrayChildValue     string `json:"ArrayChildValue"`
-            }  `json:"ArrayValue"`
-}
-
-func CreateRpcDubboErrorApiRequest() (request *RpcDubboErrorApiRequest) {
-request = &RpcDubboErrorApiRequest{
-RpcRequest: &requests.RpcRequest{},
-}
-request.InitWithApiInfo("Ft", "2015-01-01", "RpcDubboErrorApi", "", "")
-return
-}
-
-func CreateRpcDubboErrorApiResponse() (response *RpcDubboErrorApiResponse) {
-response = &RpcDubboErrorApiResponse{
-BaseResponse: &responses.BaseResponse{},
-}
-return
-}
-

+ 0 - 122
services/ft/rpc_flow_control_api_and_user_refuse_api.go

@@ -1,122 +0,0 @@
-
-package ft
-
-//Licensed under the Apache License, Version 2.0 (the "License");
-//you may not use this file except in compliance with the License.
-//You may obtain a copy of the License at
-//
-//http://www.apache.org/licenses/LICENSE-2.0
-//
-//Unless required by applicable law or agreed to in writing, software
-//distributed under the License is distributed on an "AS IS" BASIS,
-//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//See the License for the specific language governing permissions and
-//limitations under the License.
-//
-// Code generated by Alibaba Cloud SDK Code Generator.
-// Changes may cause incorrect behavior and will be lost if the code is regenerated.
-
-import (
-"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
-"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
-)
-
-func (client *Client) RpcFlowControlApiAndUserRefuseApi(request *RpcFlowControlApiAndUserRefuseApiRequest) (response *RpcFlowControlApiAndUserRefuseApiResponse, err error) {
-response = CreateRpcFlowControlApiAndUserRefuseApiResponse()
-err = client.DoAction(request, response)
-return
-}
-
-func (client *Client) RpcFlowControlApiAndUserRefuseApiWithChan(request *RpcFlowControlApiAndUserRefuseApiRequest) (<-chan *RpcFlowControlApiAndUserRefuseApiResponse, <-chan error) {
-responseChan := make(chan *RpcFlowControlApiAndUserRefuseApiResponse, 1)
-errChan := make(chan error, 1)
-err := client.AddAsyncTask(func() {
-defer close(responseChan)
-defer close(errChan)
-response, err :=  client.RpcFlowControlApiAndUserRefuseApi(request)
-responseChan <- response
-errChan <- err
-})
-if err != nil {
-errChan <- err
-close(responseChan)
-close(errChan)
-}
-return responseChan, errChan
-}
-
-func (client *Client) RpcFlowControlApiAndUserRefuseApiWithCallback(request *RpcFlowControlApiAndUserRefuseApiRequest, callback func(response *RpcFlowControlApiAndUserRefuseApiResponse, err error)) (<-chan int) {
-result := make(chan int, 1)
-err := client.AddAsyncTask(func() {
-var response *RpcFlowControlApiAndUserRefuseApiResponse
-var err error
-defer close(result)
-response, err = client.RpcFlowControlApiAndUserRefuseApi(request)
-callback(response, err)
-result <- 1
-})
-if err != nil {
-defer close(result)
-callback(nil, err)
-result <- 0
-}
-return result
-}
-
-type RpcFlowControlApiAndUserRefuseApiRequest struct {
-*requests.RpcRequest
-            Message  string `position:"Query" name:"Message"`
-            SwitchValue  string `position:"Query" name:"SwitchValue"`
-            HttpStatusCode  string `position:"Query" name:"HttpStatusCode"`
-            EnumValue  string `position:"Query" name:"EnumValue"`
-            StringValue  string `position:"Query" name:"StringValue"`
-            ResultSwitchValue  string `position:"Query" name:"ResultSwitchValue"`
-            Code  string `position:"Query" name:"Code"`
-            IntValue  string `position:"Query" name:"IntValue"`
-            Success  string `position:"Query" name:"Success"`
-            DefaultValue  string `position:"Query" name:"DefaultValue"`
-            NumberRange  string `position:"Query" name:"NumberRange"`
-            RequiredValue  string `position:"Query" name:"RequiredValue"`
-}
-
-
-type RpcFlowControlApiAndUserRefuseApiResponse struct {
-*responses.BaseResponse
-            IntValue     string `json:"IntValue"`
-            NumberRange     string `json:"NumberRange"`
-            StringValue     string `json:"StringValue"`
-            SwitchValue     string `json:"SwitchValue"`
-            EnumValue     string `json:"EnumValue"`
-            RequiredValue     string `json:"RequiredValue"`
-            Success     string `json:"Success"`
-            Code     string `json:"Code"`
-            Message     string `json:"Message"`
-            HttpStatusCode     string `json:"HttpStatusCode"`
-            NullToEmptyValue     string `json:"NullToEmptyValue"`
-            ResultSwitchValue     string `json:"ResultSwitchValue"`
-            NullToEmptyStructValue struct {
-            NullToEmptyStructChildValue     string `json:"NullToEmptyStructChildValue"`
-            }  `json:"NullToEmptyStructValue"`
-            StructValue struct {
-            StructChildValue     string `json:"StructChildValue"`
-            }  `json:"StructValue"`
-            ArrayValue  []struct {
-            ArrayChildValue     string `json:"ArrayChildValue"`
-            }  `json:"ArrayValue"`
-}
-
-func CreateRpcFlowControlApiAndUserRefuseApiRequest() (request *RpcFlowControlApiAndUserRefuseApiRequest) {
-request = &RpcFlowControlApiAndUserRefuseApiRequest{
-RpcRequest: &requests.RpcRequest{},
-}
-request.InitWithApiInfo("Ft", "2015-01-01", "RpcFlowControlApiAndUserRefuseApi", "", "")
-return
-}
-
-func CreateRpcFlowControlApiAndUserRefuseApiResponse() (response *RpcFlowControlApiAndUserRefuseApiResponse) {
-response = &RpcFlowControlApiAndUserRefuseApiResponse{
-BaseResponse: &responses.BaseResponse{},
-}
-return
-}
-

+ 0 - 122
services/ft/rpc_flow_control_api_expire_api.go

@@ -1,122 +0,0 @@
-
-package ft
-
-//Licensed under the Apache License, Version 2.0 (the "License");
-//you may not use this file except in compliance with the License.
-//You may obtain a copy of the License at
-//
-//http://www.apache.org/licenses/LICENSE-2.0
-//
-//Unless required by applicable law or agreed to in writing, software
-//distributed under the License is distributed on an "AS IS" BASIS,
-//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//See the License for the specific language governing permissions and
-//limitations under the License.
-//
-// Code generated by Alibaba Cloud SDK Code Generator.
-// Changes may cause incorrect behavior and will be lost if the code is regenerated.
-
-import (
-"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
-"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
-)
-
-func (client *Client) RpcFlowControlApiExpireApi(request *RpcFlowControlApiExpireApiRequest) (response *RpcFlowControlApiExpireApiResponse, err error) {
-response = CreateRpcFlowControlApiExpireApiResponse()
-err = client.DoAction(request, response)
-return
-}
-
-func (client *Client) RpcFlowControlApiExpireApiWithChan(request *RpcFlowControlApiExpireApiRequest) (<-chan *RpcFlowControlApiExpireApiResponse, <-chan error) {
-responseChan := make(chan *RpcFlowControlApiExpireApiResponse, 1)
-errChan := make(chan error, 1)
-err := client.AddAsyncTask(func() {
-defer close(responseChan)
-defer close(errChan)
-response, err :=  client.RpcFlowControlApiExpireApi(request)
-responseChan <- response
-errChan <- err
-})
-if err != nil {
-errChan <- err
-close(responseChan)
-close(errChan)
-}
-return responseChan, errChan
-}
-
-func (client *Client) RpcFlowControlApiExpireApiWithCallback(request *RpcFlowControlApiExpireApiRequest, callback func(response *RpcFlowControlApiExpireApiResponse, err error)) (<-chan int) {
-result := make(chan int, 1)
-err := client.AddAsyncTask(func() {
-var response *RpcFlowControlApiExpireApiResponse
-var err error
-defer close(result)
-response, err = client.RpcFlowControlApiExpireApi(request)
-callback(response, err)
-result <- 1
-})
-if err != nil {
-defer close(result)
-callback(nil, err)
-result <- 0
-}
-return result
-}
-
-type RpcFlowControlApiExpireApiRequest struct {
-*requests.RpcRequest
-            Message  string `position:"Query" name:"Message"`
-            SwitchValue  string `position:"Query" name:"SwitchValue"`
-            HttpStatusCode  string `position:"Query" name:"HttpStatusCode"`
-            EnumValue  string `position:"Query" name:"EnumValue"`
-            StringValue  string `position:"Query" name:"StringValue"`
-            ResultSwitchValue  string `position:"Query" name:"ResultSwitchValue"`
-            Code  string `position:"Query" name:"Code"`
-            IntValue  string `position:"Query" name:"IntValue"`
-            Success  string `position:"Query" name:"Success"`
-            DefaultValue  string `position:"Query" name:"DefaultValue"`
-            NumberRange  string `position:"Query" name:"NumberRange"`
-            RequiredValue  string `position:"Query" name:"RequiredValue"`
-}
-
-
-type RpcFlowControlApiExpireApiResponse struct {
-*responses.BaseResponse
-            IntValue     string `json:"IntValue"`
-            NumberRange     string `json:"NumberRange"`
-            StringValue     string `json:"StringValue"`
-            SwitchValue     string `json:"SwitchValue"`
-            EnumValue     string `json:"EnumValue"`
-            RequiredValue     string `json:"RequiredValue"`
-            Success     string `json:"Success"`
-            Code     string `json:"Code"`
-            Message     string `json:"Message"`
-            HttpStatusCode     string `json:"HttpStatusCode"`
-            NullToEmptyValue     string `json:"NullToEmptyValue"`
-            ResultSwitchValue     string `json:"ResultSwitchValue"`
-            NullToEmptyStructValue struct {
-            NullToEmptyStructChildValue     string `json:"NullToEmptyStructChildValue"`
-            }  `json:"NullToEmptyStructValue"`
-            StructValue struct {
-            StructChildValue     string `json:"StructChildValue"`
-            }  `json:"StructValue"`
-            ArrayValue  []struct {
-            ArrayChildValue     string `json:"ArrayChildValue"`
-            }  `json:"ArrayValue"`
-}
-
-func CreateRpcFlowControlApiExpireApiRequest() (request *RpcFlowControlApiExpireApiRequest) {
-request = &RpcFlowControlApiExpireApiRequest{
-RpcRequest: &requests.RpcRequest{},
-}
-request.InitWithApiInfo("Ft", "2015-01-01", "RpcFlowControlApiExpireApi", "", "")
-return
-}
-
-func CreateRpcFlowControlApiExpireApiResponse() (response *RpcFlowControlApiExpireApiResponse) {
-response = &RpcFlowControlApiExpireApiResponse{
-BaseResponse: &responses.BaseResponse{},
-}
-return
-}
-

+ 0 - 122
services/ft/rpc_flow_control_api_refuse_api.go

@@ -1,122 +0,0 @@
-
-package ft
-
-//Licensed under the Apache License, Version 2.0 (the "License");
-//you may not use this file except in compliance with the License.
-//You may obtain a copy of the License at
-//
-//http://www.apache.org/licenses/LICENSE-2.0
-//
-//Unless required by applicable law or agreed to in writing, software
-//distributed under the License is distributed on an "AS IS" BASIS,
-//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//See the License for the specific language governing permissions and
-//limitations under the License.
-//
-// Code generated by Alibaba Cloud SDK Code Generator.
-// Changes may cause incorrect behavior and will be lost if the code is regenerated.
-
-import (
-"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
-"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
-)
-
-func (client *Client) RpcFlowControlApiRefuseApi(request *RpcFlowControlApiRefuseApiRequest) (response *RpcFlowControlApiRefuseApiResponse, err error) {
-response = CreateRpcFlowControlApiRefuseApiResponse()
-err = client.DoAction(request, response)
-return
-}
-
-func (client *Client) RpcFlowControlApiRefuseApiWithChan(request *RpcFlowControlApiRefuseApiRequest) (<-chan *RpcFlowControlApiRefuseApiResponse, <-chan error) {
-responseChan := make(chan *RpcFlowControlApiRefuseApiResponse, 1)
-errChan := make(chan error, 1)
-err := client.AddAsyncTask(func() {
-defer close(responseChan)
-defer close(errChan)
-response, err :=  client.RpcFlowControlApiRefuseApi(request)
-responseChan <- response
-errChan <- err
-})
-if err != nil {
-errChan <- err
-close(responseChan)
-close(errChan)
-}
-return responseChan, errChan
-}
-
-func (client *Client) RpcFlowControlApiRefuseApiWithCallback(request *RpcFlowControlApiRefuseApiRequest, callback func(response *RpcFlowControlApiRefuseApiResponse, err error)) (<-chan int) {
-result := make(chan int, 1)
-err := client.AddAsyncTask(func() {
-var response *RpcFlowControlApiRefuseApiResponse
-var err error
-defer close(result)
-response, err = client.RpcFlowControlApiRefuseApi(request)
-callback(response, err)
-result <- 1
-})
-if err != nil {
-defer close(result)
-callback(nil, err)
-result <- 0
-}
-return result
-}
-
-type RpcFlowControlApiRefuseApiRequest struct {
-*requests.RpcRequest
-            Message  string `position:"Query" name:"Message"`
-            SwitchValue  string `position:"Query" name:"SwitchValue"`
-            HttpStatusCode  string `position:"Query" name:"HttpStatusCode"`
-            EnumValue  string `position:"Query" name:"EnumValue"`
-            StringValue  string `position:"Query" name:"StringValue"`
-            ResultSwitchValue  string `position:"Query" name:"ResultSwitchValue"`
-            Code  string `position:"Query" name:"Code"`
-            IntValue  string `position:"Query" name:"IntValue"`
-            Success  string `position:"Query" name:"Success"`
-            DefaultValue  string `position:"Query" name:"DefaultValue"`
-            NumberRange  string `position:"Query" name:"NumberRange"`
-            RequiredValue  string `position:"Query" name:"RequiredValue"`
-}
-
-
-type RpcFlowControlApiRefuseApiResponse struct {
-*responses.BaseResponse
-            IntValue     string `json:"IntValue"`
-            NumberRange     string `json:"NumberRange"`
-            StringValue     string `json:"StringValue"`
-            SwitchValue     string `json:"SwitchValue"`
-            EnumValue     string `json:"EnumValue"`
-            RequiredValue     string `json:"RequiredValue"`
-            Success     string `json:"Success"`
-            Code     string `json:"Code"`
-            Message     string `json:"Message"`
-            HttpStatusCode     string `json:"HttpStatusCode"`
-            NullToEmptyValue     string `json:"NullToEmptyValue"`
-            ResultSwitchValue     string `json:"ResultSwitchValue"`
-            NullToEmptyStructValue struct {
-            NullToEmptyStructChildValue     string `json:"NullToEmptyStructChildValue"`
-            }  `json:"NullToEmptyStructValue"`
-            StructValue struct {
-            StructChildValue     string `json:"StructChildValue"`
-            }  `json:"StructValue"`
-            ArrayValue  []struct {
-            ArrayChildValue     string `json:"ArrayChildValue"`
-            }  `json:"ArrayValue"`
-}
-
-func CreateRpcFlowControlApiRefuseApiRequest() (request *RpcFlowControlApiRefuseApiRequest) {
-request = &RpcFlowControlApiRefuseApiRequest{
-RpcRequest: &requests.RpcRequest{},
-}
-request.InitWithApiInfo("Ft", "2015-01-01", "RpcFlowControlApiRefuseApi", "", "")
-return
-}
-
-func CreateRpcFlowControlApiRefuseApiResponse() (response *RpcFlowControlApiRefuseApiResponse) {
-response = &RpcFlowControlApiRefuseApiResponse{
-BaseResponse: &responses.BaseResponse{},
-}
-return
-}
-

+ 0 - 123
services/ft/rpc_flow_control_pass_api.go

@@ -1,123 +0,0 @@
-
-package ft
-
-//Licensed under the Apache License, Version 2.0 (the "License");
-//you may not use this file except in compliance with the License.
-//You may obtain a copy of the License at
-//
-//http://www.apache.org/licenses/LICENSE-2.0
-//
-//Unless required by applicable law or agreed to in writing, software
-//distributed under the License is distributed on an "AS IS" BASIS,
-//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//See the License for the specific language governing permissions and
-//limitations under the License.
-//
-// Code generated by Alibaba Cloud SDK Code Generator.
-// Changes may cause incorrect behavior and will be lost if the code is regenerated.
-
-import (
-"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
-"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
-)
-
-func (client *Client) RpcFlowControlPassApi(request *RpcFlowControlPassApiRequest) (response *RpcFlowControlPassApiResponse, err error) {
-response = CreateRpcFlowControlPassApiResponse()
-err = client.DoAction(request, response)
-return
-}
-
-func (client *Client) RpcFlowControlPassApiWithChan(request *RpcFlowControlPassApiRequest) (<-chan *RpcFlowControlPassApiResponse, <-chan error) {
-responseChan := make(chan *RpcFlowControlPassApiResponse, 1)
-errChan := make(chan error, 1)
-err := client.AddAsyncTask(func() {
-defer close(responseChan)
-defer close(errChan)
-response, err :=  client.RpcFlowControlPassApi(request)
-responseChan <- response
-errChan <- err
-})
-if err != nil {
-errChan <- err
-close(responseChan)
-close(errChan)
-}
-return responseChan, errChan
-}
-
-func (client *Client) RpcFlowControlPassApiWithCallback(request *RpcFlowControlPassApiRequest, callback func(response *RpcFlowControlPassApiResponse, err error)) (<-chan int) {
-result := make(chan int, 1)
-err := client.AddAsyncTask(func() {
-var response *RpcFlowControlPassApiResponse
-var err error
-defer close(result)
-response, err = client.RpcFlowControlPassApi(request)
-callback(response, err)
-result <- 1
-})
-if err != nil {
-defer close(result)
-callback(nil, err)
-result <- 0
-}
-return result
-}
-
-type RpcFlowControlPassApiRequest struct {
-*requests.RpcRequest
-            Message  string `position:"Query" name:"Message"`
-            SwitchValue  string `position:"Query" name:"SwitchValue"`
-            HttpStatusCode  string `position:"Query" name:"HttpStatusCode"`
-            EnumValue  string `position:"Query" name:"EnumValue"`
-            StringValue  string `position:"Query" name:"StringValue"`
-            ResultSwitchValue  string `position:"Query" name:"ResultSwitchValue"`
-            Code  string `position:"Query" name:"Code"`
-            IntValue  string `position:"Query" name:"IntValue"`
-            Success  string `position:"Query" name:"Success"`
-            DefaultValue  string `position:"Query" name:"DefaultValue"`
-            NumberRange  string `position:"Query" name:"NumberRange"`
-            RequiredValue  string `position:"Query" name:"RequiredValue"`
-}
-
-
-type RpcFlowControlPassApiResponse struct {
-*responses.BaseResponse
-            IntValue     string `json:"IntValue"`
-            NumberRange     string `json:"NumberRange"`
-            StringValue     string `json:"StringValue"`
-            SwitchValue     string `json:"SwitchValue"`
-            EnumValue     string `json:"EnumValue"`
-            RequiredValue     string `json:"RequiredValue"`
-            IamdefaultValue     string `json:"iamdefaultValue"`
-            Success     string `json:"Success"`
-            Code     string `json:"Code"`
-            Message     string `json:"Message"`
-            HttpStatusCode     string `json:"HttpStatusCode"`
-            NullToEmptyValue     string `json:"NullToEmptyValue"`
-            ResultSwitchValue     string `json:"ResultSwitchValue"`
-            NullToEmptyStructValue struct {
-            NullToEmptyStructChildValue     string `json:"NullToEmptyStructChildValue"`
-            }  `json:"NullToEmptyStructValue"`
-            StructValue struct {
-            StructChildValue     string `json:"StructChildValue"`
-            }  `json:"StructValue"`
-            ArrayValue  []struct {
-            ArrayChildValue     string `json:"ArrayChildValue"`
-            }  `json:"ArrayValue"`
-}
-
-func CreateRpcFlowControlPassApiRequest() (request *RpcFlowControlPassApiRequest) {
-request = &RpcFlowControlPassApiRequest{
-RpcRequest: &requests.RpcRequest{},
-}
-request.InitWithApiInfo("Ft", "2015-01-01", "RpcFlowControlPassApi", "", "")
-return
-}
-
-func CreateRpcFlowControlPassApiResponse() (response *RpcFlowControlPassApiResponse) {
-response = &RpcFlowControlPassApiResponse{
-BaseResponse: &responses.BaseResponse{},
-}
-return
-}
-

+ 0 - 122
services/ft/rpc_flow_control_user_refuse_api.go

@@ -1,122 +0,0 @@
-
-package ft
-
-//Licensed under the Apache License, Version 2.0 (the "License");
-//you may not use this file except in compliance with the License.
-//You may obtain a copy of the License at
-//
-//http://www.apache.org/licenses/LICENSE-2.0
-//
-//Unless required by applicable law or agreed to in writing, software
-//distributed under the License is distributed on an "AS IS" BASIS,
-//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//See the License for the specific language governing permissions and
-//limitations under the License.
-//
-// Code generated by Alibaba Cloud SDK Code Generator.
-// Changes may cause incorrect behavior and will be lost if the code is regenerated.
-
-import (
-"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
-"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
-)
-
-func (client *Client) RpcFlowControlUserRefuseApi(request *RpcFlowControlUserRefuseApiRequest) (response *RpcFlowControlUserRefuseApiResponse, err error) {
-response = CreateRpcFlowControlUserRefuseApiResponse()
-err = client.DoAction(request, response)
-return
-}
-
-func (client *Client) RpcFlowControlUserRefuseApiWithChan(request *RpcFlowControlUserRefuseApiRequest) (<-chan *RpcFlowControlUserRefuseApiResponse, <-chan error) {
-responseChan := make(chan *RpcFlowControlUserRefuseApiResponse, 1)
-errChan := make(chan error, 1)
-err := client.AddAsyncTask(func() {
-defer close(responseChan)
-defer close(errChan)
-response, err :=  client.RpcFlowControlUserRefuseApi(request)
-responseChan <- response
-errChan <- err
-})
-if err != nil {
-errChan <- err
-close(responseChan)
-close(errChan)
-}
-return responseChan, errChan
-}
-
-func (client *Client) RpcFlowControlUserRefuseApiWithCallback(request *RpcFlowControlUserRefuseApiRequest, callback func(response *RpcFlowControlUserRefuseApiResponse, err error)) (<-chan int) {
-result := make(chan int, 1)
-err := client.AddAsyncTask(func() {
-var response *RpcFlowControlUserRefuseApiResponse
-var err error
-defer close(result)
-response, err = client.RpcFlowControlUserRefuseApi(request)
-callback(response, err)
-result <- 1
-})
-if err != nil {
-defer close(result)
-callback(nil, err)
-result <- 0
-}
-return result
-}
-
-type RpcFlowControlUserRefuseApiRequest struct {
-*requests.RpcRequest
-            Message  string `position:"Query" name:"Message"`
-            SwitchValue  string `position:"Query" name:"SwitchValue"`
-            HttpStatusCode  string `position:"Query" name:"HttpStatusCode"`
-            EnumValue  string `position:"Query" name:"EnumValue"`
-            StringValue  string `position:"Query" name:"StringValue"`
-            ResultSwitchValue  string `position:"Query" name:"ResultSwitchValue"`
-            Code  string `position:"Query" name:"Code"`
-            IntValue  string `position:"Query" name:"IntValue"`
-            Success  string `position:"Query" name:"Success"`
-            DefaultValue  string `position:"Query" name:"DefaultValue"`
-            NumberRange  string `position:"Query" name:"NumberRange"`
-            RequiredValue  string `position:"Query" name:"RequiredValue"`
-}
-
-
-type RpcFlowControlUserRefuseApiResponse struct {
-*responses.BaseResponse
-            IntValue     string `json:"IntValue"`
-            NumberRange     string `json:"NumberRange"`
-            StringValue     string `json:"StringValue"`
-            SwitchValue     string `json:"SwitchValue"`
-            EnumValue     string `json:"EnumValue"`
-            RequiredValue     string `json:"RequiredValue"`
-            Success     string `json:"Success"`
-            Code     string `json:"Code"`
-            Message     string `json:"Message"`
-            HttpStatusCode     string `json:"HttpStatusCode"`
-            NullToEmptyValue     string `json:"NullToEmptyValue"`
-            ResultSwitchValue     string `json:"ResultSwitchValue"`
-            NullToEmptyStructValue struct {
-            NullToEmptyStructChildValue     string `json:"NullToEmptyStructChildValue"`
-            }  `json:"NullToEmptyStructValue"`
-            StructValue struct {
-            StructChildValue     string `json:"StructChildValue"`
-            }  `json:"StructValue"`
-            ArrayValue  []struct {
-            ArrayChildValue     string `json:"ArrayChildValue"`
-            }  `json:"ArrayValue"`
-}
-
-func CreateRpcFlowControlUserRefuseApiRequest() (request *RpcFlowControlUserRefuseApiRequest) {
-request = &RpcFlowControlUserRefuseApiRequest{
-RpcRequest: &requests.RpcRequest{},
-}
-request.InitWithApiInfo("Ft", "2015-01-01", "RpcFlowControlUserRefuseApi", "", "")
-return
-}
-
-func CreateRpcFlowControlUserRefuseApiResponse() (response *RpcFlowControlUserRefuseApiResponse) {
-response = &RpcFlowControlUserRefuseApiResponse{
-BaseResponse: &responses.BaseResponse{},
-}
-return
-}
-

+ 0 - 145
services/ft/rpc_hsf_api.go

@@ -1,145 +0,0 @@
-
-package ft
-
-//Licensed under the Apache License, Version 2.0 (the "License");
-//you may not use this file except in compliance with the License.
-//You may obtain a copy of the License at
-//
-//http://www.apache.org/licenses/LICENSE-2.0
-//
-//Unless required by applicable law or agreed to in writing, software
-//distributed under the License is distributed on an "AS IS" BASIS,
-//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//See the License for the specific language governing permissions and
-//limitations under the License.
-//
-// Code generated by Alibaba Cloud SDK Code Generator.
-// Changes may cause incorrect behavior and will be lost if the code is regenerated.
-
-import (
-"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
-"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
-)
-
-func (client *Client) RpcHsfApi(request *RpcHsfApiRequest) (response *RpcHsfApiResponse, err error) {
-response = CreateRpcHsfApiResponse()
-err = client.DoAction(request, response)
-return
-}
-
-func (client *Client) RpcHsfApiWithChan(request *RpcHsfApiRequest) (<-chan *RpcHsfApiResponse, <-chan error) {
-responseChan := make(chan *RpcHsfApiResponse, 1)
-errChan := make(chan error, 1)
-err := client.AddAsyncTask(func() {
-defer close(responseChan)
-defer close(errChan)
-response, err :=  client.RpcHsfApi(request)
-responseChan <- response
-errChan <- err
-})
-if err != nil {
-errChan <- err
-close(responseChan)
-close(errChan)
-}
-return responseChan, errChan
-}
-
-func (client *Client) RpcHsfApiWithCallback(request *RpcHsfApiRequest, callback func(response *RpcHsfApiResponse, err error)) (<-chan int) {
-result := make(chan int, 1)
-err := client.AddAsyncTask(func() {
-var response *RpcHsfApiResponse
-var err error
-defer close(result)
-response, err = client.RpcHsfApi(request)
-callback(response, err)
-result <- 1
-})
-if err != nil {
-defer close(result)
-callback(nil, err)
-result <- 0
-}
-return result
-}
-
-type RpcHsfApiRequest struct {
-*requests.RpcRequest
-            SwitchValue  string `position:"Query" name:"SwitchValue"`
-            StringValue  string `position:"Query" name:"StringValue"`
-            EnumValue  string `position:"Query" name:"EnumValue"`
-            OtherParam  string `position:"Query" name:"OtherParam"`
-            ResultSwitchValue  string `position:"Query" name:"ResultSwitchValue"`
-            IntValue  string `position:"Query" name:"IntValue"`
-            Code  string `position:"Query" name:"Code"`
-            Sleep  string `position:"Query" name:"Sleep"`
-            NumberRange  string `position:"Query" name:"NumberRange"`
-            JsonObjectList  string `position:"Query" name:"JsonObjectList"`
-            JsonObject  string `position:"Query" name:"JsonObject"`
-            Message  string `position:"Query" name:"Message"`
-            HttpStatusCode  string `position:"Query" name:"HttpStatusCode"`
-            RegionId  string `position:"Query" name:"RegionId"`
-            ProxyOriginalSecurityTransport  string `position:"Query" name:"proxy_original_security_transport"`
-            ProxyOriginalSourceIp  string `position:"Query" name:"proxy_original_source_ip"`
-            DefaultValue  string `position:"Query" name:"DefaultValue"`
-            Success  string `position:"Query" name:"Success"`
-            RequiredValue  string `position:"Query" name:"RequiredValue"`
-}
-
-
-type RpcHsfApiResponse struct {
-*responses.BaseResponse
-            IntValue     string `json:"IntValue"`
-            NumberRange     string `json:"NumberRange"`
-            StringValue     string `json:"StringValue"`
-            SwitchValue     string `json:"SwitchValue"`
-            EnumValue     string `json:"EnumValue"`
-            RequiredValue     string `json:"RequiredValue"`
-            Success     string `json:"Success"`
-            Code     string `json:"Code"`
-            Message     string `json:"Message"`
-            HttpStatusCode     string `json:"HttpStatusCode"`
-            NullToEmptyValue     string `json:"NullToEmptyValue"`
-            ResultSwitchValue     string `json:"ResultSwitchValue"`
-            RegionId     string `json:"RegionId"`
-            Name     string `json:"Name"`
-            Age     string `json:"Age"`
-            JsonListStrig     string `json:"JsonListStrig"`
-            CallerUid     string `json:"callerUid"`
-            CallerBid     string `json:"callerBid"`
-            ProxyTrustTransportInfo     string `json:"proxy_trust_transport_info"`
-            AkMfaPresent     string `json:"ak_mfa_present"`
-            CallerType     string `json:"callerType"`
-            CallerParentId     string `json:"callerParentId"`
-            ResourceOwnerId     string `json:"resourceOwnerId"`
-            AppIp     string `json:"app_ip"`
-            ProxyOriginalSourceIp     string `json:"proxy_original_source_ip"`
-            ProxyOriginalSecurityTransport     string `json:"proxy_original_security_transport"`
-            SecurityTransport     string `json:"security_transport"`
-            RequestId     string `json:"requestId"`
-            NullToEmptyStructValue struct {
-            NullToEmptyStructChildValue     string `json:"NullToEmptyStructChildValue"`
-            }  `json:"NullToEmptyStructValue"`
-            StructValue struct {
-            StructChildValue     string `json:"StructChildValue"`
-            }  `json:"StructValue"`
-            ArrayValue  []struct {
-            ArrayChildValue     string `json:"ArrayChildValue"`
-            }  `json:"ArrayValue"`
-}
-
-func CreateRpcHsfApiRequest() (request *RpcHsfApiRequest) {
-request = &RpcHsfApiRequest{
-RpcRequest: &requests.RpcRequest{},
-}
-request.InitWithApiInfo("Ft", "2015-01-01", "RpcHsfApi", "", "")
-return
-}
-
-func CreateRpcHsfApiResponse() (response *RpcHsfApiResponse) {
-response = &RpcHsfApiResponse{
-BaseResponse: &responses.BaseResponse{},
-}
-return
-}
-

+ 0 - 145
services/ft/rpc_hsf_api2.go

@@ -1,145 +0,0 @@
-
-package ft
-
-//Licensed under the Apache License, Version 2.0 (the "License");
-//you may not use this file except in compliance with the License.
-//You may obtain a copy of the License at
-//
-//http://www.apache.org/licenses/LICENSE-2.0
-//
-//Unless required by applicable law or agreed to in writing, software
-//distributed under the License is distributed on an "AS IS" BASIS,
-//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//See the License for the specific language governing permissions and
-//limitations under the License.
-//
-// Code generated by Alibaba Cloud SDK Code Generator.
-// Changes may cause incorrect behavior and will be lost if the code is regenerated.
-
-import (
-"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
-"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
-)
-
-func (client *Client) RpcHsfApi2(request *RpcHsfApi2Request) (response *RpcHsfApi2Response, err error) {
-response = CreateRpcHsfApi2Response()
-err = client.DoAction(request, response)
-return
-}
-
-func (client *Client) RpcHsfApi2WithChan(request *RpcHsfApi2Request) (<-chan *RpcHsfApi2Response, <-chan error) {
-responseChan := make(chan *RpcHsfApi2Response, 1)
-errChan := make(chan error, 1)
-err := client.AddAsyncTask(func() {
-defer close(responseChan)
-defer close(errChan)
-response, err :=  client.RpcHsfApi2(request)
-responseChan <- response
-errChan <- err
-})
-if err != nil {
-errChan <- err
-close(responseChan)
-close(errChan)
-}
-return responseChan, errChan
-}
-
-func (client *Client) RpcHsfApi2WithCallback(request *RpcHsfApi2Request, callback func(response *RpcHsfApi2Response, err error)) (<-chan int) {
-result := make(chan int, 1)
-err := client.AddAsyncTask(func() {
-var response *RpcHsfApi2Response
-var err error
-defer close(result)
-response, err = client.RpcHsfApi2(request)
-callback(response, err)
-result <- 1
-})
-if err != nil {
-defer close(result)
-callback(nil, err)
-result <- 0
-}
-return result
-}
-
-type RpcHsfApi2Request struct {
-*requests.RpcRequest
-            SwitchValue  string `position:"Query" name:"SwitchValue"`
-            StringValue  string `position:"Query" name:"StringValue"`
-            EnumValue  string `position:"Query" name:"EnumValue"`
-            OtherParam  string `position:"Query" name:"OtherParam"`
-            ResultSwitchValue  string `position:"Query" name:"ResultSwitchValue"`
-            IntValue  string `position:"Query" name:"IntValue"`
-            Code  string `position:"Query" name:"Code"`
-            Sleep  string `position:"Query" name:"Sleep"`
-            NumberRange  string `position:"Query" name:"NumberRange"`
-            JsonObjectList  string `position:"Query" name:"JsonObjectList"`
-            JsonObject  string `position:"Query" name:"JsonObject"`
-            Message  string `position:"Query" name:"Message"`
-            HttpStatusCode  string `position:"Query" name:"HttpStatusCode"`
-            RegionId  string `position:"Query" name:"RegionId"`
-            ProxyOriginalSecurityTransport  string `position:"Query" name:"proxy_original_security_transport"`
-            ProxyOriginalSourceIp  string `position:"Query" name:"proxy_original_source_ip"`
-            DefaultValue  string `position:"Query" name:"DefaultValue"`
-            Success  string `position:"Query" name:"Success"`
-            RequiredValue  string `position:"Query" name:"RequiredValue"`
-}
-
-
-type RpcHsfApi2Response struct {
-*responses.BaseResponse
-            IntValue     string `json:"IntValue"`
-            NumberRange     string `json:"NumberRange"`
-            StringValue     string `json:"StringValue"`
-            SwitchValue     string `json:"SwitchValue"`
-            EnumValue     string `json:"EnumValue"`
-            RequiredValue     string `json:"RequiredValue"`
-            Success     string `json:"Success"`
-            Code     string `json:"Code"`
-            Message     string `json:"Message"`
-            HttpStatusCode     string `json:"HttpStatusCode"`
-            NullToEmptyValue     string `json:"NullToEmptyValue"`
-            ResultSwitchValue     string `json:"ResultSwitchValue"`
-            RegionId     string `json:"RegionId"`
-            Name     string `json:"Name"`
-            Age     string `json:"Age"`
-            JsonListStrig     string `json:"JsonListStrig"`
-            CallerUid     string `json:"callerUid"`
-            CallerBid     string `json:"callerBid"`
-            ProxyTrustTransportInfo     string `json:"proxy_trust_transport_info"`
-            AkMfaPresent     string `json:"ak_mfa_present"`
-            CallerType     string `json:"callerType"`
-            CallerParentId     string `json:"callerParentId"`
-            ResourceOwnerId     string `json:"resourceOwnerId"`
-            AppIp     string `json:"app_ip"`
-            ProxyOriginalSourceIp     string `json:"proxy_original_source_ip"`
-            ProxyOriginalSecurityTransport     string `json:"proxy_original_security_transport"`
-            SecurityTransport     string `json:"security_transport"`
-            RequestId     string `json:"requestId"`
-            NullToEmptyStructValue struct {
-            NullToEmptyStructChildValue     string `json:"NullToEmptyStructChildValue"`
-            }  `json:"NullToEmptyStructValue"`
-            StructValue struct {
-            StructChildValue     string `json:"StructChildValue"`
-            }  `json:"StructValue"`
-            ArrayValue  []struct {
-            ArrayChildValue     string `json:"ArrayChildValue"`
-            }  `json:"ArrayValue"`
-}
-
-func CreateRpcHsfApi2Request() (request *RpcHsfApi2Request) {
-request = &RpcHsfApi2Request{
-RpcRequest: &requests.RpcRequest{},
-}
-request.InitWithApiInfo("Ft", "2015-01-01", "RpcHsfApi2", "", "")
-return
-}
-
-func CreateRpcHsfApi2Response() (response *RpcHsfApi2Response) {
-response = &RpcHsfApi2Response{
-BaseResponse: &responses.BaseResponse{},
-}
-return
-}
-

+ 0 - 145
services/ft/rpc_hsf_api_multi.go

@@ -1,145 +0,0 @@
-
-package ft
-
-//Licensed under the Apache License, Version 2.0 (the "License");
-//you may not use this file except in compliance with the License.
-//You may obtain a copy of the License at
-//
-//http://www.apache.org/licenses/LICENSE-2.0
-//
-//Unless required by applicable law or agreed to in writing, software
-//distributed under the License is distributed on an "AS IS" BASIS,
-//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//See the License for the specific language governing permissions and
-//limitations under the License.
-//
-// Code generated by Alibaba Cloud SDK Code Generator.
-// Changes may cause incorrect behavior and will be lost if the code is regenerated.
-
-import (
-"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
-"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
-)
-
-func (client *Client) RpcHsfApiMulti(request *RpcHsfApiMultiRequest) (response *RpcHsfApiMultiResponse, err error) {
-response = CreateRpcHsfApiMultiResponse()
-err = client.DoAction(request, response)
-return
-}
-
-func (client *Client) RpcHsfApiMultiWithChan(request *RpcHsfApiMultiRequest) (<-chan *RpcHsfApiMultiResponse, <-chan error) {
-responseChan := make(chan *RpcHsfApiMultiResponse, 1)
-errChan := make(chan error, 1)
-err := client.AddAsyncTask(func() {
-defer close(responseChan)
-defer close(errChan)
-response, err :=  client.RpcHsfApiMulti(request)
-responseChan <- response
-errChan <- err
-})
-if err != nil {
-errChan <- err
-close(responseChan)
-close(errChan)
-}
-return responseChan, errChan
-}
-
-func (client *Client) RpcHsfApiMultiWithCallback(request *RpcHsfApiMultiRequest, callback func(response *RpcHsfApiMultiResponse, err error)) (<-chan int) {
-result := make(chan int, 1)
-err := client.AddAsyncTask(func() {
-var response *RpcHsfApiMultiResponse
-var err error
-defer close(result)
-response, err = client.RpcHsfApiMulti(request)
-callback(response, err)
-result <- 1
-})
-if err != nil {
-defer close(result)
-callback(nil, err)
-result <- 0
-}
-return result
-}
-
-type RpcHsfApiMultiRequest struct {
-*requests.RpcRequest
-            ResultSwitchValue  string `position:"Query" name:"ResultSwitchValue"`
-            NumberRange  string `position:"Query" name:"NumberRange"`
-            JsonObjectList  string `position:"Query" name:"JsonObjectList"`
-            ProxyOriginalSourceIp  string `position:"Query" name:"proxy_original_source_ip"`
-            DefaultValue  string `position:"Query" name:"DefaultValue"`
-            SwitchValue  string `position:"Query" name:"SwitchValue"`
-            EnumValue  string `position:"Query" name:"EnumValue"`
-            StringValue  string `position:"Query" name:"StringValue"`
-            OtherParam  string `position:"Query" name:"OtherParam"`
-            Code  string `position:"Query" name:"Code"`
-            IntValue  string `position:"Query" name:"IntValue"`
-            Sleep  string `position:"Query" name:"Sleep"`
-            JsonObject  string `position:"Query" name:"JsonObject"`
-            Message  string `position:"Query" name:"Message"`
-            HttpStatusCode  string `position:"Query" name:"HttpStatusCode"`
-            RegionId  string `position:"Query" name:"RegionId"`
-            ProxyOriginalSecurityTransport  string `position:"Query" name:"proxy_original_security_transport"`
-            Success  string `position:"Query" name:"Success"`
-            RequiredValue  string `position:"Query" name:"RequiredValue"`
-}
-
-
-type RpcHsfApiMultiResponse struct {
-*responses.BaseResponse
-            IntValue     string `json:"IntValue"`
-            NumberRange     string `json:"NumberRange"`
-            StringValue     string `json:"StringValue"`
-            SwitchValue     string `json:"SwitchValue"`
-            EnumValue     string `json:"EnumValue"`
-            RequiredValue     string `json:"RequiredValue"`
-            Success     string `json:"Success"`
-            Code     string `json:"Code"`
-            Message     string `json:"Message"`
-            HttpStatusCode     string `json:"HttpStatusCode"`
-            NullToEmptyValue     string `json:"NullToEmptyValue"`
-            ResultSwitchValue     string `json:"ResultSwitchValue"`
-            RegionId     string `json:"RegionId"`
-            Name     string `json:"Name"`
-            Age     string `json:"Age"`
-            JsonListStrig     string `json:"JsonListStrig"`
-            CallerUid     string `json:"callerUid"`
-            CallerBid     string `json:"callerBid"`
-            ProxyTrustTransportInfo     string `json:"proxy_trust_transport_info"`
-            AkMfaPresent     string `json:"ak_mfa_present"`
-            CallerType     string `json:"callerType"`
-            CallerParentId     string `json:"callerParentId"`
-            ResourceOwnerId     string `json:"resourceOwnerId"`
-            AppIp     string `json:"app_ip"`
-            ProxyOriginalSourceIp     string `json:"proxy_original_source_ip"`
-            ProxyOriginalSecurityTransport     string `json:"proxy_original_security_transport"`
-            SecurityTransport     string `json:"security_transport"`
-            RequestId     string `json:"requestId"`
-            NullToEmptyStructValue struct {
-            NullToEmptyStructChildValue     string `json:"NullToEmptyStructChildValue"`
-            }  `json:"NullToEmptyStructValue"`
-            StructValue struct {
-            StructChildValue     string `json:"StructChildValue"`
-            }  `json:"StructValue"`
-            ArrayValue  []struct {
-            ArrayChildValue     string `json:"ArrayChildValue"`
-            }  `json:"ArrayValue"`
-}
-
-func CreateRpcHsfApiMultiRequest() (request *RpcHsfApiMultiRequest) {
-request = &RpcHsfApiMultiRequest{
-RpcRequest: &requests.RpcRequest{},
-}
-request.InitWithApiInfo("Ft", "2015-01-01", "RpcHsfApiMulti", "", "")
-return
-}
-
-func CreateRpcHsfApiMultiResponse() (response *RpcHsfApiMultiResponse) {
-response = &RpcHsfApiMultiResponse{
-BaseResponse: &responses.BaseResponse{},
-}
-return
-}
-

+ 0 - 97
services/ft/rpc_http_api.go

@@ -1,97 +0,0 @@
-
-package ft
-
-//Licensed under the Apache License, Version 2.0 (the "License");
-//you may not use this file except in compliance with the License.
-//You may obtain a copy of the License at
-//
-//http://www.apache.org/licenses/LICENSE-2.0
-//
-//Unless required by applicable law or agreed to in writing, software
-//distributed under the License is distributed on an "AS IS" BASIS,
-//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//See the License for the specific language governing permissions and
-//limitations under the License.
-//
-// Code generated by Alibaba Cloud SDK Code Generator.
-// Changes may cause incorrect behavior and will be lost if the code is regenerated.
-
-import (
-"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
-"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
-)
-
-func (client *Client) RpcHttpApi(request *RpcHttpApiRequest) (response *RpcHttpApiResponse, err error) {
-response = CreateRpcHttpApiResponse()
-err = client.DoAction(request, response)
-return
-}
-
-func (client *Client) RpcHttpApiWithChan(request *RpcHttpApiRequest) (<-chan *RpcHttpApiResponse, <-chan error) {
-responseChan := make(chan *RpcHttpApiResponse, 1)
-errChan := make(chan error, 1)
-err := client.AddAsyncTask(func() {
-defer close(responseChan)
-defer close(errChan)
-response, err :=  client.RpcHttpApi(request)
-responseChan <- response
-errChan <- err
-})
-if err != nil {
-errChan <- err
-close(responseChan)
-close(errChan)
-}
-return responseChan, errChan
-}
-
-func (client *Client) RpcHttpApiWithCallback(request *RpcHttpApiRequest, callback func(response *RpcHttpApiResponse, err error)) (<-chan int) {
-result := make(chan int, 1)
-err := client.AddAsyncTask(func() {
-var response *RpcHttpApiResponse
-var err error
-defer close(result)
-response, err = client.RpcHttpApi(request)
-callback(response, err)
-result <- 1
-})
-if err != nil {
-defer close(result)
-callback(nil, err)
-result <- 0
-}
-return result
-}
-
-type RpcHttpApiRequest struct {
-*requests.RpcRequest
-            P1  string `position:"Query" name:"P1"`
-            Sleep  string `position:"Query" name:"Sleep"`
-}
-
-
-type RpcHttpApiResponse struct {
-*responses.BaseResponse
-            Params struct {
-            RequestId     string `json:"RequestId"`
-            CallerUid     string `json:"CallerUid"`
-            Sleep     string `json:"Sleep"`
-            P1     string `json:"P1"`
-            }  `json:"Params"`
-}
-
-func CreateRpcHttpApiRequest() (request *RpcHttpApiRequest) {
-request = &RpcHttpApiRequest{
-RpcRequest: &requests.RpcRequest{},
-}
-request.InitWithApiInfo("Ft", "2015-01-01", "RpcHttpApi", "", "")
-return
-}
-
-func CreateRpcHttpApiResponse() (response *RpcHttpApiResponse) {
-response = &RpcHttpApiResponse{
-BaseResponse: &responses.BaseResponse{},
-}
-return
-}
-

+ 0 - 97
services/ft/rpc_http_api2.go

@@ -1,97 +0,0 @@
-
-package ft
-
-//Licensed under the Apache License, Version 2.0 (the "License");
-//you may not use this file except in compliance with the License.
-//You may obtain a copy of the License at
-//
-//http://www.apache.org/licenses/LICENSE-2.0
-//
-//Unless required by applicable law or agreed to in writing, software
-//distributed under the License is distributed on an "AS IS" BASIS,
-//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//See the License for the specific language governing permissions and
-//limitations under the License.
-//
-// Code generated by Alibaba Cloud SDK Code Generator.
-// Changes may cause incorrect behavior and will be lost if the code is regenerated.
-
-import (
-"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
-"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
-)
-
-func (client *Client) RpcHttpApi2(request *RpcHttpApi2Request) (response *RpcHttpApi2Response, err error) {
-response = CreateRpcHttpApi2Response()
-err = client.DoAction(request, response)
-return
-}
-
-func (client *Client) RpcHttpApi2WithChan(request *RpcHttpApi2Request) (<-chan *RpcHttpApi2Response, <-chan error) {
-responseChan := make(chan *RpcHttpApi2Response, 1)
-errChan := make(chan error, 1)
-err := client.AddAsyncTask(func() {
-defer close(responseChan)
-defer close(errChan)
-response, err :=  client.RpcHttpApi2(request)
-responseChan <- response
-errChan <- err
-})
-if err != nil {
-errChan <- err
-close(responseChan)
-close(errChan)
-}
-return responseChan, errChan
-}
-
-func (client *Client) RpcHttpApi2WithCallback(request *RpcHttpApi2Request, callback func(response *RpcHttpApi2Response, err error)) (<-chan int) {
-result := make(chan int, 1)
-err := client.AddAsyncTask(func() {
-var response *RpcHttpApi2Response
-var err error
-defer close(result)
-response, err = client.RpcHttpApi2(request)
-callback(response, err)
-result <- 1
-})
-if err != nil {
-defer close(result)
-callback(nil, err)
-result <- 0
-}
-return result
-}
-
-type RpcHttpApi2Request struct {
-*requests.RpcRequest
-            P1  string `position:"Query" name:"P1"`
-            Sleep  string `position:"Query" name:"Sleep"`
-}
-
-
-type RpcHttpApi2Response struct {
-*responses.BaseResponse
-            Params struct {
-            RequestId     string `json:"RequestId"`
-            CallerUid     string `json:"CallerUid"`
-            Sleep     string `json:"Sleep"`
-            P1     string `json:"P1"`
-            }  `json:"Params"`
-}
-
-func CreateRpcHttpApi2Request() (request *RpcHttpApi2Request) {
-request = &RpcHttpApi2Request{
-RpcRequest: &requests.RpcRequest{},
-}
-request.InitWithApiInfo("Ft", "2015-01-01", "RpcHttpApi2", "", "")
-return
-}
-
-func CreateRpcHttpApi2Response() (response *RpcHttpApi2Response) {
-response = &RpcHttpApi2Response{
-BaseResponse: &responses.BaseResponse{},
-}
-return
-}
-

+ 0 - 97
services/ft/rpc_http_api3.go

@@ -1,97 +0,0 @@
-
-package ft
-
-//Licensed under the Apache License, Version 2.0 (the "License");
-//you may not use this file except in compliance with the License.
-//You may obtain a copy of the License at
-//
-//http://www.apache.org/licenses/LICENSE-2.0
-//
-//Unless required by applicable law or agreed to in writing, software
-//distributed under the License is distributed on an "AS IS" BASIS,
-//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//See the License for the specific language governing permissions and
-//limitations under the License.
-//
-// Code generated by Alibaba Cloud SDK Code Generator.
-// Changes may cause incorrect behavior and will be lost if the code is regenerated.
-
-import (
-"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
-"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
-)
-
-func (client *Client) RpcHttpApi3(request *RpcHttpApi3Request) (response *RpcHttpApi3Response, err error) {
-response = CreateRpcHttpApi3Response()
-err = client.DoAction(request, response)
-return
-}
-
-func (client *Client) RpcHttpApi3WithChan(request *RpcHttpApi3Request) (<-chan *RpcHttpApi3Response, <-chan error) {
-responseChan := make(chan *RpcHttpApi3Response, 1)
-errChan := make(chan error, 1)
-err := client.AddAsyncTask(func() {
-defer close(responseChan)
-defer close(errChan)
-response, err :=  client.RpcHttpApi3(request)
-responseChan <- response
-errChan <- err
-})
-if err != nil {
-errChan <- err
-close(responseChan)
-close(errChan)
-}
-return responseChan, errChan
-}
-
-func (client *Client) RpcHttpApi3WithCallback(request *RpcHttpApi3Request, callback func(response *RpcHttpApi3Response, err error)) (<-chan int) {
-result := make(chan int, 1)
-err := client.AddAsyncTask(func() {
-var response *RpcHttpApi3Response
-var err error
-defer close(result)
-response, err = client.RpcHttpApi3(request)
-callback(response, err)
-result <- 1
-})
-if err != nil {
-defer close(result)
-callback(nil, err)
-result <- 0
-}
-return result
-}
-
-type RpcHttpApi3Request struct {
-*requests.RpcRequest
-            P1  string `position:"Query" name:"P1"`
-            Sleep  string `position:"Query" name:"Sleep"`
-}
-
-
-type RpcHttpApi3Response struct {
-*responses.BaseResponse
-            Params struct {
-            RequestId     string `json:"RequestId"`
-            CallerUid     string `json:"CallerUid"`
-            Sleep     string `json:"Sleep"`
-            P1     string `json:"P1"`
-            }  `json:"Params"`
-}
-
-func CreateRpcHttpApi3Request() (request *RpcHttpApi3Request) {
-request = &RpcHttpApi3Request{
-RpcRequest: &requests.RpcRequest{},
-}
-request.InitWithApiInfo("Ft", "2015-01-01", "RpcHttpApi3", "", "")
-return
-}
-
-func CreateRpcHttpApi3Response() (response *RpcHttpApi3Response) {
-response = &RpcHttpApi3Response{
-BaseResponse: &responses.BaseResponse{},
-}
-return
-}
-

+ 0 - 94
services/ft/rpc_http_sign_test_api.go

@@ -1,94 +0,0 @@
-
-package ft
-
-//Licensed under the Apache License, Version 2.0 (the "License");
-//you may not use this file except in compliance with the License.
-//You may obtain a copy of the License at
-//
-//http://www.apache.org/licenses/LICENSE-2.0
-//
-//Unless required by applicable law or agreed to in writing, software
-//distributed under the License is distributed on an "AS IS" BASIS,
-//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//See the License for the specific language governing permissions and
-//limitations under the License.
-//
-// Code generated by Alibaba Cloud SDK Code Generator.
-// Changes may cause incorrect behavior and will be lost if the code is regenerated.
-
-import (
-"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
-"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
-)
-
-func (client *Client) RpcHttpSignTestApi(request *RpcHttpSignTestApiRequest) (response *RpcHttpSignTestApiResponse, err error) {
-response = CreateRpcHttpSignTestApiResponse()
-err = client.DoAction(request, response)
-return
-}
-
-func (client *Client) RpcHttpSignTestApiWithChan(request *RpcHttpSignTestApiRequest) (<-chan *RpcHttpSignTestApiResponse, <-chan error) {
-responseChan := make(chan *RpcHttpSignTestApiResponse, 1)
-errChan := make(chan error, 1)
-err := client.AddAsyncTask(func() {
-defer close(responseChan)
-defer close(errChan)
-response, err :=  client.RpcHttpSignTestApi(request)
-responseChan <- response
-errChan <- err
-})
-if err != nil {
-errChan <- err
-close(responseChan)
-close(errChan)
-}
-return responseChan, errChan
-}
-
-func (client *Client) RpcHttpSignTestApiWithCallback(request *RpcHttpSignTestApiRequest, callback func(response *RpcHttpSignTestApiResponse, err error)) (<-chan int) {
-result := make(chan int, 1)
-err := client.AddAsyncTask(func() {
-var response *RpcHttpSignTestApiResponse
-var err error
-defer close(result)
-response, err = client.RpcHttpSignTestApi(request)
-callback(response, err)
-result <- 1
-})
-if err != nil {
-defer close(result)
-callback(nil, err)
-result <- 0
-}
-return result
-}
-
-type RpcHttpSignTestApiRequest struct {
-*requests.RpcRequest
-            P2  string `position:"Query" name:"P2"`
-            P1  string `position:"Query" name:"P1"`
-            IspSignature  string `position:"Query" name:"IspSignature"`
-}
-
-
-type RpcHttpSignTestApiResponse struct {
-*responses.BaseResponse
-            Signature     string `json:"Signature"`
-            ServiceRpcSign     string `json:"ServiceRpcSign"`
-}
-
-func CreateRpcHttpSignTestApiRequest() (request *RpcHttpSignTestApiRequest) {
-request = &RpcHttpSignTestApiRequest{
-RpcRequest: &requests.RpcRequest{},
-}
-request.InitWithApiInfo("Ft", "2015-01-01", "RpcHttpSignTestApi", "", "")
-return
-}
-
-func CreateRpcHttpSignTestApiResponse() (response *RpcHttpSignTestApiResponse) {
-response = &RpcHttpSignTestApiResponse{
-BaseResponse: &responses.BaseResponse{},
-}
-return
-}
-

+ 0 - 122
services/ft/rpc_no_default_error_code_api.go

@@ -1,122 +0,0 @@
-
-package ft
-
-//Licensed under the Apache License, Version 2.0 (the "License");
-//you may not use this file except in compliance with the License.
-//You may obtain a copy of the License at
-//
-//http://www.apache.org/licenses/LICENSE-2.0
-//
-//Unless required by applicable law or agreed to in writing, software
-//distributed under the License is distributed on an "AS IS" BASIS,
-//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//See the License for the specific language governing permissions and
-//limitations under the License.
-//
-// Code generated by Alibaba Cloud SDK Code Generator.
-// Changes may cause incorrect behavior and will be lost if the code is regenerated.
-
-import (
-"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
-"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
-)
-
-func (client *Client) RpcNoDefaultErrorCodeApi(request *RpcNoDefaultErrorCodeApiRequest) (response *RpcNoDefaultErrorCodeApiResponse, err error) {
-response = CreateRpcNoDefaultErrorCodeApiResponse()
-err = client.DoAction(request, response)
-return
-}
-
-func (client *Client) RpcNoDefaultErrorCodeApiWithChan(request *RpcNoDefaultErrorCodeApiRequest) (<-chan *RpcNoDefaultErrorCodeApiResponse, <-chan error) {
-responseChan := make(chan *RpcNoDefaultErrorCodeApiResponse, 1)
-errChan := make(chan error, 1)
-err := client.AddAsyncTask(func() {
-defer close(responseChan)
-defer close(errChan)
-response, err :=  client.RpcNoDefaultErrorCodeApi(request)
-responseChan <- response
-errChan <- err
-})
-if err != nil {
-errChan <- err
-close(responseChan)
-close(errChan)
-}
-return responseChan, errChan
-}
-
-func (client *Client) RpcNoDefaultErrorCodeApiWithCallback(request *RpcNoDefaultErrorCodeApiRequest, callback func(response *RpcNoDefaultErrorCodeApiResponse, err error)) (<-chan int) {
-result := make(chan int, 1)
-err := client.AddAsyncTask(func() {
-var response *RpcNoDefaultErrorCodeApiResponse
-var err error
-defer close(result)
-response, err = client.RpcNoDefaultErrorCodeApi(request)
-callback(response, err)
-result <- 1
-})
-if err != nil {
-defer close(result)
-callback(nil, err)
-result <- 0
-}
-return result
-}
-
-type RpcNoDefaultErrorCodeApiRequest struct {
-*requests.RpcRequest
-            Message  string `position:"Query" name:"Message"`
-            SwitchValue  string `position:"Query" name:"SwitchValue"`
-            HttpStatusCode  string `position:"Query" name:"HttpStatusCode"`
-            EnumValue  string `position:"Query" name:"EnumValue"`
-            StringValue  string `position:"Query" name:"StringValue"`
-            ResultSwitchValue  string `position:"Query" name:"ResultSwitchValue"`
-            Code  string `position:"Query" name:"Code"`
-            IntValue  string `position:"Query" name:"IntValue"`
-            Success  string `position:"Query" name:"Success"`
-            DefaultValue  string `position:"Query" name:"DefaultValue"`
-            NumberRange  string `position:"Query" name:"NumberRange"`
-            RequiredValue  string `position:"Query" name:"RequiredValue"`
-}
-
-
-type RpcNoDefaultErrorCodeApiResponse struct {
-*responses.BaseResponse
-            IntValue     string `json:"IntValue"`
-            NumberRange     string `json:"NumberRange"`
-            StringValue     string `json:"StringValue"`
-            SwitchValue     string `json:"SwitchValue"`
-            EnumValue     string `json:"EnumValue"`
-            RequiredValue     string `json:"RequiredValue"`
-            Success     string `json:"Success"`
-            Code     string `json:"Code"`
-            Message     string `json:"Message"`
-            HttpStatusCode     string `json:"HttpStatusCode"`
-            NullToEmptyValue     string `json:"NullToEmptyValue"`
-            ResultSwitchValue     string `json:"ResultSwitchValue"`
-            NullToEmptyStructValue struct {
-            NullToEmptyStructChildValue     string `json:"NullToEmptyStructChildValue"`
-            }  `json:"NullToEmptyStructValue"`
-            StructValue struct {
-            StructChildValue     string `json:"StructChildValue"`
-            }  `json:"StructValue"`
-            ArrayValue  []struct {
-            ArrayChildValue     string `json:"ArrayChildValue"`
-            }  `json:"ArrayValue"`
-}
-
-func CreateRpcNoDefaultErrorCodeApiRequest() (request *RpcNoDefaultErrorCodeApiRequest) {
-request = &RpcNoDefaultErrorCodeApiRequest{
-RpcRequest: &requests.RpcRequest{},
-}
-request.InitWithApiInfo("Ft", "2015-01-01", "RpcNoDefaultErrorCodeApi", "", "")
-return
-}
-
-func CreateRpcNoDefaultErrorCodeApiResponse() (response *RpcNoDefaultErrorCodeApiResponse) {
-response = &RpcNoDefaultErrorCodeApiResponse{
-BaseResponse: &responses.BaseResponse{},
-}
-return
-}
-

+ 0 - 92
services/ft/rpc_no_isp_api.go

@@ -1,92 +0,0 @@
-
-package ft
-
-//Licensed under the Apache License, Version 2.0 (the "License");
-//you may not use this file except in compliance with the License.
-//You may obtain a copy of the License at
-//
-//http://www.apache.org/licenses/LICENSE-2.0
-//
-//Unless required by applicable law or agreed to in writing, software
-//distributed under the License is distributed on an "AS IS" BASIS,
-//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//See the License for the specific language governing permissions and
-//limitations under the License.
-//
-// Code generated by Alibaba Cloud SDK Code Generator.
-// Changes may cause incorrect behavior and will be lost if the code is regenerated.
-
-import (
-"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
-"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
-)
-
-func (client *Client) RpcNoIspApi(request *RpcNoIspApiRequest) (response *RpcNoIspApiResponse, err error) {
-response = CreateRpcNoIspApiResponse()
-err = client.DoAction(request, response)
-return
-}
-
-func (client *Client) RpcNoIspApiWithChan(request *RpcNoIspApiRequest) (<-chan *RpcNoIspApiResponse, <-chan error) {
-responseChan := make(chan *RpcNoIspApiResponse, 1)
-errChan := make(chan error, 1)
-err := client.AddAsyncTask(func() {
-defer close(responseChan)
-defer close(errChan)
-response, err :=  client.RpcNoIspApi(request)
-responseChan <- response
-errChan <- err
-})
-if err != nil {
-errChan <- err
-close(responseChan)
-close(errChan)
-}
-return responseChan, errChan
-}
-
-func (client *Client) RpcNoIspApiWithCallback(request *RpcNoIspApiRequest, callback func(response *RpcNoIspApiResponse, err error)) (<-chan int) {
-result := make(chan int, 1)
-err := client.AddAsyncTask(func() {
-var response *RpcNoIspApiResponse
-var err error
-defer close(result)
-response, err = client.RpcNoIspApi(request)
-callback(response, err)
-result <- 1
-})
-if err != nil {
-defer close(result)
-callback(nil, err)
-result <- 0
-}
-return result
-}
-
-type RpcNoIspApiRequest struct {
-*requests.RpcRequest
-            IntValue  string `position:"Query" name:"IntValue"`
-            NumberRange  string `position:"Query" name:"NumberRange"`
-}
-
-
-type RpcNoIspApiResponse struct {
-*responses.BaseResponse
-            IntValue     string `json:"IntValue"`
-}
-
-func CreateRpcNoIspApiRequest() (request *RpcNoIspApiRequest) {
-request = &RpcNoIspApiRequest{
-RpcRequest: &requests.RpcRequest{},
-}
-request.InitWithApiInfo("Ft", "2015-01-01", "RpcNoIspApi", "", "")
-return
-}
-
-func CreateRpcNoIspApiResponse() (response *RpcNoIspApiResponse) {
-response = &RpcNoIspApiResponse{
-BaseResponse: &responses.BaseResponse{},
-}
-return
-}
-

+ 0 - 92
services/ft/rpc_p_o_s_t_allowed_api.go

@@ -1,92 +0,0 @@
-
-package ft
-
-//Licensed under the Apache License, Version 2.0 (the "License");
-//you may not use this file except in compliance with the License.
-//You may obtain a copy of the License at
-//
-//http://www.apache.org/licenses/LICENSE-2.0
-//
-//Unless required by applicable law or agreed to in writing, software
-//distributed under the License is distributed on an "AS IS" BASIS,
-//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//See the License for the specific language governing permissions and
-//limitations under the License.
-//
-// Code generated by Alibaba Cloud SDK Code Generator.
-// Changes may cause incorrect behavior and will be lost if the code is regenerated.
-
-import (
-"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
-"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
-)
-
-func (client *Client) RpcPOSTAllowedApi(request *RpcPOSTAllowedApiRequest) (response *RpcPOSTAllowedApiResponse, err error) {
-response = CreateRpcPOSTAllowedApiResponse()
-err = client.DoAction(request, response)
-return
-}
-
-func (client *Client) RpcPOSTAllowedApiWithChan(request *RpcPOSTAllowedApiRequest) (<-chan *RpcPOSTAllowedApiResponse, <-chan error) {
-responseChan := make(chan *RpcPOSTAllowedApiResponse, 1)
-errChan := make(chan error, 1)
-err := client.AddAsyncTask(func() {
-defer close(responseChan)
-defer close(errChan)
-response, err :=  client.RpcPOSTAllowedApi(request)
-responseChan <- response
-errChan <- err
-})
-if err != nil {
-errChan <- err
-close(responseChan)
-close(errChan)
-}
-return responseChan, errChan
-}
-
-func (client *Client) RpcPOSTAllowedApiWithCallback(request *RpcPOSTAllowedApiRequest, callback func(response *RpcPOSTAllowedApiResponse, err error)) (<-chan int) {
-result := make(chan int, 1)
-err := client.AddAsyncTask(func() {
-var response *RpcPOSTAllowedApiResponse
-var err error
-defer close(result)
-response, err = client.RpcPOSTAllowedApi(request)
-callback(response, err)
-result <- 1
-})
-if err != nil {
-defer close(result)
-callback(nil, err)
-result <- 0
-}
-return result
-}
-
-type RpcPOSTAllowedApiRequest struct {
-*requests.RpcRequest
-            StringValue  string `position:"Query" name:"StringValue"`
-            IntValue  string `position:"Query" name:"IntValue"`
-}
-
-
-type RpcPOSTAllowedApiResponse struct {
-*responses.BaseResponse
-            Data     string `json:"Data"`
-}
-
-func CreateRpcPOSTAllowedApiRequest() (request *RpcPOSTAllowedApiRequest) {
-request = &RpcPOSTAllowedApiRequest{
-RpcRequest: &requests.RpcRequest{},
-}
-request.InitWithApiInfo("Ft", "2015-01-01", "RpcPOSTAllowedApi", "", "")
-return
-}
-
-func CreateRpcPOSTAllowedApiResponse() (response *RpcPOSTAllowedApiResponse) {
-response = &RpcPOSTAllowedApiResponse{
-BaseResponse: &responses.BaseResponse{},
-}
-return
-}
-

+ 0 - 94
services/ft/show_json_item_name_ft_api.go

@@ -1,94 +0,0 @@
-
-package ft
-
-//Licensed under the Apache License, Version 2.0 (the "License");
-//you may not use this file except in compliance with the License.
-//You may obtain a copy of the License at
-//
-//http://www.apache.org/licenses/LICENSE-2.0
-//
-//Unless required by applicable law or agreed to in writing, software
-//distributed under the License is distributed on an "AS IS" BASIS,
-//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//See the License for the specific language governing permissions and
-//limitations under the License.
-//
-// Code generated by Alibaba Cloud SDK Code Generator.
-// Changes may cause incorrect behavior and will be lost if the code is regenerated.
-
-import (
-"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
-"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
-)
-
-func (client *Client) ShowJsonItemNameFtApi(request *ShowJsonItemNameFtApiRequest) (response *ShowJsonItemNameFtApiResponse, err error) {
-response = CreateShowJsonItemNameFtApiResponse()
-err = client.DoAction(request, response)
-return
-}
-
-func (client *Client) ShowJsonItemNameFtApiWithChan(request *ShowJsonItemNameFtApiRequest) (<-chan *ShowJsonItemNameFtApiResponse, <-chan error) {
-responseChan := make(chan *ShowJsonItemNameFtApiResponse, 1)
-errChan := make(chan error, 1)
-err := client.AddAsyncTask(func() {
-defer close(responseChan)
-defer close(errChan)
-response, err :=  client.ShowJsonItemNameFtApi(request)
-responseChan <- response
-errChan <- err
-})
-if err != nil {
-errChan <- err
-close(responseChan)
-close(errChan)
-}
-return responseChan, errChan
-}
-
-func (client *Client) ShowJsonItemNameFtApiWithCallback(request *ShowJsonItemNameFtApiRequest, callback func(response *ShowJsonItemNameFtApiResponse, err error)) (<-chan int) {
-result := make(chan int, 1)
-err := client.AddAsyncTask(func() {
-var response *ShowJsonItemNameFtApiResponse
-var err error
-defer close(result)
-response, err = client.ShowJsonItemNameFtApi(request)
-callback(response, err)
-result <- 1
-})
-if err != nil {
-defer close(result)
-callback(nil, err)
-result <- 0
-}
-return result
-}
-
-type ShowJsonItemNameFtApiRequest struct {
-*requests.RpcRequest
-            StringList  string `position:"Query" name:"StringList"`
-}
-
-
-type ShowJsonItemNameFtApiResponse struct {
-*responses.BaseResponse
-            StringList   []    string  `json:"StringList"`
-            ArrayValue  []struct {
-            ArrayChildValue     string `json:"ArrayChildValue"`
-            }  `json:"ArrayValue"`
-}
-
-func CreateShowJsonItemNameFtApiRequest() (request *ShowJsonItemNameFtApiRequest) {
-request = &ShowJsonItemNameFtApiRequest{
-RpcRequest: &requests.RpcRequest{},
-}
-request.InitWithApiInfo("Ft", "2015-01-01", "ShowJsonItemNameFtApi", "", "")
-return
-}
-
-func CreateShowJsonItemNameFtApiResponse() (response *ShowJsonItemNameFtApiResponse) {
-response = &ShowJsonItemNameFtApiResponse{
-BaseResponse: &responses.BaseResponse{},
-}
-return
-}
-