소스 검색

BSSOPENAPI SDK Auto Released By ziyuan.zk,Version:1.30.1

Signed-off-by: yixiong.jxy <yixiong.jxy@alibaba-inc.com>
yixiong.jxy 7 년 전
부모
커밋
5ee04f65fb
74개의 변경된 파일4209개의 추가작업 그리고 0개의 파일을 삭제
  1. 3 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. 21 0
      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. 21 0
      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. 23 0
      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. 24 0
      services/bssopenapi/struct_resource_package.go
  67. 21 0
      services/bssopenapi/struct_resource_packages.go
  68. 23 0
      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

+ 3 - 0
ChangeLog.txt

@@ -1,3 +1,6 @@
+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.
 

+ 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"`
+}

+ 21 - 0
services/bssopenapi/struct_instances.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.
+
+// 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"`
+}

+ 21 - 0
services/bssopenapi/struct_order_list_in_get_order_detail.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.
+
+// 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"`
+}

+ 23 - 0
services/bssopenapi/struct_promotion_detail.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.
+
+// 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"`
+}

+ 24 - 0
services/bssopenapi/struct_resource_package.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.
+
+// 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"`
+}

+ 23 - 0
services/bssopenapi/struct_specification.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.
+
+// 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
+}