Browse Source

Merge branch 'master' of github.com:aliyun/alibaba-cloud-sdk-go

yixiong.jxy 7 years ago
parent
commit
22b5294ef1
100 changed files with 5034 additions and 1255 deletions
  1. 72 0
      ChangeLog.txt
  2. 81 0
      services/bssopenapi/client.go
  3. 120 0
      services/bssopenapi/create_instance.go
  4. 114 0
      services/bssopenapi/create_resource_package.go
  5. 110 0
      services/bssopenapi/describe_pricing_module.go
  6. 108 0
      services/bssopenapi/describe_resource_package_product.go
  7. 108 0
      services/bssopenapi/get_order_detail.go
  8. 119 0
      services/bssopenapi/get_pay_as_you_go_price.go
  9. 113 0
      services/bssopenapi/get_resource_package_price.go
  10. 125 0
      services/bssopenapi/get_subscription_price.go
  11. 119 0
      services/bssopenapi/modify_instance.go
  12. 106 0
      services/bssopenapi/query_account_balance.go
  13. 119 0
      services/bssopenapi/query_available_instances.go
  14. 109 0
      services/bssopenapi/query_cash_coupons.go
  15. 112 0
      services/bssopenapi/query_instance_gaap_cost.go
  16. 107 0
      services/bssopenapi/query_monthly_bill.go
  17. 113 0
      services/bssopenapi/query_monthly_instance_consumption.go
  18. 116 0
      services/bssopenapi/query_orders.go
  19. 109 0
      services/bssopenapi/query_prepaid_cards.go
  20. 111 0
      services/bssopenapi/query_price_list.go
  21. 109 0
      services/bssopenapi/query_product_list.go
  22. 115 0
      services/bssopenapi/query_resource_package_instances.go
  23. 116 0
      services/bssopenapi/query_settlement_bill.go
  24. 112 0
      services/bssopenapi/renew_instance.go
  25. 113 0
      services/bssopenapi/set_renewal.go
  26. 23 0
      services/bssopenapi/struct_attribute.go
  27. 21 0
      services/bssopenapi/struct_attribute_list.go
  28. 23 0
      services/bssopenapi/struct_available_duration.go
  29. 21 0
      services/bssopenapi/struct_available_durations.go
  30. 30 0
      services/bssopenapi/struct_cash_coupon.go
  31. 21 0
      services/bssopenapi/struct_config_list.go
  32. 51 0
      services/bssopenapi/struct_data.go
  33. 22 0
      services/bssopenapi/struct_data_in_create_resource_package.go
  34. 21 0
      services/bssopenapi/struct_data_in_query_cash_coupons.go
  35. 21 0
      services/bssopenapi/struct_data_in_query_prepaid_cards.go
  36. 25 0
      services/bssopenapi/struct_data_in_query_resource_package_instances.go
  37. 46 0
      services/bssopenapi/struct_instance.go
  38. 21 0
      services/bssopenapi/struct_instance_list.go
  39. 2 2
      services/bssopenapi/struct_instances.go
  40. 69 0
      services/bssopenapi/struct_item.go
  41. 21 0
      services/bssopenapi/struct_items_in_query_monthly_bill.go
  42. 21 0
      services/bssopenapi/struct_items_in_query_monthly_instance_consumption.go
  43. 21 0
      services/bssopenapi/struct_items_in_query_settlement_bill.go
  44. 80 0
      services/bssopenapi/struct_module.go
  45. 25 0
      services/bssopenapi/struct_module_detail.go
  46. 21 0
      services/bssopenapi/struct_module_details_in_get_pay_as_you_go_price.go
  47. 21 0
      services/bssopenapi/struct_module_details_in_get_subscription_price.go
  48. 21 0
      services/bssopenapi/struct_module_list.go
  49. 21 0
      services/bssopenapi/struct_modules_in_query_instance_gaap_cost.go
  50. 21 0
      services/bssopenapi/struct_modules_in_query_price_list.go
  51. 42 0
      services/bssopenapi/struct_order.go
  52. 4 4
      services/bssopenapi/struct_order_list_in_get_order_detail.go
  53. 21 0
      services/bssopenapi/struct_order_list_in_query_orders.go
  54. 24 0
      services/bssopenapi/struct_package_type.go
  55. 21 0
      services/bssopenapi/struct_package_types.go
  56. 30 0
      services/bssopenapi/struct_prepaid_card.go
  57. 24 0
      services/bssopenapi/struct_product.go
  58. 21 0
      services/bssopenapi/struct_product_list.go
  59. 22 0
      services/bssopenapi/struct_promotion.go
  60. 6 6
      services/bssopenapi/struct_promotion_detail.go
  61. 21 0
      services/bssopenapi/struct_promotion_details_in_get_pay_as_you_go_price.go
  62. 21 0
      services/bssopenapi/struct_promotion_details_in_get_subscription_price.go
  63. 21 0
      services/bssopenapi/struct_promotions.go
  64. 21 0
      services/bssopenapi/struct_properties.go
  65. 22 0
      services/bssopenapi/struct_property.go
  66. 7 4
      services/bssopenapi/struct_resource_package.go
  67. 21 0
      services/bssopenapi/struct_resource_packages.go
  68. 6 4
      services/bssopenapi/struct_specification.go
  69. 21 0
      services/bssopenapi/struct_specifications.go
  70. 27 0
      services/bssopenapi/struct_tier_price.go
  71. 21 0
      services/bssopenapi/struct_tier_prices.go
  72. 108 0
      services/bssopenapi/subscribe_detail.go
  73. 108 0
      services/bssopenapi/subscribe_export_to_oss.go
  74. 105 0
      services/bssopenapi/unsubscribe_export_to_oss.go
  75. 81 0
      services/ccs/client.go
  76. 124 0
      services/ccs/get_hotline_record.go
  77. 122 0
      services/ccs/query_hotline_record.go
  78. 39 0
      services/ccs/struct_hotline_record.go
  79. 21 0
      services/ccs/struct_records.go
  80. 0 1
      services/cdn/add_cdn_domain.go
  81. 0 110
      services/cdn/add_live_pull_stream_info.go
  82. 0 112
      services/cdn/batch_describe_domain_bps_data.go
  83. 0 107
      services/cdn/delete_live_pull_stream_info.go
  84. 0 106
      services/cdn/describe_cdn_domain_base_detail.go
  85. 0 106
      services/cdn/describe_cdn_types.go
  86. 113 0
      services/cdn/describe_cdn_user_quota.go
  87. 2 4
      services/cdn/describe_custom_log_config.go
  88. 0 112
      services/cdn/describe_domain_cc_attack_info.go
  89. 2 4
      services/cdn/describe_domain_custom_log_config.go
  90. 2 2
      services/cdn/describe_domain_downstream_bps_of_edge.go
  91. 0 115
      services/cdn/describe_domain_https_data.go
  92. 0 120
      services/cdn/describe_domain_month_billing_bps_data.go
  93. 0 108
      services/cdn/describe_domain_online_user_number.go
  94. 0 113
      services/cdn/describe_domain_qo_s_rt.go
  95. 1 1
      services/cdn/describe_domain_real_time_byte_hit_rate_data.go
  96. 0 113
      services/cdn/describe_domain_real_time_data.go
  97. 113 0
      services/cdn/describe_domain_real_time_http_code_data.go
  98. 1 1
      services/cdn/describe_domain_real_time_req_hit_rate_data.go
  99. 111 0
      services/cdn/describe_domain_real_time_src_bps_data.go
  100. 111 0
      services/cdn/describe_domain_real_time_src_traffic_data.go

+ 72 - 0
ChangeLog.txt

@@ -1,3 +1,75 @@
+2018-09-29 Version: 1.31.3
+1, Sync cdn api.
+
+2018-09-29 Version: 1.31.2
+1, This is an example of release-log.
+2, Please strictly follow this format to edit in English.
+3, Format:Number + , + Space + Description
+
+2018-09-29 Version: 1.31.1
+1, This is an example of release-log.
+2, Please strictly follow this format to edit in English.
+3, Format:Number + , + Space + Description
+
+2018-09-27 Version: 1.31.0
+1, Add new API ListQueues, modify API SetAutoScaleConfig to support queue related features.
+
+2018-09-27 Version: 1.30.8
+1, modify getFaces Api
+
+2018-09-27 Version: 1.30.7
+1, modify getFaces Api
+
+2018-09-25 Version: 1.30.6
+1, Add GetHotlineRecord and QueryHotlineRecord interface, version 1.0.0
+
+2018-09-25 Version: 1.30.5
+1, Fix bug in GetVerifyToken and SubmitMaterials API.
+
+2018-09-22 Version: 1.30.4
+1, update
+
+2018-09-20 Version: 1.30.3
+1, Fix publish failure for Java, Python and C# SDK.
+
+2018-09-20 Version: 1.30.2
+1, BssOpenApi first deploy.
+
+2018-09-20 Version: 1.30.1
+1, BssOpenApi first deploy.
+
+2018-09-19 Version: 1.30.0
+1, Add ens api, include SaveSingleTaskForDisassociatingEns, SaveSingleTaskForAssociatingEns, QueryLocalEnsAssociation and QueryEnsAssociation.
+
+2018-09-17 Version: 1.29.10
+1, Add field for AddCasterVideoResource, DescribeCasterVideoResources, ModifyCasterVideoResource.
+
+
+2018-09-17 Version: 1.29.9
+1, describeRegions modify.
+
+2018-09-17 Version: 1.29.8
+1, ModifySecurityIps support WhitelistNetworkType 
+
+2018-09-16 Version: 1.29.7
+1, add CheckInstanceExist OpenApi.
+
+2018-09-14 Version: 1.29.6
+1, Add DedicatedHost Feature
+
+2018-09-13 Version: 1.29.5
+1, modify CheckDBInstance OpenApi
+
+2018-09-13 Version: 1.29.4
+1, Add CreateChannelToken.
+
+
+2018-09-11 Version: 1.29.3
+1, add CheckDBInstance OpenApi.
+
+2018-09-06 Version: 1.29.2
+1, fixed DescirbeRegions zoneId date type.
+
 2018-09-06 Version: 1.29.1
 1, AutoScaling support launchTemplate.
 

+ 81 - 0
services/bssopenapi/client.go

@@ -0,0 +1,81 @@
+package bssopenapi
+
+//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"
+)
+
+// Client is the sdk client struct, each func corresponds to an OpenAPI
+type Client struct {
+	sdk.Client
+}
+
+// NewClient creates a sdk client with environment variables
+func NewClient() (client *Client, err error) {
+	client = &Client{}
+	err = client.Init()
+	return
+}
+
+// NewClientWithOptions creates a sdk client with regionId/sdkConfig/credential
+// this is the common api to create a sdk client
+func NewClientWithOptions(regionId string, config *sdk.Config, credential auth.Credential) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithOptions(regionId, config, credential)
+	return
+}
+
+// NewClientWithAccessKey is a shortcut to create sdk client with accesskey
+// usage: https://help.aliyun.com/document_detail/66217.html
+func NewClientWithAccessKey(regionId, accessKeyId, accessKeySecret string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithAccessKey(regionId, accessKeyId, accessKeySecret)
+	return
+}
+
+// NewClientWithStsToken is a shortcut to create sdk client with sts token
+// usage: https://help.aliyun.com/document_detail/66222.html
+func NewClientWithStsToken(regionId, stsAccessKeyId, stsAccessKeySecret, stsToken string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithStsToken(regionId, stsAccessKeyId, stsAccessKeySecret, stsToken)
+	return
+}
+
+// NewClientWithRamRoleArn is a shortcut to create sdk client with ram roleArn
+// usage: https://help.aliyun.com/document_detail/66222.html
+func NewClientWithRamRoleArn(regionId string, accessKeyId, accessKeySecret, roleArn, roleSessionName string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithRamRoleArn(regionId, accessKeyId, accessKeySecret, roleArn, roleSessionName)
+	return
+}
+
+// NewClientWithEcsRamRole is a shortcut to create sdk client with ecs ram role
+// usage: https://help.aliyun.com/document_detail/66223.html
+func NewClientWithEcsRamRole(regionId string, roleName string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithEcsRamRole(regionId, roleName)
+	return
+}
+
+// NewClientWithRsaKeyPair is a shortcut to create sdk client with rsa key pair
+// attention: rsa key pair auth is only Japan regions available
+func NewClientWithRsaKeyPair(regionId string, publicKeyId, privateKey string, sessionExpiration int) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithRsaKeyPair(regionId, publicKeyId, privateKey, sessionExpiration)
+	return
+}

+ 120 - 0
services/bssopenapi/create_instance.go

@@ -0,0 +1,120 @@
+package bssopenapi
+
+//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"
+)
+
+// CreateInstance invokes the bssopenapi.CreateInstance API synchronously
+// api document: https://help.aliyun.com/api/bssopenapi/createinstance.html
+func (client *Client) CreateInstance(request *CreateInstanceRequest) (response *CreateInstanceResponse, err error) {
+	response = CreateCreateInstanceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CreateInstanceWithChan invokes the bssopenapi.CreateInstance API asynchronously
+// api document: https://help.aliyun.com/api/bssopenapi/createinstance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateInstanceWithChan(request *CreateInstanceRequest) (<-chan *CreateInstanceResponse, <-chan error) {
+	responseChan := make(chan *CreateInstanceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateInstance(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CreateInstanceWithCallback invokes the bssopenapi.CreateInstance API asynchronously
+// api document: https://help.aliyun.com/api/bssopenapi/createinstance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateInstanceWithCallback(request *CreateInstanceRequest, callback func(response *CreateInstanceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateInstanceResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateInstance(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CreateInstanceRequest is the request struct for api CreateInstance
+type CreateInstanceRequest struct {
+	*requests.RpcRequest
+	ProductCode      string                     `position:"Query" name:"ProductCode"`
+	Period           requests.Integer           `position:"Query" name:"Period"`
+	SubscriptionType string                     `position:"Query" name:"SubscriptionType"`
+	RenewPeriod      requests.Integer           `position:"Query" name:"RenewPeriod"`
+	RenewalStatus    string                     `position:"Query" name:"RenewalStatus"`
+	Parameter        *[]CreateInstanceParameter `position:"Query" name:"Parameter"  type:"Repeated"`
+	OwnerId          requests.Integer           `position:"Query" name:"OwnerId"`
+	ProductType      string                     `position:"Query" name:"ProductType"`
+}
+
+// CreateInstanceParameter is a repeated param struct in CreateInstanceRequest
+type CreateInstanceParameter struct {
+	Code  string `name:"Code"`
+	Value string `name:"Value"`
+}
+
+// CreateInstanceResponse is the response struct for api CreateInstance
+type CreateInstanceResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Success   bool   `json:"Success" xml:"Success"`
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateCreateInstanceRequest creates a request to invoke CreateInstance API
+func CreateCreateInstanceRequest() (request *CreateInstanceRequest) {
+	request = &CreateInstanceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("BssOpenApi", "2017-12-14", "CreateInstance", "", "")
+	return
+}
+
+// CreateCreateInstanceResponse creates a response to parse from CreateInstance response
+func CreateCreateInstanceResponse() (response *CreateInstanceResponse) {
+	response = &CreateInstanceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 114 - 0
services/bssopenapi/create_resource_package.go

@@ -0,0 +1,114 @@
+package bssopenapi
+
+//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"
+)
+
+// CreateResourcePackage invokes the bssopenapi.CreateResourcePackage API synchronously
+// api document: https://help.aliyun.com/api/bssopenapi/createresourcepackage.html
+func (client *Client) CreateResourcePackage(request *CreateResourcePackageRequest) (response *CreateResourcePackageResponse, err error) {
+	response = CreateCreateResourcePackageResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CreateResourcePackageWithChan invokes the bssopenapi.CreateResourcePackage API asynchronously
+// api document: https://help.aliyun.com/api/bssopenapi/createresourcepackage.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateResourcePackageWithChan(request *CreateResourcePackageRequest) (<-chan *CreateResourcePackageResponse, <-chan error) {
+	responseChan := make(chan *CreateResourcePackageResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateResourcePackage(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CreateResourcePackageWithCallback invokes the bssopenapi.CreateResourcePackage API asynchronously
+// api document: https://help.aliyun.com/api/bssopenapi/createresourcepackage.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateResourcePackageWithCallback(request *CreateResourcePackageRequest, callback func(response *CreateResourcePackageResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateResourcePackageResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateResourcePackage(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CreateResourcePackageRequest is the request struct for api CreateResourcePackage
+type CreateResourcePackageRequest struct {
+	*requests.RpcRequest
+	Duration      requests.Integer `position:"Query" name:"Duration"`
+	ProductCode   string           `position:"Query" name:"ProductCode"`
+	Specification string           `position:"Query" name:"Specification"`
+	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
+	PackageType   string           `position:"Query" name:"PackageType"`
+	EffectiveDate string           `position:"Query" name:"EffectiveDate"`
+	PricingCycle  string           `position:"Query" name:"PricingCycle"`
+}
+
+// CreateResourcePackageResponse is the response struct for api CreateResourcePackage
+type CreateResourcePackageResponse struct {
+	*responses.BaseResponse
+	RequestId string                      `json:"RequestId" xml:"RequestId"`
+	OrderId   int                         `json:"OrderId" xml:"OrderId"`
+	Success   bool                        `json:"Success" xml:"Success"`
+	Code      string                      `json:"Code" xml:"Code"`
+	Message   string                      `json:"Message" xml:"Message"`
+	Data      DataInCreateResourcePackage `json:"Data" xml:"Data"`
+}
+
+// CreateCreateResourcePackageRequest creates a request to invoke CreateResourcePackage API
+func CreateCreateResourcePackageRequest() (request *CreateResourcePackageRequest) {
+	request = &CreateResourcePackageRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("BssOpenApi", "2017-12-14", "CreateResourcePackage", "", "")
+	return
+}
+
+// CreateCreateResourcePackageResponse creates a response to parse from CreateResourcePackage response
+func CreateCreateResourcePackageResponse() (response *CreateResourcePackageResponse) {
+	response = &CreateResourcePackageResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 110 - 0
services/bssopenapi/describe_pricing_module.go

@@ -0,0 +1,110 @@
+package bssopenapi
+
+//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"
+)
+
+// DescribePricingModule invokes the bssopenapi.DescribePricingModule API synchronously
+// api document: https://help.aliyun.com/api/bssopenapi/describepricingmodule.html
+func (client *Client) DescribePricingModule(request *DescribePricingModuleRequest) (response *DescribePricingModuleResponse, err error) {
+	response = CreateDescribePricingModuleResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribePricingModuleWithChan invokes the bssopenapi.DescribePricingModule API asynchronously
+// api document: https://help.aliyun.com/api/bssopenapi/describepricingmodule.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribePricingModuleWithChan(request *DescribePricingModuleRequest) (<-chan *DescribePricingModuleResponse, <-chan error) {
+	responseChan := make(chan *DescribePricingModuleResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribePricingModule(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribePricingModuleWithCallback invokes the bssopenapi.DescribePricingModule API asynchronously
+// api document: https://help.aliyun.com/api/bssopenapi/describepricingmodule.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribePricingModuleWithCallback(request *DescribePricingModuleRequest, callback func(response *DescribePricingModuleResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribePricingModuleResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribePricingModule(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribePricingModuleRequest is the request struct for api DescribePricingModule
+type DescribePricingModuleRequest struct {
+	*requests.RpcRequest
+	ProductCode      string           `position:"Query" name:"ProductCode"`
+	SubscriptionType string           `position:"Query" name:"SubscriptionType"`
+	OwnerId          requests.Integer `position:"Query" name:"OwnerId"`
+	ProductType      string           `position:"Query" name:"ProductType"`
+}
+
+// DescribePricingModuleResponse is the response struct for api DescribePricingModule
+type DescribePricingModuleResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Success   bool   `json:"Success" xml:"Success"`
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateDescribePricingModuleRequest creates a request to invoke DescribePricingModule API
+func CreateDescribePricingModuleRequest() (request *DescribePricingModuleRequest) {
+	request = &DescribePricingModuleRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("BssOpenApi", "2017-12-14", "DescribePricingModule", "", "")
+	return
+}
+
+// CreateDescribePricingModuleResponse creates a response to parse from DescribePricingModule response
+func CreateDescribePricingModuleResponse() (response *DescribePricingModuleResponse) {
+	response = &DescribePricingModuleResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/bssopenapi/describe_resource_package_product.go

@@ -0,0 +1,108 @@
+package bssopenapi
+
+//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"
+)
+
+// DescribeResourcePackageProduct invokes the bssopenapi.DescribeResourcePackageProduct API synchronously
+// api document: https://help.aliyun.com/api/bssopenapi/describeresourcepackageproduct.html
+func (client *Client) DescribeResourcePackageProduct(request *DescribeResourcePackageProductRequest) (response *DescribeResourcePackageProductResponse, err error) {
+	response = CreateDescribeResourcePackageProductResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeResourcePackageProductWithChan invokes the bssopenapi.DescribeResourcePackageProduct API asynchronously
+// api document: https://help.aliyun.com/api/bssopenapi/describeresourcepackageproduct.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeResourcePackageProductWithChan(request *DescribeResourcePackageProductRequest) (<-chan *DescribeResourcePackageProductResponse, <-chan error) {
+	responseChan := make(chan *DescribeResourcePackageProductResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeResourcePackageProduct(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeResourcePackageProductWithCallback invokes the bssopenapi.DescribeResourcePackageProduct API asynchronously
+// api document: https://help.aliyun.com/api/bssopenapi/describeresourcepackageproduct.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeResourcePackageProductWithCallback(request *DescribeResourcePackageProductRequest, callback func(response *DescribeResourcePackageProductResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeResourcePackageProductResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeResourcePackageProduct(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeResourcePackageProductRequest is the request struct for api DescribeResourcePackageProduct
+type DescribeResourcePackageProductRequest struct {
+	*requests.RpcRequest
+	ProductCode string `position:"Query" name:"ProductCode"`
+}
+
+// DescribeResourcePackageProductResponse is the response struct for api DescribeResourcePackageProduct
+type DescribeResourcePackageProductResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	OrderId   int    `json:"OrderId" xml:"OrderId"`
+	Success   bool   `json:"Success" xml:"Success"`
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateDescribeResourcePackageProductRequest creates a request to invoke DescribeResourcePackageProduct API
+func CreateDescribeResourcePackageProductRequest() (request *DescribeResourcePackageProductRequest) {
+	request = &DescribeResourcePackageProductRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("BssOpenApi", "2017-12-14", "DescribeResourcePackageProduct", "", "")
+	return
+}
+
+// CreateDescribeResourcePackageProductResponse creates a response to parse from DescribeResourcePackageProduct response
+func CreateDescribeResourcePackageProductResponse() (response *DescribeResourcePackageProductResponse) {
+	response = &DescribeResourcePackageProductResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/bssopenapi/get_order_detail.go

@@ -0,0 +1,108 @@
+package bssopenapi
+
+//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"
+)
+
+// GetOrderDetail invokes the bssopenapi.GetOrderDetail API synchronously
+// api document: https://help.aliyun.com/api/bssopenapi/getorderdetail.html
+func (client *Client) GetOrderDetail(request *GetOrderDetailRequest) (response *GetOrderDetailResponse, err error) {
+	response = CreateGetOrderDetailResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GetOrderDetailWithChan invokes the bssopenapi.GetOrderDetail API asynchronously
+// api document: https://help.aliyun.com/api/bssopenapi/getorderdetail.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetOrderDetailWithChan(request *GetOrderDetailRequest) (<-chan *GetOrderDetailResponse, <-chan error) {
+	responseChan := make(chan *GetOrderDetailResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetOrderDetail(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// GetOrderDetailWithCallback invokes the bssopenapi.GetOrderDetail API asynchronously
+// api document: https://help.aliyun.com/api/bssopenapi/getorderdetail.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetOrderDetailWithCallback(request *GetOrderDetailRequest, callback func(response *GetOrderDetailResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetOrderDetailResponse
+		var err error
+		defer close(result)
+		response, err = client.GetOrderDetail(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// GetOrderDetailRequest is the request struct for api GetOrderDetail
+type GetOrderDetailRequest struct {
+	*requests.RpcRequest
+	OrderId string           `position:"Query" name:"OrderId"`
+	OwnerId requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// GetOrderDetailResponse is the response struct for api GetOrderDetail
+type GetOrderDetailResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Success   bool   `json:"Success" xml:"Success"`
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateGetOrderDetailRequest creates a request to invoke GetOrderDetail API
+func CreateGetOrderDetailRequest() (request *GetOrderDetailRequest) {
+	request = &GetOrderDetailRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("BssOpenApi", "2017-12-14", "GetOrderDetail", "", "")
+	return
+}
+
+// CreateGetOrderDetailResponse creates a response to parse from GetOrderDetail response
+func CreateGetOrderDetailResponse() (response *GetOrderDetailResponse) {
+	response = &GetOrderDetailResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 119 - 0
services/bssopenapi/get_pay_as_you_go_price.go

@@ -0,0 +1,119 @@
+package bssopenapi
+
+//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"
+)
+
+// GetPayAsYouGoPrice invokes the bssopenapi.GetPayAsYouGoPrice API synchronously
+// api document: https://help.aliyun.com/api/bssopenapi/getpayasyougoprice.html
+func (client *Client) GetPayAsYouGoPrice(request *GetPayAsYouGoPriceRequest) (response *GetPayAsYouGoPriceResponse, err error) {
+	response = CreateGetPayAsYouGoPriceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GetPayAsYouGoPriceWithChan invokes the bssopenapi.GetPayAsYouGoPrice API asynchronously
+// api document: https://help.aliyun.com/api/bssopenapi/getpayasyougoprice.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetPayAsYouGoPriceWithChan(request *GetPayAsYouGoPriceRequest) (<-chan *GetPayAsYouGoPriceResponse, <-chan error) {
+	responseChan := make(chan *GetPayAsYouGoPriceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetPayAsYouGoPrice(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// GetPayAsYouGoPriceWithCallback invokes the bssopenapi.GetPayAsYouGoPrice API asynchronously
+// api document: https://help.aliyun.com/api/bssopenapi/getpayasyougoprice.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetPayAsYouGoPriceWithCallback(request *GetPayAsYouGoPriceRequest, callback func(response *GetPayAsYouGoPriceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetPayAsYouGoPriceResponse
+		var err error
+		defer close(result)
+		response, err = client.GetPayAsYouGoPrice(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// GetPayAsYouGoPriceRequest is the request struct for api GetPayAsYouGoPrice
+type GetPayAsYouGoPriceRequest struct {
+	*requests.RpcRequest
+	ProductCode      string                          `position:"Query" name:"ProductCode"`
+	SubscriptionType string                          `position:"Query" name:"SubscriptionType"`
+	ModuleList       *[]GetPayAsYouGoPriceModuleList `position:"Query" name:"ModuleList"  type:"Repeated"`
+	OwnerId          requests.Integer                `position:"Query" name:"OwnerId"`
+	Region           string                          `position:"Query" name:"Region"`
+	ProductType      string                          `position:"Query" name:"ProductType"`
+}
+
+// GetPayAsYouGoPriceModuleList is a repeated param struct in GetPayAsYouGoPriceRequest
+type GetPayAsYouGoPriceModuleList struct {
+	ModuleCode string `name:"ModuleCode"`
+	PriceType  string `name:"PriceType"`
+	Config     string `name:"Config"`
+}
+
+// GetPayAsYouGoPriceResponse is the response struct for api GetPayAsYouGoPrice
+type GetPayAsYouGoPriceResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Success   bool   `json:"Success" xml:"Success"`
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateGetPayAsYouGoPriceRequest creates a request to invoke GetPayAsYouGoPrice API
+func CreateGetPayAsYouGoPriceRequest() (request *GetPayAsYouGoPriceRequest) {
+	request = &GetPayAsYouGoPriceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("BssOpenApi", "2017-12-14", "GetPayAsYouGoPrice", "", "")
+	return
+}
+
+// CreateGetPayAsYouGoPriceResponse creates a response to parse from GetPayAsYouGoPrice response
+func CreateGetPayAsYouGoPriceResponse() (response *GetPayAsYouGoPriceResponse) {
+	response = &GetPayAsYouGoPriceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 113 - 0
services/bssopenapi/get_resource_package_price.go

@@ -0,0 +1,113 @@
+package bssopenapi
+
+//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"
+)
+
+// GetResourcePackagePrice invokes the bssopenapi.GetResourcePackagePrice API synchronously
+// api document: https://help.aliyun.com/api/bssopenapi/getresourcepackageprice.html
+func (client *Client) GetResourcePackagePrice(request *GetResourcePackagePriceRequest) (response *GetResourcePackagePriceResponse, err error) {
+	response = CreateGetResourcePackagePriceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GetResourcePackagePriceWithChan invokes the bssopenapi.GetResourcePackagePrice API asynchronously
+// api document: https://help.aliyun.com/api/bssopenapi/getresourcepackageprice.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetResourcePackagePriceWithChan(request *GetResourcePackagePriceRequest) (<-chan *GetResourcePackagePriceResponse, <-chan error) {
+	responseChan := make(chan *GetResourcePackagePriceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetResourcePackagePrice(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// GetResourcePackagePriceWithCallback invokes the bssopenapi.GetResourcePackagePrice API asynchronously
+// api document: https://help.aliyun.com/api/bssopenapi/getresourcepackageprice.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetResourcePackagePriceWithCallback(request *GetResourcePackagePriceRequest, callback func(response *GetResourcePackagePriceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetResourcePackagePriceResponse
+		var err error
+		defer close(result)
+		response, err = client.GetResourcePackagePrice(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// GetResourcePackagePriceRequest is the request struct for api GetResourcePackagePrice
+type GetResourcePackagePriceRequest struct {
+	*requests.RpcRequest
+	Duration      requests.Integer `position:"Query" name:"Duration"`
+	ProductCode   string           `position:"Query" name:"ProductCode"`
+	Specification string           `position:"Query" name:"Specification"`
+	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
+	PackageType   string           `position:"Query" name:"PackageType"`
+	EffectiveDate string           `position:"Query" name:"EffectiveDate"`
+	PricingCycle  string           `position:"Query" name:"PricingCycle"`
+}
+
+// GetResourcePackagePriceResponse is the response struct for api GetResourcePackagePrice
+type GetResourcePackagePriceResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Success   bool   `json:"Success" xml:"Success"`
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateGetResourcePackagePriceRequest creates a request to invoke GetResourcePackagePrice API
+func CreateGetResourcePackagePriceRequest() (request *GetResourcePackagePriceRequest) {
+	request = &GetResourcePackagePriceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("BssOpenApi", "2017-12-14", "GetResourcePackagePrice", "", "")
+	return
+}
+
+// CreateGetResourcePackagePriceResponse creates a response to parse from GetResourcePackagePrice response
+func CreateGetResourcePackagePriceResponse() (response *GetResourcePackagePriceResponse) {
+	response = &GetResourcePackagePriceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 125 - 0
services/bssopenapi/get_subscription_price.go

@@ -0,0 +1,125 @@
+package bssopenapi
+
+//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"
+)
+
+// GetSubscriptionPrice invokes the bssopenapi.GetSubscriptionPrice API synchronously
+// api document: https://help.aliyun.com/api/bssopenapi/getsubscriptionprice.html
+func (client *Client) GetSubscriptionPrice(request *GetSubscriptionPriceRequest) (response *GetSubscriptionPriceResponse, err error) {
+	response = CreateGetSubscriptionPriceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GetSubscriptionPriceWithChan invokes the bssopenapi.GetSubscriptionPrice API asynchronously
+// api document: https://help.aliyun.com/api/bssopenapi/getsubscriptionprice.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetSubscriptionPriceWithChan(request *GetSubscriptionPriceRequest) (<-chan *GetSubscriptionPriceResponse, <-chan error) {
+	responseChan := make(chan *GetSubscriptionPriceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetSubscriptionPrice(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// GetSubscriptionPriceWithCallback invokes the bssopenapi.GetSubscriptionPrice API asynchronously
+// api document: https://help.aliyun.com/api/bssopenapi/getsubscriptionprice.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetSubscriptionPriceWithCallback(request *GetSubscriptionPriceRequest, callback func(response *GetSubscriptionPriceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetSubscriptionPriceResponse
+		var err error
+		defer close(result)
+		response, err = client.GetSubscriptionPrice(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// GetSubscriptionPriceRequest is the request struct for api GetSubscriptionPrice
+type GetSubscriptionPriceRequest struct {
+	*requests.RpcRequest
+	ServicePeriodQuantity requests.Integer                  `position:"Query" name:"ServicePeriodQuantity"`
+	ProductCode           string                            `position:"Query" name:"ProductCode"`
+	InstanceId            string                            `position:"Query" name:"InstanceId"`
+	Quantity              requests.Integer                  `position:"Query" name:"Quantity"`
+	ServicePeriodUnit     string                            `position:"Query" name:"ServicePeriodUnit"`
+	SubscriptionType      string                            `position:"Query" name:"SubscriptionType"`
+	ModuleList            *[]GetSubscriptionPriceModuleList `position:"Query" name:"ModuleList"  type:"Repeated"`
+	OwnerId               requests.Integer                  `position:"Query" name:"OwnerId"`
+	Region                string                            `position:"Query" name:"Region"`
+	ProductType           string                            `position:"Query" name:"ProductType"`
+	OrderType             string                            `position:"Query" name:"OrderType"`
+}
+
+// GetSubscriptionPriceModuleList is a repeated param struct in GetSubscriptionPriceRequest
+type GetSubscriptionPriceModuleList struct {
+	ModuleCode   string `name:"ModuleCode"`
+	ModuleStatus string `name:"ModuleStatus"`
+	Tag          string `name:"Tag"`
+	Config       string `name:"Config"`
+}
+
+// GetSubscriptionPriceResponse is the response struct for api GetSubscriptionPrice
+type GetSubscriptionPriceResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Success   bool   `json:"Success" xml:"Success"`
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateGetSubscriptionPriceRequest creates a request to invoke GetSubscriptionPrice API
+func CreateGetSubscriptionPriceRequest() (request *GetSubscriptionPriceRequest) {
+	request = &GetSubscriptionPriceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("BssOpenApi", "2017-12-14", "GetSubscriptionPrice", "", "")
+	return
+}
+
+// CreateGetSubscriptionPriceResponse creates a response to parse from GetSubscriptionPrice response
+func CreateGetSubscriptionPriceResponse() (response *GetSubscriptionPriceResponse) {
+	response = &GetSubscriptionPriceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 119 - 0
services/bssopenapi/modify_instance.go

@@ -0,0 +1,119 @@
+package bssopenapi
+
+//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"
+)
+
+// ModifyInstance invokes the bssopenapi.ModifyInstance API synchronously
+// api document: https://help.aliyun.com/api/bssopenapi/modifyinstance.html
+func (client *Client) ModifyInstance(request *ModifyInstanceRequest) (response *ModifyInstanceResponse, err error) {
+	response = CreateModifyInstanceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ModifyInstanceWithChan invokes the bssopenapi.ModifyInstance API asynchronously
+// api document: https://help.aliyun.com/api/bssopenapi/modifyinstance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyInstanceWithChan(request *ModifyInstanceRequest) (<-chan *ModifyInstanceResponse, <-chan error) {
+	responseChan := make(chan *ModifyInstanceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifyInstance(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ModifyInstanceWithCallback invokes the bssopenapi.ModifyInstance API asynchronously
+// api document: https://help.aliyun.com/api/bssopenapi/modifyinstance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyInstanceWithCallback(request *ModifyInstanceRequest, callback func(response *ModifyInstanceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifyInstanceResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifyInstance(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ModifyInstanceRequest is the request struct for api ModifyInstance
+type ModifyInstanceRequest struct {
+	*requests.RpcRequest
+	ProductCode      string                     `position:"Query" name:"ProductCode"`
+	InstanceId       string                     `position:"Query" name:"InstanceId"`
+	SubscriptionType string                     `position:"Query" name:"SubscriptionType"`
+	ModifyType       string                     `position:"Query" name:"ModifyType"`
+	Parameter        *[]ModifyInstanceParameter `position:"Query" name:"Parameter"  type:"Repeated"`
+	OwnerId          requests.Integer           `position:"Query" name:"OwnerId"`
+	ProductType      string                     `position:"Query" name:"ProductType"`
+}
+
+// ModifyInstanceParameter is a repeated param struct in ModifyInstanceRequest
+type ModifyInstanceParameter struct {
+	Code  string `name:"Code"`
+	Value string `name:"Value"`
+}
+
+// ModifyInstanceResponse is the response struct for api ModifyInstance
+type ModifyInstanceResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Success   bool   `json:"Success" xml:"Success"`
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateModifyInstanceRequest creates a request to invoke ModifyInstance API
+func CreateModifyInstanceRequest() (request *ModifyInstanceRequest) {
+	request = &ModifyInstanceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("BssOpenApi", "2017-12-14", "ModifyInstance", "", "")
+	return
+}
+
+// CreateModifyInstanceResponse creates a response to parse from ModifyInstance response
+func CreateModifyInstanceResponse() (response *ModifyInstanceResponse) {
+	response = &ModifyInstanceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/bssopenapi/query_account_balance.go

@@ -0,0 +1,106 @@
+package bssopenapi
+
+//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"
+)
+
+// QueryAccountBalance invokes the bssopenapi.QueryAccountBalance API synchronously
+// api document: https://help.aliyun.com/api/bssopenapi/queryaccountbalance.html
+func (client *Client) QueryAccountBalance(request *QueryAccountBalanceRequest) (response *QueryAccountBalanceResponse, err error) {
+	response = CreateQueryAccountBalanceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// QueryAccountBalanceWithChan invokes the bssopenapi.QueryAccountBalance API asynchronously
+// api document: https://help.aliyun.com/api/bssopenapi/queryaccountbalance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryAccountBalanceWithChan(request *QueryAccountBalanceRequest) (<-chan *QueryAccountBalanceResponse, <-chan error) {
+	responseChan := make(chan *QueryAccountBalanceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.QueryAccountBalance(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// QueryAccountBalanceWithCallback invokes the bssopenapi.QueryAccountBalance API asynchronously
+// api document: https://help.aliyun.com/api/bssopenapi/queryaccountbalance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryAccountBalanceWithCallback(request *QueryAccountBalanceRequest, callback func(response *QueryAccountBalanceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *QueryAccountBalanceResponse
+		var err error
+		defer close(result)
+		response, err = client.QueryAccountBalance(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// QueryAccountBalanceRequest is the request struct for api QueryAccountBalance
+type QueryAccountBalanceRequest struct {
+	*requests.RpcRequest
+}
+
+// QueryAccountBalanceResponse is the response struct for api QueryAccountBalance
+type QueryAccountBalanceResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Success   bool   `json:"Success" xml:"Success"`
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateQueryAccountBalanceRequest creates a request to invoke QueryAccountBalance API
+func CreateQueryAccountBalanceRequest() (request *QueryAccountBalanceRequest) {
+	request = &QueryAccountBalanceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("BssOpenApi", "2017-12-14", "QueryAccountBalance", "", "")
+	return
+}
+
+// CreateQueryAccountBalanceResponse creates a response to parse from QueryAccountBalance response
+func CreateQueryAccountBalanceResponse() (response *QueryAccountBalanceResponse) {
+	response = &QueryAccountBalanceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 119 - 0
services/bssopenapi/query_available_instances.go

@@ -0,0 +1,119 @@
+package bssopenapi
+
+//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"
+)
+
+// QueryAvailableInstances invokes the bssopenapi.QueryAvailableInstances API synchronously
+// api document: https://help.aliyun.com/api/bssopenapi/queryavailableinstances.html
+func (client *Client) QueryAvailableInstances(request *QueryAvailableInstancesRequest) (response *QueryAvailableInstancesResponse, err error) {
+	response = CreateQueryAvailableInstancesResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// QueryAvailableInstancesWithChan invokes the bssopenapi.QueryAvailableInstances API asynchronously
+// api document: https://help.aliyun.com/api/bssopenapi/queryavailableinstances.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryAvailableInstancesWithChan(request *QueryAvailableInstancesRequest) (<-chan *QueryAvailableInstancesResponse, <-chan error) {
+	responseChan := make(chan *QueryAvailableInstancesResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.QueryAvailableInstances(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// QueryAvailableInstancesWithCallback invokes the bssopenapi.QueryAvailableInstances API asynchronously
+// api document: https://help.aliyun.com/api/bssopenapi/queryavailableinstances.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryAvailableInstancesWithCallback(request *QueryAvailableInstancesRequest, callback func(response *QueryAvailableInstancesResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *QueryAvailableInstancesResponse
+		var err error
+		defer close(result)
+		response, err = client.QueryAvailableInstances(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// QueryAvailableInstancesRequest is the request struct for api QueryAvailableInstances
+type QueryAvailableInstancesRequest struct {
+	*requests.RpcRequest
+	ProductCode      string           `position:"Query" name:"ProductCode"`
+	SubscriptionType string           `position:"Query" name:"SubscriptionType"`
+	OwnerId          requests.Integer `position:"Query" name:"OwnerId"`
+	PageNum          requests.Integer `position:"Query" name:"PageNum"`
+	EndTimeStart     string           `position:"Query" name:"EndTimeStart"`
+	ProductType      string           `position:"Query" name:"ProductType"`
+	CreateTimeEnd    string           `position:"Query" name:"CreateTimeEnd"`
+	InstanceIDs      string           `position:"Query" name:"InstanceIDs"`
+	EndTimeEnd       string           `position:"Query" name:"EndTimeEnd"`
+	PageSize         requests.Integer `position:"Query" name:"PageSize"`
+	CreateTimeStart  string           `position:"Query" name:"CreateTimeStart"`
+	Region           string           `position:"Query" name:"Region"`
+	RenewStatus      string           `position:"Query" name:"RenewStatus"`
+}
+
+// QueryAvailableInstancesResponse is the response struct for api QueryAvailableInstances
+type QueryAvailableInstancesResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Success   bool   `json:"Success" xml:"Success"`
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateQueryAvailableInstancesRequest creates a request to invoke QueryAvailableInstances API
+func CreateQueryAvailableInstancesRequest() (request *QueryAvailableInstancesRequest) {
+	request = &QueryAvailableInstancesRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("BssOpenApi", "2017-12-14", "QueryAvailableInstances", "", "")
+	return
+}
+
+// CreateQueryAvailableInstancesResponse creates a response to parse from QueryAvailableInstances response
+func CreateQueryAvailableInstancesResponse() (response *QueryAvailableInstancesResponse) {
+	response = &QueryAvailableInstancesResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/bssopenapi/query_cash_coupons.go

@@ -0,0 +1,109 @@
+package bssopenapi
+
+//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"
+)
+
+// QueryCashCoupons invokes the bssopenapi.QueryCashCoupons API synchronously
+// api document: https://help.aliyun.com/api/bssopenapi/querycashcoupons.html
+func (client *Client) QueryCashCoupons(request *QueryCashCouponsRequest) (response *QueryCashCouponsResponse, err error) {
+	response = CreateQueryCashCouponsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// QueryCashCouponsWithChan invokes the bssopenapi.QueryCashCoupons API asynchronously
+// api document: https://help.aliyun.com/api/bssopenapi/querycashcoupons.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryCashCouponsWithChan(request *QueryCashCouponsRequest) (<-chan *QueryCashCouponsResponse, <-chan error) {
+	responseChan := make(chan *QueryCashCouponsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.QueryCashCoupons(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// QueryCashCouponsWithCallback invokes the bssopenapi.QueryCashCoupons API asynchronously
+// api document: https://help.aliyun.com/api/bssopenapi/querycashcoupons.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryCashCouponsWithCallback(request *QueryCashCouponsRequest, callback func(response *QueryCashCouponsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *QueryCashCouponsResponse
+		var err error
+		defer close(result)
+		response, err = client.QueryCashCoupons(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// QueryCashCouponsRequest is the request struct for api QueryCashCoupons
+type QueryCashCouponsRequest struct {
+	*requests.RpcRequest
+	ExpiryTimeEnd   string           `position:"Query" name:"ExpiryTimeEnd"`
+	ExpiryTimeStart string           `position:"Query" name:"ExpiryTimeStart"`
+	EffectiveOrNot  requests.Boolean `position:"Query" name:"EffectiveOrNot"`
+}
+
+// QueryCashCouponsResponse is the response struct for api QueryCashCoupons
+type QueryCashCouponsResponse struct {
+	*responses.BaseResponse
+	RequestId string                 `json:"RequestId" xml:"RequestId"`
+	Success   bool                   `json:"Success" xml:"Success"`
+	Code      string                 `json:"Code" xml:"Code"`
+	Message   string                 `json:"Message" xml:"Message"`
+	Data      DataInQueryCashCoupons `json:"Data" xml:"Data"`
+}
+
+// CreateQueryCashCouponsRequest creates a request to invoke QueryCashCoupons API
+func CreateQueryCashCouponsRequest() (request *QueryCashCouponsRequest) {
+	request = &QueryCashCouponsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("BssOpenApi", "2017-12-14", "QueryCashCoupons", "", "")
+	return
+}
+
+// CreateQueryCashCouponsResponse creates a response to parse from QueryCashCoupons response
+func CreateQueryCashCouponsResponse() (response *QueryCashCouponsResponse) {
+	response = &QueryCashCouponsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 112 - 0
services/bssopenapi/query_instance_gaap_cost.go

@@ -0,0 +1,112 @@
+package bssopenapi
+
+//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"
+)
+
+// QueryInstanceGaapCost invokes the bssopenapi.QueryInstanceGaapCost API synchronously
+// api document: https://help.aliyun.com/api/bssopenapi/queryinstancegaapcost.html
+func (client *Client) QueryInstanceGaapCost(request *QueryInstanceGaapCostRequest) (response *QueryInstanceGaapCostResponse, err error) {
+	response = CreateQueryInstanceGaapCostResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// QueryInstanceGaapCostWithChan invokes the bssopenapi.QueryInstanceGaapCost API asynchronously
+// api document: https://help.aliyun.com/api/bssopenapi/queryinstancegaapcost.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryInstanceGaapCostWithChan(request *QueryInstanceGaapCostRequest) (<-chan *QueryInstanceGaapCostResponse, <-chan error) {
+	responseChan := make(chan *QueryInstanceGaapCostResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.QueryInstanceGaapCost(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// QueryInstanceGaapCostWithCallback invokes the bssopenapi.QueryInstanceGaapCost API asynchronously
+// api document: https://help.aliyun.com/api/bssopenapi/queryinstancegaapcost.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryInstanceGaapCostWithCallback(request *QueryInstanceGaapCostRequest, callback func(response *QueryInstanceGaapCostResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *QueryInstanceGaapCostResponse
+		var err error
+		defer close(result)
+		response, err = client.QueryInstanceGaapCost(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// QueryInstanceGaapCostRequest is the request struct for api QueryInstanceGaapCost
+type QueryInstanceGaapCostRequest struct {
+	*requests.RpcRequest
+	ProductCode      string           `position:"Query" name:"ProductCode"`
+	SubscriptionType string           `position:"Query" name:"SubscriptionType"`
+	PageSize         requests.Integer `position:"Query" name:"PageSize"`
+	BillingCycle     string           `position:"Query" name:"BillingCycle"`
+	PageNum          requests.Integer `position:"Query" name:"PageNum"`
+	ProductType      string           `position:"Query" name:"ProductType"`
+}
+
+// QueryInstanceGaapCostResponse is the response struct for api QueryInstanceGaapCost
+type QueryInstanceGaapCostResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Success   bool   `json:"Success" xml:"Success"`
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateQueryInstanceGaapCostRequest creates a request to invoke QueryInstanceGaapCost API
+func CreateQueryInstanceGaapCostRequest() (request *QueryInstanceGaapCostRequest) {
+	request = &QueryInstanceGaapCostRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("BssOpenApi", "2017-12-14", "QueryInstanceGaapCost", "", "")
+	return
+}
+
+// CreateQueryInstanceGaapCostResponse creates a response to parse from QueryInstanceGaapCost response
+func CreateQueryInstanceGaapCostResponse() (response *QueryInstanceGaapCostResponse) {
+	response = &QueryInstanceGaapCostResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/bssopenapi/query_monthly_bill.go

@@ -0,0 +1,107 @@
+package bssopenapi
+
+//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"
+)
+
+// QueryMonthlyBill invokes the bssopenapi.QueryMonthlyBill API synchronously
+// api document: https://help.aliyun.com/api/bssopenapi/querymonthlybill.html
+func (client *Client) QueryMonthlyBill(request *QueryMonthlyBillRequest) (response *QueryMonthlyBillResponse, err error) {
+	response = CreateQueryMonthlyBillResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// QueryMonthlyBillWithChan invokes the bssopenapi.QueryMonthlyBill API asynchronously
+// api document: https://help.aliyun.com/api/bssopenapi/querymonthlybill.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryMonthlyBillWithChan(request *QueryMonthlyBillRequest) (<-chan *QueryMonthlyBillResponse, <-chan error) {
+	responseChan := make(chan *QueryMonthlyBillResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.QueryMonthlyBill(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// QueryMonthlyBillWithCallback invokes the bssopenapi.QueryMonthlyBill API asynchronously
+// api document: https://help.aliyun.com/api/bssopenapi/querymonthlybill.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryMonthlyBillWithCallback(request *QueryMonthlyBillRequest, callback func(response *QueryMonthlyBillResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *QueryMonthlyBillResponse
+		var err error
+		defer close(result)
+		response, err = client.QueryMonthlyBill(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// QueryMonthlyBillRequest is the request struct for api QueryMonthlyBill
+type QueryMonthlyBillRequest struct {
+	*requests.RpcRequest
+	BillingCycle string `position:"Query" name:"BillingCycle"`
+}
+
+// QueryMonthlyBillResponse is the response struct for api QueryMonthlyBill
+type QueryMonthlyBillResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Success   bool   `json:"Success" xml:"Success"`
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateQueryMonthlyBillRequest creates a request to invoke QueryMonthlyBill API
+func CreateQueryMonthlyBillRequest() (request *QueryMonthlyBillRequest) {
+	request = &QueryMonthlyBillRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("BssOpenApi", "2017-12-14", "QueryMonthlyBill", "", "")
+	return
+}
+
+// CreateQueryMonthlyBillResponse creates a response to parse from QueryMonthlyBill response
+func CreateQueryMonthlyBillResponse() (response *QueryMonthlyBillResponse) {
+	response = &QueryMonthlyBillResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 113 - 0
services/bssopenapi/query_monthly_instance_consumption.go

@@ -0,0 +1,113 @@
+package bssopenapi
+
+//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"
+)
+
+// QueryMonthlyInstanceConsumption invokes the bssopenapi.QueryMonthlyInstanceConsumption API synchronously
+// api document: https://help.aliyun.com/api/bssopenapi/querymonthlyinstanceconsumption.html
+func (client *Client) QueryMonthlyInstanceConsumption(request *QueryMonthlyInstanceConsumptionRequest) (response *QueryMonthlyInstanceConsumptionResponse, err error) {
+	response = CreateQueryMonthlyInstanceConsumptionResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// QueryMonthlyInstanceConsumptionWithChan invokes the bssopenapi.QueryMonthlyInstanceConsumption API asynchronously
+// api document: https://help.aliyun.com/api/bssopenapi/querymonthlyinstanceconsumption.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryMonthlyInstanceConsumptionWithChan(request *QueryMonthlyInstanceConsumptionRequest) (<-chan *QueryMonthlyInstanceConsumptionResponse, <-chan error) {
+	responseChan := make(chan *QueryMonthlyInstanceConsumptionResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.QueryMonthlyInstanceConsumption(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// QueryMonthlyInstanceConsumptionWithCallback invokes the bssopenapi.QueryMonthlyInstanceConsumption API asynchronously
+// api document: https://help.aliyun.com/api/bssopenapi/querymonthlyinstanceconsumption.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryMonthlyInstanceConsumptionWithCallback(request *QueryMonthlyInstanceConsumptionRequest, callback func(response *QueryMonthlyInstanceConsumptionResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *QueryMonthlyInstanceConsumptionResponse
+		var err error
+		defer close(result)
+		response, err = client.QueryMonthlyInstanceConsumption(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// QueryMonthlyInstanceConsumptionRequest is the request struct for api QueryMonthlyInstanceConsumption
+type QueryMonthlyInstanceConsumptionRequest struct {
+	*requests.RpcRequest
+	ProductCode      string           `position:"Query" name:"ProductCode"`
+	SubscriptionType string           `position:"Query" name:"SubscriptionType"`
+	PageSize         requests.Integer `position:"Query" name:"PageSize"`
+	BillingCycle     string           `position:"Query" name:"BillingCycle"`
+	PageNum          requests.Integer `position:"Query" name:"PageNum"`
+	OwnerId          requests.Integer `position:"Query" name:"OwnerId"`
+	ProductType      string           `position:"Query" name:"ProductType"`
+}
+
+// QueryMonthlyInstanceConsumptionResponse is the response struct for api QueryMonthlyInstanceConsumption
+type QueryMonthlyInstanceConsumptionResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Success   bool   `json:"Success" xml:"Success"`
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateQueryMonthlyInstanceConsumptionRequest creates a request to invoke QueryMonthlyInstanceConsumption API
+func CreateQueryMonthlyInstanceConsumptionRequest() (request *QueryMonthlyInstanceConsumptionRequest) {
+	request = &QueryMonthlyInstanceConsumptionRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("BssOpenApi", "2017-12-14", "QueryMonthlyInstanceConsumption", "", "")
+	return
+}
+
+// CreateQueryMonthlyInstanceConsumptionResponse creates a response to parse from QueryMonthlyInstanceConsumption response
+func CreateQueryMonthlyInstanceConsumptionResponse() (response *QueryMonthlyInstanceConsumptionResponse) {
+	response = &QueryMonthlyInstanceConsumptionResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 116 - 0
services/bssopenapi/query_orders.go

@@ -0,0 +1,116 @@
+package bssopenapi
+
+//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"
+)
+
+// QueryOrders invokes the bssopenapi.QueryOrders API synchronously
+// api document: https://help.aliyun.com/api/bssopenapi/queryorders.html
+func (client *Client) QueryOrders(request *QueryOrdersRequest) (response *QueryOrdersResponse, err error) {
+	response = CreateQueryOrdersResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// QueryOrdersWithChan invokes the bssopenapi.QueryOrders API asynchronously
+// api document: https://help.aliyun.com/api/bssopenapi/queryorders.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryOrdersWithChan(request *QueryOrdersRequest) (<-chan *QueryOrdersResponse, <-chan error) {
+	responseChan := make(chan *QueryOrdersResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.QueryOrders(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// QueryOrdersWithCallback invokes the bssopenapi.QueryOrders API asynchronously
+// api document: https://help.aliyun.com/api/bssopenapi/queryorders.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryOrdersWithCallback(request *QueryOrdersRequest, callback func(response *QueryOrdersResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *QueryOrdersResponse
+		var err error
+		defer close(result)
+		response, err = client.QueryOrders(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// QueryOrdersRequest is the request struct for api QueryOrders
+type QueryOrdersRequest struct {
+	*requests.RpcRequest
+	ProductCode      string           `position:"Query" name:"ProductCode"`
+	SubscriptionType string           `position:"Query" name:"SubscriptionType"`
+	PageSize         requests.Integer `position:"Query" name:"PageSize"`
+	PaymentStatus    string           `position:"Query" name:"PaymentStatus"`
+	CreateTimeStart  string           `position:"Query" name:"CreateTimeStart"`
+	PageNum          requests.Integer `position:"Query" name:"PageNum"`
+	OwnerId          requests.Integer `position:"Query" name:"OwnerId"`
+	ProductType      string           `position:"Query" name:"ProductType"`
+	OrderType        string           `position:"Query" name:"OrderType"`
+	CreateTimeEnd    string           `position:"Query" name:"CreateTimeEnd"`
+}
+
+// QueryOrdersResponse is the response struct for api QueryOrders
+type QueryOrdersResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Success   bool   `json:"Success" xml:"Success"`
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateQueryOrdersRequest creates a request to invoke QueryOrders API
+func CreateQueryOrdersRequest() (request *QueryOrdersRequest) {
+	request = &QueryOrdersRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("BssOpenApi", "2017-12-14", "QueryOrders", "", "")
+	return
+}
+
+// CreateQueryOrdersResponse creates a response to parse from QueryOrders response
+func CreateQueryOrdersResponse() (response *QueryOrdersResponse) {
+	response = &QueryOrdersResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/bssopenapi/query_prepaid_cards.go

@@ -0,0 +1,109 @@
+package bssopenapi
+
+//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"
+)
+
+// QueryPrepaidCards invokes the bssopenapi.QueryPrepaidCards API synchronously
+// api document: https://help.aliyun.com/api/bssopenapi/queryprepaidcards.html
+func (client *Client) QueryPrepaidCards(request *QueryPrepaidCardsRequest) (response *QueryPrepaidCardsResponse, err error) {
+	response = CreateQueryPrepaidCardsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// QueryPrepaidCardsWithChan invokes the bssopenapi.QueryPrepaidCards API asynchronously
+// api document: https://help.aliyun.com/api/bssopenapi/queryprepaidcards.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryPrepaidCardsWithChan(request *QueryPrepaidCardsRequest) (<-chan *QueryPrepaidCardsResponse, <-chan error) {
+	responseChan := make(chan *QueryPrepaidCardsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.QueryPrepaidCards(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// QueryPrepaidCardsWithCallback invokes the bssopenapi.QueryPrepaidCards API asynchronously
+// api document: https://help.aliyun.com/api/bssopenapi/queryprepaidcards.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryPrepaidCardsWithCallback(request *QueryPrepaidCardsRequest, callback func(response *QueryPrepaidCardsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *QueryPrepaidCardsResponse
+		var err error
+		defer close(result)
+		response, err = client.QueryPrepaidCards(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// QueryPrepaidCardsRequest is the request struct for api QueryPrepaidCards
+type QueryPrepaidCardsRequest struct {
+	*requests.RpcRequest
+	ExpiryTimeEnd   string           `position:"Query" name:"ExpiryTimeEnd"`
+	ExpiryTimeStart string           `position:"Query" name:"ExpiryTimeStart"`
+	EffectiveOrNot  requests.Boolean `position:"Query" name:"EffectiveOrNot"`
+}
+
+// QueryPrepaidCardsResponse is the response struct for api QueryPrepaidCards
+type QueryPrepaidCardsResponse struct {
+	*responses.BaseResponse
+	RequestId string                  `json:"RequestId" xml:"RequestId"`
+	Success   bool                    `json:"Success" xml:"Success"`
+	Code      string                  `json:"Code" xml:"Code"`
+	Message   string                  `json:"Message" xml:"Message"`
+	Data      DataInQueryPrepaidCards `json:"Data" xml:"Data"`
+}
+
+// CreateQueryPrepaidCardsRequest creates a request to invoke QueryPrepaidCards API
+func CreateQueryPrepaidCardsRequest() (request *QueryPrepaidCardsRequest) {
+	request = &QueryPrepaidCardsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("BssOpenApi", "2017-12-14", "QueryPrepaidCards", "", "")
+	return
+}
+
+// CreateQueryPrepaidCardsResponse creates a response to parse from QueryPrepaidCards response
+func CreateQueryPrepaidCardsResponse() (response *QueryPrepaidCardsResponse) {
+	response = &QueryPrepaidCardsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 111 - 0
services/bssopenapi/query_price_list.go

@@ -0,0 +1,111 @@
+package bssopenapi
+
+//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"
+)
+
+// QueryPriceList invokes the bssopenapi.QueryPriceList API synchronously
+// api document: https://help.aliyun.com/api/bssopenapi/querypricelist.html
+func (client *Client) QueryPriceList(request *QueryPriceListRequest) (response *QueryPriceListResponse, err error) {
+	response = CreateQueryPriceListResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// QueryPriceListWithChan invokes the bssopenapi.QueryPriceList API asynchronously
+// api document: https://help.aliyun.com/api/bssopenapi/querypricelist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryPriceListWithChan(request *QueryPriceListRequest) (<-chan *QueryPriceListResponse, <-chan error) {
+	responseChan := make(chan *QueryPriceListResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.QueryPriceList(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// QueryPriceListWithCallback invokes the bssopenapi.QueryPriceList API asynchronously
+// api document: https://help.aliyun.com/api/bssopenapi/querypricelist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryPriceListWithCallback(request *QueryPriceListRequest, callback func(response *QueryPriceListResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *QueryPriceListResponse
+		var err error
+		defer close(result)
+		response, err = client.QueryPriceList(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// QueryPriceListRequest is the request struct for api QueryPriceList
+type QueryPriceListRequest struct {
+	*requests.RpcRequest
+	ModuleCode       string           `position:"Query" name:"ModuleCode"`
+	ProductCode      string           `position:"Query" name:"ProductCode"`
+	SubscriptionType string           `position:"Query" name:"SubscriptionType"`
+	OwnerId          requests.Integer `position:"Query" name:"OwnerId"`
+	ProductType      string           `position:"Query" name:"ProductType"`
+}
+
+// QueryPriceListResponse is the response struct for api QueryPriceList
+type QueryPriceListResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Success   bool   `json:"Success" xml:"Success"`
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateQueryPriceListRequest creates a request to invoke QueryPriceList API
+func CreateQueryPriceListRequest() (request *QueryPriceListRequest) {
+	request = &QueryPriceListRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("BssOpenApi", "2017-12-14", "QueryPriceList", "", "")
+	return
+}
+
+// CreateQueryPriceListResponse creates a response to parse from QueryPriceList response
+func CreateQueryPriceListResponse() (response *QueryPriceListResponse) {
+	response = &QueryPriceListResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/bssopenapi/query_product_list.go

@@ -0,0 +1,109 @@
+package bssopenapi
+
+//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"
+)
+
+// QueryProductList invokes the bssopenapi.QueryProductList API synchronously
+// api document: https://help.aliyun.com/api/bssopenapi/queryproductlist.html
+func (client *Client) QueryProductList(request *QueryProductListRequest) (response *QueryProductListResponse, err error) {
+	response = CreateQueryProductListResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// QueryProductListWithChan invokes the bssopenapi.QueryProductList API asynchronously
+// api document: https://help.aliyun.com/api/bssopenapi/queryproductlist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryProductListWithChan(request *QueryProductListRequest) (<-chan *QueryProductListResponse, <-chan error) {
+	responseChan := make(chan *QueryProductListResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.QueryProductList(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// QueryProductListWithCallback invokes the bssopenapi.QueryProductList API asynchronously
+// api document: https://help.aliyun.com/api/bssopenapi/queryproductlist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryProductListWithCallback(request *QueryProductListRequest, callback func(response *QueryProductListResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *QueryProductListResponse
+		var err error
+		defer close(result)
+		response, err = client.QueryProductList(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// QueryProductListRequest is the request struct for api QueryProductList
+type QueryProductListRequest struct {
+	*requests.RpcRequest
+	QueryTotalCount requests.Boolean `position:"Query" name:"QueryTotalCount"`
+	PageSize        requests.Integer `position:"Query" name:"PageSize"`
+	PageNum         requests.Integer `position:"Query" name:"PageNum"`
+}
+
+// QueryProductListResponse is the response struct for api QueryProductList
+type QueryProductListResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Success   bool   `json:"Success" xml:"Success"`
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateQueryProductListRequest creates a request to invoke QueryProductList API
+func CreateQueryProductListRequest() (request *QueryProductListRequest) {
+	request = &QueryProductListRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("BssOpenApi", "2017-12-14", "QueryProductList", "", "")
+	return
+}
+
+// CreateQueryProductListResponse creates a response to parse from QueryProductList response
+func CreateQueryProductListResponse() (response *QueryProductListResponse) {
+	response = &QueryProductListResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 115 - 0
services/bssopenapi/query_resource_package_instances.go

@@ -0,0 +1,115 @@
+package bssopenapi
+
+//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"
+)
+
+// QueryResourcePackageInstances invokes the bssopenapi.QueryResourcePackageInstances API synchronously
+// api document: https://help.aliyun.com/api/bssopenapi/queryresourcepackageinstances.html
+func (client *Client) QueryResourcePackageInstances(request *QueryResourcePackageInstancesRequest) (response *QueryResourcePackageInstancesResponse, err error) {
+	response = CreateQueryResourcePackageInstancesResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// QueryResourcePackageInstancesWithChan invokes the bssopenapi.QueryResourcePackageInstances API asynchronously
+// api document: https://help.aliyun.com/api/bssopenapi/queryresourcepackageinstances.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryResourcePackageInstancesWithChan(request *QueryResourcePackageInstancesRequest) (<-chan *QueryResourcePackageInstancesResponse, <-chan error) {
+	responseChan := make(chan *QueryResourcePackageInstancesResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.QueryResourcePackageInstances(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// QueryResourcePackageInstancesWithCallback invokes the bssopenapi.QueryResourcePackageInstances API asynchronously
+// api document: https://help.aliyun.com/api/bssopenapi/queryresourcepackageinstances.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryResourcePackageInstancesWithCallback(request *QueryResourcePackageInstancesRequest, callback func(response *QueryResourcePackageInstancesResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *QueryResourcePackageInstancesResponse
+		var err error
+		defer close(result)
+		response, err = client.QueryResourcePackageInstances(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// QueryResourcePackageInstancesRequest is the request struct for api QueryResourcePackageInstances
+type QueryResourcePackageInstancesRequest struct {
+	*requests.RpcRequest
+	ExpiryTimeEnd   string           `position:"Query" name:"ExpiryTimeEnd"`
+	ProductCode     string           `position:"Query" name:"ProductCode"`
+	PageSize        requests.Integer `position:"Query" name:"PageSize"`
+	OwnerId         requests.Integer `position:"Query" name:"OwnerId"`
+	ExpiryTimeStart string           `position:"Query" name:"ExpiryTimeStart"`
+	PageNum         requests.Integer `position:"Query" name:"PageNum"`
+}
+
+// QueryResourcePackageInstancesResponse is the response struct for api QueryResourcePackageInstances
+type QueryResourcePackageInstancesResponse struct {
+	*responses.BaseResponse
+	RequestId string                              `json:"RequestId" xml:"RequestId"`
+	Success   bool                                `json:"Success" xml:"Success"`
+	Code      string                              `json:"Code" xml:"Code"`
+	Message   string                              `json:"Message" xml:"Message"`
+	Page      int                                 `json:"Page" xml:"Page"`
+	PageSize  int                                 `json:"PageSize" xml:"PageSize"`
+	Total     int                                 `json:"Total" xml:"Total"`
+	Data      DataInQueryResourcePackageInstances `json:"Data" xml:"Data"`
+}
+
+// CreateQueryResourcePackageInstancesRequest creates a request to invoke QueryResourcePackageInstances API
+func CreateQueryResourcePackageInstancesRequest() (request *QueryResourcePackageInstancesRequest) {
+	request = &QueryResourcePackageInstancesRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("BssOpenApi", "2017-12-14", "QueryResourcePackageInstances", "", "")
+	return
+}
+
+// CreateQueryResourcePackageInstancesResponse creates a response to parse from QueryResourcePackageInstances response
+func CreateQueryResourcePackageInstancesResponse() (response *QueryResourcePackageInstancesResponse) {
+	response = &QueryResourcePackageInstancesResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 116 - 0
services/bssopenapi/query_settlement_bill.go

@@ -0,0 +1,116 @@
+package bssopenapi
+
+//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"
+)
+
+// QuerySettlementBill invokes the bssopenapi.QuerySettlementBill API synchronously
+// api document: https://help.aliyun.com/api/bssopenapi/querysettlementbill.html
+func (client *Client) QuerySettlementBill(request *QuerySettlementBillRequest) (response *QuerySettlementBillResponse, err error) {
+	response = CreateQuerySettlementBillResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// QuerySettlementBillWithChan invokes the bssopenapi.QuerySettlementBill API asynchronously
+// api document: https://help.aliyun.com/api/bssopenapi/querysettlementbill.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QuerySettlementBillWithChan(request *QuerySettlementBillRequest) (<-chan *QuerySettlementBillResponse, <-chan error) {
+	responseChan := make(chan *QuerySettlementBillResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.QuerySettlementBill(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// QuerySettlementBillWithCallback invokes the bssopenapi.QuerySettlementBill API asynchronously
+// api document: https://help.aliyun.com/api/bssopenapi/querysettlementbill.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QuerySettlementBillWithCallback(request *QuerySettlementBillRequest, callback func(response *QuerySettlementBillResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *QuerySettlementBillResponse
+		var err error
+		defer close(result)
+		response, err = client.QuerySettlementBill(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// QuerySettlementBillRequest is the request struct for api QuerySettlementBill
+type QuerySettlementBillRequest struct {
+	*requests.RpcRequest
+	ProductCode      string           `position:"Query" name:"ProductCode"`
+	SubscriptionType string           `position:"Query" name:"SubscriptionType"`
+	PageSize         requests.Integer `position:"Query" name:"PageSize"`
+	EndTime          string           `position:"Query" name:"EndTime"`
+	BillingCycle     string           `position:"Query" name:"BillingCycle"`
+	StartTime        string           `position:"Query" name:"StartTime"`
+	OwnerId          requests.Integer `position:"Query" name:"OwnerId"`
+	PageNum          requests.Integer `position:"Query" name:"PageNum"`
+	Type             string           `position:"Query" name:"Type"`
+	ProductType      string           `position:"Query" name:"ProductType"`
+}
+
+// QuerySettlementBillResponse is the response struct for api QuerySettlementBill
+type QuerySettlementBillResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Success   bool   `json:"Success" xml:"Success"`
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateQuerySettlementBillRequest creates a request to invoke QuerySettlementBill API
+func CreateQuerySettlementBillRequest() (request *QuerySettlementBillRequest) {
+	request = &QuerySettlementBillRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("BssOpenApi", "2017-12-14", "QuerySettlementBill", "", "")
+	return
+}
+
+// CreateQuerySettlementBillResponse creates a response to parse from QuerySettlementBill response
+func CreateQuerySettlementBillResponse() (response *QuerySettlementBillResponse) {
+	response = &QuerySettlementBillResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 112 - 0
services/bssopenapi/renew_instance.go

@@ -0,0 +1,112 @@
+package bssopenapi
+
+//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"
+)
+
+// RenewInstance invokes the bssopenapi.RenewInstance API synchronously
+// api document: https://help.aliyun.com/api/bssopenapi/renewinstance.html
+func (client *Client) RenewInstance(request *RenewInstanceRequest) (response *RenewInstanceResponse, err error) {
+	response = CreateRenewInstanceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// RenewInstanceWithChan invokes the bssopenapi.RenewInstance API asynchronously
+// api document: https://help.aliyun.com/api/bssopenapi/renewinstance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) RenewInstanceWithChan(request *RenewInstanceRequest) (<-chan *RenewInstanceResponse, <-chan error) {
+	responseChan := make(chan *RenewInstanceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.RenewInstance(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// RenewInstanceWithCallback invokes the bssopenapi.RenewInstance API asynchronously
+// api document: https://help.aliyun.com/api/bssopenapi/renewinstance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) RenewInstanceWithCallback(request *RenewInstanceRequest, callback func(response *RenewInstanceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *RenewInstanceResponse
+		var err error
+		defer close(result)
+		response, err = client.RenewInstance(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// RenewInstanceRequest is the request struct for api RenewInstance
+type RenewInstanceRequest struct {
+	*requests.RpcRequest
+	ProductCode string           `position:"Query" name:"ProductCode"`
+	InstanceId  string           `position:"Query" name:"InstanceId"`
+	ClientToken string           `position:"Query" name:"ClientToken"`
+	RenewPeriod requests.Integer `position:"Query" name:"RenewPeriod"`
+	OwnerId     requests.Integer `position:"Query" name:"OwnerId"`
+	ProductType string           `position:"Query" name:"ProductType"`
+}
+
+// RenewInstanceResponse is the response struct for api RenewInstance
+type RenewInstanceResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Success   bool   `json:"Success" xml:"Success"`
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateRenewInstanceRequest creates a request to invoke RenewInstance API
+func CreateRenewInstanceRequest() (request *RenewInstanceRequest) {
+	request = &RenewInstanceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("BssOpenApi", "2017-12-14", "RenewInstance", "", "")
+	return
+}
+
+// CreateRenewInstanceResponse creates a response to parse from RenewInstance response
+func CreateRenewInstanceResponse() (response *RenewInstanceResponse) {
+	response = &RenewInstanceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 113 - 0
services/bssopenapi/set_renewal.go

@@ -0,0 +1,113 @@
+package bssopenapi
+
+//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"
+)
+
+// SetRenewal invokes the bssopenapi.SetRenewal API synchronously
+// api document: https://help.aliyun.com/api/bssopenapi/setrenewal.html
+func (client *Client) SetRenewal(request *SetRenewalRequest) (response *SetRenewalResponse, err error) {
+	response = CreateSetRenewalResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// SetRenewalWithChan invokes the bssopenapi.SetRenewal API asynchronously
+// api document: https://help.aliyun.com/api/bssopenapi/setrenewal.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SetRenewalWithChan(request *SetRenewalRequest) (<-chan *SetRenewalResponse, <-chan error) {
+	responseChan := make(chan *SetRenewalResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.SetRenewal(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// SetRenewalWithCallback invokes the bssopenapi.SetRenewal API asynchronously
+// api document: https://help.aliyun.com/api/bssopenapi/setrenewal.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SetRenewalWithCallback(request *SetRenewalRequest, callback func(response *SetRenewalResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *SetRenewalResponse
+		var err error
+		defer close(result)
+		response, err = client.SetRenewal(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// SetRenewalRequest is the request struct for api SetRenewal
+type SetRenewalRequest struct {
+	*requests.RpcRequest
+	ProductCode       string           `position:"Query" name:"ProductCode"`
+	InstanceIDs       string           `position:"Query" name:"InstanceIDs"`
+	SubscriptionType  string           `position:"Query" name:"SubscriptionType"`
+	RenewalStatus     string           `position:"Query" name:"RenewalStatus"`
+	RenewalPeriodUnit string           `position:"Query" name:"RenewalPeriodUnit"`
+	RenewalPeriod     requests.Integer `position:"Query" name:"RenewalPeriod"`
+	OwnerId           requests.Integer `position:"Query" name:"OwnerId"`
+	ProductType       string           `position:"Query" name:"ProductType"`
+}
+
+// SetRenewalResponse is the response struct for api SetRenewal
+type SetRenewalResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Success   bool   `json:"Success" xml:"Success"`
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+}
+
+// CreateSetRenewalRequest creates a request to invoke SetRenewal API
+func CreateSetRenewalRequest() (request *SetRenewalRequest) {
+	request = &SetRenewalRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("BssOpenApi", "2017-12-14", "SetRenewal", "", "")
+	return
+}
+
+// CreateSetRenewalResponse creates a response to parse from SetRenewal response
+func CreateSetRenewalResponse() (response *SetRenewalResponse) {
+	response = &SetRenewalResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 23 - 0
services/bssopenapi/struct_attribute.go

@@ -0,0 +1,23 @@
+package bssopenapi
+
+//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.
+
+// Attribute is a nested struct in bssopenapi response
+type Attribute struct {
+	Code string `json:"Code" xml:"Code"`
+	Name string `json:"Name" xml:"Name"`
+	Unit string `json:"Unit" xml:"Unit"`
+}

+ 21 - 0
services/bssopenapi/struct_attribute_list.go

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

+ 23 - 0
services/bssopenapi/struct_available_duration.go

@@ -0,0 +1,23 @@
+package bssopenapi
+
+//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.
+
+// AvailableDuration is a nested struct in bssopenapi response
+type AvailableDuration struct {
+	Name  string `json:"Name" xml:"Name"`
+	Value int    `json:"Value" xml:"Value"`
+	Unit  string `json:"Unit" xml:"Unit"`
+}

+ 21 - 0
services/bssopenapi/struct_available_durations.go

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

+ 30 - 0
services/bssopenapi/struct_cash_coupon.go

@@ -0,0 +1,30 @@
+package bssopenapi
+
+//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.
+
+// CashCoupon is a nested struct in bssopenapi response
+type CashCoupon struct {
+	CashCouponId        int    `json:"CashCouponId" xml:"CashCouponId"`
+	CashCouponNo        string `json:"CashCouponNo" xml:"CashCouponNo"`
+	GrantedTime         string `json:"GrantedTime" xml:"GrantedTime"`
+	EffectiveTime       string `json:"EffectiveTime" xml:"EffectiveTime"`
+	ExpiryTime          string `json:"ExpiryTime" xml:"ExpiryTime"`
+	ApplicableProducts  string `json:"ApplicableProducts" xml:"ApplicableProducts"`
+	ApplicableScenarios string `json:"ApplicableScenarios" xml:"ApplicableScenarios"`
+	NominalValue        string `json:"NominalValue" xml:"NominalValue"`
+	Balance             string `json:"Balance" xml:"Balance"`
+	Status              string `json:"Status" xml:"Status"`
+}

+ 21 - 0
services/bssopenapi/struct_config_list.go

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

+ 51 - 0
services/bssopenapi/struct_data.go

@@ -0,0 +1,51 @@
+package bssopenapi
+
+//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.
+
+// Data is a nested struct in bssopenapi response
+type Data struct {
+	TradePrice             float64                                `json:"TradePrice" xml:"TradePrice"`
+	HostId                 string                                 `json:"HostId" xml:"HostId"`
+	OriginalPrice          float64                                `json:"OriginalPrice" xml:"OriginalPrice"`
+	AvailableAmount        string                                 `json:"AvailableAmount" xml:"AvailableAmount"`
+	PageSize               int                                    `json:"PageSize" xml:"PageSize"`
+	MybankCreditAmount     string                                 `json:"MybankCreditAmount" xml:"MybankCreditAmount"`
+	OrderId                string                                 `json:"OrderId" xml:"OrderId"`
+	CreditAmount           string                                 `json:"CreditAmount" xml:"CreditAmount"`
+	InstanceId             string                                 `json:"InstanceId" xml:"InstanceId"`
+	TotalCount             int                                    `json:"TotalCount" xml:"TotalCount"`
+	BillingCycle           string                                 `json:"BillingCycle" xml:"BillingCycle"`
+	OutstandingAmount      float64                                `json:"OutstandingAmount" xml:"OutstandingAmount"`
+	PageNum                int                                    `json:"PageNum" xml:"PageNum"`
+	Currency               string                                 `json:"Currency" xml:"Currency"`
+	Quantity               int                                    `json:"Quantity" xml:"Quantity"`
+	AvailableCashAmount    string                                 `json:"AvailableCashAmount" xml:"AvailableCashAmount"`
+	DiscountPrice          float64                                `json:"DiscountPrice" xml:"DiscountPrice"`
+	HostName               string                                 `json:"HostName" xml:"HostName"`
+	TotalOutstandingAmount float64                                `json:"TotalOutstandingAmount" xml:"TotalOutstandingAmount"`
+	NewInvoiceAmount       float64                                `json:"NewInvoiceAmount" xml:"NewInvoiceAmount"`
+	ModuleList             ModuleList                             `json:"ModuleList" xml:"ModuleList"`
+	InstanceList           InstanceList                           `json:"InstanceList" xml:"InstanceList"`
+	AttributeList          AttributeList                          `json:"AttributeList" xml:"AttributeList"`
+	OrderList              OrderListInQueryOrders                 `json:"OrderList" xml:"OrderList"`
+	Modules                ModulesInQueryInstanceGaapCost         `json:"Modules" xml:"Modules"`
+	Items                  ItemsInQuerySettlementBill             `json:"Items" xml:"Items"`
+	Promotions             Promotions                             `json:"Promotions" xml:"Promotions"`
+	ResourcePackages       ResourcePackages                       `json:"ResourcePackages" xml:"ResourcePackages"`
+	ProductList            ProductList                            `json:"ProductList" xml:"ProductList"`
+	ModuleDetails          ModuleDetailsInGetSubscriptionPrice    `json:"ModuleDetails" xml:"ModuleDetails"`
+	PromotionDetails       PromotionDetailsInGetSubscriptionPrice `json:"PromotionDetails" xml:"PromotionDetails"`
+}

+ 22 - 0
services/bssopenapi/struct_data_in_create_resource_package.go

@@ -0,0 +1,22 @@
+package bssopenapi
+
+//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.
+
+// DataInCreateResourcePackage is a nested struct in bssopenapi response
+type DataInCreateResourcePackage struct {
+	OrderId    int    `json:"OrderId" xml:"OrderId"`
+	InstanceId string `json:"InstanceId" xml:"InstanceId"`
+}

+ 21 - 0
services/bssopenapi/struct_data_in_query_cash_coupons.go

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

+ 21 - 0
services/bssopenapi/struct_data_in_query_prepaid_cards.go

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

+ 25 - 0
services/bssopenapi/struct_data_in_query_resource_package_instances.go

@@ -0,0 +1,25 @@
+package bssopenapi
+
+//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.
+
+// DataInQueryResourcePackageInstances is a nested struct in bssopenapi response
+type DataInQueryResourcePackageInstances struct {
+	HostId     string    `json:"HostId" xml:"HostId"`
+	PageNum    string    `json:"PageNum" xml:"PageNum"`
+	PageSize   string    `json:"PageSize" xml:"PageSize"`
+	TotalCount string    `json:"TotalCount" xml:"TotalCount"`
+	Instances  Instances `json:"Instances" xml:"Instances"`
+}

+ 46 - 0
services/bssopenapi/struct_instance.go

@@ -0,0 +1,46 @@
+package bssopenapi
+
+//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.
+
+// Instance is a nested struct in bssopenapi response
+type Instance struct {
+	Region              string `json:"Region" xml:"Region"`
+	ExpectedReleaseTime string `json:"ExpectedReleaseTime" xml:"ExpectedReleaseTime"`
+	CreateTime          string `json:"CreateTime" xml:"CreateTime"`
+	OwnerId             int    `json:"OwnerId" xml:"OwnerId"`
+	TotalAmount         string `json:"TotalAmount" xml:"TotalAmount"`
+	RenewStatus         string `json:"RenewStatus" xml:"RenewStatus"`
+	SubStatus           string `json:"SubStatus" xml:"SubStatus"`
+	InstanceId          string `json:"InstanceId" xml:"InstanceId"`
+	TotalAmountUnit     string `json:"TotalAmountUnit" xml:"TotalAmountUnit"`
+	SubscriptionType    string `json:"SubscriptionType" xml:"SubscriptionType"`
+	RemainingAmountUnit string `json:"RemainingAmountUnit" xml:"RemainingAmountUnit"`
+	StopTime            string `json:"StopTime" xml:"StopTime"`
+	Seller              string `json:"Seller" xml:"Seller"`
+	Remark              string `json:"Remark" xml:"Remark"`
+	ProductType         string `json:"ProductType" xml:"ProductType"`
+	ProductCode         string `json:"ProductCode" xml:"ProductCode"`
+	RenewalDuration     int    `json:"RenewalDuration" xml:"RenewalDuration"`
+	RenewalDurationUnit string `json:"RenewalDurationUnit" xml:"RenewalDurationUnit"`
+	RemainingAmount     string `json:"RemainingAmount" xml:"RemainingAmount"`
+	EffectiveTime       string `json:"EffectiveTime" xml:"EffectiveTime"`
+	ExpiryTime          string `json:"ExpiryTime" xml:"ExpiryTime"`
+	EndTime             string `json:"EndTime" xml:"EndTime"`
+	SellerId            int    `json:"SellerId" xml:"SellerId"`
+	InstanceID          string `json:"InstanceID" xml:"InstanceID"`
+	ReleaseTime         string `json:"ReleaseTime" xml:"ReleaseTime"`
+	Status              string `json:"Status" xml:"Status"`
+}

+ 21 - 0
services/bssopenapi/struct_instance_list.go

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

+ 2 - 2
services/ecs/struct_instances.go → services/bssopenapi/struct_instances.go

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

+ 69 - 0
services/bssopenapi/struct_item.go

@@ -0,0 +1,69 @@
+package bssopenapi
+
+//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.
+
+// Item is a nested struct in bssopenapi response
+type Item struct {
+	Tax                         float64 `json:"Tax" xml:"Tax"`
+	PreviousBillingCycleBalance float64 `json:"PreviousBillingCycleBalance" xml:"PreviousBillingCycleBalance"`
+	PayerAccount                string  `json:"PayerAccount" xml:"PayerAccount"`
+	UsageStartTime              string  `json:"UsageStartTime" xml:"UsageStartTime"`
+	SuborderID                  string  `json:"SuborderID" xml:"SuborderID"`
+	SolutionCode                string  `json:"SolutionCode" xml:"SolutionCode"`
+	Promotion                   string  `json:"Promotion" xml:"Promotion"`
+	Seller                      string  `json:"Seller" xml:"Seller"`
+	PretaxAmountLocal           float64 `json:"PretaxAmountLocal" xml:"PretaxAmountLocal"`
+	OutstandingAmount           float64 `json:"OutstandingAmount" xml:"OutstandingAmount"`
+	ProductCode                 string  `json:"ProductCode" xml:"ProductCode"`
+	Quantity                    string  `json:"Quantity" xml:"Quantity"`
+	InvoiceDiscount             float64 `json:"InvoiceDiscount" xml:"InvoiceDiscount"`
+	MybankPaymentAmount         float64 `json:"MybankPaymentAmount" xml:"MybankPaymentAmount"`
+	InstanceID                  string  `json:"InstanceID" xml:"InstanceID"`
+	PretaxGrossAmount           float64 `json:"PretaxGrossAmount" xml:"PretaxGrossAmount"`
+	RecordID                    string  `json:"RecordID" xml:"RecordID"`
+	Config                      string  `json:"Config" xml:"Config"`
+	Status                      string  `json:"Status" xml:"Status"`
+	Item                        string  `json:"Item" xml:"Item"`
+	Region                      string  `json:"Region" xml:"Region"`
+	PaymentAmount               float64 `json:"PaymentAmount" xml:"PaymentAmount"`
+	UsageEndTime                string  `json:"UsageEndTime" xml:"UsageEndTime"`
+	SolutionID                  string  `json:"SolutionID" xml:"SolutionID"`
+	ClearedTime                 string  `json:"ClearedTime" xml:"ClearedTime"`
+	PaymentTime                 string  `json:"PaymentTime" xml:"PaymentTime"`
+	CreateTime                  string  `json:"CreateTime" xml:"CreateTime"`
+	LinkedCustomerOrderID       string  `json:"LinkedCustomerOrderID" xml:"LinkedCustomerOrderID"`
+	AfterTaxAmount              float64 `json:"AfterTaxAmount" xml:"AfterTaxAmount"`
+	ResourceGroup               string  `json:"ResourceGroup" xml:"ResourceGroup"`
+	Tag                         string  `json:"Tag" xml:"Tag"`
+	OwnerID                     string  `json:"OwnerID" xml:"OwnerID"`
+	SolutionName                string  `json:"SolutionName" xml:"SolutionName"`
+	SubscriptionType            string  `json:"SubscriptionType" xml:"SubscriptionType"`
+	DeductedByCashCoupons       float64 `json:"DeductedByCashCoupons" xml:"DeductedByCashCoupons"`
+	InvoiceNo                   string  `json:"InvoiceNo" xml:"InvoiceNo"`
+	DiscountAmount              float64 `json:"DiscountAmount" xml:"DiscountAmount"`
+	BillID                      string  `json:"BillID" xml:"BillID"`
+	PaymentCurrency             string  `json:"PaymentCurrency" xml:"PaymentCurrency"`
+	ProductType                 string  `json:"ProductType" xml:"ProductType"`
+	AccountDiscount             float64 `json:"AccountDiscount" xml:"AccountDiscount"`
+	Currency                    string  `json:"Currency" xml:"Currency"`
+	OriginalOrderID             string  `json:"OriginalOrderID" xml:"OriginalOrderID"`
+	DeductedByPrepaidCard       float64 `json:"DeductedByPrepaidCard" xml:"DeductedByPrepaidCard"`
+	OrderID                     string  `json:"OrderID" xml:"OrderID"`
+	OrderType                   string  `json:"OrderType" xml:"OrderType"`
+	DeductedByCoupons           float64 `json:"DeductedByCoupons" xml:"DeductedByCoupons"`
+	ChargeDiscount              float64 `json:"ChargeDiscount" xml:"ChargeDiscount"`
+	PretaxAmount                float64 `json:"PretaxAmount" xml:"PretaxAmount"`
+}

+ 21 - 0
services/bssopenapi/struct_items_in_query_monthly_bill.go

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

+ 21 - 0
services/bssopenapi/struct_items_in_query_monthly_instance_consumption.go

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

+ 21 - 0
services/bssopenapi/struct_items_in_query_settlement_bill.go

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

+ 80 - 0
services/bssopenapi/struct_module.go

@@ -0,0 +1,80 @@
+package bssopenapi
+
+//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.
+
+// Module is a nested struct in bssopenapi response
+type Module struct {
+	MonthGaapDeductedByPrepaidCard   string     `json:"MonthGaapDeductedByPrepaidCard" xml:"MonthGaapDeductedByPrepaidCard"`
+	DeductedByCashCoupons            string     `json:"DeductedByCashCoupons" xml:"DeductedByCashCoupons"`
+	PayerAccount                     string     `json:"PayerAccount" xml:"PayerAccount"`
+	PriceUnit                        string     `json:"PriceUnit" xml:"PriceUnit"`
+	GaapPretaxAmountLocal            string     `json:"GaapPretaxAmountLocal" xml:"GaapPretaxAmountLocal"`
+	UsageStartDate                   string     `json:"UsageStartDate" xml:"UsageStartDate"`
+	MonthGaapPaymentAmount           string     `json:"MonthGaapPaymentAmount" xml:"MonthGaapPaymentAmount"`
+	OrderId                          string     `json:"OrderId" xml:"OrderId"`
+	UnallocatedDeductedByCoupons     string     `json:"UnallocatedDeductedByCoupons" xml:"UnallocatedDeductedByCoupons"`
+	ModuleName                       string     `json:"ModuleName" xml:"ModuleName"`
+	PretaxGrossAmount                string     `json:"PretaxGrossAmount" xml:"PretaxGrossAmount"`
+	PaymentAmount                    string     `json:"PaymentAmount" xml:"PaymentAmount"`
+	UnallocatedDeductedByCashCoupons string     `json:"UnallocatedDeductedByCashCoupons" xml:"UnallocatedDeductedByCashCoupons"`
+	PretaxAmount                     string     `json:"PretaxAmount" xml:"PretaxAmount"`
+	BillingCycle                     string     `json:"BillingCycle" xml:"BillingCycle"`
+	UnallocatedPricingDiscount       string     `json:"UnallocatedPricingDiscount" xml:"UnallocatedPricingDiscount"`
+	GaapPretaxGrossAmount            string     `json:"GaapPretaxGrossAmount" xml:"GaapPretaxGrossAmount"`
+	ProductCode                      string     `json:"ProductCode" xml:"ProductCode"`
+	InstanceID                       string     `json:"InstanceID" xml:"InstanceID"`
+	UnallocatedPretaxAmount          string     `json:"UnallocatedPretaxAmount" xml:"UnallocatedPretaxAmount"`
+	PriceType                        string     `json:"PriceType" xml:"PriceType"`
+	Config                           string     `json:"Config" xml:"Config"`
+	GaapPricingDiscount              string     `json:"GaapPricingDiscount" xml:"GaapPricingDiscount"`
+	AccountingUnit                   string     `json:"AccountingUnit" xml:"AccountingUnit"`
+	MonthGaapPretaxAmount            string     `json:"MonthGaapPretaxAmount" xml:"MonthGaapPretaxAmount"`
+	Region                           string     `json:"Region" xml:"Region"`
+	PricingDiscount                  string     `json:"PricingDiscount" xml:"PricingDiscount"`
+	GaapPretaxAmount                 string     `json:"GaapPretaxAmount" xml:"GaapPretaxAmount"`
+	ResourceGroup                    string     `json:"ResourceGroup" xml:"ResourceGroup"`
+	SubOrderId                       string     `json:"SubOrderId" xml:"SubOrderId"`
+	UnallocatedDeductedByPrepaidCard string     `json:"UnallocatedDeductedByPrepaidCard" xml:"UnallocatedDeductedByPrepaidCard"`
+	MonthGaapPretaxGrossAmount       string     `json:"MonthGaapPretaxGrossAmount" xml:"MonthGaapPretaxGrossAmount"`
+	UnallocatedPretaxGrossAmount     string     `json:"UnallocatedPretaxGrossAmount" xml:"UnallocatedPretaxGrossAmount"`
+	DeductedByCoupons                string     `json:"DeductedByCoupons" xml:"DeductedByCoupons"`
+	Tag                              string     `json:"Tag" xml:"Tag"`
+	OwnerID                          string     `json:"OwnerID" xml:"OwnerID"`
+	SubscriptionType                 string     `json:"SubscriptionType" xml:"SubscriptionType"`
+	PayTime                          string     `json:"PayTime" xml:"PayTime"`
+	GaapDeductedByPrepaidCard        string     `json:"GaapDeductedByPrepaidCard" xml:"GaapDeductedByPrepaidCard"`
+	ModuleCode                       string     `json:"ModuleCode" xml:"ModuleCode"`
+	MonthGaapPretaxAmountLocal       string     `json:"MonthGaapPretaxAmountLocal" xml:"MonthGaapPretaxAmountLocal"`
+	GaapDeductedByCashCoupons        string     `json:"GaapDeductedByCashCoupons" xml:"GaapDeductedByCashCoupons"`
+	DeductedByPrepaidCard            string     `json:"DeductedByPrepaidCard" xml:"DeductedByPrepaidCard"`
+	GaapDeductedByCoupons            string     `json:"GaapDeductedByCoupons" xml:"GaapDeductedByCoupons"`
+	PaymentCurrency                  string     `json:"PaymentCurrency" xml:"PaymentCurrency"`
+	UnallocatedPretaxAmountLocal     string     `json:"UnallocatedPretaxAmountLocal" xml:"UnallocatedPretaxAmountLocal"`
+	ProductType                      string     `json:"ProductType" xml:"ProductType"`
+	Currency                         string     `json:"Currency" xml:"Currency"`
+	MonthGaapPricingDiscount         string     `json:"MonthGaapPricingDiscount" xml:"MonthGaapPricingDiscount"`
+	UsageEndDate                     string     `json:"UsageEndDate" xml:"UsageEndDate"`
+	OrderType                        string     `json:"OrderType" xml:"OrderType"`
+	GaapPaymentAmount                string     `json:"GaapPaymentAmount" xml:"GaapPaymentAmount"`
+	MonthGaapDeductedByCoupons       string     `json:"MonthGaapDeductedByCoupons" xml:"MonthGaapDeductedByCoupons"`
+	PriceUnitQuantity                string     `json:"PriceUnitQuantity" xml:"PriceUnitQuantity"`
+	PretaxAmountLocal                string     `json:"PretaxAmountLocal" xml:"PretaxAmountLocal"`
+	BillType                         string     `json:"BillType" xml:"BillType"`
+	UnallocatedPaymentAmount         string     `json:"UnallocatedPaymentAmount" xml:"UnallocatedPaymentAmount"`
+	MonthGaapDeductedByCashCoupons   string     `json:"MonthGaapDeductedByCashCoupons" xml:"MonthGaapDeductedByCashCoupons"`
+	ConfigList                       ConfigList `json:"ConfigList" xml:"ConfigList"`
+	TierPrices                       TierPrices `json:"TierPrices" xml:"TierPrices"`
+}

+ 25 - 0
services/bssopenapi/struct_module_detail.go

@@ -0,0 +1,25 @@
+package bssopenapi
+
+//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.
+
+// ModuleDetail is a nested struct in bssopenapi response
+type ModuleDetail struct {
+	InvoiceDiscount   float64 `json:"InvoiceDiscount" xml:"InvoiceDiscount"`
+	UnitPrice         float64 `json:"UnitPrice" xml:"UnitPrice"`
+	OriginalCost      float64 `json:"OriginalCost" xml:"OriginalCost"`
+	CostAfterDiscount float64 `json:"CostAfterDiscount" xml:"CostAfterDiscount"`
+	ModuleCode        string  `json:"ModuleCode" xml:"ModuleCode"`
+}

+ 21 - 0
services/bssopenapi/struct_module_details_in_get_pay_as_you_go_price.go

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

+ 21 - 0
services/bssopenapi/struct_module_details_in_get_subscription_price.go

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

+ 21 - 0
services/bssopenapi/struct_module_list.go

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

+ 21 - 0
services/bssopenapi/struct_modules_in_query_instance_gaap_cost.go

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

+ 21 - 0
services/bssopenapi/struct_modules_in_query_price_list.go

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

+ 42 - 0
services/bssopenapi/struct_order.go

@@ -0,0 +1,42 @@
+package bssopenapi
+
+//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.
+
+// Order is a nested struct in bssopenapi response
+type Order struct {
+	Region            string `json:"Region" xml:"Region"`
+	UsageEndTime      string `json:"UsageEndTime" xml:"UsageEndTime"`
+	PaymentTime       string `json:"PaymentTime" xml:"PaymentTime"`
+	PaymentCurrency   string `json:"PaymentCurrency" xml:"PaymentCurrency"`
+	CreateTime        string `json:"CreateTime" xml:"CreateTime"`
+	ProductType       string `json:"ProductType" xml:"ProductType"`
+	PaymentStatus     string `json:"PaymentStatus" xml:"PaymentStatus"`
+	Currency          string `json:"Currency" xml:"Currency"`
+	SubOrderId        string `json:"SubOrderId" xml:"SubOrderId"`
+	ProductCode       string `json:"ProductCode" xml:"ProductCode"`
+	InstanceIDs       string `json:"InstanceIDs" xml:"InstanceIDs"`
+	AfterTaxAmount    string `json:"AfterTaxAmount" xml:"AfterTaxAmount"`
+	OrderId           string `json:"OrderId" xml:"OrderId"`
+	OrderType         string `json:"OrderType" xml:"OrderType"`
+	Quantity          string `json:"Quantity" xml:"Quantity"`
+	PretaxGrossAmount string `json:"PretaxGrossAmount" xml:"PretaxGrossAmount"`
+	PretaxAmountLocal string `json:"PretaxAmountLocal" xml:"PretaxAmountLocal"`
+	SubscriptionType  string `json:"SubscriptionType" xml:"SubscriptionType"`
+	Tax               string `json:"Tax" xml:"Tax"`
+	Config            string `json:"Config" xml:"Config"`
+	UsageStartTime    string `json:"UsageStartTime" xml:"UsageStartTime"`
+	PretaxAmount      string `json:"PretaxAmount" xml:"PretaxAmount"`
+}

+ 4 - 4
services/cdn/struct_attack_ip_data_list.go → services/bssopenapi/struct_order_list_in_get_order_detail.go

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

+ 21 - 0
services/bssopenapi/struct_order_list_in_query_orders.go

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

+ 24 - 0
services/bssopenapi/struct_package_type.go

@@ -0,0 +1,24 @@
+package bssopenapi
+
+//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.
+
+// PackageType is a nested struct in bssopenapi response
+type PackageType struct {
+	Name           string         `json:"Name" xml:"Name"`
+	Code           string         `json:"Code" xml:"Code"`
+	Properties     Properties     `json:"Properties" xml:"Properties"`
+	Specifications Specifications `json:"Specifications" xml:"Specifications"`
+}

+ 21 - 0
services/bssopenapi/struct_package_types.go

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

+ 30 - 0
services/bssopenapi/struct_prepaid_card.go

@@ -0,0 +1,30 @@
+package bssopenapi
+
+//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.
+
+// PrepaidCard is a nested struct in bssopenapi response
+type PrepaidCard struct {
+	PrepaidCardId       int    `json:"PrepaidCardId" xml:"PrepaidCardId"`
+	PrepaidCardNo       string `json:"PrepaidCardNo" xml:"PrepaidCardNo"`
+	GrantedTime         string `json:"GrantedTime" xml:"GrantedTime"`
+	EffectiveTime       string `json:"EffectiveTime" xml:"EffectiveTime"`
+	ExpiryTime          string `json:"ExpiryTime" xml:"ExpiryTime"`
+	ApplicableProducts  string `json:"ApplicableProducts" xml:"ApplicableProducts"`
+	ApplicableScenarios string `json:"ApplicableScenarios" xml:"ApplicableScenarios"`
+	NominalValue        string `json:"NominalValue" xml:"NominalValue"`
+	Balance             string `json:"Balance" xml:"Balance"`
+	Status              string `json:"Status" xml:"Status"`
+}

+ 24 - 0
services/bssopenapi/struct_product.go

@@ -0,0 +1,24 @@
+package bssopenapi
+
+//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.
+
+// Product is a nested struct in bssopenapi response
+type Product struct {
+	ProductCode      string `json:"ProductCode" xml:"ProductCode"`
+	ProductName      string `json:"ProductName" xml:"ProductName"`
+	ProductType      string `json:"ProductType" xml:"ProductType"`
+	SubscriptionType string `json:"SubscriptionType" xml:"SubscriptionType"`
+}

+ 21 - 0
services/bssopenapi/struct_product_list.go

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

+ 22 - 0
services/bssopenapi/struct_promotion.go

@@ -0,0 +1,22 @@
+package bssopenapi
+
+//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.
+
+// Promotion is a nested struct in bssopenapi response
+type Promotion struct {
+	Id   int    `json:"Id" xml:"Id"`
+	Name string `json:"Name" xml:"Name"`
+}

+ 6 - 6
services/cdn/struct_user_limit_mode.go → services/bssopenapi/struct_promotion_detail.go

@@ -1,4 +1,4 @@
-package cdn
+package bssopenapi
 
 //Licensed under the Apache License, Version 2.0 (the "License");
 //you may not use this file except in compliance with the License.
@@ -15,9 +15,9 @@ package cdn
 // Code generated by Alibaba Cloud SDK Code Generator.
 // Changes may cause incorrect behavior and will be lost if the code is regenerated.
 
-// UserLimitMode is a nested struct in cdn response
-type UserLimitMode struct {
-	LimitDomain       string `json:"LimitDomain" xml:"LimitDomain"`
-	LimitNum          string `json:"LimitNum" xml:"LimitNum"`
-	LimitTranscodeNum string `json:"LimitTranscodeNum" xml:"LimitTranscodeNum"`
+// PromotionDetail is a nested struct in bssopenapi response
+type PromotionDetail struct {
+	PromotionId   int    `json:"PromotionId" xml:"PromotionId"`
+	PromotionName string `json:"PromotionName" xml:"PromotionName"`
+	PromotionDesc string `json:"PromotionDesc" xml:"PromotionDesc"`
 }

+ 21 - 0
services/bssopenapi/struct_promotion_details_in_get_pay_as_you_go_price.go

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

+ 21 - 0
services/bssopenapi/struct_promotion_details_in_get_subscription_price.go

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

+ 21 - 0
services/bssopenapi/struct_promotions.go

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

+ 21 - 0
services/bssopenapi/struct_properties.go

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

+ 22 - 0
services/bssopenapi/struct_property.go

@@ -0,0 +1,22 @@
+package bssopenapi
+
+//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.
+
+// Property is a nested struct in bssopenapi response
+type Property struct {
+	Name  string `json:"Name" xml:"Name"`
+	Value string `json:"Value" xml:"Value"`
+}

+ 7 - 4
services/cdn/struct_online_user_info_in_describe_live_stream_online_user_num_by_domain.go → services/bssopenapi/struct_resource_package.go

@@ -1,4 +1,4 @@
-package cdn
+package bssopenapi
 
 //Licensed under the Apache License, Version 2.0 (the "License");
 //you may not use this file except in compliance with the License.
@@ -15,7 +15,10 @@ package cdn
 // Code generated by Alibaba Cloud SDK Code Generator.
 // Changes may cause incorrect behavior and will be lost if the code is regenerated.
 
-// OnlineUserInfoInDescribeLiveStreamOnlineUserNumByDomain is a nested struct in cdn response
-type OnlineUserInfoInDescribeLiveStreamOnlineUserNumByDomain struct {
-	LiveStreamOnlineUserNumInfo []LiveStreamOnlineUserNumInfo `json:"LiveStreamOnlineUserNumInfo" xml:"LiveStreamOnlineUserNumInfo"`
+// ResourcePackage is a nested struct in bssopenapi response
+type ResourcePackage struct {
+	ProductCode  string       `json:"ProductCode" xml:"ProductCode"`
+	ProductType  string       `json:"ProductType" xml:"ProductType"`
+	Name         string       `json:"Name" xml:"Name"`
+	PackageTypes PackageTypes `json:"PackageTypes" xml:"PackageTypes"`
 }

+ 21 - 0
services/bssopenapi/struct_resource_packages.go

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

+ 6 - 4
services/cdn/struct_online_user_info_in_describe_live_stream_hls_online_user_num_by_domain.go → services/bssopenapi/struct_specification.go

@@ -1,4 +1,4 @@
-package cdn
+package bssopenapi
 
 //Licensed under the Apache License, Version 2.0 (the "License");
 //you may not use this file except in compliance with the License.
@@ -15,7 +15,9 @@ package cdn
 // Code generated by Alibaba Cloud SDK Code Generator.
 // Changes may cause incorrect behavior and will be lost if the code is regenerated.
 
-// OnlineUserInfoInDescribeLiveStreamHlsOnlineUserNumByDomain is a nested struct in cdn response
-type OnlineUserInfoInDescribeLiveStreamHlsOnlineUserNumByDomain struct {
-	LiveStreamOnlineUserNumInfo []LiveStreamOnlineUserNumInfo `json:"LiveStreamOnlineUserNumInfo" xml:"LiveStreamOnlineUserNumInfo"`
+// Specification is a nested struct in bssopenapi response
+type Specification struct {
+	Name               string             `json:"Name" xml:"Name"`
+	Value              string             `json:"Value" xml:"Value"`
+	AvailableDurations AvailableDurations `json:"AvailableDurations" xml:"AvailableDurations"`
 }

+ 21 - 0
services/bssopenapi/struct_specifications.go

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

+ 27 - 0
services/bssopenapi/struct_tier_price.go

@@ -0,0 +1,27 @@
+package bssopenapi
+
+//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.
+
+// TierPrice is a nested struct in bssopenapi response
+type TierPrice struct {
+	TierStart   string `json:"TierStart" xml:"TierStart"`
+	StartSymbol string `json:"StartSymbol" xml:"StartSymbol"`
+	TierEnd     string `json:"TierEnd" xml:"TierEnd"`
+	EndSymbol   string `json:"EndSymbol" xml:"EndSymbol"`
+	TierType    string `json:"TierType" xml:"TierType"`
+	PriceType   string `json:"PriceType" xml:"PriceType"`
+	Price       string `json:"Price" xml:"Price"`
+}

+ 21 - 0
services/bssopenapi/struct_tier_prices.go

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

+ 108 - 0
services/bssopenapi/subscribe_detail.go

@@ -0,0 +1,108 @@
+package bssopenapi
+
+//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"
+)
+
+// SubscribeDetail invokes the bssopenapi.SubscribeDetail API synchronously
+// api document: https://help.aliyun.com/api/bssopenapi/subscribedetail.html
+func (client *Client) SubscribeDetail(request *SubscribeDetailRequest) (response *SubscribeDetailResponse, err error) {
+	response = CreateSubscribeDetailResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// SubscribeDetailWithChan invokes the bssopenapi.SubscribeDetail API asynchronously
+// api document: https://help.aliyun.com/api/bssopenapi/subscribedetail.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SubscribeDetailWithChan(request *SubscribeDetailRequest) (<-chan *SubscribeDetailResponse, <-chan error) {
+	responseChan := make(chan *SubscribeDetailResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.SubscribeDetail(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// SubscribeDetailWithCallback invokes the bssopenapi.SubscribeDetail API asynchronously
+// api document: https://help.aliyun.com/api/bssopenapi/subscribedetail.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SubscribeDetailWithCallback(request *SubscribeDetailRequest, callback func(response *SubscribeDetailResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *SubscribeDetailResponse
+		var err error
+		defer close(result)
+		response, err = client.SubscribeDetail(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// SubscribeDetailRequest is the request struct for api SubscribeDetail
+type SubscribeDetailRequest struct {
+	*requests.RpcRequest
+	BucketOwnerId   requests.Integer `position:"Query" name:"BucketOwnerId"`
+	SubscribeType   *[]string        `position:"Query" name:"SubscribeType"  type:"Repeated"`
+	SubscribeBucket string           `position:"Query" name:"SubscribeBucket"`
+}
+
+// SubscribeDetailResponse is the response struct for api SubscribeDetail
+type SubscribeDetailResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Success   bool   `json:"Success" xml:"Success"`
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+}
+
+// CreateSubscribeDetailRequest creates a request to invoke SubscribeDetail API
+func CreateSubscribeDetailRequest() (request *SubscribeDetailRequest) {
+	request = &SubscribeDetailRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("BssOpenApi", "2017-12-14", "SubscribeDetail", "", "")
+	return
+}
+
+// CreateSubscribeDetailResponse creates a response to parse from SubscribeDetail response
+func CreateSubscribeDetailResponse() (response *SubscribeDetailResponse) {
+	response = &SubscribeDetailResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/bssopenapi/subscribe_export_to_oss.go

@@ -0,0 +1,108 @@
+package bssopenapi
+
+//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"
+)
+
+// SubscribeExportToOSS invokes the bssopenapi.SubscribeExportToOSS API synchronously
+// api document: https://help.aliyun.com/api/bssopenapi/subscribeexporttooss.html
+func (client *Client) SubscribeExportToOSS(request *SubscribeExportToOSSRequest) (response *SubscribeExportToOSSResponse, err error) {
+	response = CreateSubscribeExportToOSSResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// SubscribeExportToOSSWithChan invokes the bssopenapi.SubscribeExportToOSS API asynchronously
+// api document: https://help.aliyun.com/api/bssopenapi/subscribeexporttooss.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SubscribeExportToOSSWithChan(request *SubscribeExportToOSSRequest) (<-chan *SubscribeExportToOSSResponse, <-chan error) {
+	responseChan := make(chan *SubscribeExportToOSSResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.SubscribeExportToOSS(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// SubscribeExportToOSSWithCallback invokes the bssopenapi.SubscribeExportToOSS API asynchronously
+// api document: https://help.aliyun.com/api/bssopenapi/subscribeexporttooss.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SubscribeExportToOSSWithCallback(request *SubscribeExportToOSSRequest, callback func(response *SubscribeExportToOSSResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *SubscribeExportToOSSResponse
+		var err error
+		defer close(result)
+		response, err = client.SubscribeExportToOSS(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// SubscribeExportToOSSRequest is the request struct for api SubscribeExportToOSS
+type SubscribeExportToOSSRequest struct {
+	*requests.RpcRequest
+	BucketOwnerId   requests.Integer `position:"Query" name:"BucketOwnerId"`
+	SubscribeType   *[]string        `position:"Query" name:"SubscribeType"  type:"Repeated"`
+	SubscribeBucket string           `position:"Query" name:"SubscribeBucket"`
+}
+
+// SubscribeExportToOSSResponse is the response struct for api SubscribeExportToOSS
+type SubscribeExportToOSSResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Success   bool   `json:"Success" xml:"Success"`
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+}
+
+// CreateSubscribeExportToOSSRequest creates a request to invoke SubscribeExportToOSS API
+func CreateSubscribeExportToOSSRequest() (request *SubscribeExportToOSSRequest) {
+	request = &SubscribeExportToOSSRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("BssOpenApi", "2017-12-14", "SubscribeExportToOSS", "", "")
+	return
+}
+
+// CreateSubscribeExportToOSSResponse creates a response to parse from SubscribeExportToOSS response
+func CreateSubscribeExportToOSSResponse() (response *SubscribeExportToOSSResponse) {
+	response = &SubscribeExportToOSSResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 105 - 0
services/bssopenapi/unsubscribe_export_to_oss.go

@@ -0,0 +1,105 @@
+package bssopenapi
+
+//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"
+)
+
+// UnsubscribeExportToOSS invokes the bssopenapi.UnsubscribeExportToOSS API synchronously
+// api document: https://help.aliyun.com/api/bssopenapi/unsubscribeexporttooss.html
+func (client *Client) UnsubscribeExportToOSS(request *UnsubscribeExportToOSSRequest) (response *UnsubscribeExportToOSSResponse, err error) {
+	response = CreateUnsubscribeExportToOSSResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// UnsubscribeExportToOSSWithChan invokes the bssopenapi.UnsubscribeExportToOSS API asynchronously
+// api document: https://help.aliyun.com/api/bssopenapi/unsubscribeexporttooss.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) UnsubscribeExportToOSSWithChan(request *UnsubscribeExportToOSSRequest) (<-chan *UnsubscribeExportToOSSResponse, <-chan error) {
+	responseChan := make(chan *UnsubscribeExportToOSSResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.UnsubscribeExportToOSS(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// UnsubscribeExportToOSSWithCallback invokes the bssopenapi.UnsubscribeExportToOSS API asynchronously
+// api document: https://help.aliyun.com/api/bssopenapi/unsubscribeexporttooss.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) UnsubscribeExportToOSSWithCallback(request *UnsubscribeExportToOSSRequest, callback func(response *UnsubscribeExportToOSSResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *UnsubscribeExportToOSSResponse
+		var err error
+		defer close(result)
+		response, err = client.UnsubscribeExportToOSS(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// UnsubscribeExportToOSSRequest is the request struct for api UnsubscribeExportToOSS
+type UnsubscribeExportToOSSRequest struct {
+	*requests.RpcRequest
+}
+
+// UnsubscribeExportToOSSResponse is the response struct for api UnsubscribeExportToOSS
+type UnsubscribeExportToOSSResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Success   bool   `json:"Success" xml:"Success"`
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+}
+
+// CreateUnsubscribeExportToOSSRequest creates a request to invoke UnsubscribeExportToOSS API
+func CreateUnsubscribeExportToOSSRequest() (request *UnsubscribeExportToOSSRequest) {
+	request = &UnsubscribeExportToOSSRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("BssOpenApi", "2017-12-14", "UnsubscribeExportToOSS", "", "")
+	return
+}
+
+// CreateUnsubscribeExportToOSSResponse creates a response to parse from UnsubscribeExportToOSS response
+func CreateUnsubscribeExportToOSSResponse() (response *UnsubscribeExportToOSSResponse) {
+	response = &UnsubscribeExportToOSSResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 81 - 0
services/ccs/client.go

@@ -0,0 +1,81 @@
+package ccs
+
+//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"
+)
+
+// Client is the sdk client struct, each func corresponds to an OpenAPI
+type Client struct {
+	sdk.Client
+}
+
+// NewClient creates a sdk client with environment variables
+func NewClient() (client *Client, err error) {
+	client = &Client{}
+	err = client.Init()
+	return
+}
+
+// NewClientWithOptions creates a sdk client with regionId/sdkConfig/credential
+// this is the common api to create a sdk client
+func NewClientWithOptions(regionId string, config *sdk.Config, credential auth.Credential) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithOptions(regionId, config, credential)
+	return
+}
+
+// NewClientWithAccessKey is a shortcut to create sdk client with accesskey
+// usage: https://help.aliyun.com/document_detail/66217.html
+func NewClientWithAccessKey(regionId, accessKeyId, accessKeySecret string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithAccessKey(regionId, accessKeyId, accessKeySecret)
+	return
+}
+
+// NewClientWithStsToken is a shortcut to create sdk client with sts token
+// usage: https://help.aliyun.com/document_detail/66222.html
+func NewClientWithStsToken(regionId, stsAccessKeyId, stsAccessKeySecret, stsToken string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithStsToken(regionId, stsAccessKeyId, stsAccessKeySecret, stsToken)
+	return
+}
+
+// NewClientWithRamRoleArn is a shortcut to create sdk client with ram roleArn
+// usage: https://help.aliyun.com/document_detail/66222.html
+func NewClientWithRamRoleArn(regionId string, accessKeyId, accessKeySecret, roleArn, roleSessionName string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithRamRoleArn(regionId, accessKeyId, accessKeySecret, roleArn, roleSessionName)
+	return
+}
+
+// NewClientWithEcsRamRole is a shortcut to create sdk client with ecs ram role
+// usage: https://help.aliyun.com/document_detail/66223.html
+func NewClientWithEcsRamRole(regionId string, roleName string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithEcsRamRole(regionId, roleName)
+	return
+}
+
+// NewClientWithRsaKeyPair is a shortcut to create sdk client with rsa key pair
+// attention: rsa key pair auth is only Japan regions available
+func NewClientWithRsaKeyPair(regionId string, publicKeyId, privateKey string, sessionExpiration int) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithRsaKeyPair(regionId, publicKeyId, privateKey, sessionExpiration)
+	return
+}

+ 124 - 0
services/ccs/get_hotline_record.go

@@ -0,0 +1,124 @@
+package ccs
+
+//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"
+)
+
+// GetHotlineRecord invokes the ccs.GetHotlineRecord API synchronously
+// api document: https://help.aliyun.com/api/ccs/gethotlinerecord.html
+func (client *Client) GetHotlineRecord(request *GetHotlineRecordRequest) (response *GetHotlineRecordResponse, err error) {
+	response = CreateGetHotlineRecordResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GetHotlineRecordWithChan invokes the ccs.GetHotlineRecord API asynchronously
+// api document: https://help.aliyun.com/api/ccs/gethotlinerecord.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetHotlineRecordWithChan(request *GetHotlineRecordRequest) (<-chan *GetHotlineRecordResponse, <-chan error) {
+	responseChan := make(chan *GetHotlineRecordResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetHotlineRecord(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// GetHotlineRecordWithCallback invokes the ccs.GetHotlineRecord API asynchronously
+// api document: https://help.aliyun.com/api/ccs/gethotlinerecord.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetHotlineRecordWithCallback(request *GetHotlineRecordRequest, callback func(response *GetHotlineRecordResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetHotlineRecordResponse
+		var err error
+		defer close(result)
+		response, err = client.GetHotlineRecord(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// GetHotlineRecordRequest is the request struct for api GetHotlineRecord
+type GetHotlineRecordRequest struct {
+	*requests.RpcRequest
+	Id            string `position:"Query" name:"Id"`
+	CcsInstanceId string `position:"Query" name:"CcsInstanceId"`
+}
+
+// GetHotlineRecordResponse is the response struct for api GetHotlineRecord
+type GetHotlineRecordResponse struct {
+	*responses.BaseResponse
+	RequestId       string `json:"RequestId" xml:"RequestId"`
+	Id              string `json:"Id" xml:"Id"`
+	CallType        string `json:"CallType" xml:"CallType"`
+	VisitorId       string `json:"VisitorId" xml:"VisitorId"`
+	VisitorPhone    string `json:"VisitorPhone" xml:"VisitorPhone"`
+	VisitorProvince string `json:"VisitorProvince" xml:"VisitorProvince"`
+	SceneId         string `json:"SceneId" xml:"SceneId"`
+	AgentId         string `json:"AgentId" xml:"AgentId"`
+	AgentName       string `json:"AgentName" xml:"AgentName"`
+	CreateTime      string `json:"CreateTime" xml:"CreateTime"`
+	FinishTime      string `json:"FinishTime" xml:"FinishTime"`
+	Status          string `json:"Status" xml:"Status"`
+	Memo            string `json:"Memo" xml:"Memo"`
+	HangupType      string `json:"HangupType" xml:"HangupType"`
+	Satisfaction    string `json:"Satisfaction" xml:"Satisfaction"`
+	OutboundTaskId  string `json:"OutboundTaskId" xml:"OutboundTaskId"`
+	Categories      string `json:"Categories" xml:"Categories"`
+	CcsInstanceId   string `json:"CcsInstanceId" xml:"CcsInstanceId"`
+	TalkDuration    int    `json:"TalkDuration" xml:"TalkDuration"`
+	GroupId         string `json:"GroupId" xml:"GroupId"`
+	GroupName       string `json:"GroupName" xml:"GroupName"`
+}
+
+// CreateGetHotlineRecordRequest creates a request to invoke GetHotlineRecord API
+func CreateGetHotlineRecordRequest() (request *GetHotlineRecordRequest) {
+	request = &GetHotlineRecordRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Ccs", "2017-10-01", "GetHotlineRecord", "ccs", "openAPI")
+	return
+}
+
+// CreateGetHotlineRecordResponse creates a response to parse from GetHotlineRecord response
+func CreateGetHotlineRecordResponse() (response *GetHotlineRecordResponse) {
+	response = &GetHotlineRecordResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 122 - 0
services/ccs/query_hotline_record.go

@@ -0,0 +1,122 @@
+package ccs
+
+//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"
+)
+
+// QueryHotlineRecord invokes the ccs.QueryHotlineRecord API synchronously
+// api document: https://help.aliyun.com/api/ccs/queryhotlinerecord.html
+func (client *Client) QueryHotlineRecord(request *QueryHotlineRecordRequest) (response *QueryHotlineRecordResponse, err error) {
+	response = CreateQueryHotlineRecordResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// QueryHotlineRecordWithChan invokes the ccs.QueryHotlineRecord API asynchronously
+// api document: https://help.aliyun.com/api/ccs/queryhotlinerecord.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryHotlineRecordWithChan(request *QueryHotlineRecordRequest) (<-chan *QueryHotlineRecordResponse, <-chan error) {
+	responseChan := make(chan *QueryHotlineRecordResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.QueryHotlineRecord(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// QueryHotlineRecordWithCallback invokes the ccs.QueryHotlineRecord API asynchronously
+// api document: https://help.aliyun.com/api/ccs/queryhotlinerecord.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryHotlineRecordWithCallback(request *QueryHotlineRecordRequest, callback func(response *QueryHotlineRecordResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *QueryHotlineRecordResponse
+		var err error
+		defer close(result)
+		response, err = client.QueryHotlineRecord(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// QueryHotlineRecordRequest is the request struct for api QueryHotlineRecord
+type QueryHotlineRecordRequest struct {
+	*requests.RpcRequest
+	AgentId         string           `position:"Query" name:"AgentId"`
+	MaxTalkDuration requests.Integer `position:"Query" name:"MaxTalkDuration"`
+	GroupId         string           `position:"Query" name:"GroupId"`
+	EndTime         string           `position:"Query" name:"EndTime"`
+	StartTime       string           `position:"Query" name:"StartTime"`
+	PageNum         requests.Integer `position:"Query" name:"PageNum"`
+	Satisfaction    string           `position:"Query" name:"Satisfaction"`
+	MinTalkDuratoin requests.Integer `position:"Query" name:"MinTalkDuratoin"`
+	CategoryIds     string           `position:"Query" name:"CategoryIds"`
+	VisitorProvince string           `position:"Query" name:"VisitorProvince"`
+	PageSize        requests.Integer `position:"Query" name:"PageSize"`
+	CallType        string           `position:"Query" name:"CallType"`
+	CcsInstanceId   string           `position:"Query" name:"CcsInstanceId"`
+	VisitorPhone    string           `position:"Query" name:"VisitorPhone"`
+	VisitorId       string           `position:"Query" name:"VisitorId"`
+	Status          string           `position:"Query" name:"Status"`
+}
+
+// QueryHotlineRecordResponse is the response struct for api QueryHotlineRecord
+type QueryHotlineRecordResponse struct {
+	*responses.BaseResponse
+	RequestId  string  `json:"RequestId" xml:"RequestId"`
+	TotalCount int     `json:"TotalCount" xml:"TotalCount"`
+	PageNum    int     `json:"PageNum" xml:"PageNum"`
+	PageSize   int     `json:"PageSize" xml:"PageSize"`
+	Records    Records `json:"Records" xml:"Records"`
+}
+
+// CreateQueryHotlineRecordRequest creates a request to invoke QueryHotlineRecord API
+func CreateQueryHotlineRecordRequest() (request *QueryHotlineRecordRequest) {
+	request = &QueryHotlineRecordRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Ccs", "2017-10-01", "QueryHotlineRecord", "ccs", "openAPI")
+	return
+}
+
+// CreateQueryHotlineRecordResponse creates a response to parse from QueryHotlineRecord response
+func CreateQueryHotlineRecordResponse() (response *QueryHotlineRecordResponse) {
+	response = &QueryHotlineRecordResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 39 - 0
services/ccs/struct_hotline_record.go

@@ -0,0 +1,39 @@
+package ccs
+
+//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.
+
+// HotlineRecord is a nested struct in ccs response
+type HotlineRecord struct {
+	Id              string `json:"Id" xml:"Id"`
+	VisitorId       string `json:"VisitorId" xml:"VisitorId"`
+	VisitorPhone    string `json:"VisitorPhone" xml:"VisitorPhone"`
+	VisitorProvince string `json:"VisitorProvince" xml:"VisitorProvince"`
+	CallType        string `json:"CallType" xml:"CallType"`
+	AgentId         string `json:"AgentId" xml:"AgentId"`
+	AgentName       string `json:"AgentName" xml:"AgentName"`
+	GroupId         string `json:"GroupId" xml:"GroupId"`
+	GroupName       string `json:"GroupName" xml:"GroupName"`
+	CreateTime      string `json:"CreateTime" xml:"CreateTime"`
+	FinishTime      string `json:"FinishTime" xml:"FinishTime"`
+	Status          string `json:"Status" xml:"Status"`
+	Memo            string `json:"Memo" xml:"Memo"`
+	HangupType      string `json:"HangupType" xml:"HangupType"`
+	Satisfaction    string `json:"Satisfaction" xml:"Satisfaction"`
+	OutboundTaskId  string `json:"OutboundTaskId" xml:"OutboundTaskId"`
+	Categories      string `json:"Categories" xml:"Categories"`
+	CcsInstanceId   string `json:"CcsInstanceId" xml:"CcsInstanceId"`
+	TalkDuration    int    `json:"TalkDuration" xml:"TalkDuration"`
+}

+ 21 - 0
services/ccs/struct_records.go

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

+ 0 - 1
services/cdn/add_cdn_domain.go

@@ -80,7 +80,6 @@ type AddCdnDomainRequest struct {
 	Sources         string           `position:"Query" name:"Sources"`
 	OwnerAccount    string           `position:"Query" name:"OwnerAccount"`
 	DomainName      string           `position:"Query" name:"DomainName"`
-	LiveType        string           `position:"Query" name:"LiveType"`
 	OwnerId         requests.Integer `position:"Query" name:"OwnerId"`
 	ResourceGroupId string           `position:"Query" name:"ResourceGroupId"`
 	SourcePort      requests.Integer `position:"Query" name:"SourcePort"`

+ 0 - 110
services/cdn/add_live_pull_stream_info.go

@@ -1,110 +0,0 @@
-package cdn
-
-//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"
-)
-
-// AddLivePullStreamInfo invokes the cdn.AddLivePullStreamInfo API synchronously
-// api document: https://help.aliyun.com/api/cdn/addlivepullstreaminfo.html
-func (client *Client) AddLivePullStreamInfo(request *AddLivePullStreamInfoRequest) (response *AddLivePullStreamInfoResponse, err error) {
-	response = CreateAddLivePullStreamInfoResponse()
-	err = client.DoAction(request, response)
-	return
-}
-
-// AddLivePullStreamInfoWithChan invokes the cdn.AddLivePullStreamInfo API asynchronously
-// api document: https://help.aliyun.com/api/cdn/addlivepullstreaminfo.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) AddLivePullStreamInfoWithChan(request *AddLivePullStreamInfoRequest) (<-chan *AddLivePullStreamInfoResponse, <-chan error) {
-	responseChan := make(chan *AddLivePullStreamInfoResponse, 1)
-	errChan := make(chan error, 1)
-	err := client.AddAsyncTask(func() {
-		defer close(responseChan)
-		defer close(errChan)
-		response, err := client.AddLivePullStreamInfo(request)
-		if err != nil {
-			errChan <- err
-		} else {
-			responseChan <- response
-		}
-	})
-	if err != nil {
-		errChan <- err
-		close(responseChan)
-		close(errChan)
-	}
-	return responseChan, errChan
-}
-
-// AddLivePullStreamInfoWithCallback invokes the cdn.AddLivePullStreamInfo API asynchronously
-// api document: https://help.aliyun.com/api/cdn/addlivepullstreaminfo.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) AddLivePullStreamInfoWithCallback(request *AddLivePullStreamInfoRequest, callback func(response *AddLivePullStreamInfoResponse, err error)) <-chan int {
-	result := make(chan int, 1)
-	err := client.AddAsyncTask(func() {
-		var response *AddLivePullStreamInfoResponse
-		var err error
-		defer close(result)
-		response, err = client.AddLivePullStreamInfo(request)
-		callback(response, err)
-		result <- 1
-	})
-	if err != nil {
-		defer close(result)
-		callback(nil, err)
-		result <- 0
-	}
-	return result
-}
-
-// AddLivePullStreamInfoRequest is the request struct for api AddLivePullStreamInfo
-type AddLivePullStreamInfoRequest struct {
-	*requests.RpcRequest
-	SourceUrl     string           `position:"Query" name:"SourceUrl"`
-	AppName       string           `position:"Query" name:"AppName"`
-	SecurityToken string           `position:"Query" name:"SecurityToken"`
-	DomainName    string           `position:"Query" name:"DomainName"`
-	EndTime       string           `position:"Query" name:"EndTime"`
-	StartTime     string           `position:"Query" name:"StartTime"`
-	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
-	StreamName    string           `position:"Query" name:"StreamName"`
-}
-
-// AddLivePullStreamInfoResponse is the response struct for api AddLivePullStreamInfo
-type AddLivePullStreamInfoResponse struct {
-	*responses.BaseResponse
-	RequestId string `json:"RequestId" xml:"RequestId"`
-}
-
-// CreateAddLivePullStreamInfoRequest creates a request to invoke AddLivePullStreamInfo API
-func CreateAddLivePullStreamInfoRequest() (request *AddLivePullStreamInfoRequest) {
-	request = &AddLivePullStreamInfoRequest{
-		RpcRequest: &requests.RpcRequest{},
-	}
-	request.InitWithApiInfo("Cdn", "2014-11-11", "AddLivePullStreamInfo", "", "")
-	return
-}
-
-// CreateAddLivePullStreamInfoResponse creates a response to parse from AddLivePullStreamInfo response
-func CreateAddLivePullStreamInfoResponse() (response *AddLivePullStreamInfoResponse) {
-	response = &AddLivePullStreamInfoResponse{
-		BaseResponse: &responses.BaseResponse{},
-	}
-	return
-}

+ 0 - 112
services/cdn/batch_describe_domain_bps_data.go

@@ -1,112 +0,0 @@
-package cdn
-
-//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"
-)
-
-// BatchDescribeDomainBpsData invokes the cdn.BatchDescribeDomainBpsData API synchronously
-// api document: https://help.aliyun.com/api/cdn/batchdescribedomainbpsdata.html
-func (client *Client) BatchDescribeDomainBpsData(request *BatchDescribeDomainBpsDataRequest) (response *BatchDescribeDomainBpsDataResponse, err error) {
-	response = CreateBatchDescribeDomainBpsDataResponse()
-	err = client.DoAction(request, response)
-	return
-}
-
-// BatchDescribeDomainBpsDataWithChan invokes the cdn.BatchDescribeDomainBpsData API asynchronously
-// api document: https://help.aliyun.com/api/cdn/batchdescribedomainbpsdata.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) BatchDescribeDomainBpsDataWithChan(request *BatchDescribeDomainBpsDataRequest) (<-chan *BatchDescribeDomainBpsDataResponse, <-chan error) {
-	responseChan := make(chan *BatchDescribeDomainBpsDataResponse, 1)
-	errChan := make(chan error, 1)
-	err := client.AddAsyncTask(func() {
-		defer close(responseChan)
-		defer close(errChan)
-		response, err := client.BatchDescribeDomainBpsData(request)
-		if err != nil {
-			errChan <- err
-		} else {
-			responseChan <- response
-		}
-	})
-	if err != nil {
-		errChan <- err
-		close(responseChan)
-		close(errChan)
-	}
-	return responseChan, errChan
-}
-
-// BatchDescribeDomainBpsDataWithCallback invokes the cdn.BatchDescribeDomainBpsData API asynchronously
-// api document: https://help.aliyun.com/api/cdn/batchdescribedomainbpsdata.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) BatchDescribeDomainBpsDataWithCallback(request *BatchDescribeDomainBpsDataRequest, callback func(response *BatchDescribeDomainBpsDataResponse, err error)) <-chan int {
-	result := make(chan int, 1)
-	err := client.AddAsyncTask(func() {
-		var response *BatchDescribeDomainBpsDataResponse
-		var err error
-		defer close(result)
-		response, err = client.BatchDescribeDomainBpsData(request)
-		callback(response, err)
-		result <- 1
-	})
-	if err != nil {
-		defer close(result)
-		callback(nil, err)
-		result <- 0
-	}
-	return result
-}
-
-// BatchDescribeDomainBpsDataRequest is the request struct for api BatchDescribeDomainBpsData
-type BatchDescribeDomainBpsDataRequest struct {
-	*requests.RpcRequest
-	StartTime  string           `position:"Query" name:"StartTime"`
-	PageNumber requests.Integer `position:"Query" name:"PageNumber"`
-	PageSize   requests.Integer `position:"Query" name:"PageSize"`
-	DomainName string           `position:"Query" name:"DomainName"`
-	EndTime    string           `position:"Query" name:"EndTime"`
-	OwnerId    requests.Integer `position:"Query" name:"OwnerId"`
-}
-
-// BatchDescribeDomainBpsDataResponse is the response struct for api BatchDescribeDomainBpsData
-type BatchDescribeDomainBpsDataResponse struct {
-	*responses.BaseResponse
-	RequestId  string                               `json:"RequestId" xml:"RequestId"`
-	PageNumber int                                  `json:"PageNumber" xml:"PageNumber"`
-	PageSize   int                                  `json:"PageSize" xml:"PageSize"`
-	TotalCount int                                  `json:"TotalCount" xml:"TotalCount"`
-	BpsDatas   BpsDatasInBatchDescribeDomainBpsData `json:"BpsDatas" xml:"BpsDatas"`
-}
-
-// CreateBatchDescribeDomainBpsDataRequest creates a request to invoke BatchDescribeDomainBpsData API
-func CreateBatchDescribeDomainBpsDataRequest() (request *BatchDescribeDomainBpsDataRequest) {
-	request = &BatchDescribeDomainBpsDataRequest{
-		RpcRequest: &requests.RpcRequest{},
-	}
-	request.InitWithApiInfo("Cdn", "2014-11-11", "BatchDescribeDomainBpsData", "", "")
-	return
-}
-
-// CreateBatchDescribeDomainBpsDataResponse creates a response to parse from BatchDescribeDomainBpsData response
-func CreateBatchDescribeDomainBpsDataResponse() (response *BatchDescribeDomainBpsDataResponse) {
-	response = &BatchDescribeDomainBpsDataResponse{
-		BaseResponse: &responses.BaseResponse{},
-	}
-	return
-}

+ 0 - 107
services/cdn/delete_live_pull_stream_info.go

@@ -1,107 +0,0 @@
-package cdn
-
-//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"
-)
-
-// DeleteLivePullStreamInfo invokes the cdn.DeleteLivePullStreamInfo API synchronously
-// api document: https://help.aliyun.com/api/cdn/deletelivepullstreaminfo.html
-func (client *Client) DeleteLivePullStreamInfo(request *DeleteLivePullStreamInfoRequest) (response *DeleteLivePullStreamInfoResponse, err error) {
-	response = CreateDeleteLivePullStreamInfoResponse()
-	err = client.DoAction(request, response)
-	return
-}
-
-// DeleteLivePullStreamInfoWithChan invokes the cdn.DeleteLivePullStreamInfo API asynchronously
-// api document: https://help.aliyun.com/api/cdn/deletelivepullstreaminfo.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) DeleteLivePullStreamInfoWithChan(request *DeleteLivePullStreamInfoRequest) (<-chan *DeleteLivePullStreamInfoResponse, <-chan error) {
-	responseChan := make(chan *DeleteLivePullStreamInfoResponse, 1)
-	errChan := make(chan error, 1)
-	err := client.AddAsyncTask(func() {
-		defer close(responseChan)
-		defer close(errChan)
-		response, err := client.DeleteLivePullStreamInfo(request)
-		if err != nil {
-			errChan <- err
-		} else {
-			responseChan <- response
-		}
-	})
-	if err != nil {
-		errChan <- err
-		close(responseChan)
-		close(errChan)
-	}
-	return responseChan, errChan
-}
-
-// DeleteLivePullStreamInfoWithCallback invokes the cdn.DeleteLivePullStreamInfo API asynchronously
-// api document: https://help.aliyun.com/api/cdn/deletelivepullstreaminfo.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) DeleteLivePullStreamInfoWithCallback(request *DeleteLivePullStreamInfoRequest, callback func(response *DeleteLivePullStreamInfoResponse, err error)) <-chan int {
-	result := make(chan int, 1)
-	err := client.AddAsyncTask(func() {
-		var response *DeleteLivePullStreamInfoResponse
-		var err error
-		defer close(result)
-		response, err = client.DeleteLivePullStreamInfo(request)
-		callback(response, err)
-		result <- 1
-	})
-	if err != nil {
-		defer close(result)
-		callback(nil, err)
-		result <- 0
-	}
-	return result
-}
-
-// DeleteLivePullStreamInfoRequest is the request struct for api DeleteLivePullStreamInfo
-type DeleteLivePullStreamInfoRequest struct {
-	*requests.RpcRequest
-	AppName       string           `position:"Query" name:"AppName"`
-	SecurityToken string           `position:"Query" name:"SecurityToken"`
-	DomainName    string           `position:"Query" name:"DomainName"`
-	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
-	StreamName    string           `position:"Query" name:"StreamName"`
-}
-
-// DeleteLivePullStreamInfoResponse is the response struct for api DeleteLivePullStreamInfo
-type DeleteLivePullStreamInfoResponse struct {
-	*responses.BaseResponse
-	RequestId string `json:"RequestId" xml:"RequestId"`
-}
-
-// CreateDeleteLivePullStreamInfoRequest creates a request to invoke DeleteLivePullStreamInfo API
-func CreateDeleteLivePullStreamInfoRequest() (request *DeleteLivePullStreamInfoRequest) {
-	request = &DeleteLivePullStreamInfoRequest{
-		RpcRequest: &requests.RpcRequest{},
-	}
-	request.InitWithApiInfo("Cdn", "2014-11-11", "DeleteLivePullStreamInfo", "", "")
-	return
-}
-
-// CreateDeleteLivePullStreamInfoResponse creates a response to parse from DeleteLivePullStreamInfo response
-func CreateDeleteLivePullStreamInfoResponse() (response *DeleteLivePullStreamInfoResponse) {
-	response = &DeleteLivePullStreamInfoResponse{
-		BaseResponse: &responses.BaseResponse{},
-	}
-	return
-}

+ 0 - 106
services/cdn/describe_cdn_domain_base_detail.go

@@ -1,106 +0,0 @@
-package cdn
-
-//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"
-)
-
-// DescribeCdnDomainBaseDetail invokes the cdn.DescribeCdnDomainBaseDetail API synchronously
-// api document: https://help.aliyun.com/api/cdn/describecdndomainbasedetail.html
-func (client *Client) DescribeCdnDomainBaseDetail(request *DescribeCdnDomainBaseDetailRequest) (response *DescribeCdnDomainBaseDetailResponse, err error) {
-	response = CreateDescribeCdnDomainBaseDetailResponse()
-	err = client.DoAction(request, response)
-	return
-}
-
-// DescribeCdnDomainBaseDetailWithChan invokes the cdn.DescribeCdnDomainBaseDetail API asynchronously
-// api document: https://help.aliyun.com/api/cdn/describecdndomainbasedetail.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) DescribeCdnDomainBaseDetailWithChan(request *DescribeCdnDomainBaseDetailRequest) (<-chan *DescribeCdnDomainBaseDetailResponse, <-chan error) {
-	responseChan := make(chan *DescribeCdnDomainBaseDetailResponse, 1)
-	errChan := make(chan error, 1)
-	err := client.AddAsyncTask(func() {
-		defer close(responseChan)
-		defer close(errChan)
-		response, err := client.DescribeCdnDomainBaseDetail(request)
-		if err != nil {
-			errChan <- err
-		} else {
-			responseChan <- response
-		}
-	})
-	if err != nil {
-		errChan <- err
-		close(responseChan)
-		close(errChan)
-	}
-	return responseChan, errChan
-}
-
-// DescribeCdnDomainBaseDetailWithCallback invokes the cdn.DescribeCdnDomainBaseDetail API asynchronously
-// api document: https://help.aliyun.com/api/cdn/describecdndomainbasedetail.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) DescribeCdnDomainBaseDetailWithCallback(request *DescribeCdnDomainBaseDetailRequest, callback func(response *DescribeCdnDomainBaseDetailResponse, err error)) <-chan int {
-	result := make(chan int, 1)
-	err := client.AddAsyncTask(func() {
-		var response *DescribeCdnDomainBaseDetailResponse
-		var err error
-		defer close(result)
-		response, err = client.DescribeCdnDomainBaseDetail(request)
-		callback(response, err)
-		result <- 1
-	})
-	if err != nil {
-		defer close(result)
-		callback(nil, err)
-		result <- 0
-	}
-	return result
-}
-
-// DescribeCdnDomainBaseDetailRequest is the request struct for api DescribeCdnDomainBaseDetail
-type DescribeCdnDomainBaseDetailRequest struct {
-	*requests.RpcRequest
-	SecurityToken string           `position:"Query" name:"SecurityToken"`
-	DomainName    string           `position:"Query" name:"DomainName"`
-	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
-}
-
-// DescribeCdnDomainBaseDetailResponse is the response struct for api DescribeCdnDomainBaseDetail
-type DescribeCdnDomainBaseDetailResponse struct {
-	*responses.BaseResponse
-	RequestId             string                `json:"RequestId" xml:"RequestId"`
-	DomainBaseDetailModel DomainBaseDetailModel `json:"DomainBaseDetailModel" xml:"DomainBaseDetailModel"`
-}
-
-// CreateDescribeCdnDomainBaseDetailRequest creates a request to invoke DescribeCdnDomainBaseDetail API
-func CreateDescribeCdnDomainBaseDetailRequest() (request *DescribeCdnDomainBaseDetailRequest) {
-	request = &DescribeCdnDomainBaseDetailRequest{
-		RpcRequest: &requests.RpcRequest{},
-	}
-	request.InitWithApiInfo("Cdn", "2014-11-11", "DescribeCdnDomainBaseDetail", "", "")
-	return
-}
-
-// CreateDescribeCdnDomainBaseDetailResponse creates a response to parse from DescribeCdnDomainBaseDetail response
-func CreateDescribeCdnDomainBaseDetailResponse() (response *DescribeCdnDomainBaseDetailResponse) {
-	response = &DescribeCdnDomainBaseDetailResponse{
-		BaseResponse: &responses.BaseResponse{},
-	}
-	return
-}

+ 0 - 106
services/cdn/describe_cdn_types.go

@@ -1,106 +0,0 @@
-package cdn
-
-//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"
-)
-
-// DescribeCdnTypes invokes the cdn.DescribeCdnTypes API synchronously
-// api document: https://help.aliyun.com/api/cdn/describecdntypes.html
-func (client *Client) DescribeCdnTypes(request *DescribeCdnTypesRequest) (response *DescribeCdnTypesResponse, err error) {
-	response = CreateDescribeCdnTypesResponse()
-	err = client.DoAction(request, response)
-	return
-}
-
-// DescribeCdnTypesWithChan invokes the cdn.DescribeCdnTypes API asynchronously
-// api document: https://help.aliyun.com/api/cdn/describecdntypes.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) DescribeCdnTypesWithChan(request *DescribeCdnTypesRequest) (<-chan *DescribeCdnTypesResponse, <-chan error) {
-	responseChan := make(chan *DescribeCdnTypesResponse, 1)
-	errChan := make(chan error, 1)
-	err := client.AddAsyncTask(func() {
-		defer close(responseChan)
-		defer close(errChan)
-		response, err := client.DescribeCdnTypes(request)
-		if err != nil {
-			errChan <- err
-		} else {
-			responseChan <- response
-		}
-	})
-	if err != nil {
-		errChan <- err
-		close(responseChan)
-		close(errChan)
-	}
-	return responseChan, errChan
-}
-
-// DescribeCdnTypesWithCallback invokes the cdn.DescribeCdnTypes API asynchronously
-// api document: https://help.aliyun.com/api/cdn/describecdntypes.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) DescribeCdnTypesWithCallback(request *DescribeCdnTypesRequest, callback func(response *DescribeCdnTypesResponse, err error)) <-chan int {
-	result := make(chan int, 1)
-	err := client.AddAsyncTask(func() {
-		var response *DescribeCdnTypesResponse
-		var err error
-		defer close(result)
-		response, err = client.DescribeCdnTypes(request)
-		callback(response, err)
-		result <- 1
-	})
-	if err != nil {
-		defer close(result)
-		callback(nil, err)
-		result <- 0
-	}
-	return result
-}
-
-// DescribeCdnTypesRequest is the request struct for api DescribeCdnTypes
-type DescribeCdnTypesRequest struct {
-	*requests.RpcRequest
-	SecurityToken string           `position:"Query" name:"SecurityToken"`
-	OwnerAccount  string           `position:"Query" name:"OwnerAccount"`
-	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
-}
-
-// DescribeCdnTypesResponse is the response struct for api DescribeCdnTypes
-type DescribeCdnTypesResponse struct {
-	*responses.BaseResponse
-	RequestId string   `json:"RequestId" xml:"RequestId"`
-	CdnTypes  CdnTypes `json:"CdnTypes" xml:"CdnTypes"`
-}
-
-// CreateDescribeCdnTypesRequest creates a request to invoke DescribeCdnTypes API
-func CreateDescribeCdnTypesRequest() (request *DescribeCdnTypesRequest) {
-	request = &DescribeCdnTypesRequest{
-		RpcRequest: &requests.RpcRequest{},
-	}
-	request.InitWithApiInfo("Cdn", "2014-11-11", "DescribeCdnTypes", "", "")
-	return
-}
-
-// CreateDescribeCdnTypesResponse creates a response to parse from DescribeCdnTypes response
-func CreateDescribeCdnTypesResponse() (response *DescribeCdnTypesResponse) {
-	response = &DescribeCdnTypesResponse{
-		BaseResponse: &responses.BaseResponse{},
-	}
-	return
-}

+ 113 - 0
services/cdn/describe_cdn_user_quota.go

@@ -0,0 +1,113 @@
+package cdn
+
+//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"
+)
+
+// DescribeCdnUserQuota invokes the cdn.DescribeCdnUserQuota API synchronously
+// api document: https://help.aliyun.com/api/cdn/describecdnuserquota.html
+func (client *Client) DescribeCdnUserQuota(request *DescribeCdnUserQuotaRequest) (response *DescribeCdnUserQuotaResponse, err error) {
+	response = CreateDescribeCdnUserQuotaResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeCdnUserQuotaWithChan invokes the cdn.DescribeCdnUserQuota API asynchronously
+// api document: https://help.aliyun.com/api/cdn/describecdnuserquota.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeCdnUserQuotaWithChan(request *DescribeCdnUserQuotaRequest) (<-chan *DescribeCdnUserQuotaResponse, <-chan error) {
+	responseChan := make(chan *DescribeCdnUserQuotaResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeCdnUserQuota(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeCdnUserQuotaWithCallback invokes the cdn.DescribeCdnUserQuota API asynchronously
+// api document: https://help.aliyun.com/api/cdn/describecdnuserquota.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeCdnUserQuotaWithCallback(request *DescribeCdnUserQuotaRequest, callback func(response *DescribeCdnUserQuotaResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeCdnUserQuotaResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeCdnUserQuota(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeCdnUserQuotaRequest is the request struct for api DescribeCdnUserQuota
+type DescribeCdnUserQuotaRequest struct {
+	*requests.RpcRequest
+	SecurityToken string           `position:"Query" name:"SecurityToken"`
+	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// DescribeCdnUserQuotaResponse is the response struct for api DescribeCdnUserQuota
+type DescribeCdnUserQuotaResponse struct {
+	*responses.BaseResponse
+	RequestId        string `json:"RequestId" xml:"RequestId"`
+	DomainQuota      int    `json:"DomainQuota" xml:"DomainQuota"`
+	RefreshUrlQuota  int    `json:"RefreshUrlQuota" xml:"RefreshUrlQuota"`
+	RefreshDirQuota  int    `json:"RefreshDirQuota" xml:"RefreshDirQuota"`
+	RefreshUrlRemain int    `json:"RefreshUrlRemain" xml:"RefreshUrlRemain"`
+	RefreshDirRemain int    `json:"RefreshDirRemain" xml:"RefreshDirRemain"`
+	PreloadQuota     int    `json:"PreloadQuota" xml:"PreloadQuota"`
+	PreloadRemain    int    `json:"PreloadRemain" xml:"PreloadRemain"`
+	BlockQuota       int    `json:"BlockQuota" xml:"BlockQuota"`
+	BlockRemain      int    `json:"BlockRemain" xml:"BlockRemain"`
+}
+
+// CreateDescribeCdnUserQuotaRequest creates a request to invoke DescribeCdnUserQuota API
+func CreateDescribeCdnUserQuotaRequest() (request *DescribeCdnUserQuotaRequest) {
+	request = &DescribeCdnUserQuotaRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cdn", "2014-11-11", "DescribeCdnUserQuota", "", "")
+	return
+}
+
+// CreateDescribeCdnUserQuotaResponse creates a response to parse from DescribeCdnUserQuota response
+func CreateDescribeCdnUserQuotaResponse() (response *DescribeCdnUserQuotaResponse) {
+	response = &DescribeCdnUserQuotaResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 2 - 4
services/cdn/describe_custom_log_config.go

@@ -76,10 +76,8 @@ func (client *Client) DescribeCustomLogConfigWithCallback(request *DescribeCusto
 // DescribeCustomLogConfigRequest is the request struct for api DescribeCustomLogConfig
 type DescribeCustomLogConfigRequest struct {
 	*requests.RpcRequest
-	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
-	Version       string           `position:"Query" name:"Version"`
-	SecurityToken string           `position:"Query" name:"SecurityToken"`
-	ConfigId      string           `position:"Query" name:"ConfigId"`
+	OwnerId  requests.Integer `position:"Query" name:"OwnerId"`
+	ConfigId string           `position:"Query" name:"ConfigId"`
 }
 
 // DescribeCustomLogConfigResponse is the response struct for api DescribeCustomLogConfig

+ 0 - 112
services/cdn/describe_domain_cc_attack_info.go

@@ -1,112 +0,0 @@
-package cdn
-
-//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"
-)
-
-// DescribeDomainCCAttackInfo invokes the cdn.DescribeDomainCCAttackInfo API synchronously
-// api document: https://help.aliyun.com/api/cdn/describedomainccattackinfo.html
-func (client *Client) DescribeDomainCCAttackInfo(request *DescribeDomainCCAttackInfoRequest) (response *DescribeDomainCCAttackInfoResponse, err error) {
-	response = CreateDescribeDomainCCAttackInfoResponse()
-	err = client.DoAction(request, response)
-	return
-}
-
-// DescribeDomainCCAttackInfoWithChan invokes the cdn.DescribeDomainCCAttackInfo API asynchronously
-// api document: https://help.aliyun.com/api/cdn/describedomainccattackinfo.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) DescribeDomainCCAttackInfoWithChan(request *DescribeDomainCCAttackInfoRequest) (<-chan *DescribeDomainCCAttackInfoResponse, <-chan error) {
-	responseChan := make(chan *DescribeDomainCCAttackInfoResponse, 1)
-	errChan := make(chan error, 1)
-	err := client.AddAsyncTask(func() {
-		defer close(responseChan)
-		defer close(errChan)
-		response, err := client.DescribeDomainCCAttackInfo(request)
-		if err != nil {
-			errChan <- err
-		} else {
-			responseChan <- response
-		}
-	})
-	if err != nil {
-		errChan <- err
-		close(responseChan)
-		close(errChan)
-	}
-	return responseChan, errChan
-}
-
-// DescribeDomainCCAttackInfoWithCallback invokes the cdn.DescribeDomainCCAttackInfo API asynchronously
-// api document: https://help.aliyun.com/api/cdn/describedomainccattackinfo.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) DescribeDomainCCAttackInfoWithCallback(request *DescribeDomainCCAttackInfoRequest, callback func(response *DescribeDomainCCAttackInfoResponse, err error)) <-chan int {
-	result := make(chan int, 1)
-	err := client.AddAsyncTask(func() {
-		var response *DescribeDomainCCAttackInfoResponse
-		var err error
-		defer close(result)
-		response, err = client.DescribeDomainCCAttackInfo(request)
-		callback(response, err)
-		result <- 1
-	})
-	if err != nil {
-		defer close(result)
-		callback(nil, err)
-		result <- 0
-	}
-	return result
-}
-
-// DescribeDomainCCAttackInfoRequest is the request struct for api DescribeDomainCCAttackInfo
-type DescribeDomainCCAttackInfoRequest struct {
-	*requests.RpcRequest
-	SecurityToken string           `position:"Query" name:"SecurityToken"`
-	DomainName    string           `position:"Query" name:"DomainName"`
-	EndTime       string           `position:"Query" name:"EndTime"`
-	StartTime     string           `position:"Query" name:"StartTime"`
-	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
-}
-
-// DescribeDomainCCAttackInfoResponse is the response struct for api DescribeDomainCCAttackInfo
-type DescribeDomainCCAttackInfoResponse struct {
-	*responses.BaseResponse
-	RequestId           string              `json:"RequestId" xml:"RequestId"`
-	DomainName          string              `json:"DomainName" xml:"DomainName"`
-	StartTime           string              `json:"StartTime" xml:"StartTime"`
-	EndTime             string              `json:"EndTime" xml:"EndTime"`
-	AttackIpDataList    AttackIpDataList    `json:"AttackIpDataList" xml:"AttackIpDataList"`
-	AttackedUrlDataList AttackedUrlDataList `json:"AttackedUrlDataList" xml:"AttackedUrlDataList"`
-}
-
-// CreateDescribeDomainCCAttackInfoRequest creates a request to invoke DescribeDomainCCAttackInfo API
-func CreateDescribeDomainCCAttackInfoRequest() (request *DescribeDomainCCAttackInfoRequest) {
-	request = &DescribeDomainCCAttackInfoRequest{
-		RpcRequest: &requests.RpcRequest{},
-	}
-	request.InitWithApiInfo("Cdn", "2014-11-11", "DescribeDomainCCAttackInfo", "", "")
-	return
-}
-
-// CreateDescribeDomainCCAttackInfoResponse creates a response to parse from DescribeDomainCCAttackInfo response
-func CreateDescribeDomainCCAttackInfoResponse() (response *DescribeDomainCCAttackInfoResponse) {
-	response = &DescribeDomainCCAttackInfoResponse{
-		BaseResponse: &responses.BaseResponse{},
-	}
-	return
-}

+ 2 - 4
services/cdn/describe_domain_custom_log_config.go

@@ -76,10 +76,8 @@ func (client *Client) DescribeDomainCustomLogConfigWithCallback(request *Describ
 // DescribeDomainCustomLogConfigRequest is the request struct for api DescribeDomainCustomLogConfig
 type DescribeDomainCustomLogConfigRequest struct {
 	*requests.RpcRequest
-	DomainName    string           `position:"Query" name:"DomainName"`
-	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
-	Version       string           `position:"Query" name:"Version"`
-	SecurityToken string           `position:"Query" name:"SecurityToken"`
+	DomainName string           `position:"Query" name:"DomainName"`
+	OwnerId    requests.Integer `position:"Query" name:"OwnerId"`
 }
 
 // DescribeDomainCustomLogConfigResponse is the response struct for api DescribeDomainCustomLogConfig

+ 2 - 2
services/cdn/describe_domain_downstream_bps_of_edge.go

@@ -86,8 +86,8 @@ type DescribeDomainDownstreamBpsOfEdgeRequest struct {
 // DescribeDomainDownstreamBpsOfEdgeResponse is the response struct for api DescribeDomainDownstreamBpsOfEdge
 type DescribeDomainDownstreamBpsOfEdgeResponse struct {
 	*responses.BaseResponse
-	RequestId string                                      `json:"RequestId" xml:"RequestId"`
-	BpsDatas  BpsDatasInDescribeDomainDownstreamBpsOfEdge `json:"BpsDatas" xml:"BpsDatas"`
+	RequestId string   `json:"RequestId" xml:"RequestId"`
+	BpsDatas  BpsDatas `json:"BpsDatas" xml:"BpsDatas"`
 }
 
 // CreateDescribeDomainDownstreamBpsOfEdgeRequest creates a request to invoke DescribeDomainDownstreamBpsOfEdge API

+ 0 - 115
services/cdn/describe_domain_https_data.go

@@ -1,115 +0,0 @@
-package cdn
-
-//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"
-)
-
-// DescribeDomainHttpsData invokes the cdn.DescribeDomainHttpsData API synchronously
-// api document: https://help.aliyun.com/api/cdn/describedomainhttpsdata.html
-func (client *Client) DescribeDomainHttpsData(request *DescribeDomainHttpsDataRequest) (response *DescribeDomainHttpsDataResponse, err error) {
-	response = CreateDescribeDomainHttpsDataResponse()
-	err = client.DoAction(request, response)
-	return
-}
-
-// DescribeDomainHttpsDataWithChan invokes the cdn.DescribeDomainHttpsData API asynchronously
-// api document: https://help.aliyun.com/api/cdn/describedomainhttpsdata.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) DescribeDomainHttpsDataWithChan(request *DescribeDomainHttpsDataRequest) (<-chan *DescribeDomainHttpsDataResponse, <-chan error) {
-	responseChan := make(chan *DescribeDomainHttpsDataResponse, 1)
-	errChan := make(chan error, 1)
-	err := client.AddAsyncTask(func() {
-		defer close(responseChan)
-		defer close(errChan)
-		response, err := client.DescribeDomainHttpsData(request)
-		if err != nil {
-			errChan <- err
-		} else {
-			responseChan <- response
-		}
-	})
-	if err != nil {
-		errChan <- err
-		close(responseChan)
-		close(errChan)
-	}
-	return responseChan, errChan
-}
-
-// DescribeDomainHttpsDataWithCallback invokes the cdn.DescribeDomainHttpsData API asynchronously
-// api document: https://help.aliyun.com/api/cdn/describedomainhttpsdata.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) DescribeDomainHttpsDataWithCallback(request *DescribeDomainHttpsDataRequest, callback func(response *DescribeDomainHttpsDataResponse, err error)) <-chan int {
-	result := make(chan int, 1)
-	err := client.AddAsyncTask(func() {
-		var response *DescribeDomainHttpsDataResponse
-		var err error
-		defer close(result)
-		response, err = client.DescribeDomainHttpsData(request)
-		callback(response, err)
-		result <- 1
-	})
-	if err != nil {
-		defer close(result)
-		callback(nil, err)
-		result <- 0
-	}
-	return result
-}
-
-// DescribeDomainHttpsDataRequest is the request struct for api DescribeDomainHttpsData
-type DescribeDomainHttpsDataRequest struct {
-	*requests.RpcRequest
-	DomainType    string           `position:"Query" name:"DomainType"`
-	FixTimeGap    string           `position:"Query" name:"FixTimeGap"`
-	SecurityToken string           `position:"Query" name:"SecurityToken"`
-	TimeMerge     string           `position:"Query" name:"TimeMerge"`
-	DomainNames   string           `position:"Query" name:"DomainNames"`
-	EndTime       string           `position:"Query" name:"EndTime"`
-	Interval      string           `position:"Query" name:"Interval"`
-	StartTime     string           `position:"Query" name:"StartTime"`
-	Cls           string           `position:"Query" name:"Cls"`
-	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
-}
-
-// DescribeDomainHttpsDataResponse is the response struct for api DescribeDomainHttpsData
-type DescribeDomainHttpsDataResponse struct {
-	*responses.BaseResponse
-	RequestId            string               `json:"RequestId" xml:"RequestId"`
-	DomainNames          string               `json:"DomainNames" xml:"DomainNames"`
-	DataInterval         string               `json:"DataInterval" xml:"DataInterval"`
-	HttpsStatisticsInfos HttpsStatisticsInfos `json:"HttpsStatisticsInfos" xml:"HttpsStatisticsInfos"`
-}
-
-// CreateDescribeDomainHttpsDataRequest creates a request to invoke DescribeDomainHttpsData API
-func CreateDescribeDomainHttpsDataRequest() (request *DescribeDomainHttpsDataRequest) {
-	request = &DescribeDomainHttpsDataRequest{
-		RpcRequest: &requests.RpcRequest{},
-	}
-	request.InitWithApiInfo("Cdn", "2014-11-11", "DescribeDomainHttpsData", "", "")
-	return
-}
-
-// CreateDescribeDomainHttpsDataResponse creates a response to parse from DescribeDomainHttpsData response
-func CreateDescribeDomainHttpsDataResponse() (response *DescribeDomainHttpsDataResponse) {
-	response = &DescribeDomainHttpsDataResponse{
-		BaseResponse: &responses.BaseResponse{},
-	}
-	return
-}

+ 0 - 120
services/cdn/describe_domain_month_billing_bps_data.go

@@ -1,120 +0,0 @@
-package cdn
-
-//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"
-)
-
-// DescribeDomainMonthBillingBpsData invokes the cdn.DescribeDomainMonthBillingBpsData API synchronously
-// api document: https://help.aliyun.com/api/cdn/describedomainmonthbillingbpsdata.html
-func (client *Client) DescribeDomainMonthBillingBpsData(request *DescribeDomainMonthBillingBpsDataRequest) (response *DescribeDomainMonthBillingBpsDataResponse, err error) {
-	response = CreateDescribeDomainMonthBillingBpsDataResponse()
-	err = client.DoAction(request, response)
-	return
-}
-
-// DescribeDomainMonthBillingBpsDataWithChan invokes the cdn.DescribeDomainMonthBillingBpsData API asynchronously
-// api document: https://help.aliyun.com/api/cdn/describedomainmonthbillingbpsdata.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) DescribeDomainMonthBillingBpsDataWithChan(request *DescribeDomainMonthBillingBpsDataRequest) (<-chan *DescribeDomainMonthBillingBpsDataResponse, <-chan error) {
-	responseChan := make(chan *DescribeDomainMonthBillingBpsDataResponse, 1)
-	errChan := make(chan error, 1)
-	err := client.AddAsyncTask(func() {
-		defer close(responseChan)
-		defer close(errChan)
-		response, err := client.DescribeDomainMonthBillingBpsData(request)
-		if err != nil {
-			errChan <- err
-		} else {
-			responseChan <- response
-		}
-	})
-	if err != nil {
-		errChan <- err
-		close(responseChan)
-		close(errChan)
-	}
-	return responseChan, errChan
-}
-
-// DescribeDomainMonthBillingBpsDataWithCallback invokes the cdn.DescribeDomainMonthBillingBpsData API asynchronously
-// api document: https://help.aliyun.com/api/cdn/describedomainmonthbillingbpsdata.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) DescribeDomainMonthBillingBpsDataWithCallback(request *DescribeDomainMonthBillingBpsDataRequest, callback func(response *DescribeDomainMonthBillingBpsDataResponse, err error)) <-chan int {
-	result := make(chan int, 1)
-	err := client.AddAsyncTask(func() {
-		var response *DescribeDomainMonthBillingBpsDataResponse
-		var err error
-		defer close(result)
-		response, err = client.DescribeDomainMonthBillingBpsData(request)
-		callback(response, err)
-		result <- 1
-	})
-	if err != nil {
-		defer close(result)
-		callback(nil, err)
-		result <- 0
-	}
-	return result
-}
-
-// DescribeDomainMonthBillingBpsDataRequest is the request struct for api DescribeDomainMonthBillingBpsData
-type DescribeDomainMonthBillingBpsDataRequest struct {
-	*requests.RpcRequest
-	SecurityToken      string           `position:"Query" name:"SecurityToken"`
-	InternetChargeType string           `position:"Query" name:"InternetChargeType"`
-	DomainName         string           `position:"Query" name:"DomainName"`
-	EndTime            string           `position:"Query" name:"EndTime"`
-	StartTime          string           `position:"Query" name:"StartTime"`
-	OwnerId            requests.Integer `position:"Query" name:"OwnerId"`
-}
-
-// DescribeDomainMonthBillingBpsDataResponse is the response struct for api DescribeDomainMonthBillingBpsData
-type DescribeDomainMonthBillingBpsDataResponse struct {
-	*responses.BaseResponse
-	RequestId              string  `json:"RequestId" xml:"RequestId"`
-	DomainName             string  `json:"DomainName" xml:"DomainName"`
-	StartTime              string  `json:"StartTime" xml:"StartTime"`
-	EndTime                string  `json:"EndTime" xml:"EndTime"`
-	Bandwidth95Bps         float64 `json:"Bandwidth95Bps" xml:"Bandwidth95Bps"`
-	DomesticBandwidth95Bps float64 `json:"DomesticBandwidth95Bps" xml:"DomesticBandwidth95Bps"`
-	OverseasBandwidth95Bps float64 `json:"OverseasBandwidth95Bps" xml:"OverseasBandwidth95Bps"`
-	MonthavgBps            float64 `json:"MonthavgBps" xml:"MonthavgBps"`
-	DomesticMonthavgBps    float64 `json:"DomesticMonthavgBps" xml:"DomesticMonthavgBps"`
-	OverseasMonthavgBps    float64 `json:"OverseasMonthavgBps" xml:"OverseasMonthavgBps"`
-	Month4thBps            float64 `json:"Month4thBps" xml:"Month4thBps"`
-	DomesticMonth4thBps    float64 `json:"DomesticMonth4thBps" xml:"DomesticMonth4thBps"`
-	OverseasMonth4thBps    float64 `json:"OverseasMonth4thBps" xml:"OverseasMonth4thBps"`
-}
-
-// CreateDescribeDomainMonthBillingBpsDataRequest creates a request to invoke DescribeDomainMonthBillingBpsData API
-func CreateDescribeDomainMonthBillingBpsDataRequest() (request *DescribeDomainMonthBillingBpsDataRequest) {
-	request = &DescribeDomainMonthBillingBpsDataRequest{
-		RpcRequest: &requests.RpcRequest{},
-	}
-	request.InitWithApiInfo("Cdn", "2014-11-11", "DescribeDomainMonthBillingBpsData", "", "")
-	return
-}
-
-// CreateDescribeDomainMonthBillingBpsDataResponse creates a response to parse from DescribeDomainMonthBillingBpsData response
-func CreateDescribeDomainMonthBillingBpsDataResponse() (response *DescribeDomainMonthBillingBpsDataResponse) {
-	response = &DescribeDomainMonthBillingBpsDataResponse{
-		BaseResponse: &responses.BaseResponse{},
-	}
-	return
-}

+ 0 - 108
services/cdn/describe_domain_online_user_number.go

@@ -1,108 +0,0 @@
-package cdn
-
-//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"
-)
-
-// DescribeDomainOnlineUserNumber invokes the cdn.DescribeDomainOnlineUserNumber API synchronously
-// api document: https://help.aliyun.com/api/cdn/describedomainonlineusernumber.html
-func (client *Client) DescribeDomainOnlineUserNumber(request *DescribeDomainOnlineUserNumberRequest) (response *DescribeDomainOnlineUserNumberResponse, err error) {
-	response = CreateDescribeDomainOnlineUserNumberResponse()
-	err = client.DoAction(request, response)
-	return
-}
-
-// DescribeDomainOnlineUserNumberWithChan invokes the cdn.DescribeDomainOnlineUserNumber API asynchronously
-// api document: https://help.aliyun.com/api/cdn/describedomainonlineusernumber.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) DescribeDomainOnlineUserNumberWithChan(request *DescribeDomainOnlineUserNumberRequest) (<-chan *DescribeDomainOnlineUserNumberResponse, <-chan error) {
-	responseChan := make(chan *DescribeDomainOnlineUserNumberResponse, 1)
-	errChan := make(chan error, 1)
-	err := client.AddAsyncTask(func() {
-		defer close(responseChan)
-		defer close(errChan)
-		response, err := client.DescribeDomainOnlineUserNumber(request)
-		if err != nil {
-			errChan <- err
-		} else {
-			responseChan <- response
-		}
-	})
-	if err != nil {
-		errChan <- err
-		close(responseChan)
-		close(errChan)
-	}
-	return responseChan, errChan
-}
-
-// DescribeDomainOnlineUserNumberWithCallback invokes the cdn.DescribeDomainOnlineUserNumber API asynchronously
-// api document: https://help.aliyun.com/api/cdn/describedomainonlineusernumber.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) DescribeDomainOnlineUserNumberWithCallback(request *DescribeDomainOnlineUserNumberRequest, callback func(response *DescribeDomainOnlineUserNumberResponse, err error)) <-chan int {
-	result := make(chan int, 1)
-	err := client.AddAsyncTask(func() {
-		var response *DescribeDomainOnlineUserNumberResponse
-		var err error
-		defer close(result)
-		response, err = client.DescribeDomainOnlineUserNumber(request)
-		callback(response, err)
-		result <- 1
-	})
-	if err != nil {
-		defer close(result)
-		callback(nil, err)
-		result <- 0
-	}
-	return result
-}
-
-// DescribeDomainOnlineUserNumberRequest is the request struct for api DescribeDomainOnlineUserNumber
-type DescribeDomainOnlineUserNumberRequest struct {
-	*requests.RpcRequest
-	SecurityToken string           `position:"Query" name:"SecurityToken"`
-	DomainName    string           `position:"Query" name:"DomainName"`
-	EndTime       string           `position:"Query" name:"EndTime"`
-	StartTime     string           `position:"Query" name:"StartTime"`
-	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
-}
-
-// DescribeDomainOnlineUserNumberResponse is the response struct for api DescribeDomainOnlineUserNumber
-type DescribeDomainOnlineUserNumberResponse struct {
-	*responses.BaseResponse
-	RequestId                    string                       `json:"RequestId" xml:"RequestId"`
-	LiveStreamOnlineUserNumInfos LiveStreamOnlineUserNumInfos `json:"LiveStreamOnlineUserNumInfos" xml:"LiveStreamOnlineUserNumInfos"`
-}
-
-// CreateDescribeDomainOnlineUserNumberRequest creates a request to invoke DescribeDomainOnlineUserNumber API
-func CreateDescribeDomainOnlineUserNumberRequest() (request *DescribeDomainOnlineUserNumberRequest) {
-	request = &DescribeDomainOnlineUserNumberRequest{
-		RpcRequest: &requests.RpcRequest{},
-	}
-	request.InitWithApiInfo("Cdn", "2014-11-11", "DescribeDomainOnlineUserNumber", "", "")
-	return
-}
-
-// CreateDescribeDomainOnlineUserNumberResponse creates a response to parse from DescribeDomainOnlineUserNumber response
-func CreateDescribeDomainOnlineUserNumberResponse() (response *DescribeDomainOnlineUserNumberResponse) {
-	response = &DescribeDomainOnlineUserNumberResponse{
-		BaseResponse: &responses.BaseResponse{},
-	}
-	return
-}

+ 0 - 113
services/cdn/describe_domain_qo_s_rt.go

@@ -1,113 +0,0 @@
-package cdn
-
-//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"
-)
-
-// DescribeDomainQoSRt invokes the cdn.DescribeDomainQoSRt API synchronously
-// api document: https://help.aliyun.com/api/cdn/describedomainqosrt.html
-func (client *Client) DescribeDomainQoSRt(request *DescribeDomainQoSRtRequest) (response *DescribeDomainQoSRtResponse, err error) {
-	response = CreateDescribeDomainQoSRtResponse()
-	err = client.DoAction(request, response)
-	return
-}
-
-// DescribeDomainQoSRtWithChan invokes the cdn.DescribeDomainQoSRt API asynchronously
-// api document: https://help.aliyun.com/api/cdn/describedomainqosrt.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) DescribeDomainQoSRtWithChan(request *DescribeDomainQoSRtRequest) (<-chan *DescribeDomainQoSRtResponse, <-chan error) {
-	responseChan := make(chan *DescribeDomainQoSRtResponse, 1)
-	errChan := make(chan error, 1)
-	err := client.AddAsyncTask(func() {
-		defer close(responseChan)
-		defer close(errChan)
-		response, err := client.DescribeDomainQoSRt(request)
-		if err != nil {
-			errChan <- err
-		} else {
-			responseChan <- response
-		}
-	})
-	if err != nil {
-		errChan <- err
-		close(responseChan)
-		close(errChan)
-	}
-	return responseChan, errChan
-}
-
-// DescribeDomainQoSRtWithCallback invokes the cdn.DescribeDomainQoSRt API asynchronously
-// api document: https://help.aliyun.com/api/cdn/describedomainqosrt.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) DescribeDomainQoSRtWithCallback(request *DescribeDomainQoSRtRequest, callback func(response *DescribeDomainQoSRtResponse, err error)) <-chan int {
-	result := make(chan int, 1)
-	err := client.AddAsyncTask(func() {
-		var response *DescribeDomainQoSRtResponse
-		var err error
-		defer close(result)
-		response, err = client.DescribeDomainQoSRt(request)
-		callback(response, err)
-		result <- 1
-	})
-	if err != nil {
-		defer close(result)
-		callback(nil, err)
-		result <- 0
-	}
-	return result
-}
-
-// DescribeDomainQoSRtRequest is the request struct for api DescribeDomainQoSRt
-type DescribeDomainQoSRtRequest struct {
-	*requests.RpcRequest
-	Ip            string           `position:"Query" name:"Ip"`
-	DomainName    string           `position:"Query" name:"DomainName"`
-	EndTime       string           `position:"Query" name:"EndTime"`
-	StartTime     string           `position:"Query" name:"StartTime"`
-	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
-	Version       string           `position:"Query" name:"Version"`
-	SecurityToken string           `position:"Query" name:"SecurityToken"`
-}
-
-// DescribeDomainQoSRtResponse is the response struct for api DescribeDomainQoSRt
-type DescribeDomainQoSRtResponse struct {
-	*responses.BaseResponse
-	DomainName string  `json:"DomainName" xml:"DomainName"`
-	StartTime  string  `json:"StartTime" xml:"StartTime"`
-	EndTime    string  `json:"EndTime" xml:"EndTime"`
-	Ip         string  `json:"Ip" xml:"Ip"`
-	Content    Content `json:"Content" xml:"Content"`
-}
-
-// CreateDescribeDomainQoSRtRequest creates a request to invoke DescribeDomainQoSRt API
-func CreateDescribeDomainQoSRtRequest() (request *DescribeDomainQoSRtRequest) {
-	request = &DescribeDomainQoSRtRequest{
-		RpcRequest: &requests.RpcRequest{},
-	}
-	request.InitWithApiInfo("Cdn", "2014-11-11", "DescribeDomainQoSRt", "", "")
-	return
-}
-
-// CreateDescribeDomainQoSRtResponse creates a response to parse from DescribeDomainQoSRt response
-func CreateDescribeDomainQoSRtResponse() (response *DescribeDomainQoSRtResponse) {
-	response = &DescribeDomainQoSRtResponse{
-		BaseResponse: &responses.BaseResponse{},
-	}
-	return
-}

+ 1 - 1
services/cdn/describe_domain_real_time_byte_hit_rate_data.go

@@ -76,9 +76,9 @@ func (client *Client) DescribeDomainRealTimeByteHitRateDataWithCallback(request
 // DescribeDomainRealTimeByteHitRateDataRequest is the request struct for api DescribeDomainRealTimeByteHitRateData
 type DescribeDomainRealTimeByteHitRateDataRequest struct {
 	*requests.RpcRequest
+	StartTime  string           `position:"Query" name:"StartTime"`
 	DomainName string           `position:"Query" name:"DomainName"`
 	EndTime    string           `position:"Query" name:"EndTime"`
-	StartTime  string           `position:"Query" name:"StartTime"`
 	OwnerId    requests.Integer `position:"Query" name:"OwnerId"`
 }
 

+ 0 - 113
services/cdn/describe_domain_real_time_data.go

@@ -1,113 +0,0 @@
-package cdn
-
-//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"
-)
-
-// DescribeDomainRealTimeData invokes the cdn.DescribeDomainRealTimeData API synchronously
-// api document: https://help.aliyun.com/api/cdn/describedomainrealtimedata.html
-func (client *Client) DescribeDomainRealTimeData(request *DescribeDomainRealTimeDataRequest) (response *DescribeDomainRealTimeDataResponse, err error) {
-	response = CreateDescribeDomainRealTimeDataResponse()
-	err = client.DoAction(request, response)
-	return
-}
-
-// DescribeDomainRealTimeDataWithChan invokes the cdn.DescribeDomainRealTimeData API asynchronously
-// api document: https://help.aliyun.com/api/cdn/describedomainrealtimedata.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) DescribeDomainRealTimeDataWithChan(request *DescribeDomainRealTimeDataRequest) (<-chan *DescribeDomainRealTimeDataResponse, <-chan error) {
-	responseChan := make(chan *DescribeDomainRealTimeDataResponse, 1)
-	errChan := make(chan error, 1)
-	err := client.AddAsyncTask(func() {
-		defer close(responseChan)
-		defer close(errChan)
-		response, err := client.DescribeDomainRealTimeData(request)
-		if err != nil {
-			errChan <- err
-		} else {
-			responseChan <- response
-		}
-	})
-	if err != nil {
-		errChan <- err
-		close(responseChan)
-		close(errChan)
-	}
-	return responseChan, errChan
-}
-
-// DescribeDomainRealTimeDataWithCallback invokes the cdn.DescribeDomainRealTimeData API asynchronously
-// api document: https://help.aliyun.com/api/cdn/describedomainrealtimedata.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) DescribeDomainRealTimeDataWithCallback(request *DescribeDomainRealTimeDataRequest, callback func(response *DescribeDomainRealTimeDataResponse, err error)) <-chan int {
-	result := make(chan int, 1)
-	err := client.AddAsyncTask(func() {
-		var response *DescribeDomainRealTimeDataResponse
-		var err error
-		defer close(result)
-		response, err = client.DescribeDomainRealTimeData(request)
-		callback(response, err)
-		result <- 1
-	})
-	if err != nil {
-		defer close(result)
-		callback(nil, err)
-		result <- 0
-	}
-	return result
-}
-
-// DescribeDomainRealTimeDataRequest is the request struct for api DescribeDomainRealTimeData
-type DescribeDomainRealTimeDataRequest struct {
-	*requests.RpcRequest
-	Field         string           `position:"Query" name:"Field"`
-	SecurityToken string           `position:"Query" name:"SecurityToken"`
-	DomainName    string           `position:"Query" name:"DomainName"`
-	EndTime       string           `position:"Query" name:"EndTime"`
-	StartTime     string           `position:"Query" name:"StartTime"`
-	OwnerId       requests.Integer `position:"Query" name:"OwnerId"`
-}
-
-// DescribeDomainRealTimeDataResponse is the response struct for api DescribeDomainRealTimeData
-type DescribeDomainRealTimeDataResponse struct {
-	*responses.BaseResponse
-	RequestId       string                                      `json:"RequestId" xml:"RequestId"`
-	DomainName      string                                      `json:"DomainName" xml:"DomainName"`
-	Field           string                                      `json:"Field" xml:"Field"`
-	StartTime       string                                      `json:"StartTime" xml:"StartTime"`
-	EndTime         string                                      `json:"EndTime" xml:"EndTime"`
-	DataPerInterval DataPerIntervalInDescribeDomainRealTimeData `json:"DataPerInterval" xml:"DataPerInterval"`
-}
-
-// CreateDescribeDomainRealTimeDataRequest creates a request to invoke DescribeDomainRealTimeData API
-func CreateDescribeDomainRealTimeDataRequest() (request *DescribeDomainRealTimeDataRequest) {
-	request = &DescribeDomainRealTimeDataRequest{
-		RpcRequest: &requests.RpcRequest{},
-	}
-	request.InitWithApiInfo("Cdn", "2014-11-11", "DescribeDomainRealTimeData", "", "")
-	return
-}
-
-// CreateDescribeDomainRealTimeDataResponse creates a response to parse from DescribeDomainRealTimeData response
-func CreateDescribeDomainRealTimeDataResponse() (response *DescribeDomainRealTimeDataResponse) {
-	response = &DescribeDomainRealTimeDataResponse{
-		BaseResponse: &responses.BaseResponse{},
-	}
-	return
-}

+ 113 - 0
services/cdn/describe_domain_real_time_http_code_data.go

@@ -0,0 +1,113 @@
+package cdn
+
+//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"
+)
+
+// DescribeDomainRealTimeHttpCodeData invokes the cdn.DescribeDomainRealTimeHttpCodeData API synchronously
+// api document: https://help.aliyun.com/api/cdn/describedomainrealtimehttpcodedata.html
+func (client *Client) DescribeDomainRealTimeHttpCodeData(request *DescribeDomainRealTimeHttpCodeDataRequest) (response *DescribeDomainRealTimeHttpCodeDataResponse, err error) {
+	response = CreateDescribeDomainRealTimeHttpCodeDataResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeDomainRealTimeHttpCodeDataWithChan invokes the cdn.DescribeDomainRealTimeHttpCodeData API asynchronously
+// api document: https://help.aliyun.com/api/cdn/describedomainrealtimehttpcodedata.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeDomainRealTimeHttpCodeDataWithChan(request *DescribeDomainRealTimeHttpCodeDataRequest) (<-chan *DescribeDomainRealTimeHttpCodeDataResponse, <-chan error) {
+	responseChan := make(chan *DescribeDomainRealTimeHttpCodeDataResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeDomainRealTimeHttpCodeData(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeDomainRealTimeHttpCodeDataWithCallback invokes the cdn.DescribeDomainRealTimeHttpCodeData API asynchronously
+// api document: https://help.aliyun.com/api/cdn/describedomainrealtimehttpcodedata.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeDomainRealTimeHttpCodeDataWithCallback(request *DescribeDomainRealTimeHttpCodeDataRequest, callback func(response *DescribeDomainRealTimeHttpCodeDataResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeDomainRealTimeHttpCodeDataResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeDomainRealTimeHttpCodeData(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeDomainRealTimeHttpCodeDataRequest is the request struct for api DescribeDomainRealTimeHttpCodeData
+type DescribeDomainRealTimeHttpCodeDataRequest struct {
+	*requests.RpcRequest
+	LocationNameEn string           `position:"Query" name:"LocationNameEn"`
+	StartTime      string           `position:"Query" name:"StartTime"`
+	IspNameEn      string           `position:"Query" name:"IspNameEn"`
+	DomainName     string           `position:"Query" name:"DomainName"`
+	EndTime        string           `position:"Query" name:"EndTime"`
+	OwnerId        requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// DescribeDomainRealTimeHttpCodeDataResponse is the response struct for api DescribeDomainRealTimeHttpCodeData
+type DescribeDomainRealTimeHttpCodeDataResponse struct {
+	*responses.BaseResponse
+	RequestId            string               `json:"RequestId" xml:"RequestId"`
+	DomainName           string               `json:"DomainName" xml:"DomainName"`
+	StartTime            string               `json:"StartTime" xml:"StartTime"`
+	EndTime              string               `json:"EndTime" xml:"EndTime"`
+	DataInterval         string               `json:"DataInterval" xml:"DataInterval"`
+	RealTimeHttpCodeData RealTimeHttpCodeData `json:"RealTimeHttpCodeData" xml:"RealTimeHttpCodeData"`
+}
+
+// CreateDescribeDomainRealTimeHttpCodeDataRequest creates a request to invoke DescribeDomainRealTimeHttpCodeData API
+func CreateDescribeDomainRealTimeHttpCodeDataRequest() (request *DescribeDomainRealTimeHttpCodeDataRequest) {
+	request = &DescribeDomainRealTimeHttpCodeDataRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cdn", "2014-11-11", "DescribeDomainRealTimeHttpCodeData", "", "")
+	return
+}
+
+// CreateDescribeDomainRealTimeHttpCodeDataResponse creates a response to parse from DescribeDomainRealTimeHttpCodeData response
+func CreateDescribeDomainRealTimeHttpCodeDataResponse() (response *DescribeDomainRealTimeHttpCodeDataResponse) {
+	response = &DescribeDomainRealTimeHttpCodeDataResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 1 - 1
services/cdn/describe_domain_real_time_req_hit_rate_data.go

@@ -76,9 +76,9 @@ func (client *Client) DescribeDomainRealTimeReqHitRateDataWithCallback(request *
 // DescribeDomainRealTimeReqHitRateDataRequest is the request struct for api DescribeDomainRealTimeReqHitRateData
 type DescribeDomainRealTimeReqHitRateDataRequest struct {
 	*requests.RpcRequest
+	StartTime  string           `position:"Query" name:"StartTime"`
 	DomainName string           `position:"Query" name:"DomainName"`
 	EndTime    string           `position:"Query" name:"EndTime"`
-	StartTime  string           `position:"Query" name:"StartTime"`
 	OwnerId    requests.Integer `position:"Query" name:"OwnerId"`
 }
 

+ 111 - 0
services/cdn/describe_domain_real_time_src_bps_data.go

@@ -0,0 +1,111 @@
+package cdn
+
+//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"
+)
+
+// DescribeDomainRealTimeSrcBpsData invokes the cdn.DescribeDomainRealTimeSrcBpsData API synchronously
+// api document: https://help.aliyun.com/api/cdn/describedomainrealtimesrcbpsdata.html
+func (client *Client) DescribeDomainRealTimeSrcBpsData(request *DescribeDomainRealTimeSrcBpsDataRequest) (response *DescribeDomainRealTimeSrcBpsDataResponse, err error) {
+	response = CreateDescribeDomainRealTimeSrcBpsDataResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeDomainRealTimeSrcBpsDataWithChan invokes the cdn.DescribeDomainRealTimeSrcBpsData API asynchronously
+// api document: https://help.aliyun.com/api/cdn/describedomainrealtimesrcbpsdata.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeDomainRealTimeSrcBpsDataWithChan(request *DescribeDomainRealTimeSrcBpsDataRequest) (<-chan *DescribeDomainRealTimeSrcBpsDataResponse, <-chan error) {
+	responseChan := make(chan *DescribeDomainRealTimeSrcBpsDataResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeDomainRealTimeSrcBpsData(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeDomainRealTimeSrcBpsDataWithCallback invokes the cdn.DescribeDomainRealTimeSrcBpsData API asynchronously
+// api document: https://help.aliyun.com/api/cdn/describedomainrealtimesrcbpsdata.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeDomainRealTimeSrcBpsDataWithCallback(request *DescribeDomainRealTimeSrcBpsDataRequest, callback func(response *DescribeDomainRealTimeSrcBpsDataResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeDomainRealTimeSrcBpsDataResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeDomainRealTimeSrcBpsData(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeDomainRealTimeSrcBpsDataRequest is the request struct for api DescribeDomainRealTimeSrcBpsData
+type DescribeDomainRealTimeSrcBpsDataRequest struct {
+	*requests.RpcRequest
+	StartTime  string           `position:"Query" name:"StartTime"`
+	DomainName string           `position:"Query" name:"DomainName"`
+	EndTime    string           `position:"Query" name:"EndTime"`
+	OwnerId    requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// DescribeDomainRealTimeSrcBpsDataResponse is the response struct for api DescribeDomainRealTimeSrcBpsData
+type DescribeDomainRealTimeSrcBpsDataResponse struct {
+	*responses.BaseResponse
+	RequestId                     string                        `json:"RequestId" xml:"RequestId"`
+	DomainName                    string                        `json:"DomainName" xml:"DomainName"`
+	StartTime                     string                        `json:"StartTime" xml:"StartTime"`
+	EndTime                       string                        `json:"EndTime" xml:"EndTime"`
+	DataInterval                  string                        `json:"DataInterval" xml:"DataInterval"`
+	RealTimeSrcBpsDataPerInterval RealTimeSrcBpsDataPerInterval `json:"RealTimeSrcBpsDataPerInterval" xml:"RealTimeSrcBpsDataPerInterval"`
+}
+
+// CreateDescribeDomainRealTimeSrcBpsDataRequest creates a request to invoke DescribeDomainRealTimeSrcBpsData API
+func CreateDescribeDomainRealTimeSrcBpsDataRequest() (request *DescribeDomainRealTimeSrcBpsDataRequest) {
+	request = &DescribeDomainRealTimeSrcBpsDataRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cdn", "2014-11-11", "DescribeDomainRealTimeSrcBpsData", "", "")
+	return
+}
+
+// CreateDescribeDomainRealTimeSrcBpsDataResponse creates a response to parse from DescribeDomainRealTimeSrcBpsData response
+func CreateDescribeDomainRealTimeSrcBpsDataResponse() (response *DescribeDomainRealTimeSrcBpsDataResponse) {
+	response = &DescribeDomainRealTimeSrcBpsDataResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 111 - 0
services/cdn/describe_domain_real_time_src_traffic_data.go

@@ -0,0 +1,111 @@
+package cdn
+
+//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"
+)
+
+// DescribeDomainRealTimeSrcTrafficData invokes the cdn.DescribeDomainRealTimeSrcTrafficData API synchronously
+// api document: https://help.aliyun.com/api/cdn/describedomainrealtimesrctrafficdata.html
+func (client *Client) DescribeDomainRealTimeSrcTrafficData(request *DescribeDomainRealTimeSrcTrafficDataRequest) (response *DescribeDomainRealTimeSrcTrafficDataResponse, err error) {
+	response = CreateDescribeDomainRealTimeSrcTrafficDataResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeDomainRealTimeSrcTrafficDataWithChan invokes the cdn.DescribeDomainRealTimeSrcTrafficData API asynchronously
+// api document: https://help.aliyun.com/api/cdn/describedomainrealtimesrctrafficdata.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeDomainRealTimeSrcTrafficDataWithChan(request *DescribeDomainRealTimeSrcTrafficDataRequest) (<-chan *DescribeDomainRealTimeSrcTrafficDataResponse, <-chan error) {
+	responseChan := make(chan *DescribeDomainRealTimeSrcTrafficDataResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeDomainRealTimeSrcTrafficData(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeDomainRealTimeSrcTrafficDataWithCallback invokes the cdn.DescribeDomainRealTimeSrcTrafficData API asynchronously
+// api document: https://help.aliyun.com/api/cdn/describedomainrealtimesrctrafficdata.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeDomainRealTimeSrcTrafficDataWithCallback(request *DescribeDomainRealTimeSrcTrafficDataRequest, callback func(response *DescribeDomainRealTimeSrcTrafficDataResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeDomainRealTimeSrcTrafficDataResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeDomainRealTimeSrcTrafficData(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeDomainRealTimeSrcTrafficDataRequest is the request struct for api DescribeDomainRealTimeSrcTrafficData
+type DescribeDomainRealTimeSrcTrafficDataRequest struct {
+	*requests.RpcRequest
+	StartTime  string           `position:"Query" name:"StartTime"`
+	DomainName string           `position:"Query" name:"DomainName"`
+	EndTime    string           `position:"Query" name:"EndTime"`
+	OwnerId    requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// DescribeDomainRealTimeSrcTrafficDataResponse is the response struct for api DescribeDomainRealTimeSrcTrafficData
+type DescribeDomainRealTimeSrcTrafficDataResponse struct {
+	*responses.BaseResponse
+	RequestId                         string                            `json:"RequestId" xml:"RequestId"`
+	DomainName                        string                            `json:"DomainName" xml:"DomainName"`
+	StartTime                         string                            `json:"StartTime" xml:"StartTime"`
+	EndTime                           string                            `json:"EndTime" xml:"EndTime"`
+	DataInterval                      string                            `json:"DataInterval" xml:"DataInterval"`
+	RealTimeSrcTrafficDataPerInterval RealTimeSrcTrafficDataPerInterval `json:"RealTimeSrcTrafficDataPerInterval" xml:"RealTimeSrcTrafficDataPerInterval"`
+}
+
+// CreateDescribeDomainRealTimeSrcTrafficDataRequest creates a request to invoke DescribeDomainRealTimeSrcTrafficData API
+func CreateDescribeDomainRealTimeSrcTrafficDataRequest() (request *DescribeDomainRealTimeSrcTrafficDataRequest) {
+	request = &DescribeDomainRealTimeSrcTrafficDataRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Cdn", "2014-11-11", "DescribeDomainRealTimeSrcTrafficData", "", "")
+	return
+}
+
+// CreateDescribeDomainRealTimeSrcTrafficDataResponse creates a response to parse from DescribeDomainRealTimeSrcTrafficData response
+func CreateDescribeDomainRealTimeSrcTrafficDataResponse() (response *DescribeDomainRealTimeSrcTrafficDataResponse) {
+	response = &DescribeDomainRealTimeSrcTrafficDataResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

Some files were not shown because too many files changed in this diff