Browse Source

SubscribeBillToOSSRequest add multAccountRelSubscribe, bucketOwnerId.

sdk-team 7 years ago
parent
commit
da0d2aaa74

+ 4 - 0
CHANGELOG

@@ -1,3 +1,7 @@
+2019-08-02 Version 1.36.73
+- SubscribeBillToOSSRequest add multAccountRelSubscribe, bucketOwnerId.
+- UnsubscribeBillToOSSRequest add multAccountRelSubscribe.
+
 2019-07-31 Version 1.36.72
 - Endpoint auto route.
 

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.36.72
+1.36.73

+ 314 - 346
bssopenapi/include/alibabacloud/bssopenapi/BssOpenApiClient.h

@@ -1,73 +1,53 @@
-/*
- * Copyright 2009-2017 Alibaba Cloud All rights reserved.
- * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
- *      http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef ALIBABACLOUD_BSSOPENAPI_BSSOPENAPICLIENT_H_
-#define ALIBABACLOUD_BSSOPENAPI_BSSOPENAPICLIENT_H_
-
-#include <future>
-#include <alibabacloud/core/AsyncCallerContext.h>
-#include <alibabacloud/core/EndpointProvider.h>
-#include <alibabacloud/core/RpcServiceClient.h>
-#include "BssOpenApiExport.h"
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_BSSOPENAPI_BSSOPENAPICLIENT_H_
+#define ALIBABACLOUD_BSSOPENAPI_BSSOPENAPICLIENT_H_
+
+#include <future>
+#include <alibabacloud/core/AsyncCallerContext.h>
+#include <alibabacloud/core/EndpointProvider.h>
+#include <alibabacloud/core/RpcServiceClient.h>
+#include "BssOpenApiExport.h"
 #include "model/QueryMonthlyBillRequest.h"
 #include "model/QueryMonthlyBillResult.h"
-#include "model/CreateUserQuotaRequest.h"
-#include "model/CreateUserQuotaResult.h"
-#include "model/CreateInstanceRequest.h"
-#include "model/CreateInstanceResult.h"
-#include "model/CancelOrderRequest.h"
-#include "model/CancelOrderResult.h"
-#include "model/QueryResourcePackageInstancesRequest.h"
-#include "model/QueryResourcePackageInstancesResult.h"
-#include "model/QueryUserAlarmThresholdRequest.h"
-#include "model/QueryUserAlarmThresholdResult.h"
-#include "model/SubscribeDetailRequest.h"
-#include "model/SubscribeDetailResult.h"
-#include "model/EnableBillGenerationRequest.h"
-#include "model/EnableBillGenerationResult.h"
-#include "model/SetEnduserStatusRequest.h"
-#include "model/SetEnduserStatusResult.h"
-#include "model/QueryInvoicingCustomerListRequest.h"
-#include "model/QueryInvoicingCustomerListResult.h"
-#include "model/QueryAccountBalanceRequest.h"
-#include "model/QueryAccountBalanceResult.h"
-#include "model/RenewInstanceRequest.h"
-#include "model/RenewInstanceResult.h"
 #include "model/QueryInstanceGaapCostRequest.h"
 #include "model/QueryInstanceGaapCostResult.h"
 #include "model/QueryMonthlyInstanceConsumptionRequest.h"
 #include "model/QueryMonthlyInstanceConsumptionResult.h"
+#include "model/QueryAccountTransactionsRequest.h"
+#include "model/QueryAccountTransactionsResult.h"
 #include "model/QueryPrepaidCardsRequest.h"
 #include "model/QueryPrepaidCardsResult.h"
 #include "model/QueryAvailableInstancesRequest.h"
 #include "model/QueryAvailableInstancesResult.h"
+#include "model/CreateInstanceRequest.h"
+#include "model/CreateInstanceResult.h"
 #include "model/GetOrderDetailRequest.h"
 #include "model/GetOrderDetailResult.h"
-#include "model/QueryEnduserStatusRequest.h"
-#include "model/QueryEnduserStatusResult.h"
-#include "model/ModifyInstanceRequest.h"
-#include "model/ModifyInstanceResult.h"
 #include "model/QueryCustomerAddressListRequest.h"
 #include "model/QueryCustomerAddressListResult.h"
-#include "model/SetUserQuotaRequest.h"
-#include "model/SetUserQuotaResult.h"
-#include "model/UnsubscribeExportToOSSRequest.h"
-#include "model/UnsubscribeExportToOSSResult.h"
-#include "model/QueryPriceListRequest.h"
-#include "model/QueryPriceListResult.h"
+#include "model/ModifyInstanceRequest.h"
+#include "model/ModifyInstanceResult.h"
+#include "model/CancelOrderRequest.h"
+#include "model/CancelOrderResult.h"
+#include "model/CreateResellerUserQuotaRequest.h"
+#include "model/CreateResellerUserQuotaResult.h"
+#include "model/QueryResourcePackageInstancesRequest.h"
+#include "model/QueryResourcePackageInstancesResult.h"
 #include "model/QueryRedeemRequest.h"
 #include "model/QueryRedeemResult.h"
 #include "model/SubscribeBillToOSSRequest.h"
@@ -76,44 +56,56 @@
 #include "model/GetPayAsYouGoPriceResult.h"
 #include "model/GetResourcePackagePriceRequest.h"
 #include "model/GetResourcePackagePriceResult.h"
-#include "model/UnsubscribeBillToOSSRequest.h"
-#include "model/UnsubscribeBillToOSSResult.h"
-#include "model/ChangeConsumeAmountRequest.h"
-#include "model/ChangeConsumeAmountResult.h"
-#include "model/ApplyInvoiceRequest.h"
-#include "model/ApplyInvoiceResult.h"
 #include "model/QueryProductListRequest.h"
 #include "model/QueryProductListResult.h"
-#include "model/SetUserAlarmThresholdRequest.h"
-#include "model/SetUserAlarmThresholdResult.h"
+#include "model/ApplyInvoiceRequest.h"
+#include "model/ApplyInvoiceResult.h"
+#include "model/UnsubscribeBillToOSSRequest.h"
+#include "model/UnsubscribeBillToOSSResult.h"
+#include "model/GetCustomerListRequest.h"
+#include "model/GetCustomerListResult.h"
 #include "model/GetSubscriptionPriceRequest.h"
 #include "model/GetSubscriptionPriceResult.h"
-#include "model/QueryAccountBookListRequest.h"
-#include "model/QueryAccountBookListResult.h"
+#include "model/QueryResellerAvailableQuotaRequest.h"
+#include "model/QueryResellerAvailableQuotaResult.h"
+#include "model/SetResellerUserQuotaRequest.h"
+#include "model/SetResellerUserQuotaResult.h"
+#include "model/SetResellerUserStatusRequest.h"
+#include "model/SetResellerUserStatusResult.h"
+#include "model/EnableBillGenerationRequest.h"
+#include "model/EnableBillGenerationResult.h"
 #include "model/QueryOrdersRequest.h"
 #include "model/QueryOrdersResult.h"
 #include "model/QueryCashCouponsRequest.h"
 #include "model/QueryCashCouponsResult.h"
-#include "model/QueryEvaluateListRequest.h"
-#include "model/QueryEvaluateListResult.h"
+#include "model/QueryInvoicingCustomerListRequest.h"
+#include "model/QueryInvoicingCustomerListResult.h"
 #include "model/DescribePricingModuleRequest.h"
 #include "model/DescribePricingModuleResult.h"
+#include "model/QueryEvaluateListRequest.h"
+#include "model/QueryEvaluateListResult.h"
+#include "model/QueryAccountBalanceRequest.h"
+#include "model/QueryAccountBalanceResult.h"
 #include "model/DescribeResourcePackageProductRequest.h"
 #include "model/DescribeResourcePackageProductResult.h"
+#include "model/ChangeResellerConsumeAmountRequest.h"
+#include "model/ChangeResellerConsumeAmountResult.h"
+#include "model/RenewInstanceRequest.h"
+#include "model/RenewInstanceResult.h"
 #include "model/CreateResourcePackageRequest.h"
 #include "model/CreateResourcePackageResult.h"
+#include "model/GetCustomerAccountInfoRequest.h"
+#include "model/GetCustomerAccountInfoResult.h"
 #include "model/QueryInstanceBillRequest.h"
 #include "model/QueryInstanceBillResult.h"
-#include "model/SubscribeExportToOSSRequest.h"
-#include "model/SubscribeExportToOSSResult.h"
-#include "model/QueryAvaliableQuotaRequest.h"
-#include "model/QueryAvaliableQuotaResult.h"
-#include "model/QueryPriceRequest.h"
-#include "model/QueryPriceResult.h"
+#include "model/SetResellerUserAlarmThresholdRequest.h"
+#include "model/SetResellerUserAlarmThresholdResult.h"
 #include "model/QueryBillRequest.h"
 #include "model/QueryBillResult.h"
 #include "model/SetRenewalRequest.h"
 #include "model/SetRenewalResult.h"
+#include "model/CreateAgAccountRequest.h"
+#include "model/CreateAgAccountResult.h"
 #include "model/ConvertChargeTypeRequest.h"
 #include "model/ConvertChargeTypeResult.h"
 #include "model/QueryBillOverviewRequest.h"
@@ -122,325 +114,301 @@
 #include "model/QuerySettlementBillResult.h"
 #include "model/QueryUserOmsDataRequest.h"
 #include "model/QueryUserOmsDataResult.h"
-
-
-namespace AlibabaCloud
-{
-	namespace BssOpenApi
-	{
-		class ALIBABACLOUD_BSSOPENAPI_EXPORT BssOpenApiClient : public RpcServiceClient
-		{
-		public:
-			typedef Outcome<Error, Model::QueryMonthlyBillResult> QueryMonthlyBillOutcome;
-			typedef std::future<QueryMonthlyBillOutcome> QueryMonthlyBillOutcomeCallable;
+
+
+namespace AlibabaCloud
+{
+	namespace BssOpenApi
+	{
+		class ALIBABACLOUD_BSSOPENAPI_EXPORT BssOpenApiClient : public RpcServiceClient
+		{
+		public:
+			typedef Outcome<Error, Model::QueryMonthlyBillResult> QueryMonthlyBillOutcome;
+			typedef std::future<QueryMonthlyBillOutcome> QueryMonthlyBillOutcomeCallable;
 			typedef std::function<void(const BssOpenApiClient*, const Model::QueryMonthlyBillRequest&, const QueryMonthlyBillOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryMonthlyBillAsyncHandler;
-			typedef Outcome<Error, Model::CreateUserQuotaResult> CreateUserQuotaOutcome;
-			typedef std::future<CreateUserQuotaOutcome> CreateUserQuotaOutcomeCallable;
-			typedef std::function<void(const BssOpenApiClient*, const Model::CreateUserQuotaRequest&, const CreateUserQuotaOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateUserQuotaAsyncHandler;
-			typedef Outcome<Error, Model::CreateInstanceResult> CreateInstanceOutcome;
-			typedef std::future<CreateInstanceOutcome> CreateInstanceOutcomeCallable;
-			typedef std::function<void(const BssOpenApiClient*, const Model::CreateInstanceRequest&, const CreateInstanceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateInstanceAsyncHandler;
-			typedef Outcome<Error, Model::CancelOrderResult> CancelOrderOutcome;
-			typedef std::future<CancelOrderOutcome> CancelOrderOutcomeCallable;
-			typedef std::function<void(const BssOpenApiClient*, const Model::CancelOrderRequest&, const CancelOrderOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CancelOrderAsyncHandler;
-			typedef Outcome<Error, Model::QueryResourcePackageInstancesResult> QueryResourcePackageInstancesOutcome;
-			typedef std::future<QueryResourcePackageInstancesOutcome> QueryResourcePackageInstancesOutcomeCallable;
-			typedef std::function<void(const BssOpenApiClient*, const Model::QueryResourcePackageInstancesRequest&, const QueryResourcePackageInstancesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryResourcePackageInstancesAsyncHandler;
-			typedef Outcome<Error, Model::QueryUserAlarmThresholdResult> QueryUserAlarmThresholdOutcome;
-			typedef std::future<QueryUserAlarmThresholdOutcome> QueryUserAlarmThresholdOutcomeCallable;
-			typedef std::function<void(const BssOpenApiClient*, const Model::QueryUserAlarmThresholdRequest&, const QueryUserAlarmThresholdOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryUserAlarmThresholdAsyncHandler;
-			typedef Outcome<Error, Model::SubscribeDetailResult> SubscribeDetailOutcome;
-			typedef std::future<SubscribeDetailOutcome> SubscribeDetailOutcomeCallable;
-			typedef std::function<void(const BssOpenApiClient*, const Model::SubscribeDetailRequest&, const SubscribeDetailOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SubscribeDetailAsyncHandler;
-			typedef Outcome<Error, Model::EnableBillGenerationResult> EnableBillGenerationOutcome;
-			typedef std::future<EnableBillGenerationOutcome> EnableBillGenerationOutcomeCallable;
-			typedef std::function<void(const BssOpenApiClient*, const Model::EnableBillGenerationRequest&, const EnableBillGenerationOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> EnableBillGenerationAsyncHandler;
-			typedef Outcome<Error, Model::SetEnduserStatusResult> SetEnduserStatusOutcome;
-			typedef std::future<SetEnduserStatusOutcome> SetEnduserStatusOutcomeCallable;
-			typedef std::function<void(const BssOpenApiClient*, const Model::SetEnduserStatusRequest&, const SetEnduserStatusOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SetEnduserStatusAsyncHandler;
-			typedef Outcome<Error, Model::QueryInvoicingCustomerListResult> QueryInvoicingCustomerListOutcome;
-			typedef std::future<QueryInvoicingCustomerListOutcome> QueryInvoicingCustomerListOutcomeCallable;
-			typedef std::function<void(const BssOpenApiClient*, const Model::QueryInvoicingCustomerListRequest&, const QueryInvoicingCustomerListOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryInvoicingCustomerListAsyncHandler;
-			typedef Outcome<Error, Model::QueryAccountBalanceResult> QueryAccountBalanceOutcome;
-			typedef std::future<QueryAccountBalanceOutcome> QueryAccountBalanceOutcomeCallable;
-			typedef std::function<void(const BssOpenApiClient*, const Model::QueryAccountBalanceRequest&, const QueryAccountBalanceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryAccountBalanceAsyncHandler;
-			typedef Outcome<Error, Model::RenewInstanceResult> RenewInstanceOutcome;
-			typedef std::future<RenewInstanceOutcome> RenewInstanceOutcomeCallable;
-			typedef std::function<void(const BssOpenApiClient*, const Model::RenewInstanceRequest&, const RenewInstanceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> RenewInstanceAsyncHandler;
-			typedef Outcome<Error, Model::QueryInstanceGaapCostResult> QueryInstanceGaapCostOutcome;
-			typedef std::future<QueryInstanceGaapCostOutcome> QueryInstanceGaapCostOutcomeCallable;
+			typedef Outcome<Error, Model::QueryInstanceGaapCostResult> QueryInstanceGaapCostOutcome;
+			typedef std::future<QueryInstanceGaapCostOutcome> QueryInstanceGaapCostOutcomeCallable;
 			typedef std::function<void(const BssOpenApiClient*, const Model::QueryInstanceGaapCostRequest&, const QueryInstanceGaapCostOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryInstanceGaapCostAsyncHandler;
-			typedef Outcome<Error, Model::QueryMonthlyInstanceConsumptionResult> QueryMonthlyInstanceConsumptionOutcome;
-			typedef std::future<QueryMonthlyInstanceConsumptionOutcome> QueryMonthlyInstanceConsumptionOutcomeCallable;
+			typedef Outcome<Error, Model::QueryMonthlyInstanceConsumptionResult> QueryMonthlyInstanceConsumptionOutcome;
+			typedef std::future<QueryMonthlyInstanceConsumptionOutcome> QueryMonthlyInstanceConsumptionOutcomeCallable;
 			typedef std::function<void(const BssOpenApiClient*, const Model::QueryMonthlyInstanceConsumptionRequest&, const QueryMonthlyInstanceConsumptionOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryMonthlyInstanceConsumptionAsyncHandler;
-			typedef Outcome<Error, Model::QueryPrepaidCardsResult> QueryPrepaidCardsOutcome;
-			typedef std::future<QueryPrepaidCardsOutcome> QueryPrepaidCardsOutcomeCallable;
+			typedef Outcome<Error, Model::QueryAccountTransactionsResult> QueryAccountTransactionsOutcome;
+			typedef std::future<QueryAccountTransactionsOutcome> QueryAccountTransactionsOutcomeCallable;
+			typedef std::function<void(const BssOpenApiClient*, const Model::QueryAccountTransactionsRequest&, const QueryAccountTransactionsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryAccountTransactionsAsyncHandler;
+			typedef Outcome<Error, Model::QueryPrepaidCardsResult> QueryPrepaidCardsOutcome;
+			typedef std::future<QueryPrepaidCardsOutcome> QueryPrepaidCardsOutcomeCallable;
 			typedef std::function<void(const BssOpenApiClient*, const Model::QueryPrepaidCardsRequest&, const QueryPrepaidCardsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryPrepaidCardsAsyncHandler;
-			typedef Outcome<Error, Model::QueryAvailableInstancesResult> QueryAvailableInstancesOutcome;
-			typedef std::future<QueryAvailableInstancesOutcome> QueryAvailableInstancesOutcomeCallable;
+			typedef Outcome<Error, Model::QueryAvailableInstancesResult> QueryAvailableInstancesOutcome;
+			typedef std::future<QueryAvailableInstancesOutcome> QueryAvailableInstancesOutcomeCallable;
 			typedef std::function<void(const BssOpenApiClient*, const Model::QueryAvailableInstancesRequest&, const QueryAvailableInstancesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryAvailableInstancesAsyncHandler;
-			typedef Outcome<Error, Model::GetOrderDetailResult> GetOrderDetailOutcome;
-			typedef std::future<GetOrderDetailOutcome> GetOrderDetailOutcomeCallable;
+			typedef Outcome<Error, Model::CreateInstanceResult> CreateInstanceOutcome;
+			typedef std::future<CreateInstanceOutcome> CreateInstanceOutcomeCallable;
+			typedef std::function<void(const BssOpenApiClient*, const Model::CreateInstanceRequest&, const CreateInstanceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateInstanceAsyncHandler;
+			typedef Outcome<Error, Model::GetOrderDetailResult> GetOrderDetailOutcome;
+			typedef std::future<GetOrderDetailOutcome> GetOrderDetailOutcomeCallable;
 			typedef std::function<void(const BssOpenApiClient*, const Model::GetOrderDetailRequest&, const GetOrderDetailOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetOrderDetailAsyncHandler;
-			typedef Outcome<Error, Model::QueryEnduserStatusResult> QueryEnduserStatusOutcome;
-			typedef std::future<QueryEnduserStatusOutcome> QueryEnduserStatusOutcomeCallable;
-			typedef std::function<void(const BssOpenApiClient*, const Model::QueryEnduserStatusRequest&, const QueryEnduserStatusOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryEnduserStatusAsyncHandler;
-			typedef Outcome<Error, Model::ModifyInstanceResult> ModifyInstanceOutcome;
-			typedef std::future<ModifyInstanceOutcome> ModifyInstanceOutcomeCallable;
-			typedef std::function<void(const BssOpenApiClient*, const Model::ModifyInstanceRequest&, const ModifyInstanceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyInstanceAsyncHandler;
-			typedef Outcome<Error, Model::QueryCustomerAddressListResult> QueryCustomerAddressListOutcome;
-			typedef std::future<QueryCustomerAddressListOutcome> QueryCustomerAddressListOutcomeCallable;
+			typedef Outcome<Error, Model::QueryCustomerAddressListResult> QueryCustomerAddressListOutcome;
+			typedef std::future<QueryCustomerAddressListOutcome> QueryCustomerAddressListOutcomeCallable;
 			typedef std::function<void(const BssOpenApiClient*, const Model::QueryCustomerAddressListRequest&, const QueryCustomerAddressListOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryCustomerAddressListAsyncHandler;
-			typedef Outcome<Error, Model::SetUserQuotaResult> SetUserQuotaOutcome;
-			typedef std::future<SetUserQuotaOutcome> SetUserQuotaOutcomeCallable;
-			typedef std::function<void(const BssOpenApiClient*, const Model::SetUserQuotaRequest&, const SetUserQuotaOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SetUserQuotaAsyncHandler;
-			typedef Outcome<Error, Model::UnsubscribeExportToOSSResult> UnsubscribeExportToOSSOutcome;
-			typedef std::future<UnsubscribeExportToOSSOutcome> UnsubscribeExportToOSSOutcomeCallable;
-			typedef std::function<void(const BssOpenApiClient*, const Model::UnsubscribeExportToOSSRequest&, const UnsubscribeExportToOSSOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UnsubscribeExportToOSSAsyncHandler;
-			typedef Outcome<Error, Model::QueryPriceListResult> QueryPriceListOutcome;
-			typedef std::future<QueryPriceListOutcome> QueryPriceListOutcomeCallable;
-			typedef std::function<void(const BssOpenApiClient*, const Model::QueryPriceListRequest&, const QueryPriceListOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryPriceListAsyncHandler;
-			typedef Outcome<Error, Model::QueryRedeemResult> QueryRedeemOutcome;
-			typedef std::future<QueryRedeemOutcome> QueryRedeemOutcomeCallable;
+			typedef Outcome<Error, Model::ModifyInstanceResult> ModifyInstanceOutcome;
+			typedef std::future<ModifyInstanceOutcome> ModifyInstanceOutcomeCallable;
+			typedef std::function<void(const BssOpenApiClient*, const Model::ModifyInstanceRequest&, const ModifyInstanceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyInstanceAsyncHandler;
+			typedef Outcome<Error, Model::CancelOrderResult> CancelOrderOutcome;
+			typedef std::future<CancelOrderOutcome> CancelOrderOutcomeCallable;
+			typedef std::function<void(const BssOpenApiClient*, const Model::CancelOrderRequest&, const CancelOrderOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CancelOrderAsyncHandler;
+			typedef Outcome<Error, Model::CreateResellerUserQuotaResult> CreateResellerUserQuotaOutcome;
+			typedef std::future<CreateResellerUserQuotaOutcome> CreateResellerUserQuotaOutcomeCallable;
+			typedef std::function<void(const BssOpenApiClient*, const Model::CreateResellerUserQuotaRequest&, const CreateResellerUserQuotaOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateResellerUserQuotaAsyncHandler;
+			typedef Outcome<Error, Model::QueryResourcePackageInstancesResult> QueryResourcePackageInstancesOutcome;
+			typedef std::future<QueryResourcePackageInstancesOutcome> QueryResourcePackageInstancesOutcomeCallable;
+			typedef std::function<void(const BssOpenApiClient*, const Model::QueryResourcePackageInstancesRequest&, const QueryResourcePackageInstancesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryResourcePackageInstancesAsyncHandler;
+			typedef Outcome<Error, Model::QueryRedeemResult> QueryRedeemOutcome;
+			typedef std::future<QueryRedeemOutcome> QueryRedeemOutcomeCallable;
 			typedef std::function<void(const BssOpenApiClient*, const Model::QueryRedeemRequest&, const QueryRedeemOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryRedeemAsyncHandler;
-			typedef Outcome<Error, Model::SubscribeBillToOSSResult> SubscribeBillToOSSOutcome;
-			typedef std::future<SubscribeBillToOSSOutcome> SubscribeBillToOSSOutcomeCallable;
+			typedef Outcome<Error, Model::SubscribeBillToOSSResult> SubscribeBillToOSSOutcome;
+			typedef std::future<SubscribeBillToOSSOutcome> SubscribeBillToOSSOutcomeCallable;
 			typedef std::function<void(const BssOpenApiClient*, const Model::SubscribeBillToOSSRequest&, const SubscribeBillToOSSOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SubscribeBillToOSSAsyncHandler;
-			typedef Outcome<Error, Model::GetPayAsYouGoPriceResult> GetPayAsYouGoPriceOutcome;
-			typedef std::future<GetPayAsYouGoPriceOutcome> GetPayAsYouGoPriceOutcomeCallable;
+			typedef Outcome<Error, Model::GetPayAsYouGoPriceResult> GetPayAsYouGoPriceOutcome;
+			typedef std::future<GetPayAsYouGoPriceOutcome> GetPayAsYouGoPriceOutcomeCallable;
 			typedef std::function<void(const BssOpenApiClient*, const Model::GetPayAsYouGoPriceRequest&, const GetPayAsYouGoPriceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetPayAsYouGoPriceAsyncHandler;
-			typedef Outcome<Error, Model::GetResourcePackagePriceResult> GetResourcePackagePriceOutcome;
-			typedef std::future<GetResourcePackagePriceOutcome> GetResourcePackagePriceOutcomeCallable;
+			typedef Outcome<Error, Model::GetResourcePackagePriceResult> GetResourcePackagePriceOutcome;
+			typedef std::future<GetResourcePackagePriceOutcome> GetResourcePackagePriceOutcomeCallable;
 			typedef std::function<void(const BssOpenApiClient*, const Model::GetResourcePackagePriceRequest&, const GetResourcePackagePriceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetResourcePackagePriceAsyncHandler;
-			typedef Outcome<Error, Model::UnsubscribeBillToOSSResult> UnsubscribeBillToOSSOutcome;
-			typedef std::future<UnsubscribeBillToOSSOutcome> UnsubscribeBillToOSSOutcomeCallable;
-			typedef std::function<void(const BssOpenApiClient*, const Model::UnsubscribeBillToOSSRequest&, const UnsubscribeBillToOSSOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UnsubscribeBillToOSSAsyncHandler;
-			typedef Outcome<Error, Model::ChangeConsumeAmountResult> ChangeConsumeAmountOutcome;
-			typedef std::future<ChangeConsumeAmountOutcome> ChangeConsumeAmountOutcomeCallable;
-			typedef std::function<void(const BssOpenApiClient*, const Model::ChangeConsumeAmountRequest&, const ChangeConsumeAmountOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ChangeConsumeAmountAsyncHandler;
-			typedef Outcome<Error, Model::ApplyInvoiceResult> ApplyInvoiceOutcome;
-			typedef std::future<ApplyInvoiceOutcome> ApplyInvoiceOutcomeCallable;
-			typedef std::function<void(const BssOpenApiClient*, const Model::ApplyInvoiceRequest&, const ApplyInvoiceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ApplyInvoiceAsyncHandler;
-			typedef Outcome<Error, Model::QueryProductListResult> QueryProductListOutcome;
-			typedef std::future<QueryProductListOutcome> QueryProductListOutcomeCallable;
+			typedef Outcome<Error, Model::QueryProductListResult> QueryProductListOutcome;
+			typedef std::future<QueryProductListOutcome> QueryProductListOutcomeCallable;
 			typedef std::function<void(const BssOpenApiClient*, const Model::QueryProductListRequest&, const QueryProductListOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryProductListAsyncHandler;
-			typedef Outcome<Error, Model::SetUserAlarmThresholdResult> SetUserAlarmThresholdOutcome;
-			typedef std::future<SetUserAlarmThresholdOutcome> SetUserAlarmThresholdOutcomeCallable;
-			typedef std::function<void(const BssOpenApiClient*, const Model::SetUserAlarmThresholdRequest&, const SetUserAlarmThresholdOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SetUserAlarmThresholdAsyncHandler;
-			typedef Outcome<Error, Model::GetSubscriptionPriceResult> GetSubscriptionPriceOutcome;
-			typedef std::future<GetSubscriptionPriceOutcome> GetSubscriptionPriceOutcomeCallable;
+			typedef Outcome<Error, Model::ApplyInvoiceResult> ApplyInvoiceOutcome;
+			typedef std::future<ApplyInvoiceOutcome> ApplyInvoiceOutcomeCallable;
+			typedef std::function<void(const BssOpenApiClient*, const Model::ApplyInvoiceRequest&, const ApplyInvoiceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ApplyInvoiceAsyncHandler;
+			typedef Outcome<Error, Model::UnsubscribeBillToOSSResult> UnsubscribeBillToOSSOutcome;
+			typedef std::future<UnsubscribeBillToOSSOutcome> UnsubscribeBillToOSSOutcomeCallable;
+			typedef std::function<void(const BssOpenApiClient*, const Model::UnsubscribeBillToOSSRequest&, const UnsubscribeBillToOSSOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UnsubscribeBillToOSSAsyncHandler;
+			typedef Outcome<Error, Model::GetCustomerListResult> GetCustomerListOutcome;
+			typedef std::future<GetCustomerListOutcome> GetCustomerListOutcomeCallable;
+			typedef std::function<void(const BssOpenApiClient*, const Model::GetCustomerListRequest&, const GetCustomerListOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetCustomerListAsyncHandler;
+			typedef Outcome<Error, Model::GetSubscriptionPriceResult> GetSubscriptionPriceOutcome;
+			typedef std::future<GetSubscriptionPriceOutcome> GetSubscriptionPriceOutcomeCallable;
 			typedef std::function<void(const BssOpenApiClient*, const Model::GetSubscriptionPriceRequest&, const GetSubscriptionPriceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetSubscriptionPriceAsyncHandler;
-			typedef Outcome<Error, Model::QueryAccountBookListResult> QueryAccountBookListOutcome;
-			typedef std::future<QueryAccountBookListOutcome> QueryAccountBookListOutcomeCallable;
-			typedef std::function<void(const BssOpenApiClient*, const Model::QueryAccountBookListRequest&, const QueryAccountBookListOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryAccountBookListAsyncHandler;
-			typedef Outcome<Error, Model::QueryOrdersResult> QueryOrdersOutcome;
-			typedef std::future<QueryOrdersOutcome> QueryOrdersOutcomeCallable;
+			typedef Outcome<Error, Model::QueryResellerAvailableQuotaResult> QueryResellerAvailableQuotaOutcome;
+			typedef std::future<QueryResellerAvailableQuotaOutcome> QueryResellerAvailableQuotaOutcomeCallable;
+			typedef std::function<void(const BssOpenApiClient*, const Model::QueryResellerAvailableQuotaRequest&, const QueryResellerAvailableQuotaOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryResellerAvailableQuotaAsyncHandler;
+			typedef Outcome<Error, Model::SetResellerUserQuotaResult> SetResellerUserQuotaOutcome;
+			typedef std::future<SetResellerUserQuotaOutcome> SetResellerUserQuotaOutcomeCallable;
+			typedef std::function<void(const BssOpenApiClient*, const Model::SetResellerUserQuotaRequest&, const SetResellerUserQuotaOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SetResellerUserQuotaAsyncHandler;
+			typedef Outcome<Error, Model::SetResellerUserStatusResult> SetResellerUserStatusOutcome;
+			typedef std::future<SetResellerUserStatusOutcome> SetResellerUserStatusOutcomeCallable;
+			typedef std::function<void(const BssOpenApiClient*, const Model::SetResellerUserStatusRequest&, const SetResellerUserStatusOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SetResellerUserStatusAsyncHandler;
+			typedef Outcome<Error, Model::EnableBillGenerationResult> EnableBillGenerationOutcome;
+			typedef std::future<EnableBillGenerationOutcome> EnableBillGenerationOutcomeCallable;
+			typedef std::function<void(const BssOpenApiClient*, const Model::EnableBillGenerationRequest&, const EnableBillGenerationOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> EnableBillGenerationAsyncHandler;
+			typedef Outcome<Error, Model::QueryOrdersResult> QueryOrdersOutcome;
+			typedef std::future<QueryOrdersOutcome> QueryOrdersOutcomeCallable;
 			typedef std::function<void(const BssOpenApiClient*, const Model::QueryOrdersRequest&, const QueryOrdersOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryOrdersAsyncHandler;
-			typedef Outcome<Error, Model::QueryCashCouponsResult> QueryCashCouponsOutcome;
-			typedef std::future<QueryCashCouponsOutcome> QueryCashCouponsOutcomeCallable;
+			typedef Outcome<Error, Model::QueryCashCouponsResult> QueryCashCouponsOutcome;
+			typedef std::future<QueryCashCouponsOutcome> QueryCashCouponsOutcomeCallable;
 			typedef std::function<void(const BssOpenApiClient*, const Model::QueryCashCouponsRequest&, const QueryCashCouponsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryCashCouponsAsyncHandler;
-			typedef Outcome<Error, Model::QueryEvaluateListResult> QueryEvaluateListOutcome;
-			typedef std::future<QueryEvaluateListOutcome> QueryEvaluateListOutcomeCallable;
-			typedef std::function<void(const BssOpenApiClient*, const Model::QueryEvaluateListRequest&, const QueryEvaluateListOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryEvaluateListAsyncHandler;
-			typedef Outcome<Error, Model::DescribePricingModuleResult> DescribePricingModuleOutcome;
-			typedef std::future<DescribePricingModuleOutcome> DescribePricingModuleOutcomeCallable;
+			typedef Outcome<Error, Model::QueryInvoicingCustomerListResult> QueryInvoicingCustomerListOutcome;
+			typedef std::future<QueryInvoicingCustomerListOutcome> QueryInvoicingCustomerListOutcomeCallable;
+			typedef std::function<void(const BssOpenApiClient*, const Model::QueryInvoicingCustomerListRequest&, const QueryInvoicingCustomerListOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryInvoicingCustomerListAsyncHandler;
+			typedef Outcome<Error, Model::DescribePricingModuleResult> DescribePricingModuleOutcome;
+			typedef std::future<DescribePricingModuleOutcome> DescribePricingModuleOutcomeCallable;
 			typedef std::function<void(const BssOpenApiClient*, const Model::DescribePricingModuleRequest&, const DescribePricingModuleOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribePricingModuleAsyncHandler;
-			typedef Outcome<Error, Model::DescribeResourcePackageProductResult> DescribeResourcePackageProductOutcome;
-			typedef std::future<DescribeResourcePackageProductOutcome> DescribeResourcePackageProductOutcomeCallable;
+			typedef Outcome<Error, Model::QueryEvaluateListResult> QueryEvaluateListOutcome;
+			typedef std::future<QueryEvaluateListOutcome> QueryEvaluateListOutcomeCallable;
+			typedef std::function<void(const BssOpenApiClient*, const Model::QueryEvaluateListRequest&, const QueryEvaluateListOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryEvaluateListAsyncHandler;
+			typedef Outcome<Error, Model::QueryAccountBalanceResult> QueryAccountBalanceOutcome;
+			typedef std::future<QueryAccountBalanceOutcome> QueryAccountBalanceOutcomeCallable;
+			typedef std::function<void(const BssOpenApiClient*, const Model::QueryAccountBalanceRequest&, const QueryAccountBalanceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryAccountBalanceAsyncHandler;
+			typedef Outcome<Error, Model::DescribeResourcePackageProductResult> DescribeResourcePackageProductOutcome;
+			typedef std::future<DescribeResourcePackageProductOutcome> DescribeResourcePackageProductOutcomeCallable;
 			typedef std::function<void(const BssOpenApiClient*, const Model::DescribeResourcePackageProductRequest&, const DescribeResourcePackageProductOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeResourcePackageProductAsyncHandler;
-			typedef Outcome<Error, Model::CreateResourcePackageResult> CreateResourcePackageOutcome;
-			typedef std::future<CreateResourcePackageOutcome> CreateResourcePackageOutcomeCallable;
+			typedef Outcome<Error, Model::ChangeResellerConsumeAmountResult> ChangeResellerConsumeAmountOutcome;
+			typedef std::future<ChangeResellerConsumeAmountOutcome> ChangeResellerConsumeAmountOutcomeCallable;
+			typedef std::function<void(const BssOpenApiClient*, const Model::ChangeResellerConsumeAmountRequest&, const ChangeResellerConsumeAmountOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ChangeResellerConsumeAmountAsyncHandler;
+			typedef Outcome<Error, Model::RenewInstanceResult> RenewInstanceOutcome;
+			typedef std::future<RenewInstanceOutcome> RenewInstanceOutcomeCallable;
+			typedef std::function<void(const BssOpenApiClient*, const Model::RenewInstanceRequest&, const RenewInstanceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> RenewInstanceAsyncHandler;
+			typedef Outcome<Error, Model::CreateResourcePackageResult> CreateResourcePackageOutcome;
+			typedef std::future<CreateResourcePackageOutcome> CreateResourcePackageOutcomeCallable;
 			typedef std::function<void(const BssOpenApiClient*, const Model::CreateResourcePackageRequest&, const CreateResourcePackageOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateResourcePackageAsyncHandler;
-			typedef Outcome<Error, Model::QueryInstanceBillResult> QueryInstanceBillOutcome;
-			typedef std::future<QueryInstanceBillOutcome> QueryInstanceBillOutcomeCallable;
+			typedef Outcome<Error, Model::GetCustomerAccountInfoResult> GetCustomerAccountInfoOutcome;
+			typedef std::future<GetCustomerAccountInfoOutcome> GetCustomerAccountInfoOutcomeCallable;
+			typedef std::function<void(const BssOpenApiClient*, const Model::GetCustomerAccountInfoRequest&, const GetCustomerAccountInfoOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetCustomerAccountInfoAsyncHandler;
+			typedef Outcome<Error, Model::QueryInstanceBillResult> QueryInstanceBillOutcome;
+			typedef std::future<QueryInstanceBillOutcome> QueryInstanceBillOutcomeCallable;
 			typedef std::function<void(const BssOpenApiClient*, const Model::QueryInstanceBillRequest&, const QueryInstanceBillOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryInstanceBillAsyncHandler;
-			typedef Outcome<Error, Model::SubscribeExportToOSSResult> SubscribeExportToOSSOutcome;
-			typedef std::future<SubscribeExportToOSSOutcome> SubscribeExportToOSSOutcomeCallable;
-			typedef std::function<void(const BssOpenApiClient*, const Model::SubscribeExportToOSSRequest&, const SubscribeExportToOSSOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SubscribeExportToOSSAsyncHandler;
-			typedef Outcome<Error, Model::QueryAvaliableQuotaResult> QueryAvaliableQuotaOutcome;
-			typedef std::future<QueryAvaliableQuotaOutcome> QueryAvaliableQuotaOutcomeCallable;
-			typedef std::function<void(const BssOpenApiClient*, const Model::QueryAvaliableQuotaRequest&, const QueryAvaliableQuotaOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryAvaliableQuotaAsyncHandler;
-			typedef Outcome<Error, Model::QueryPriceResult> QueryPriceOutcome;
-			typedef std::future<QueryPriceOutcome> QueryPriceOutcomeCallable;
-			typedef std::function<void(const BssOpenApiClient*, const Model::QueryPriceRequest&, const QueryPriceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryPriceAsyncHandler;
-			typedef Outcome<Error, Model::QueryBillResult> QueryBillOutcome;
-			typedef std::future<QueryBillOutcome> QueryBillOutcomeCallable;
+			typedef Outcome<Error, Model::SetResellerUserAlarmThresholdResult> SetResellerUserAlarmThresholdOutcome;
+			typedef std::future<SetResellerUserAlarmThresholdOutcome> SetResellerUserAlarmThresholdOutcomeCallable;
+			typedef std::function<void(const BssOpenApiClient*, const Model::SetResellerUserAlarmThresholdRequest&, const SetResellerUserAlarmThresholdOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SetResellerUserAlarmThresholdAsyncHandler;
+			typedef Outcome<Error, Model::QueryBillResult> QueryBillOutcome;
+			typedef std::future<QueryBillOutcome> QueryBillOutcomeCallable;
 			typedef std::function<void(const BssOpenApiClient*, const Model::QueryBillRequest&, const QueryBillOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryBillAsyncHandler;
-			typedef Outcome<Error, Model::SetRenewalResult> SetRenewalOutcome;
-			typedef std::future<SetRenewalOutcome> SetRenewalOutcomeCallable;
+			typedef Outcome<Error, Model::SetRenewalResult> SetRenewalOutcome;
+			typedef std::future<SetRenewalOutcome> SetRenewalOutcomeCallable;
 			typedef std::function<void(const BssOpenApiClient*, const Model::SetRenewalRequest&, const SetRenewalOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SetRenewalAsyncHandler;
-			typedef Outcome<Error, Model::ConvertChargeTypeResult> ConvertChargeTypeOutcome;
-			typedef std::future<ConvertChargeTypeOutcome> ConvertChargeTypeOutcomeCallable;
+			typedef Outcome<Error, Model::CreateAgAccountResult> CreateAgAccountOutcome;
+			typedef std::future<CreateAgAccountOutcome> CreateAgAccountOutcomeCallable;
+			typedef std::function<void(const BssOpenApiClient*, const Model::CreateAgAccountRequest&, const CreateAgAccountOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateAgAccountAsyncHandler;
+			typedef Outcome<Error, Model::ConvertChargeTypeResult> ConvertChargeTypeOutcome;
+			typedef std::future<ConvertChargeTypeOutcome> ConvertChargeTypeOutcomeCallable;
 			typedef std::function<void(const BssOpenApiClient*, const Model::ConvertChargeTypeRequest&, const ConvertChargeTypeOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ConvertChargeTypeAsyncHandler;
-			typedef Outcome<Error, Model::QueryBillOverviewResult> QueryBillOverviewOutcome;
-			typedef std::future<QueryBillOverviewOutcome> QueryBillOverviewOutcomeCallable;
+			typedef Outcome<Error, Model::QueryBillOverviewResult> QueryBillOverviewOutcome;
+			typedef std::future<QueryBillOverviewOutcome> QueryBillOverviewOutcomeCallable;
 			typedef std::function<void(const BssOpenApiClient*, const Model::QueryBillOverviewRequest&, const QueryBillOverviewOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryBillOverviewAsyncHandler;
-			typedef Outcome<Error, Model::QuerySettlementBillResult> QuerySettlementBillOutcome;
-			typedef std::future<QuerySettlementBillOutcome> QuerySettlementBillOutcomeCallable;
+			typedef Outcome<Error, Model::QuerySettlementBillResult> QuerySettlementBillOutcome;
+			typedef std::future<QuerySettlementBillOutcome> QuerySettlementBillOutcomeCallable;
 			typedef std::function<void(const BssOpenApiClient*, const Model::QuerySettlementBillRequest&, const QuerySettlementBillOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QuerySettlementBillAsyncHandler;
-			typedef Outcome<Error, Model::QueryUserOmsDataResult> QueryUserOmsDataOutcome;
-			typedef std::future<QueryUserOmsDataOutcome> QueryUserOmsDataOutcomeCallable;
+			typedef Outcome<Error, Model::QueryUserOmsDataResult> QueryUserOmsDataOutcome;
+			typedef std::future<QueryUserOmsDataOutcome> QueryUserOmsDataOutcomeCallable;
 			typedef std::function<void(const BssOpenApiClient*, const Model::QueryUserOmsDataRequest&, const QueryUserOmsDataOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryUserOmsDataAsyncHandler;
-
-			BssOpenApiClient(const Credentials &credentials, const ClientConfiguration &configuration);
-			BssOpenApiClient(const std::shared_ptr<CredentialsProvider> &credentialsProvider, const ClientConfiguration &configuration);
-			BssOpenApiClient(const std::string &accessKeyId, const std::string &accessKeySecret, const ClientConfiguration &configuration);
-			~BssOpenApiClient();
-			QueryMonthlyBillOutcome queryMonthlyBill(const Model::QueryMonthlyBillRequest &request)const;
-			void queryMonthlyBillAsync(const Model::QueryMonthlyBillRequest& request, const QueryMonthlyBillAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+
+			BssOpenApiClient(const Credentials &credentials, const ClientConfiguration &configuration);
+			BssOpenApiClient(const std::shared_ptr<CredentialsProvider> &credentialsProvider, const ClientConfiguration &configuration);
+			BssOpenApiClient(const std::string &accessKeyId, const std::string &accessKeySecret, const ClientConfiguration &configuration);
+			~BssOpenApiClient();
+			QueryMonthlyBillOutcome queryMonthlyBill(const Model::QueryMonthlyBillRequest &request)const;
+			void queryMonthlyBillAsync(const Model::QueryMonthlyBillRequest& request, const QueryMonthlyBillAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			QueryMonthlyBillOutcomeCallable queryMonthlyBillCallable(const Model::QueryMonthlyBillRequest& request) const;
-			CreateUserQuotaOutcome createUserQuota(const Model::CreateUserQuotaRequest &request)const;
-			void createUserQuotaAsync(const Model::CreateUserQuotaRequest& request, const CreateUserQuotaAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
-			CreateUserQuotaOutcomeCallable createUserQuotaCallable(const Model::CreateUserQuotaRequest& request) const;
-			CreateInstanceOutcome createInstance(const Model::CreateInstanceRequest &request)const;
-			void createInstanceAsync(const Model::CreateInstanceRequest& request, const CreateInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
-			CreateInstanceOutcomeCallable createInstanceCallable(const Model::CreateInstanceRequest& request) const;
-			CancelOrderOutcome cancelOrder(const Model::CancelOrderRequest &request)const;
-			void cancelOrderAsync(const Model::CancelOrderRequest& request, const CancelOrderAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
-			CancelOrderOutcomeCallable cancelOrderCallable(const Model::CancelOrderRequest& request) const;
-			QueryResourcePackageInstancesOutcome queryResourcePackageInstances(const Model::QueryResourcePackageInstancesRequest &request)const;
-			void queryResourcePackageInstancesAsync(const Model::QueryResourcePackageInstancesRequest& request, const QueryResourcePackageInstancesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
-			QueryResourcePackageInstancesOutcomeCallable queryResourcePackageInstancesCallable(const Model::QueryResourcePackageInstancesRequest& request) const;
-			QueryUserAlarmThresholdOutcome queryUserAlarmThreshold(const Model::QueryUserAlarmThresholdRequest &request)const;
-			void queryUserAlarmThresholdAsync(const Model::QueryUserAlarmThresholdRequest& request, const QueryUserAlarmThresholdAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
-			QueryUserAlarmThresholdOutcomeCallable queryUserAlarmThresholdCallable(const Model::QueryUserAlarmThresholdRequest& request) const;
-			SubscribeDetailOutcome subscribeDetail(const Model::SubscribeDetailRequest &request)const;
-			void subscribeDetailAsync(const Model::SubscribeDetailRequest& request, const SubscribeDetailAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
-			SubscribeDetailOutcomeCallable subscribeDetailCallable(const Model::SubscribeDetailRequest& request) const;
-			EnableBillGenerationOutcome enableBillGeneration(const Model::EnableBillGenerationRequest &request)const;
-			void enableBillGenerationAsync(const Model::EnableBillGenerationRequest& request, const EnableBillGenerationAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
-			EnableBillGenerationOutcomeCallable enableBillGenerationCallable(const Model::EnableBillGenerationRequest& request) const;
-			SetEnduserStatusOutcome setEnduserStatus(const Model::SetEnduserStatusRequest &request)const;
-			void setEnduserStatusAsync(const Model::SetEnduserStatusRequest& request, const SetEnduserStatusAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
-			SetEnduserStatusOutcomeCallable setEnduserStatusCallable(const Model::SetEnduserStatusRequest& request) const;
-			QueryInvoicingCustomerListOutcome queryInvoicingCustomerList(const Model::QueryInvoicingCustomerListRequest &request)const;
-			void queryInvoicingCustomerListAsync(const Model::QueryInvoicingCustomerListRequest& request, const QueryInvoicingCustomerListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
-			QueryInvoicingCustomerListOutcomeCallable queryInvoicingCustomerListCallable(const Model::QueryInvoicingCustomerListRequest& request) const;
-			QueryAccountBalanceOutcome queryAccountBalance(const Model::QueryAccountBalanceRequest &request)const;
-			void queryAccountBalanceAsync(const Model::QueryAccountBalanceRequest& request, const QueryAccountBalanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
-			QueryAccountBalanceOutcomeCallable queryAccountBalanceCallable(const Model::QueryAccountBalanceRequest& request) const;
-			RenewInstanceOutcome renewInstance(const Model::RenewInstanceRequest &request)const;
-			void renewInstanceAsync(const Model::RenewInstanceRequest& request, const RenewInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
-			RenewInstanceOutcomeCallable renewInstanceCallable(const Model::RenewInstanceRequest& request) const;
-			QueryInstanceGaapCostOutcome queryInstanceGaapCost(const Model::QueryInstanceGaapCostRequest &request)const;
-			void queryInstanceGaapCostAsync(const Model::QueryInstanceGaapCostRequest& request, const QueryInstanceGaapCostAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			QueryInstanceGaapCostOutcome queryInstanceGaapCost(const Model::QueryInstanceGaapCostRequest &request)const;
+			void queryInstanceGaapCostAsync(const Model::QueryInstanceGaapCostRequest& request, const QueryInstanceGaapCostAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			QueryInstanceGaapCostOutcomeCallable queryInstanceGaapCostCallable(const Model::QueryInstanceGaapCostRequest& request) const;
-			QueryMonthlyInstanceConsumptionOutcome queryMonthlyInstanceConsumption(const Model::QueryMonthlyInstanceConsumptionRequest &request)const;
-			void queryMonthlyInstanceConsumptionAsync(const Model::QueryMonthlyInstanceConsumptionRequest& request, const QueryMonthlyInstanceConsumptionAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			QueryMonthlyInstanceConsumptionOutcome queryMonthlyInstanceConsumption(const Model::QueryMonthlyInstanceConsumptionRequest &request)const;
+			void queryMonthlyInstanceConsumptionAsync(const Model::QueryMonthlyInstanceConsumptionRequest& request, const QueryMonthlyInstanceConsumptionAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			QueryMonthlyInstanceConsumptionOutcomeCallable queryMonthlyInstanceConsumptionCallable(const Model::QueryMonthlyInstanceConsumptionRequest& request) const;
-			QueryPrepaidCardsOutcome queryPrepaidCards(const Model::QueryPrepaidCardsRequest &request)const;
-			void queryPrepaidCardsAsync(const Model::QueryPrepaidCardsRequest& request, const QueryPrepaidCardsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			QueryAccountTransactionsOutcome queryAccountTransactions(const Model::QueryAccountTransactionsRequest &request)const;
+			void queryAccountTransactionsAsync(const Model::QueryAccountTransactionsRequest& request, const QueryAccountTransactionsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			QueryAccountTransactionsOutcomeCallable queryAccountTransactionsCallable(const Model::QueryAccountTransactionsRequest& request) const;
+			QueryPrepaidCardsOutcome queryPrepaidCards(const Model::QueryPrepaidCardsRequest &request)const;
+			void queryPrepaidCardsAsync(const Model::QueryPrepaidCardsRequest& request, const QueryPrepaidCardsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			QueryPrepaidCardsOutcomeCallable queryPrepaidCardsCallable(const Model::QueryPrepaidCardsRequest& request) const;
-			QueryAvailableInstancesOutcome queryAvailableInstances(const Model::QueryAvailableInstancesRequest &request)const;
-			void queryAvailableInstancesAsync(const Model::QueryAvailableInstancesRequest& request, const QueryAvailableInstancesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			QueryAvailableInstancesOutcome queryAvailableInstances(const Model::QueryAvailableInstancesRequest &request)const;
+			void queryAvailableInstancesAsync(const Model::QueryAvailableInstancesRequest& request, const QueryAvailableInstancesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			QueryAvailableInstancesOutcomeCallable queryAvailableInstancesCallable(const Model::QueryAvailableInstancesRequest& request) const;
-			GetOrderDetailOutcome getOrderDetail(const Model::GetOrderDetailRequest &request)const;
-			void getOrderDetailAsync(const Model::GetOrderDetailRequest& request, const GetOrderDetailAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateInstanceOutcome createInstance(const Model::CreateInstanceRequest &request)const;
+			void createInstanceAsync(const Model::CreateInstanceRequest& request, const CreateInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateInstanceOutcomeCallable createInstanceCallable(const Model::CreateInstanceRequest& request) const;
+			GetOrderDetailOutcome getOrderDetail(const Model::GetOrderDetailRequest &request)const;
+			void getOrderDetailAsync(const Model::GetOrderDetailRequest& request, const GetOrderDetailAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			GetOrderDetailOutcomeCallable getOrderDetailCallable(const Model::GetOrderDetailRequest& request) const;
-			QueryEnduserStatusOutcome queryEnduserStatus(const Model::QueryEnduserStatusRequest &request)const;
-			void queryEnduserStatusAsync(const Model::QueryEnduserStatusRequest& request, const QueryEnduserStatusAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
-			QueryEnduserStatusOutcomeCallable queryEnduserStatusCallable(const Model::QueryEnduserStatusRequest& request) const;
-			ModifyInstanceOutcome modifyInstance(const Model::ModifyInstanceRequest &request)const;
-			void modifyInstanceAsync(const Model::ModifyInstanceRequest& request, const ModifyInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
-			ModifyInstanceOutcomeCallable modifyInstanceCallable(const Model::ModifyInstanceRequest& request) const;
-			QueryCustomerAddressListOutcome queryCustomerAddressList(const Model::QueryCustomerAddressListRequest &request)const;
-			void queryCustomerAddressListAsync(const Model::QueryCustomerAddressListRequest& request, const QueryCustomerAddressListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			QueryCustomerAddressListOutcome queryCustomerAddressList(const Model::QueryCustomerAddressListRequest &request)const;
+			void queryCustomerAddressListAsync(const Model::QueryCustomerAddressListRequest& request, const QueryCustomerAddressListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			QueryCustomerAddressListOutcomeCallable queryCustomerAddressListCallable(const Model::QueryCustomerAddressListRequest& request) const;
-			SetUserQuotaOutcome setUserQuota(const Model::SetUserQuotaRequest &request)const;
-			void setUserQuotaAsync(const Model::SetUserQuotaRequest& request, const SetUserQuotaAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
-			SetUserQuotaOutcomeCallable setUserQuotaCallable(const Model::SetUserQuotaRequest& request) const;
-			UnsubscribeExportToOSSOutcome unsubscribeExportToOSS(const Model::UnsubscribeExportToOSSRequest &request)const;
-			void unsubscribeExportToOSSAsync(const Model::UnsubscribeExportToOSSRequest& request, const UnsubscribeExportToOSSAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
-			UnsubscribeExportToOSSOutcomeCallable unsubscribeExportToOSSCallable(const Model::UnsubscribeExportToOSSRequest& request) const;
-			QueryPriceListOutcome queryPriceList(const Model::QueryPriceListRequest &request)const;
-			void queryPriceListAsync(const Model::QueryPriceListRequest& request, const QueryPriceListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
-			QueryPriceListOutcomeCallable queryPriceListCallable(const Model::QueryPriceListRequest& request) const;
-			QueryRedeemOutcome queryRedeem(const Model::QueryRedeemRequest &request)const;
-			void queryRedeemAsync(const Model::QueryRedeemRequest& request, const QueryRedeemAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ModifyInstanceOutcome modifyInstance(const Model::ModifyInstanceRequest &request)const;
+			void modifyInstanceAsync(const Model::ModifyInstanceRequest& request, const ModifyInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ModifyInstanceOutcomeCallable modifyInstanceCallable(const Model::ModifyInstanceRequest& request) const;
+			CancelOrderOutcome cancelOrder(const Model::CancelOrderRequest &request)const;
+			void cancelOrderAsync(const Model::CancelOrderRequest& request, const CancelOrderAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CancelOrderOutcomeCallable cancelOrderCallable(const Model::CancelOrderRequest& request) const;
+			CreateResellerUserQuotaOutcome createResellerUserQuota(const Model::CreateResellerUserQuotaRequest &request)const;
+			void createResellerUserQuotaAsync(const Model::CreateResellerUserQuotaRequest& request, const CreateResellerUserQuotaAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateResellerUserQuotaOutcomeCallable createResellerUserQuotaCallable(const Model::CreateResellerUserQuotaRequest& request) const;
+			QueryResourcePackageInstancesOutcome queryResourcePackageInstances(const Model::QueryResourcePackageInstancesRequest &request)const;
+			void queryResourcePackageInstancesAsync(const Model::QueryResourcePackageInstancesRequest& request, const QueryResourcePackageInstancesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			QueryResourcePackageInstancesOutcomeCallable queryResourcePackageInstancesCallable(const Model::QueryResourcePackageInstancesRequest& request) const;
+			QueryRedeemOutcome queryRedeem(const Model::QueryRedeemRequest &request)const;
+			void queryRedeemAsync(const Model::QueryRedeemRequest& request, const QueryRedeemAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			QueryRedeemOutcomeCallable queryRedeemCallable(const Model::QueryRedeemRequest& request) const;
-			SubscribeBillToOSSOutcome subscribeBillToOSS(const Model::SubscribeBillToOSSRequest &request)const;
-			void subscribeBillToOSSAsync(const Model::SubscribeBillToOSSRequest& request, const SubscribeBillToOSSAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			SubscribeBillToOSSOutcome subscribeBillToOSS(const Model::SubscribeBillToOSSRequest &request)const;
+			void subscribeBillToOSSAsync(const Model::SubscribeBillToOSSRequest& request, const SubscribeBillToOSSAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			SubscribeBillToOSSOutcomeCallable subscribeBillToOSSCallable(const Model::SubscribeBillToOSSRequest& request) const;
-			GetPayAsYouGoPriceOutcome getPayAsYouGoPrice(const Model::GetPayAsYouGoPriceRequest &request)const;
-			void getPayAsYouGoPriceAsync(const Model::GetPayAsYouGoPriceRequest& request, const GetPayAsYouGoPriceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			GetPayAsYouGoPriceOutcome getPayAsYouGoPrice(const Model::GetPayAsYouGoPriceRequest &request)const;
+			void getPayAsYouGoPriceAsync(const Model::GetPayAsYouGoPriceRequest& request, const GetPayAsYouGoPriceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			GetPayAsYouGoPriceOutcomeCallable getPayAsYouGoPriceCallable(const Model::GetPayAsYouGoPriceRequest& request) const;
-			GetResourcePackagePriceOutcome getResourcePackagePrice(const Model::GetResourcePackagePriceRequest &request)const;
-			void getResourcePackagePriceAsync(const Model::GetResourcePackagePriceRequest& request, const GetResourcePackagePriceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			GetResourcePackagePriceOutcome getResourcePackagePrice(const Model::GetResourcePackagePriceRequest &request)const;
+			void getResourcePackagePriceAsync(const Model::GetResourcePackagePriceRequest& request, const GetResourcePackagePriceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			GetResourcePackagePriceOutcomeCallable getResourcePackagePriceCallable(const Model::GetResourcePackagePriceRequest& request) const;
-			UnsubscribeBillToOSSOutcome unsubscribeBillToOSS(const Model::UnsubscribeBillToOSSRequest &request)const;
-			void unsubscribeBillToOSSAsync(const Model::UnsubscribeBillToOSSRequest& request, const UnsubscribeBillToOSSAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
-			UnsubscribeBillToOSSOutcomeCallable unsubscribeBillToOSSCallable(const Model::UnsubscribeBillToOSSRequest& request) const;
-			ChangeConsumeAmountOutcome changeConsumeAmount(const Model::ChangeConsumeAmountRequest &request)const;
-			void changeConsumeAmountAsync(const Model::ChangeConsumeAmountRequest& request, const ChangeConsumeAmountAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
-			ChangeConsumeAmountOutcomeCallable changeConsumeAmountCallable(const Model::ChangeConsumeAmountRequest& request) const;
-			ApplyInvoiceOutcome applyInvoice(const Model::ApplyInvoiceRequest &request)const;
-			void applyInvoiceAsync(const Model::ApplyInvoiceRequest& request, const ApplyInvoiceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
-			ApplyInvoiceOutcomeCallable applyInvoiceCallable(const Model::ApplyInvoiceRequest& request) const;
-			QueryProductListOutcome queryProductList(const Model::QueryProductListRequest &request)const;
-			void queryProductListAsync(const Model::QueryProductListRequest& request, const QueryProductListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			QueryProductListOutcome queryProductList(const Model::QueryProductListRequest &request)const;
+			void queryProductListAsync(const Model::QueryProductListRequest& request, const QueryProductListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			QueryProductListOutcomeCallable queryProductListCallable(const Model::QueryProductListRequest& request) const;
-			SetUserAlarmThresholdOutcome setUserAlarmThreshold(const Model::SetUserAlarmThresholdRequest &request)const;
-			void setUserAlarmThresholdAsync(const Model::SetUserAlarmThresholdRequest& request, const SetUserAlarmThresholdAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
-			SetUserAlarmThresholdOutcomeCallable setUserAlarmThresholdCallable(const Model::SetUserAlarmThresholdRequest& request) const;
-			GetSubscriptionPriceOutcome getSubscriptionPrice(const Model::GetSubscriptionPriceRequest &request)const;
-			void getSubscriptionPriceAsync(const Model::GetSubscriptionPriceRequest& request, const GetSubscriptionPriceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ApplyInvoiceOutcome applyInvoice(const Model::ApplyInvoiceRequest &request)const;
+			void applyInvoiceAsync(const Model::ApplyInvoiceRequest& request, const ApplyInvoiceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ApplyInvoiceOutcomeCallable applyInvoiceCallable(const Model::ApplyInvoiceRequest& request) const;
+			UnsubscribeBillToOSSOutcome unsubscribeBillToOSS(const Model::UnsubscribeBillToOSSRequest &request)const;
+			void unsubscribeBillToOSSAsync(const Model::UnsubscribeBillToOSSRequest& request, const UnsubscribeBillToOSSAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			UnsubscribeBillToOSSOutcomeCallable unsubscribeBillToOSSCallable(const Model::UnsubscribeBillToOSSRequest& request) const;
+			GetCustomerListOutcome getCustomerList(const Model::GetCustomerListRequest &request)const;
+			void getCustomerListAsync(const Model::GetCustomerListRequest& request, const GetCustomerListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			GetCustomerListOutcomeCallable getCustomerListCallable(const Model::GetCustomerListRequest& request) const;
+			GetSubscriptionPriceOutcome getSubscriptionPrice(const Model::GetSubscriptionPriceRequest &request)const;
+			void getSubscriptionPriceAsync(const Model::GetSubscriptionPriceRequest& request, const GetSubscriptionPriceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			GetSubscriptionPriceOutcomeCallable getSubscriptionPriceCallable(const Model::GetSubscriptionPriceRequest& request) const;
-			QueryAccountBookListOutcome queryAccountBookList(const Model::QueryAccountBookListRequest &request)const;
-			void queryAccountBookListAsync(const Model::QueryAccountBookListRequest& request, const QueryAccountBookListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
-			QueryAccountBookListOutcomeCallable queryAccountBookListCallable(const Model::QueryAccountBookListRequest& request) const;
-			QueryOrdersOutcome queryOrders(const Model::QueryOrdersRequest &request)const;
-			void queryOrdersAsync(const Model::QueryOrdersRequest& request, const QueryOrdersAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			QueryResellerAvailableQuotaOutcome queryResellerAvailableQuota(const Model::QueryResellerAvailableQuotaRequest &request)const;
+			void queryResellerAvailableQuotaAsync(const Model::QueryResellerAvailableQuotaRequest& request, const QueryResellerAvailableQuotaAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			QueryResellerAvailableQuotaOutcomeCallable queryResellerAvailableQuotaCallable(const Model::QueryResellerAvailableQuotaRequest& request) const;
+			SetResellerUserQuotaOutcome setResellerUserQuota(const Model::SetResellerUserQuotaRequest &request)const;
+			void setResellerUserQuotaAsync(const Model::SetResellerUserQuotaRequest& request, const SetResellerUserQuotaAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			SetResellerUserQuotaOutcomeCallable setResellerUserQuotaCallable(const Model::SetResellerUserQuotaRequest& request) const;
+			SetResellerUserStatusOutcome setResellerUserStatus(const Model::SetResellerUserStatusRequest &request)const;
+			void setResellerUserStatusAsync(const Model::SetResellerUserStatusRequest& request, const SetResellerUserStatusAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			SetResellerUserStatusOutcomeCallable setResellerUserStatusCallable(const Model::SetResellerUserStatusRequest& request) const;
+			EnableBillGenerationOutcome enableBillGeneration(const Model::EnableBillGenerationRequest &request)const;
+			void enableBillGenerationAsync(const Model::EnableBillGenerationRequest& request, const EnableBillGenerationAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			EnableBillGenerationOutcomeCallable enableBillGenerationCallable(const Model::EnableBillGenerationRequest& request) const;
+			QueryOrdersOutcome queryOrders(const Model::QueryOrdersRequest &request)const;
+			void queryOrdersAsync(const Model::QueryOrdersRequest& request, const QueryOrdersAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			QueryOrdersOutcomeCallable queryOrdersCallable(const Model::QueryOrdersRequest& request) const;
-			QueryCashCouponsOutcome queryCashCoupons(const Model::QueryCashCouponsRequest &request)const;
-			void queryCashCouponsAsync(const Model::QueryCashCouponsRequest& request, const QueryCashCouponsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			QueryCashCouponsOutcome queryCashCoupons(const Model::QueryCashCouponsRequest &request)const;
+			void queryCashCouponsAsync(const Model::QueryCashCouponsRequest& request, const QueryCashCouponsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			QueryCashCouponsOutcomeCallable queryCashCouponsCallable(const Model::QueryCashCouponsRequest& request) const;
-			QueryEvaluateListOutcome queryEvaluateList(const Model::QueryEvaluateListRequest &request)const;
-			void queryEvaluateListAsync(const Model::QueryEvaluateListRequest& request, const QueryEvaluateListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
-			QueryEvaluateListOutcomeCallable queryEvaluateListCallable(const Model::QueryEvaluateListRequest& request) const;
-			DescribePricingModuleOutcome describePricingModule(const Model::DescribePricingModuleRequest &request)const;
-			void describePricingModuleAsync(const Model::DescribePricingModuleRequest& request, const DescribePricingModuleAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			QueryInvoicingCustomerListOutcome queryInvoicingCustomerList(const Model::QueryInvoicingCustomerListRequest &request)const;
+			void queryInvoicingCustomerListAsync(const Model::QueryInvoicingCustomerListRequest& request, const QueryInvoicingCustomerListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			QueryInvoicingCustomerListOutcomeCallable queryInvoicingCustomerListCallable(const Model::QueryInvoicingCustomerListRequest& request) const;
+			DescribePricingModuleOutcome describePricingModule(const Model::DescribePricingModuleRequest &request)const;
+			void describePricingModuleAsync(const Model::DescribePricingModuleRequest& request, const DescribePricingModuleAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribePricingModuleOutcomeCallable describePricingModuleCallable(const Model::DescribePricingModuleRequest& request) const;
-			DescribeResourcePackageProductOutcome describeResourcePackageProduct(const Model::DescribeResourcePackageProductRequest &request)const;
-			void describeResourcePackageProductAsync(const Model::DescribeResourcePackageProductRequest& request, const DescribeResourcePackageProductAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			QueryEvaluateListOutcome queryEvaluateList(const Model::QueryEvaluateListRequest &request)const;
+			void queryEvaluateListAsync(const Model::QueryEvaluateListRequest& request, const QueryEvaluateListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			QueryEvaluateListOutcomeCallable queryEvaluateListCallable(const Model::QueryEvaluateListRequest& request) const;
+			QueryAccountBalanceOutcome queryAccountBalance(const Model::QueryAccountBalanceRequest &request)const;
+			void queryAccountBalanceAsync(const Model::QueryAccountBalanceRequest& request, const QueryAccountBalanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			QueryAccountBalanceOutcomeCallable queryAccountBalanceCallable(const Model::QueryAccountBalanceRequest& request) const;
+			DescribeResourcePackageProductOutcome describeResourcePackageProduct(const Model::DescribeResourcePackageProductRequest &request)const;
+			void describeResourcePackageProductAsync(const Model::DescribeResourcePackageProductRequest& request, const DescribeResourcePackageProductAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeResourcePackageProductOutcomeCallable describeResourcePackageProductCallable(const Model::DescribeResourcePackageProductRequest& request) const;
-			CreateResourcePackageOutcome createResourcePackage(const Model::CreateResourcePackageRequest &request)const;
-			void createResourcePackageAsync(const Model::CreateResourcePackageRequest& request, const CreateResourcePackageAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ChangeResellerConsumeAmountOutcome changeResellerConsumeAmount(const Model::ChangeResellerConsumeAmountRequest &request)const;
+			void changeResellerConsumeAmountAsync(const Model::ChangeResellerConsumeAmountRequest& request, const ChangeResellerConsumeAmountAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ChangeResellerConsumeAmountOutcomeCallable changeResellerConsumeAmountCallable(const Model::ChangeResellerConsumeAmountRequest& request) const;
+			RenewInstanceOutcome renewInstance(const Model::RenewInstanceRequest &request)const;
+			void renewInstanceAsync(const Model::RenewInstanceRequest& request, const RenewInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			RenewInstanceOutcomeCallable renewInstanceCallable(const Model::RenewInstanceRequest& request) const;
+			CreateResourcePackageOutcome createResourcePackage(const Model::CreateResourcePackageRequest &request)const;
+			void createResourcePackageAsync(const Model::CreateResourcePackageRequest& request, const CreateResourcePackageAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CreateResourcePackageOutcomeCallable createResourcePackageCallable(const Model::CreateResourcePackageRequest& request) const;
-			QueryInstanceBillOutcome queryInstanceBill(const Model::QueryInstanceBillRequest &request)const;
-			void queryInstanceBillAsync(const Model::QueryInstanceBillRequest& request, const QueryInstanceBillAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			GetCustomerAccountInfoOutcome getCustomerAccountInfo(const Model::GetCustomerAccountInfoRequest &request)const;
+			void getCustomerAccountInfoAsync(const Model::GetCustomerAccountInfoRequest& request, const GetCustomerAccountInfoAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			GetCustomerAccountInfoOutcomeCallable getCustomerAccountInfoCallable(const Model::GetCustomerAccountInfoRequest& request) const;
+			QueryInstanceBillOutcome queryInstanceBill(const Model::QueryInstanceBillRequest &request)const;
+			void queryInstanceBillAsync(const Model::QueryInstanceBillRequest& request, const QueryInstanceBillAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			QueryInstanceBillOutcomeCallable queryInstanceBillCallable(const Model::QueryInstanceBillRequest& request) const;
-			SubscribeExportToOSSOutcome subscribeExportToOSS(const Model::SubscribeExportToOSSRequest &request)const;
-			void subscribeExportToOSSAsync(const Model::SubscribeExportToOSSRequest& request, const SubscribeExportToOSSAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
-			SubscribeExportToOSSOutcomeCallable subscribeExportToOSSCallable(const Model::SubscribeExportToOSSRequest& request) const;
-			QueryAvaliableQuotaOutcome queryAvaliableQuota(const Model::QueryAvaliableQuotaRequest &request)const;
-			void queryAvaliableQuotaAsync(const Model::QueryAvaliableQuotaRequest& request, const QueryAvaliableQuotaAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
-			QueryAvaliableQuotaOutcomeCallable queryAvaliableQuotaCallable(const Model::QueryAvaliableQuotaRequest& request) const;
-			QueryPriceOutcome queryPrice(const Model::QueryPriceRequest &request)const;
-			void queryPriceAsync(const Model::QueryPriceRequest& request, const QueryPriceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
-			QueryPriceOutcomeCallable queryPriceCallable(const Model::QueryPriceRequest& request) const;
-			QueryBillOutcome queryBill(const Model::QueryBillRequest &request)const;
-			void queryBillAsync(const Model::QueryBillRequest& request, const QueryBillAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			SetResellerUserAlarmThresholdOutcome setResellerUserAlarmThreshold(const Model::SetResellerUserAlarmThresholdRequest &request)const;
+			void setResellerUserAlarmThresholdAsync(const Model::SetResellerUserAlarmThresholdRequest& request, const SetResellerUserAlarmThresholdAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			SetResellerUserAlarmThresholdOutcomeCallable setResellerUserAlarmThresholdCallable(const Model::SetResellerUserAlarmThresholdRequest& request) const;
+			QueryBillOutcome queryBill(const Model::QueryBillRequest &request)const;
+			void queryBillAsync(const Model::QueryBillRequest& request, const QueryBillAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			QueryBillOutcomeCallable queryBillCallable(const Model::QueryBillRequest& request) const;
-			SetRenewalOutcome setRenewal(const Model::SetRenewalRequest &request)const;
-			void setRenewalAsync(const Model::SetRenewalRequest& request, const SetRenewalAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			SetRenewalOutcome setRenewal(const Model::SetRenewalRequest &request)const;
+			void setRenewalAsync(const Model::SetRenewalRequest& request, const SetRenewalAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			SetRenewalOutcomeCallable setRenewalCallable(const Model::SetRenewalRequest& request) const;
-			ConvertChargeTypeOutcome convertChargeType(const Model::ConvertChargeTypeRequest &request)const;
-			void convertChargeTypeAsync(const Model::ConvertChargeTypeRequest& request, const ConvertChargeTypeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateAgAccountOutcome createAgAccount(const Model::CreateAgAccountRequest &request)const;
+			void createAgAccountAsync(const Model::CreateAgAccountRequest& request, const CreateAgAccountAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateAgAccountOutcomeCallable createAgAccountCallable(const Model::CreateAgAccountRequest& request) const;
+			ConvertChargeTypeOutcome convertChargeType(const Model::ConvertChargeTypeRequest &request)const;
+			void convertChargeTypeAsync(const Model::ConvertChargeTypeRequest& request, const ConvertChargeTypeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ConvertChargeTypeOutcomeCallable convertChargeTypeCallable(const Model::ConvertChargeTypeRequest& request) const;
-			QueryBillOverviewOutcome queryBillOverview(const Model::QueryBillOverviewRequest &request)const;
-			void queryBillOverviewAsync(const Model::QueryBillOverviewRequest& request, const QueryBillOverviewAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			QueryBillOverviewOutcome queryBillOverview(const Model::QueryBillOverviewRequest &request)const;
+			void queryBillOverviewAsync(const Model::QueryBillOverviewRequest& request, const QueryBillOverviewAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			QueryBillOverviewOutcomeCallable queryBillOverviewCallable(const Model::QueryBillOverviewRequest& request) const;
-			QuerySettlementBillOutcome querySettlementBill(const Model::QuerySettlementBillRequest &request)const;
-			void querySettlementBillAsync(const Model::QuerySettlementBillRequest& request, const QuerySettlementBillAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			QuerySettlementBillOutcome querySettlementBill(const Model::QuerySettlementBillRequest &request)const;
+			void querySettlementBillAsync(const Model::QuerySettlementBillRequest& request, const QuerySettlementBillAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			QuerySettlementBillOutcomeCallable querySettlementBillCallable(const Model::QuerySettlementBillRequest& request) const;
-			QueryUserOmsDataOutcome queryUserOmsData(const Model::QueryUserOmsDataRequest &request)const;
-			void queryUserOmsDataAsync(const Model::QueryUserOmsDataRequest& request, const QueryUserOmsDataAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			QueryUserOmsDataOutcome queryUserOmsData(const Model::QueryUserOmsDataRequest &request)const;
+			void queryUserOmsDataAsync(const Model::QueryUserOmsDataRequest& request, const QueryUserOmsDataAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			QueryUserOmsDataOutcomeCallable queryUserOmsDataCallable(const Model::QueryUserOmsDataRequest& request) const;
-	
-		private:
-			std::shared_ptr<EndpointProvider> endpointProvider_;
-		};
-	}
-}
-
-#endif // !ALIBABACLOUD_BSSOPENAPI_BSSOPENAPICLIENT_H_
+	
+		private:
+			std::shared_ptr<EndpointProvider> endpointProvider_;
+		};
+	}
+}
+
+#endif // !ALIBABACLOUD_BSSOPENAPI_BSSOPENAPICLIENT_H_

+ 6 - 0
bssopenapi/include/alibabacloud/bssopenapi/model/SubscribeBillToOSSRequest.h

@@ -35,14 +35,20 @@ namespace AlibabaCloud
 				SubscribeBillToOSSRequest();
 				~SubscribeBillToOSSRequest();
 
+				long getBucketOwnerId()const;
+				void setBucketOwnerId(long bucketOwnerId);
 				std::string getSubscribeType()const;
 				void setSubscribeType(const std::string& subscribeType);
 				std::string getSubscribeBucket()const;
 				void setSubscribeBucket(const std::string& subscribeBucket);
+				std::string getMultAccountRelSubscribe()const;
+				void setMultAccountRelSubscribe(const std::string& multAccountRelSubscribe);
 
             private:
+				long bucketOwnerId_;
 				std::string subscribeType_;
 				std::string subscribeBucket_;
+				std::string multAccountRelSubscribe_;
 
 			};
 		}

+ 3 - 0
bssopenapi/include/alibabacloud/bssopenapi/model/UnsubscribeBillToOSSRequest.h

@@ -37,9 +37,12 @@ namespace AlibabaCloud
 
 				std::string getSubscribeType()const;
 				void setSubscribeType(const std::string& subscribeType);
+				std::string getMultAccountRelSubscribe()const;
+				void setMultAccountRelSubscribe(const std::string& multAccountRelSubscribe);
 
             private:
 				std::string subscribeType_;
+				std::string multAccountRelSubscribe_;
 
 			};
 		}

+ 1708 - 1852
bssopenapi/src/BssOpenApiClient.cc

@@ -1,1853 +1,1709 @@
-/*
- * Copyright 2009-2017 Alibaba Cloud All rights reserved.
- * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
- *      http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <alibabacloud/bssopenapi/BssOpenApiClient.h>
-#include <alibabacloud/core/SimpleCredentialsProvider.h>
-
-using namespace AlibabaCloud;
-using namespace AlibabaCloud::Location;
-using namespace AlibabaCloud::BssOpenApi;
-using namespace AlibabaCloud::BssOpenApi::Model;
-
-namespace
-{
-	const std::string SERVICE_NAME = "BssOpenApi";
-}
-
-BssOpenApiClient::BssOpenApiClient(const Credentials &credentials, const ClientConfiguration &configuration) :
-	RpcServiceClient(SERVICE_NAME, std::make_shared<SimpleCredentialsProvider>(credentials), configuration)
-{
-	auto locationClient = std::make_shared<LocationClient>(credentials, configuration);
-	endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "");
-}
-
-BssOpenApiClient::BssOpenApiClient(const std::shared_ptr<CredentialsProvider>& credentialsProvider, const ClientConfiguration & configuration) :
-	RpcServiceClient(SERVICE_NAME, credentialsProvider, configuration)
-{
-	auto locationClient = std::make_shared<LocationClient>(credentialsProvider, configuration);
-	endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "");
-}
-
-BssOpenApiClient::BssOpenApiClient(const std::string & accessKeyId, const std::string & accessKeySecret, const ClientConfiguration & configuration) :
-	RpcServiceClient(SERVICE_NAME, std::make_shared<SimpleCredentialsProvider>(accessKeyId, accessKeySecret), configuration)
-{
-	auto locationClient = std::make_shared<LocationClient>(accessKeyId, accessKeySecret, configuration);
-	endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "");
-}
-
-BssOpenApiClient::~BssOpenApiClient()
-{}
-
-BssOpenApiClient::QueryMonthlyBillOutcome BssOpenApiClient::queryMonthlyBill(const QueryMonthlyBillRequest &request) const
-{
-	auto endpointOutcome = endpointProvider_->getEndpoint();
-	if (!endpointOutcome.isSuccess())
-		return QueryMonthlyBillOutcome(endpointOutcome.error());
-
-	auto outcome = makeRequest(endpointOutcome.result(), request);
-
-	if (outcome.isSuccess())
-		return QueryMonthlyBillOutcome(QueryMonthlyBillResult(outcome.result()));
-	else
-		return QueryMonthlyBillOutcome(outcome.error());
-}
-
-void BssOpenApiClient::queryMonthlyBillAsync(const QueryMonthlyBillRequest& request, const QueryMonthlyBillAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
-{
-	auto fn = [this, request, handler, context]()
-	{
-		handler(this, request, queryMonthlyBill(request), context);
-	};
-
-	asyncExecute(new Runnable(fn));
-}
-
-BssOpenApiClient::QueryMonthlyBillOutcomeCallable BssOpenApiClient::queryMonthlyBillCallable(const QueryMonthlyBillRequest &request) const
-{
-	auto task = std::make_shared<std::packaged_task<QueryMonthlyBillOutcome()>>(
-			[this, request]()
-			{
-			return this->queryMonthlyBill(request);
-			});
-
-	asyncExecute(new Runnable([task]() { (*task)(); }));
-	return task->get_future();
-}
-
-BssOpenApiClient::CreateUserQuotaOutcome BssOpenApiClient::createUserQuota(const CreateUserQuotaRequest &request) const
-{
-	auto endpointOutcome = endpointProvider_->getEndpoint();
-	if (!endpointOutcome.isSuccess())
-		return CreateUserQuotaOutcome(endpointOutcome.error());
-
-	auto outcome = makeRequest(endpointOutcome.result(), request);
-
-	if (outcome.isSuccess())
-		return CreateUserQuotaOutcome(CreateUserQuotaResult(outcome.result()));
-	else
-		return CreateUserQuotaOutcome(outcome.error());
-}
-
-void BssOpenApiClient::createUserQuotaAsync(const CreateUserQuotaRequest& request, const CreateUserQuotaAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
-{
-	auto fn = [this, request, handler, context]()
-	{
-		handler(this, request, createUserQuota(request), context);
-	};
-
-	asyncExecute(new Runnable(fn));
-}
-
-BssOpenApiClient::CreateUserQuotaOutcomeCallable BssOpenApiClient::createUserQuotaCallable(const CreateUserQuotaRequest &request) const
-{
-	auto task = std::make_shared<std::packaged_task<CreateUserQuotaOutcome()>>(
-			[this, request]()
-			{
-			return this->createUserQuota(request);
-			});
-
-	asyncExecute(new Runnable([task]() { (*task)(); }));
-	return task->get_future();
-}
-
-BssOpenApiClient::CreateInstanceOutcome BssOpenApiClient::createInstance(const CreateInstanceRequest &request) const
-{
-	auto endpointOutcome = endpointProvider_->getEndpoint();
-	if (!endpointOutcome.isSuccess())
-		return CreateInstanceOutcome(endpointOutcome.error());
-
-	auto outcome = makeRequest(endpointOutcome.result(), request);
-
-	if (outcome.isSuccess())
-		return CreateInstanceOutcome(CreateInstanceResult(outcome.result()));
-	else
-		return CreateInstanceOutcome(outcome.error());
-}
-
-void BssOpenApiClient::createInstanceAsync(const CreateInstanceRequest& request, const CreateInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
-{
-	auto fn = [this, request, handler, context]()
-	{
-		handler(this, request, createInstance(request), context);
-	};
-
-	asyncExecute(new Runnable(fn));
-}
-
-BssOpenApiClient::CreateInstanceOutcomeCallable BssOpenApiClient::createInstanceCallable(const CreateInstanceRequest &request) const
-{
-	auto task = std::make_shared<std::packaged_task<CreateInstanceOutcome()>>(
-			[this, request]()
-			{
-			return this->createInstance(request);
-			});
-
-	asyncExecute(new Runnable([task]() { (*task)(); }));
-	return task->get_future();
-}
-
-BssOpenApiClient::CancelOrderOutcome BssOpenApiClient::cancelOrder(const CancelOrderRequest &request) const
-{
-	auto endpointOutcome = endpointProvider_->getEndpoint();
-	if (!endpointOutcome.isSuccess())
-		return CancelOrderOutcome(endpointOutcome.error());
-
-	auto outcome = makeRequest(endpointOutcome.result(), request);
-
-	if (outcome.isSuccess())
-		return CancelOrderOutcome(CancelOrderResult(outcome.result()));
-	else
-		return CancelOrderOutcome(outcome.error());
-}
-
-void BssOpenApiClient::cancelOrderAsync(const CancelOrderRequest& request, const CancelOrderAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
-{
-	auto fn = [this, request, handler, context]()
-	{
-		handler(this, request, cancelOrder(request), context);
-	};
-
-	asyncExecute(new Runnable(fn));
-}
-
-BssOpenApiClient::CancelOrderOutcomeCallable BssOpenApiClient::cancelOrderCallable(const CancelOrderRequest &request) const
-{
-	auto task = std::make_shared<std::packaged_task<CancelOrderOutcome()>>(
-			[this, request]()
-			{
-			return this->cancelOrder(request);
-			});
-
-	asyncExecute(new Runnable([task]() { (*task)(); }));
-	return task->get_future();
-}
-
-BssOpenApiClient::QueryResourcePackageInstancesOutcome BssOpenApiClient::queryResourcePackageInstances(const QueryResourcePackageInstancesRequest &request) const
-{
-	auto endpointOutcome = endpointProvider_->getEndpoint();
-	if (!endpointOutcome.isSuccess())
-		return QueryResourcePackageInstancesOutcome(endpointOutcome.error());
-
-	auto outcome = makeRequest(endpointOutcome.result(), request);
-
-	if (outcome.isSuccess())
-		return QueryResourcePackageInstancesOutcome(QueryResourcePackageInstancesResult(outcome.result()));
-	else
-		return QueryResourcePackageInstancesOutcome(outcome.error());
-}
-
-void BssOpenApiClient::queryResourcePackageInstancesAsync(const QueryResourcePackageInstancesRequest& request, const QueryResourcePackageInstancesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
-{
-	auto fn = [this, request, handler, context]()
-	{
-		handler(this, request, queryResourcePackageInstances(request), context);
-	};
-
-	asyncExecute(new Runnable(fn));
-}
-
-BssOpenApiClient::QueryResourcePackageInstancesOutcomeCallable BssOpenApiClient::queryResourcePackageInstancesCallable(const QueryResourcePackageInstancesRequest &request) const
-{
-	auto task = std::make_shared<std::packaged_task<QueryResourcePackageInstancesOutcome()>>(
-			[this, request]()
-			{
-			return this->queryResourcePackageInstances(request);
-			});
-
-	asyncExecute(new Runnable([task]() { (*task)(); }));
-	return task->get_future();
-}
-
-BssOpenApiClient::QueryUserAlarmThresholdOutcome BssOpenApiClient::queryUserAlarmThreshold(const QueryUserAlarmThresholdRequest &request) const
-{
-	auto endpointOutcome = endpointProvider_->getEndpoint();
-	if (!endpointOutcome.isSuccess())
-		return QueryUserAlarmThresholdOutcome(endpointOutcome.error());
-
-	auto outcome = makeRequest(endpointOutcome.result(), request);
-
-	if (outcome.isSuccess())
-		return QueryUserAlarmThresholdOutcome(QueryUserAlarmThresholdResult(outcome.result()));
-	else
-		return QueryUserAlarmThresholdOutcome(outcome.error());
-}
-
-void BssOpenApiClient::queryUserAlarmThresholdAsync(const QueryUserAlarmThresholdRequest& request, const QueryUserAlarmThresholdAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
-{
-	auto fn = [this, request, handler, context]()
-	{
-		handler(this, request, queryUserAlarmThreshold(request), context);
-	};
-
-	asyncExecute(new Runnable(fn));
-}
-
-BssOpenApiClient::QueryUserAlarmThresholdOutcomeCallable BssOpenApiClient::queryUserAlarmThresholdCallable(const QueryUserAlarmThresholdRequest &request) const
-{
-	auto task = std::make_shared<std::packaged_task<QueryUserAlarmThresholdOutcome()>>(
-			[this, request]()
-			{
-			return this->queryUserAlarmThreshold(request);
-			});
-
-	asyncExecute(new Runnable([task]() { (*task)(); }));
-	return task->get_future();
-}
-
-BssOpenApiClient::SubscribeDetailOutcome BssOpenApiClient::subscribeDetail(const SubscribeDetailRequest &request) const
-{
-	auto endpointOutcome = endpointProvider_->getEndpoint();
-	if (!endpointOutcome.isSuccess())
-		return SubscribeDetailOutcome(endpointOutcome.error());
-
-	auto outcome = makeRequest(endpointOutcome.result(), request);
-
-	if (outcome.isSuccess())
-		return SubscribeDetailOutcome(SubscribeDetailResult(outcome.result()));
-	else
-		return SubscribeDetailOutcome(outcome.error());
-}
-
-void BssOpenApiClient::subscribeDetailAsync(const SubscribeDetailRequest& request, const SubscribeDetailAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
-{
-	auto fn = [this, request, handler, context]()
-	{
-		handler(this, request, subscribeDetail(request), context);
-	};
-
-	asyncExecute(new Runnable(fn));
-}
-
-BssOpenApiClient::SubscribeDetailOutcomeCallable BssOpenApiClient::subscribeDetailCallable(const SubscribeDetailRequest &request) const
-{
-	auto task = std::make_shared<std::packaged_task<SubscribeDetailOutcome()>>(
-			[this, request]()
-			{
-			return this->subscribeDetail(request);
-			});
-
-	asyncExecute(new Runnable([task]() { (*task)(); }));
-	return task->get_future();
-}
-
-BssOpenApiClient::EnableBillGenerationOutcome BssOpenApiClient::enableBillGeneration(const EnableBillGenerationRequest &request) const
-{
-	auto endpointOutcome = endpointProvider_->getEndpoint();
-	if (!endpointOutcome.isSuccess())
-		return EnableBillGenerationOutcome(endpointOutcome.error());
-
-	auto outcome = makeRequest(endpointOutcome.result(), request);
-
-	if (outcome.isSuccess())
-		return EnableBillGenerationOutcome(EnableBillGenerationResult(outcome.result()));
-	else
-		return EnableBillGenerationOutcome(outcome.error());
-}
-
-void BssOpenApiClient::enableBillGenerationAsync(const EnableBillGenerationRequest& request, const EnableBillGenerationAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
-{
-	auto fn = [this, request, handler, context]()
-	{
-		handler(this, request, enableBillGeneration(request), context);
-	};
-
-	asyncExecute(new Runnable(fn));
-}
-
-BssOpenApiClient::EnableBillGenerationOutcomeCallable BssOpenApiClient::enableBillGenerationCallable(const EnableBillGenerationRequest &request) const
-{
-	auto task = std::make_shared<std::packaged_task<EnableBillGenerationOutcome()>>(
-			[this, request]()
-			{
-			return this->enableBillGeneration(request);
-			});
-
-	asyncExecute(new Runnable([task]() { (*task)(); }));
-	return task->get_future();
-}
-
-BssOpenApiClient::SetEnduserStatusOutcome BssOpenApiClient::setEnduserStatus(const SetEnduserStatusRequest &request) const
-{
-	auto endpointOutcome = endpointProvider_->getEndpoint();
-	if (!endpointOutcome.isSuccess())
-		return SetEnduserStatusOutcome(endpointOutcome.error());
-
-	auto outcome = makeRequest(endpointOutcome.result(), request);
-
-	if (outcome.isSuccess())
-		return SetEnduserStatusOutcome(SetEnduserStatusResult(outcome.result()));
-	else
-		return SetEnduserStatusOutcome(outcome.error());
-}
-
-void BssOpenApiClient::setEnduserStatusAsync(const SetEnduserStatusRequest& request, const SetEnduserStatusAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
-{
-	auto fn = [this, request, handler, context]()
-	{
-		handler(this, request, setEnduserStatus(request), context);
-	};
-
-	asyncExecute(new Runnable(fn));
-}
-
-BssOpenApiClient::SetEnduserStatusOutcomeCallable BssOpenApiClient::setEnduserStatusCallable(const SetEnduserStatusRequest &request) const
-{
-	auto task = std::make_shared<std::packaged_task<SetEnduserStatusOutcome()>>(
-			[this, request]()
-			{
-			return this->setEnduserStatus(request);
-			});
-
-	asyncExecute(new Runnable([task]() { (*task)(); }));
-	return task->get_future();
-}
-
-BssOpenApiClient::QueryInvoicingCustomerListOutcome BssOpenApiClient::queryInvoicingCustomerList(const QueryInvoicingCustomerListRequest &request) const
-{
-	auto endpointOutcome = endpointProvider_->getEndpoint();
-	if (!endpointOutcome.isSuccess())
-		return QueryInvoicingCustomerListOutcome(endpointOutcome.error());
-
-	auto outcome = makeRequest(endpointOutcome.result(), request);
-
-	if (outcome.isSuccess())
-		return QueryInvoicingCustomerListOutcome(QueryInvoicingCustomerListResult(outcome.result()));
-	else
-		return QueryInvoicingCustomerListOutcome(outcome.error());
-}
-
-void BssOpenApiClient::queryInvoicingCustomerListAsync(const QueryInvoicingCustomerListRequest& request, const QueryInvoicingCustomerListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
-{
-	auto fn = [this, request, handler, context]()
-	{
-		handler(this, request, queryInvoicingCustomerList(request), context);
-	};
-
-	asyncExecute(new Runnable(fn));
-}
-
-BssOpenApiClient::QueryInvoicingCustomerListOutcomeCallable BssOpenApiClient::queryInvoicingCustomerListCallable(const QueryInvoicingCustomerListRequest &request) const
-{
-	auto task = std::make_shared<std::packaged_task<QueryInvoicingCustomerListOutcome()>>(
-			[this, request]()
-			{
-			return this->queryInvoicingCustomerList(request);
-			});
-
-	asyncExecute(new Runnable([task]() { (*task)(); }));
-	return task->get_future();
-}
-
-BssOpenApiClient::QueryAccountBalanceOutcome BssOpenApiClient::queryAccountBalance(const QueryAccountBalanceRequest &request) const
-{
-	auto endpointOutcome = endpointProvider_->getEndpoint();
-	if (!endpointOutcome.isSuccess())
-		return QueryAccountBalanceOutcome(endpointOutcome.error());
-
-	auto outcome = makeRequest(endpointOutcome.result(), request);
-
-	if (outcome.isSuccess())
-		return QueryAccountBalanceOutcome(QueryAccountBalanceResult(outcome.result()));
-	else
-		return QueryAccountBalanceOutcome(outcome.error());
-}
-
-void BssOpenApiClient::queryAccountBalanceAsync(const QueryAccountBalanceRequest& request, const QueryAccountBalanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
-{
-	auto fn = [this, request, handler, context]()
-	{
-		handler(this, request, queryAccountBalance(request), context);
-	};
-
-	asyncExecute(new Runnable(fn));
-}
-
-BssOpenApiClient::QueryAccountBalanceOutcomeCallable BssOpenApiClient::queryAccountBalanceCallable(const QueryAccountBalanceRequest &request) const
-{
-	auto task = std::make_shared<std::packaged_task<QueryAccountBalanceOutcome()>>(
-			[this, request]()
-			{
-			return this->queryAccountBalance(request);
-			});
-
-	asyncExecute(new Runnable([task]() { (*task)(); }));
-	return task->get_future();
-}
-
-BssOpenApiClient::RenewInstanceOutcome BssOpenApiClient::renewInstance(const RenewInstanceRequest &request) const
-{
-	auto endpointOutcome = endpointProvider_->getEndpoint();
-	if (!endpointOutcome.isSuccess())
-		return RenewInstanceOutcome(endpointOutcome.error());
-
-	auto outcome = makeRequest(endpointOutcome.result(), request);
-
-	if (outcome.isSuccess())
-		return RenewInstanceOutcome(RenewInstanceResult(outcome.result()));
-	else
-		return RenewInstanceOutcome(outcome.error());
-}
-
-void BssOpenApiClient::renewInstanceAsync(const RenewInstanceRequest& request, const RenewInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
-{
-	auto fn = [this, request, handler, context]()
-	{
-		handler(this, request, renewInstance(request), context);
-	};
-
-	asyncExecute(new Runnable(fn));
-}
-
-BssOpenApiClient::RenewInstanceOutcomeCallable BssOpenApiClient::renewInstanceCallable(const RenewInstanceRequest &request) const
-{
-	auto task = std::make_shared<std::packaged_task<RenewInstanceOutcome()>>(
-			[this, request]()
-			{
-			return this->renewInstance(request);
-			});
-
-	asyncExecute(new Runnable([task]() { (*task)(); }));
-	return task->get_future();
-}
-
-BssOpenApiClient::QueryInstanceGaapCostOutcome BssOpenApiClient::queryInstanceGaapCost(const QueryInstanceGaapCostRequest &request) const
-{
-	auto endpointOutcome = endpointProvider_->getEndpoint();
-	if (!endpointOutcome.isSuccess())
-		return QueryInstanceGaapCostOutcome(endpointOutcome.error());
-
-	auto outcome = makeRequest(endpointOutcome.result(), request);
-
-	if (outcome.isSuccess())
-		return QueryInstanceGaapCostOutcome(QueryInstanceGaapCostResult(outcome.result()));
-	else
-		return QueryInstanceGaapCostOutcome(outcome.error());
-}
-
-void BssOpenApiClient::queryInstanceGaapCostAsync(const QueryInstanceGaapCostRequest& request, const QueryInstanceGaapCostAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
-{
-	auto fn = [this, request, handler, context]()
-	{
-		handler(this, request, queryInstanceGaapCost(request), context);
-	};
-
-	asyncExecute(new Runnable(fn));
-}
-
-BssOpenApiClient::QueryInstanceGaapCostOutcomeCallable BssOpenApiClient::queryInstanceGaapCostCallable(const QueryInstanceGaapCostRequest &request) const
-{
-	auto task = std::make_shared<std::packaged_task<QueryInstanceGaapCostOutcome()>>(
-			[this, request]()
-			{
-			return this->queryInstanceGaapCost(request);
-			});
-
-	asyncExecute(new Runnable([task]() { (*task)(); }));
-	return task->get_future();
-}
-
-BssOpenApiClient::QueryMonthlyInstanceConsumptionOutcome BssOpenApiClient::queryMonthlyInstanceConsumption(const QueryMonthlyInstanceConsumptionRequest &request) const
-{
-	auto endpointOutcome = endpointProvider_->getEndpoint();
-	if (!endpointOutcome.isSuccess())
-		return QueryMonthlyInstanceConsumptionOutcome(endpointOutcome.error());
-
-	auto outcome = makeRequest(endpointOutcome.result(), request);
-
-	if (outcome.isSuccess())
-		return QueryMonthlyInstanceConsumptionOutcome(QueryMonthlyInstanceConsumptionResult(outcome.result()));
-	else
-		return QueryMonthlyInstanceConsumptionOutcome(outcome.error());
-}
-
-void BssOpenApiClient::queryMonthlyInstanceConsumptionAsync(const QueryMonthlyInstanceConsumptionRequest& request, const QueryMonthlyInstanceConsumptionAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
-{
-	auto fn = [this, request, handler, context]()
-	{
-		handler(this, request, queryMonthlyInstanceConsumption(request), context);
-	};
-
-	asyncExecute(new Runnable(fn));
-}
-
-BssOpenApiClient::QueryMonthlyInstanceConsumptionOutcomeCallable BssOpenApiClient::queryMonthlyInstanceConsumptionCallable(const QueryMonthlyInstanceConsumptionRequest &request) const
-{
-	auto task = std::make_shared<std::packaged_task<QueryMonthlyInstanceConsumptionOutcome()>>(
-			[this, request]()
-			{
-			return this->queryMonthlyInstanceConsumption(request);
-			});
-
-	asyncExecute(new Runnable([task]() { (*task)(); }));
-	return task->get_future();
-}
-
-BssOpenApiClient::QueryPrepaidCardsOutcome BssOpenApiClient::queryPrepaidCards(const QueryPrepaidCardsRequest &request) const
-{
-	auto endpointOutcome = endpointProvider_->getEndpoint();
-	if (!endpointOutcome.isSuccess())
-		return QueryPrepaidCardsOutcome(endpointOutcome.error());
-
-	auto outcome = makeRequest(endpointOutcome.result(), request);
-
-	if (outcome.isSuccess())
-		return QueryPrepaidCardsOutcome(QueryPrepaidCardsResult(outcome.result()));
-	else
-		return QueryPrepaidCardsOutcome(outcome.error());
-}
-
-void BssOpenApiClient::queryPrepaidCardsAsync(const QueryPrepaidCardsRequest& request, const QueryPrepaidCardsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
-{
-	auto fn = [this, request, handler, context]()
-	{
-		handler(this, request, queryPrepaidCards(request), context);
-	};
-
-	asyncExecute(new Runnable(fn));
-}
-
-BssOpenApiClient::QueryPrepaidCardsOutcomeCallable BssOpenApiClient::queryPrepaidCardsCallable(const QueryPrepaidCardsRequest &request) const
-{
-	auto task = std::make_shared<std::packaged_task<QueryPrepaidCardsOutcome()>>(
-			[this, request]()
-			{
-			return this->queryPrepaidCards(request);
-			});
-
-	asyncExecute(new Runnable([task]() { (*task)(); }));
-	return task->get_future();
-}
-
-BssOpenApiClient::QueryAvailableInstancesOutcome BssOpenApiClient::queryAvailableInstances(const QueryAvailableInstancesRequest &request) const
-{
-	auto endpointOutcome = endpointProvider_->getEndpoint();
-	if (!endpointOutcome.isSuccess())
-		return QueryAvailableInstancesOutcome(endpointOutcome.error());
-
-	auto outcome = makeRequest(endpointOutcome.result(), request);
-
-	if (outcome.isSuccess())
-		return QueryAvailableInstancesOutcome(QueryAvailableInstancesResult(outcome.result()));
-	else
-		return QueryAvailableInstancesOutcome(outcome.error());
-}
-
-void BssOpenApiClient::queryAvailableInstancesAsync(const QueryAvailableInstancesRequest& request, const QueryAvailableInstancesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
-{
-	auto fn = [this, request, handler, context]()
-	{
-		handler(this, request, queryAvailableInstances(request), context);
-	};
-
-	asyncExecute(new Runnable(fn));
-}
-
-BssOpenApiClient::QueryAvailableInstancesOutcomeCallable BssOpenApiClient::queryAvailableInstancesCallable(const QueryAvailableInstancesRequest &request) const
-{
-	auto task = std::make_shared<std::packaged_task<QueryAvailableInstancesOutcome()>>(
-			[this, request]()
-			{
-			return this->queryAvailableInstances(request);
-			});
-
-	asyncExecute(new Runnable([task]() { (*task)(); }));
-	return task->get_future();
-}
-
-BssOpenApiClient::GetOrderDetailOutcome BssOpenApiClient::getOrderDetail(const GetOrderDetailRequest &request) const
-{
-	auto endpointOutcome = endpointProvider_->getEndpoint();
-	if (!endpointOutcome.isSuccess())
-		return GetOrderDetailOutcome(endpointOutcome.error());
-
-	auto outcome = makeRequest(endpointOutcome.result(), request);
-
-	if (outcome.isSuccess())
-		return GetOrderDetailOutcome(GetOrderDetailResult(outcome.result()));
-	else
-		return GetOrderDetailOutcome(outcome.error());
-}
-
-void BssOpenApiClient::getOrderDetailAsync(const GetOrderDetailRequest& request, const GetOrderDetailAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
-{
-	auto fn = [this, request, handler, context]()
-	{
-		handler(this, request, getOrderDetail(request), context);
-	};
-
-	asyncExecute(new Runnable(fn));
-}
-
-BssOpenApiClient::GetOrderDetailOutcomeCallable BssOpenApiClient::getOrderDetailCallable(const GetOrderDetailRequest &request) const
-{
-	auto task = std::make_shared<std::packaged_task<GetOrderDetailOutcome()>>(
-			[this, request]()
-			{
-			return this->getOrderDetail(request);
-			});
-
-	asyncExecute(new Runnable([task]() { (*task)(); }));
-	return task->get_future();
-}
-
-BssOpenApiClient::QueryEnduserStatusOutcome BssOpenApiClient::queryEnduserStatus(const QueryEnduserStatusRequest &request) const
-{
-	auto endpointOutcome = endpointProvider_->getEndpoint();
-	if (!endpointOutcome.isSuccess())
-		return QueryEnduserStatusOutcome(endpointOutcome.error());
-
-	auto outcome = makeRequest(endpointOutcome.result(), request);
-
-	if (outcome.isSuccess())
-		return QueryEnduserStatusOutcome(QueryEnduserStatusResult(outcome.result()));
-	else
-		return QueryEnduserStatusOutcome(outcome.error());
-}
-
-void BssOpenApiClient::queryEnduserStatusAsync(const QueryEnduserStatusRequest& request, const QueryEnduserStatusAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
-{
-	auto fn = [this, request, handler, context]()
-	{
-		handler(this, request, queryEnduserStatus(request), context);
-	};
-
-	asyncExecute(new Runnable(fn));
-}
-
-BssOpenApiClient::QueryEnduserStatusOutcomeCallable BssOpenApiClient::queryEnduserStatusCallable(const QueryEnduserStatusRequest &request) const
-{
-	auto task = std::make_shared<std::packaged_task<QueryEnduserStatusOutcome()>>(
-			[this, request]()
-			{
-			return this->queryEnduserStatus(request);
-			});
-
-	asyncExecute(new Runnable([task]() { (*task)(); }));
-	return task->get_future();
-}
-
-BssOpenApiClient::ModifyInstanceOutcome BssOpenApiClient::modifyInstance(const ModifyInstanceRequest &request) const
-{
-	auto endpointOutcome = endpointProvider_->getEndpoint();
-	if (!endpointOutcome.isSuccess())
-		return ModifyInstanceOutcome(endpointOutcome.error());
-
-	auto outcome = makeRequest(endpointOutcome.result(), request);
-
-	if (outcome.isSuccess())
-		return ModifyInstanceOutcome(ModifyInstanceResult(outcome.result()));
-	else
-		return ModifyInstanceOutcome(outcome.error());
-}
-
-void BssOpenApiClient::modifyInstanceAsync(const ModifyInstanceRequest& request, const ModifyInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
-{
-	auto fn = [this, request, handler, context]()
-	{
-		handler(this, request, modifyInstance(request), context);
-	};
-
-	asyncExecute(new Runnable(fn));
-}
-
-BssOpenApiClient::ModifyInstanceOutcomeCallable BssOpenApiClient::modifyInstanceCallable(const ModifyInstanceRequest &request) const
-{
-	auto task = std::make_shared<std::packaged_task<ModifyInstanceOutcome()>>(
-			[this, request]()
-			{
-			return this->modifyInstance(request);
-			});
-
-	asyncExecute(new Runnable([task]() { (*task)(); }));
-	return task->get_future();
-}
-
-BssOpenApiClient::QueryCustomerAddressListOutcome BssOpenApiClient::queryCustomerAddressList(const QueryCustomerAddressListRequest &request) const
-{
-	auto endpointOutcome = endpointProvider_->getEndpoint();
-	if (!endpointOutcome.isSuccess())
-		return QueryCustomerAddressListOutcome(endpointOutcome.error());
-
-	auto outcome = makeRequest(endpointOutcome.result(), request);
-
-	if (outcome.isSuccess())
-		return QueryCustomerAddressListOutcome(QueryCustomerAddressListResult(outcome.result()));
-	else
-		return QueryCustomerAddressListOutcome(outcome.error());
-}
-
-void BssOpenApiClient::queryCustomerAddressListAsync(const QueryCustomerAddressListRequest& request, const QueryCustomerAddressListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
-{
-	auto fn = [this, request, handler, context]()
-	{
-		handler(this, request, queryCustomerAddressList(request), context);
-	};
-
-	asyncExecute(new Runnable(fn));
-}
-
-BssOpenApiClient::QueryCustomerAddressListOutcomeCallable BssOpenApiClient::queryCustomerAddressListCallable(const QueryCustomerAddressListRequest &request) const
-{
-	auto task = std::make_shared<std::packaged_task<QueryCustomerAddressListOutcome()>>(
-			[this, request]()
-			{
-			return this->queryCustomerAddressList(request);
-			});
-
-	asyncExecute(new Runnable([task]() { (*task)(); }));
-	return task->get_future();
-}
-
-BssOpenApiClient::SetUserQuotaOutcome BssOpenApiClient::setUserQuota(const SetUserQuotaRequest &request) const
-{
-	auto endpointOutcome = endpointProvider_->getEndpoint();
-	if (!endpointOutcome.isSuccess())
-		return SetUserQuotaOutcome(endpointOutcome.error());
-
-	auto outcome = makeRequest(endpointOutcome.result(), request);
-
-	if (outcome.isSuccess())
-		return SetUserQuotaOutcome(SetUserQuotaResult(outcome.result()));
-	else
-		return SetUserQuotaOutcome(outcome.error());
-}
-
-void BssOpenApiClient::setUserQuotaAsync(const SetUserQuotaRequest& request, const SetUserQuotaAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
-{
-	auto fn = [this, request, handler, context]()
-	{
-		handler(this, request, setUserQuota(request), context);
-	};
-
-	asyncExecute(new Runnable(fn));
-}
-
-BssOpenApiClient::SetUserQuotaOutcomeCallable BssOpenApiClient::setUserQuotaCallable(const SetUserQuotaRequest &request) const
-{
-	auto task = std::make_shared<std::packaged_task<SetUserQuotaOutcome()>>(
-			[this, request]()
-			{
-			return this->setUserQuota(request);
-			});
-
-	asyncExecute(new Runnable([task]() { (*task)(); }));
-	return task->get_future();
-}
-
-BssOpenApiClient::UnsubscribeExportToOSSOutcome BssOpenApiClient::unsubscribeExportToOSS(const UnsubscribeExportToOSSRequest &request) const
-{
-	auto endpointOutcome = endpointProvider_->getEndpoint();
-	if (!endpointOutcome.isSuccess())
-		return UnsubscribeExportToOSSOutcome(endpointOutcome.error());
-
-	auto outcome = makeRequest(endpointOutcome.result(), request);
-
-	if (outcome.isSuccess())
-		return UnsubscribeExportToOSSOutcome(UnsubscribeExportToOSSResult(outcome.result()));
-	else
-		return UnsubscribeExportToOSSOutcome(outcome.error());
-}
-
-void BssOpenApiClient::unsubscribeExportToOSSAsync(const UnsubscribeExportToOSSRequest& request, const UnsubscribeExportToOSSAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
-{
-	auto fn = [this, request, handler, context]()
-	{
-		handler(this, request, unsubscribeExportToOSS(request), context);
-	};
-
-	asyncExecute(new Runnable(fn));
-}
-
-BssOpenApiClient::UnsubscribeExportToOSSOutcomeCallable BssOpenApiClient::unsubscribeExportToOSSCallable(const UnsubscribeExportToOSSRequest &request) const
-{
-	auto task = std::make_shared<std::packaged_task<UnsubscribeExportToOSSOutcome()>>(
-			[this, request]()
-			{
-			return this->unsubscribeExportToOSS(request);
-			});
-
-	asyncExecute(new Runnable([task]() { (*task)(); }));
-	return task->get_future();
-}
-
-BssOpenApiClient::QueryPriceListOutcome BssOpenApiClient::queryPriceList(const QueryPriceListRequest &request) const
-{
-	auto endpointOutcome = endpointProvider_->getEndpoint();
-	if (!endpointOutcome.isSuccess())
-		return QueryPriceListOutcome(endpointOutcome.error());
-
-	auto outcome = makeRequest(endpointOutcome.result(), request);
-
-	if (outcome.isSuccess())
-		return QueryPriceListOutcome(QueryPriceListResult(outcome.result()));
-	else
-		return QueryPriceListOutcome(outcome.error());
-}
-
-void BssOpenApiClient::queryPriceListAsync(const QueryPriceListRequest& request, const QueryPriceListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
-{
-	auto fn = [this, request, handler, context]()
-	{
-		handler(this, request, queryPriceList(request), context);
-	};
-
-	asyncExecute(new Runnable(fn));
-}
-
-BssOpenApiClient::QueryPriceListOutcomeCallable BssOpenApiClient::queryPriceListCallable(const QueryPriceListRequest &request) const
-{
-	auto task = std::make_shared<std::packaged_task<QueryPriceListOutcome()>>(
-			[this, request]()
-			{
-			return this->queryPriceList(request);
-			});
-
-	asyncExecute(new Runnable([task]() { (*task)(); }));
-	return task->get_future();
-}
-
-BssOpenApiClient::QueryRedeemOutcome BssOpenApiClient::queryRedeem(const QueryRedeemRequest &request) const
-{
-	auto endpointOutcome = endpointProvider_->getEndpoint();
-	if (!endpointOutcome.isSuccess())
-		return QueryRedeemOutcome(endpointOutcome.error());
-
-	auto outcome = makeRequest(endpointOutcome.result(), request);
-
-	if (outcome.isSuccess())
-		return QueryRedeemOutcome(QueryRedeemResult(outcome.result()));
-	else
-		return QueryRedeemOutcome(outcome.error());
-}
-
-void BssOpenApiClient::queryRedeemAsync(const QueryRedeemRequest& request, const QueryRedeemAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
-{
-	auto fn = [this, request, handler, context]()
-	{
-		handler(this, request, queryRedeem(request), context);
-	};
-
-	asyncExecute(new Runnable(fn));
-}
-
-BssOpenApiClient::QueryRedeemOutcomeCallable BssOpenApiClient::queryRedeemCallable(const QueryRedeemRequest &request) const
-{
-	auto task = std::make_shared<std::packaged_task<QueryRedeemOutcome()>>(
-			[this, request]()
-			{
-			return this->queryRedeem(request);
-			});
-
-	asyncExecute(new Runnable([task]() { (*task)(); }));
-	return task->get_future();
-}
-
-BssOpenApiClient::SubscribeBillToOSSOutcome BssOpenApiClient::subscribeBillToOSS(const SubscribeBillToOSSRequest &request) const
-{
-	auto endpointOutcome = endpointProvider_->getEndpoint();
-	if (!endpointOutcome.isSuccess())
-		return SubscribeBillToOSSOutcome(endpointOutcome.error());
-
-	auto outcome = makeRequest(endpointOutcome.result(), request);
-
-	if (outcome.isSuccess())
-		return SubscribeBillToOSSOutcome(SubscribeBillToOSSResult(outcome.result()));
-	else
-		return SubscribeBillToOSSOutcome(outcome.error());
-}
-
-void BssOpenApiClient::subscribeBillToOSSAsync(const SubscribeBillToOSSRequest& request, const SubscribeBillToOSSAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
-{
-	auto fn = [this, request, handler, context]()
-	{
-		handler(this, request, subscribeBillToOSS(request), context);
-	};
-
-	asyncExecute(new Runnable(fn));
-}
-
-BssOpenApiClient::SubscribeBillToOSSOutcomeCallable BssOpenApiClient::subscribeBillToOSSCallable(const SubscribeBillToOSSRequest &request) const
-{
-	auto task = std::make_shared<std::packaged_task<SubscribeBillToOSSOutcome()>>(
-			[this, request]()
-			{
-			return this->subscribeBillToOSS(request);
-			});
-
-	asyncExecute(new Runnable([task]() { (*task)(); }));
-	return task->get_future();
-}
-
-BssOpenApiClient::GetPayAsYouGoPriceOutcome BssOpenApiClient::getPayAsYouGoPrice(const GetPayAsYouGoPriceRequest &request) const
-{
-	auto endpointOutcome = endpointProvider_->getEndpoint();
-	if (!endpointOutcome.isSuccess())
-		return GetPayAsYouGoPriceOutcome(endpointOutcome.error());
-
-	auto outcome = makeRequest(endpointOutcome.result(), request);
-
-	if (outcome.isSuccess())
-		return GetPayAsYouGoPriceOutcome(GetPayAsYouGoPriceResult(outcome.result()));
-	else
-		return GetPayAsYouGoPriceOutcome(outcome.error());
-}
-
-void BssOpenApiClient::getPayAsYouGoPriceAsync(const GetPayAsYouGoPriceRequest& request, const GetPayAsYouGoPriceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
-{
-	auto fn = [this, request, handler, context]()
-	{
-		handler(this, request, getPayAsYouGoPrice(request), context);
-	};
-
-	asyncExecute(new Runnable(fn));
-}
-
-BssOpenApiClient::GetPayAsYouGoPriceOutcomeCallable BssOpenApiClient::getPayAsYouGoPriceCallable(const GetPayAsYouGoPriceRequest &request) const
-{
-	auto task = std::make_shared<std::packaged_task<GetPayAsYouGoPriceOutcome()>>(
-			[this, request]()
-			{
-			return this->getPayAsYouGoPrice(request);
-			});
-
-	asyncExecute(new Runnable([task]() { (*task)(); }));
-	return task->get_future();
-}
-
-BssOpenApiClient::GetResourcePackagePriceOutcome BssOpenApiClient::getResourcePackagePrice(const GetResourcePackagePriceRequest &request) const
-{
-	auto endpointOutcome = endpointProvider_->getEndpoint();
-	if (!endpointOutcome.isSuccess())
-		return GetResourcePackagePriceOutcome(endpointOutcome.error());
-
-	auto outcome = makeRequest(endpointOutcome.result(), request);
-
-	if (outcome.isSuccess())
-		return GetResourcePackagePriceOutcome(GetResourcePackagePriceResult(outcome.result()));
-	else
-		return GetResourcePackagePriceOutcome(outcome.error());
-}
-
-void BssOpenApiClient::getResourcePackagePriceAsync(const GetResourcePackagePriceRequest& request, const GetResourcePackagePriceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
-{
-	auto fn = [this, request, handler, context]()
-	{
-		handler(this, request, getResourcePackagePrice(request), context);
-	};
-
-	asyncExecute(new Runnable(fn));
-}
-
-BssOpenApiClient::GetResourcePackagePriceOutcomeCallable BssOpenApiClient::getResourcePackagePriceCallable(const GetResourcePackagePriceRequest &request) const
-{
-	auto task = std::make_shared<std::packaged_task<GetResourcePackagePriceOutcome()>>(
-			[this, request]()
-			{
-			return this->getResourcePackagePrice(request);
-			});
-
-	asyncExecute(new Runnable([task]() { (*task)(); }));
-	return task->get_future();
-}
-
-BssOpenApiClient::UnsubscribeBillToOSSOutcome BssOpenApiClient::unsubscribeBillToOSS(const UnsubscribeBillToOSSRequest &request) const
-{
-	auto endpointOutcome = endpointProvider_->getEndpoint();
-	if (!endpointOutcome.isSuccess())
-		return UnsubscribeBillToOSSOutcome(endpointOutcome.error());
-
-	auto outcome = makeRequest(endpointOutcome.result(), request);
-
-	if (outcome.isSuccess())
-		return UnsubscribeBillToOSSOutcome(UnsubscribeBillToOSSResult(outcome.result()));
-	else
-		return UnsubscribeBillToOSSOutcome(outcome.error());
-}
-
-void BssOpenApiClient::unsubscribeBillToOSSAsync(const UnsubscribeBillToOSSRequest& request, const UnsubscribeBillToOSSAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
-{
-	auto fn = [this, request, handler, context]()
-	{
-		handler(this, request, unsubscribeBillToOSS(request), context);
-	};
-
-	asyncExecute(new Runnable(fn));
-}
-
-BssOpenApiClient::UnsubscribeBillToOSSOutcomeCallable BssOpenApiClient::unsubscribeBillToOSSCallable(const UnsubscribeBillToOSSRequest &request) const
-{
-	auto task = std::make_shared<std::packaged_task<UnsubscribeBillToOSSOutcome()>>(
-			[this, request]()
-			{
-			return this->unsubscribeBillToOSS(request);
-			});
-
-	asyncExecute(new Runnable([task]() { (*task)(); }));
-	return task->get_future();
-}
-
-BssOpenApiClient::ChangeConsumeAmountOutcome BssOpenApiClient::changeConsumeAmount(const ChangeConsumeAmountRequest &request) const
-{
-	auto endpointOutcome = endpointProvider_->getEndpoint();
-	if (!endpointOutcome.isSuccess())
-		return ChangeConsumeAmountOutcome(endpointOutcome.error());
-
-	auto outcome = makeRequest(endpointOutcome.result(), request);
-
-	if (outcome.isSuccess())
-		return ChangeConsumeAmountOutcome(ChangeConsumeAmountResult(outcome.result()));
-	else
-		return ChangeConsumeAmountOutcome(outcome.error());
-}
-
-void BssOpenApiClient::changeConsumeAmountAsync(const ChangeConsumeAmountRequest& request, const ChangeConsumeAmountAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
-{
-	auto fn = [this, request, handler, context]()
-	{
-		handler(this, request, changeConsumeAmount(request), context);
-	};
-
-	asyncExecute(new Runnable(fn));
-}
-
-BssOpenApiClient::ChangeConsumeAmountOutcomeCallable BssOpenApiClient::changeConsumeAmountCallable(const ChangeConsumeAmountRequest &request) const
-{
-	auto task = std::make_shared<std::packaged_task<ChangeConsumeAmountOutcome()>>(
-			[this, request]()
-			{
-			return this->changeConsumeAmount(request);
-			});
-
-	asyncExecute(new Runnable([task]() { (*task)(); }));
-	return task->get_future();
-}
-
-BssOpenApiClient::ApplyInvoiceOutcome BssOpenApiClient::applyInvoice(const ApplyInvoiceRequest &request) const
-{
-	auto endpointOutcome = endpointProvider_->getEndpoint();
-	if (!endpointOutcome.isSuccess())
-		return ApplyInvoiceOutcome(endpointOutcome.error());
-
-	auto outcome = makeRequest(endpointOutcome.result(), request);
-
-	if (outcome.isSuccess())
-		return ApplyInvoiceOutcome(ApplyInvoiceResult(outcome.result()));
-	else
-		return ApplyInvoiceOutcome(outcome.error());
-}
-
-void BssOpenApiClient::applyInvoiceAsync(const ApplyInvoiceRequest& request, const ApplyInvoiceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
-{
-	auto fn = [this, request, handler, context]()
-	{
-		handler(this, request, applyInvoice(request), context);
-	};
-
-	asyncExecute(new Runnable(fn));
-}
-
-BssOpenApiClient::ApplyInvoiceOutcomeCallable BssOpenApiClient::applyInvoiceCallable(const ApplyInvoiceRequest &request) const
-{
-	auto task = std::make_shared<std::packaged_task<ApplyInvoiceOutcome()>>(
-			[this, request]()
-			{
-			return this->applyInvoice(request);
-			});
-
-	asyncExecute(new Runnable([task]() { (*task)(); }));
-	return task->get_future();
-}
-
-BssOpenApiClient::QueryProductListOutcome BssOpenApiClient::queryProductList(const QueryProductListRequest &request) const
-{
-	auto endpointOutcome = endpointProvider_->getEndpoint();
-	if (!endpointOutcome.isSuccess())
-		return QueryProductListOutcome(endpointOutcome.error());
-
-	auto outcome = makeRequest(endpointOutcome.result(), request);
-
-	if (outcome.isSuccess())
-		return QueryProductListOutcome(QueryProductListResult(outcome.result()));
-	else
-		return QueryProductListOutcome(outcome.error());
-}
-
-void BssOpenApiClient::queryProductListAsync(const QueryProductListRequest& request, const QueryProductListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
-{
-	auto fn = [this, request, handler, context]()
-	{
-		handler(this, request, queryProductList(request), context);
-	};
-
-	asyncExecute(new Runnable(fn));
-}
-
-BssOpenApiClient::QueryProductListOutcomeCallable BssOpenApiClient::queryProductListCallable(const QueryProductListRequest &request) const
-{
-	auto task = std::make_shared<std::packaged_task<QueryProductListOutcome()>>(
-			[this, request]()
-			{
-			return this->queryProductList(request);
-			});
-
-	asyncExecute(new Runnable([task]() { (*task)(); }));
-	return task->get_future();
-}
-
-BssOpenApiClient::SetUserAlarmThresholdOutcome BssOpenApiClient::setUserAlarmThreshold(const SetUserAlarmThresholdRequest &request) const
-{
-	auto endpointOutcome = endpointProvider_->getEndpoint();
-	if (!endpointOutcome.isSuccess())
-		return SetUserAlarmThresholdOutcome(endpointOutcome.error());
-
-	auto outcome = makeRequest(endpointOutcome.result(), request);
-
-	if (outcome.isSuccess())
-		return SetUserAlarmThresholdOutcome(SetUserAlarmThresholdResult(outcome.result()));
-	else
-		return SetUserAlarmThresholdOutcome(outcome.error());
-}
-
-void BssOpenApiClient::setUserAlarmThresholdAsync(const SetUserAlarmThresholdRequest& request, const SetUserAlarmThresholdAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
-{
-	auto fn = [this, request, handler, context]()
-	{
-		handler(this, request, setUserAlarmThreshold(request), context);
-	};
-
-	asyncExecute(new Runnable(fn));
-}
-
-BssOpenApiClient::SetUserAlarmThresholdOutcomeCallable BssOpenApiClient::setUserAlarmThresholdCallable(const SetUserAlarmThresholdRequest &request) const
-{
-	auto task = std::make_shared<std::packaged_task<SetUserAlarmThresholdOutcome()>>(
-			[this, request]()
-			{
-			return this->setUserAlarmThreshold(request);
-			});
-
-	asyncExecute(new Runnable([task]() { (*task)(); }));
-	return task->get_future();
-}
-
-BssOpenApiClient::GetSubscriptionPriceOutcome BssOpenApiClient::getSubscriptionPrice(const GetSubscriptionPriceRequest &request) const
-{
-	auto endpointOutcome = endpointProvider_->getEndpoint();
-	if (!endpointOutcome.isSuccess())
-		return GetSubscriptionPriceOutcome(endpointOutcome.error());
-
-	auto outcome = makeRequest(endpointOutcome.result(), request);
-
-	if (outcome.isSuccess())
-		return GetSubscriptionPriceOutcome(GetSubscriptionPriceResult(outcome.result()));
-	else
-		return GetSubscriptionPriceOutcome(outcome.error());
-}
-
-void BssOpenApiClient::getSubscriptionPriceAsync(const GetSubscriptionPriceRequest& request, const GetSubscriptionPriceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
-{
-	auto fn = [this, request, handler, context]()
-	{
-		handler(this, request, getSubscriptionPrice(request), context);
-	};
-
-	asyncExecute(new Runnable(fn));
-}
-
-BssOpenApiClient::GetSubscriptionPriceOutcomeCallable BssOpenApiClient::getSubscriptionPriceCallable(const GetSubscriptionPriceRequest &request) const
-{
-	auto task = std::make_shared<std::packaged_task<GetSubscriptionPriceOutcome()>>(
-			[this, request]()
-			{
-			return this->getSubscriptionPrice(request);
-			});
-
-	asyncExecute(new Runnable([task]() { (*task)(); }));
-	return task->get_future();
-}
-
-BssOpenApiClient::QueryAccountBookListOutcome BssOpenApiClient::queryAccountBookList(const QueryAccountBookListRequest &request) const
-{
-	auto endpointOutcome = endpointProvider_->getEndpoint();
-	if (!endpointOutcome.isSuccess())
-		return QueryAccountBookListOutcome(endpointOutcome.error());
-
-	auto outcome = makeRequest(endpointOutcome.result(), request);
-
-	if (outcome.isSuccess())
-		return QueryAccountBookListOutcome(QueryAccountBookListResult(outcome.result()));
-	else
-		return QueryAccountBookListOutcome(outcome.error());
-}
-
-void BssOpenApiClient::queryAccountBookListAsync(const QueryAccountBookListRequest& request, const QueryAccountBookListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
-{
-	auto fn = [this, request, handler, context]()
-	{
-		handler(this, request, queryAccountBookList(request), context);
-	};
-
-	asyncExecute(new Runnable(fn));
-}
-
-BssOpenApiClient::QueryAccountBookListOutcomeCallable BssOpenApiClient::queryAccountBookListCallable(const QueryAccountBookListRequest &request) const
-{
-	auto task = std::make_shared<std::packaged_task<QueryAccountBookListOutcome()>>(
-			[this, request]()
-			{
-			return this->queryAccountBookList(request);
-			});
-
-	asyncExecute(new Runnable([task]() { (*task)(); }));
-	return task->get_future();
-}
-
-BssOpenApiClient::QueryOrdersOutcome BssOpenApiClient::queryOrders(const QueryOrdersRequest &request) const
-{
-	auto endpointOutcome = endpointProvider_->getEndpoint();
-	if (!endpointOutcome.isSuccess())
-		return QueryOrdersOutcome(endpointOutcome.error());
-
-	auto outcome = makeRequest(endpointOutcome.result(), request);
-
-	if (outcome.isSuccess())
-		return QueryOrdersOutcome(QueryOrdersResult(outcome.result()));
-	else
-		return QueryOrdersOutcome(outcome.error());
-}
-
-void BssOpenApiClient::queryOrdersAsync(const QueryOrdersRequest& request, const QueryOrdersAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
-{
-	auto fn = [this, request, handler, context]()
-	{
-		handler(this, request, queryOrders(request), context);
-	};
-
-	asyncExecute(new Runnable(fn));
-}
-
-BssOpenApiClient::QueryOrdersOutcomeCallable BssOpenApiClient::queryOrdersCallable(const QueryOrdersRequest &request) const
-{
-	auto task = std::make_shared<std::packaged_task<QueryOrdersOutcome()>>(
-			[this, request]()
-			{
-			return this->queryOrders(request);
-			});
-
-	asyncExecute(new Runnable([task]() { (*task)(); }));
-	return task->get_future();
-}
-
-BssOpenApiClient::QueryCashCouponsOutcome BssOpenApiClient::queryCashCoupons(const QueryCashCouponsRequest &request) const
-{
-	auto endpointOutcome = endpointProvider_->getEndpoint();
-	if (!endpointOutcome.isSuccess())
-		return QueryCashCouponsOutcome(endpointOutcome.error());
-
-	auto outcome = makeRequest(endpointOutcome.result(), request);
-
-	if (outcome.isSuccess())
-		return QueryCashCouponsOutcome(QueryCashCouponsResult(outcome.result()));
-	else
-		return QueryCashCouponsOutcome(outcome.error());
-}
-
-void BssOpenApiClient::queryCashCouponsAsync(const QueryCashCouponsRequest& request, const QueryCashCouponsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
-{
-	auto fn = [this, request, handler, context]()
-	{
-		handler(this, request, queryCashCoupons(request), context);
-	};
-
-	asyncExecute(new Runnable(fn));
-}
-
-BssOpenApiClient::QueryCashCouponsOutcomeCallable BssOpenApiClient::queryCashCouponsCallable(const QueryCashCouponsRequest &request) const
-{
-	auto task = std::make_shared<std::packaged_task<QueryCashCouponsOutcome()>>(
-			[this, request]()
-			{
-			return this->queryCashCoupons(request);
-			});
-
-	asyncExecute(new Runnable([task]() { (*task)(); }));
-	return task->get_future();
-}
-
-BssOpenApiClient::QueryEvaluateListOutcome BssOpenApiClient::queryEvaluateList(const QueryEvaluateListRequest &request) const
-{
-	auto endpointOutcome = endpointProvider_->getEndpoint();
-	if (!endpointOutcome.isSuccess())
-		return QueryEvaluateListOutcome(endpointOutcome.error());
-
-	auto outcome = makeRequest(endpointOutcome.result(), request);
-
-	if (outcome.isSuccess())
-		return QueryEvaluateListOutcome(QueryEvaluateListResult(outcome.result()));
-	else
-		return QueryEvaluateListOutcome(outcome.error());
-}
-
-void BssOpenApiClient::queryEvaluateListAsync(const QueryEvaluateListRequest& request, const QueryEvaluateListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
-{
-	auto fn = [this, request, handler, context]()
-	{
-		handler(this, request, queryEvaluateList(request), context);
-	};
-
-	asyncExecute(new Runnable(fn));
-}
-
-BssOpenApiClient::QueryEvaluateListOutcomeCallable BssOpenApiClient::queryEvaluateListCallable(const QueryEvaluateListRequest &request) const
-{
-	auto task = std::make_shared<std::packaged_task<QueryEvaluateListOutcome()>>(
-			[this, request]()
-			{
-			return this->queryEvaluateList(request);
-			});
-
-	asyncExecute(new Runnable([task]() { (*task)(); }));
-	return task->get_future();
-}
-
-BssOpenApiClient::DescribePricingModuleOutcome BssOpenApiClient::describePricingModule(const DescribePricingModuleRequest &request) const
-{
-	auto endpointOutcome = endpointProvider_->getEndpoint();
-	if (!endpointOutcome.isSuccess())
-		return DescribePricingModuleOutcome(endpointOutcome.error());
-
-	auto outcome = makeRequest(endpointOutcome.result(), request);
-
-	if (outcome.isSuccess())
-		return DescribePricingModuleOutcome(DescribePricingModuleResult(outcome.result()));
-	else
-		return DescribePricingModuleOutcome(outcome.error());
-}
-
-void BssOpenApiClient::describePricingModuleAsync(const DescribePricingModuleRequest& request, const DescribePricingModuleAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
-{
-	auto fn = [this, request, handler, context]()
-	{
-		handler(this, request, describePricingModule(request), context);
-	};
-
-	asyncExecute(new Runnable(fn));
-}
-
-BssOpenApiClient::DescribePricingModuleOutcomeCallable BssOpenApiClient::describePricingModuleCallable(const DescribePricingModuleRequest &request) const
-{
-	auto task = std::make_shared<std::packaged_task<DescribePricingModuleOutcome()>>(
-			[this, request]()
-			{
-			return this->describePricingModule(request);
-			});
-
-	asyncExecute(new Runnable([task]() { (*task)(); }));
-	return task->get_future();
-}
-
-BssOpenApiClient::DescribeResourcePackageProductOutcome BssOpenApiClient::describeResourcePackageProduct(const DescribeResourcePackageProductRequest &request) const
-{
-	auto endpointOutcome = endpointProvider_->getEndpoint();
-	if (!endpointOutcome.isSuccess())
-		return DescribeResourcePackageProductOutcome(endpointOutcome.error());
-
-	auto outcome = makeRequest(endpointOutcome.result(), request);
-
-	if (outcome.isSuccess())
-		return DescribeResourcePackageProductOutcome(DescribeResourcePackageProductResult(outcome.result()));
-	else
-		return DescribeResourcePackageProductOutcome(outcome.error());
-}
-
-void BssOpenApiClient::describeResourcePackageProductAsync(const DescribeResourcePackageProductRequest& request, const DescribeResourcePackageProductAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
-{
-	auto fn = [this, request, handler, context]()
-	{
-		handler(this, request, describeResourcePackageProduct(request), context);
-	};
-
-	asyncExecute(new Runnable(fn));
-}
-
-BssOpenApiClient::DescribeResourcePackageProductOutcomeCallable BssOpenApiClient::describeResourcePackageProductCallable(const DescribeResourcePackageProductRequest &request) const
-{
-	auto task = std::make_shared<std::packaged_task<DescribeResourcePackageProductOutcome()>>(
-			[this, request]()
-			{
-			return this->describeResourcePackageProduct(request);
-			});
-
-	asyncExecute(new Runnable([task]() { (*task)(); }));
-	return task->get_future();
-}
-
-BssOpenApiClient::CreateResourcePackageOutcome BssOpenApiClient::createResourcePackage(const CreateResourcePackageRequest &request) const
-{
-	auto endpointOutcome = endpointProvider_->getEndpoint();
-	if (!endpointOutcome.isSuccess())
-		return CreateResourcePackageOutcome(endpointOutcome.error());
-
-	auto outcome = makeRequest(endpointOutcome.result(), request);
-
-	if (outcome.isSuccess())
-		return CreateResourcePackageOutcome(CreateResourcePackageResult(outcome.result()));
-	else
-		return CreateResourcePackageOutcome(outcome.error());
-}
-
-void BssOpenApiClient::createResourcePackageAsync(const CreateResourcePackageRequest& request, const CreateResourcePackageAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
-{
-	auto fn = [this, request, handler, context]()
-	{
-		handler(this, request, createResourcePackage(request), context);
-	};
-
-	asyncExecute(new Runnable(fn));
-}
-
-BssOpenApiClient::CreateResourcePackageOutcomeCallable BssOpenApiClient::createResourcePackageCallable(const CreateResourcePackageRequest &request) const
-{
-	auto task = std::make_shared<std::packaged_task<CreateResourcePackageOutcome()>>(
-			[this, request]()
-			{
-			return this->createResourcePackage(request);
-			});
-
-	asyncExecute(new Runnable([task]() { (*task)(); }));
-	return task->get_future();
-}
-
-BssOpenApiClient::QueryInstanceBillOutcome BssOpenApiClient::queryInstanceBill(const QueryInstanceBillRequest &request) const
-{
-	auto endpointOutcome = endpointProvider_->getEndpoint();
-	if (!endpointOutcome.isSuccess())
-		return QueryInstanceBillOutcome(endpointOutcome.error());
-
-	auto outcome = makeRequest(endpointOutcome.result(), request);
-
-	if (outcome.isSuccess())
-		return QueryInstanceBillOutcome(QueryInstanceBillResult(outcome.result()));
-	else
-		return QueryInstanceBillOutcome(outcome.error());
-}
-
-void BssOpenApiClient::queryInstanceBillAsync(const QueryInstanceBillRequest& request, const QueryInstanceBillAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
-{
-	auto fn = [this, request, handler, context]()
-	{
-		handler(this, request, queryInstanceBill(request), context);
-	};
-
-	asyncExecute(new Runnable(fn));
-}
-
-BssOpenApiClient::QueryInstanceBillOutcomeCallable BssOpenApiClient::queryInstanceBillCallable(const QueryInstanceBillRequest &request) const
-{
-	auto task = std::make_shared<std::packaged_task<QueryInstanceBillOutcome()>>(
-			[this, request]()
-			{
-			return this->queryInstanceBill(request);
-			});
-
-	asyncExecute(new Runnable([task]() { (*task)(); }));
-	return task->get_future();
-}
-
-BssOpenApiClient::SubscribeExportToOSSOutcome BssOpenApiClient::subscribeExportToOSS(const SubscribeExportToOSSRequest &request) const
-{
-	auto endpointOutcome = endpointProvider_->getEndpoint();
-	if (!endpointOutcome.isSuccess())
-		return SubscribeExportToOSSOutcome(endpointOutcome.error());
-
-	auto outcome = makeRequest(endpointOutcome.result(), request);
-
-	if (outcome.isSuccess())
-		return SubscribeExportToOSSOutcome(SubscribeExportToOSSResult(outcome.result()));
-	else
-		return SubscribeExportToOSSOutcome(outcome.error());
-}
-
-void BssOpenApiClient::subscribeExportToOSSAsync(const SubscribeExportToOSSRequest& request, const SubscribeExportToOSSAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
-{
-	auto fn = [this, request, handler, context]()
-	{
-		handler(this, request, subscribeExportToOSS(request), context);
-	};
-
-	asyncExecute(new Runnable(fn));
-}
-
-BssOpenApiClient::SubscribeExportToOSSOutcomeCallable BssOpenApiClient::subscribeExportToOSSCallable(const SubscribeExportToOSSRequest &request) const
-{
-	auto task = std::make_shared<std::packaged_task<SubscribeExportToOSSOutcome()>>(
-			[this, request]()
-			{
-			return this->subscribeExportToOSS(request);
-			});
-
-	asyncExecute(new Runnable([task]() { (*task)(); }));
-	return task->get_future();
-}
-
-BssOpenApiClient::QueryAvaliableQuotaOutcome BssOpenApiClient::queryAvaliableQuota(const QueryAvaliableQuotaRequest &request) const
-{
-	auto endpointOutcome = endpointProvider_->getEndpoint();
-	if (!endpointOutcome.isSuccess())
-		return QueryAvaliableQuotaOutcome(endpointOutcome.error());
-
-	auto outcome = makeRequest(endpointOutcome.result(), request);
-
-	if (outcome.isSuccess())
-		return QueryAvaliableQuotaOutcome(QueryAvaliableQuotaResult(outcome.result()));
-	else
-		return QueryAvaliableQuotaOutcome(outcome.error());
-}
-
-void BssOpenApiClient::queryAvaliableQuotaAsync(const QueryAvaliableQuotaRequest& request, const QueryAvaliableQuotaAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
-{
-	auto fn = [this, request, handler, context]()
-	{
-		handler(this, request, queryAvaliableQuota(request), context);
-	};
-
-	asyncExecute(new Runnable(fn));
-}
-
-BssOpenApiClient::QueryAvaliableQuotaOutcomeCallable BssOpenApiClient::queryAvaliableQuotaCallable(const QueryAvaliableQuotaRequest &request) const
-{
-	auto task = std::make_shared<std::packaged_task<QueryAvaliableQuotaOutcome()>>(
-			[this, request]()
-			{
-			return this->queryAvaliableQuota(request);
-			});
-
-	asyncExecute(new Runnable([task]() { (*task)(); }));
-	return task->get_future();
-}
-
-BssOpenApiClient::QueryPriceOutcome BssOpenApiClient::queryPrice(const QueryPriceRequest &request) const
-{
-	auto endpointOutcome = endpointProvider_->getEndpoint();
-	if (!endpointOutcome.isSuccess())
-		return QueryPriceOutcome(endpointOutcome.error());
-
-	auto outcome = makeRequest(endpointOutcome.result(), request);
-
-	if (outcome.isSuccess())
-		return QueryPriceOutcome(QueryPriceResult(outcome.result()));
-	else
-		return QueryPriceOutcome(outcome.error());
-}
-
-void BssOpenApiClient::queryPriceAsync(const QueryPriceRequest& request, const QueryPriceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
-{
-	auto fn = [this, request, handler, context]()
-	{
-		handler(this, request, queryPrice(request), context);
-	};
-
-	asyncExecute(new Runnable(fn));
-}
-
-BssOpenApiClient::QueryPriceOutcomeCallable BssOpenApiClient::queryPriceCallable(const QueryPriceRequest &request) const
-{
-	auto task = std::make_shared<std::packaged_task<QueryPriceOutcome()>>(
-			[this, request]()
-			{
-			return this->queryPrice(request);
-			});
-
-	asyncExecute(new Runnable([task]() { (*task)(); }));
-	return task->get_future();
-}
-
-BssOpenApiClient::QueryBillOutcome BssOpenApiClient::queryBill(const QueryBillRequest &request) const
-{
-	auto endpointOutcome = endpointProvider_->getEndpoint();
-	if (!endpointOutcome.isSuccess())
-		return QueryBillOutcome(endpointOutcome.error());
-
-	auto outcome = makeRequest(endpointOutcome.result(), request);
-
-	if (outcome.isSuccess())
-		return QueryBillOutcome(QueryBillResult(outcome.result()));
-	else
-		return QueryBillOutcome(outcome.error());
-}
-
-void BssOpenApiClient::queryBillAsync(const QueryBillRequest& request, const QueryBillAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
-{
-	auto fn = [this, request, handler, context]()
-	{
-		handler(this, request, queryBill(request), context);
-	};
-
-	asyncExecute(new Runnable(fn));
-}
-
-BssOpenApiClient::QueryBillOutcomeCallable BssOpenApiClient::queryBillCallable(const QueryBillRequest &request) const
-{
-	auto task = std::make_shared<std::packaged_task<QueryBillOutcome()>>(
-			[this, request]()
-			{
-			return this->queryBill(request);
-			});
-
-	asyncExecute(new Runnable([task]() { (*task)(); }));
-	return task->get_future();
-}
-
-BssOpenApiClient::SetRenewalOutcome BssOpenApiClient::setRenewal(const SetRenewalRequest &request) const
-{
-	auto endpointOutcome = endpointProvider_->getEndpoint();
-	if (!endpointOutcome.isSuccess())
-		return SetRenewalOutcome(endpointOutcome.error());
-
-	auto outcome = makeRequest(endpointOutcome.result(), request);
-
-	if (outcome.isSuccess())
-		return SetRenewalOutcome(SetRenewalResult(outcome.result()));
-	else
-		return SetRenewalOutcome(outcome.error());
-}
-
-void BssOpenApiClient::setRenewalAsync(const SetRenewalRequest& request, const SetRenewalAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
-{
-	auto fn = [this, request, handler, context]()
-	{
-		handler(this, request, setRenewal(request), context);
-	};
-
-	asyncExecute(new Runnable(fn));
-}
-
-BssOpenApiClient::SetRenewalOutcomeCallable BssOpenApiClient::setRenewalCallable(const SetRenewalRequest &request) const
-{
-	auto task = std::make_shared<std::packaged_task<SetRenewalOutcome()>>(
-			[this, request]()
-			{
-			return this->setRenewal(request);
-			});
-
-	asyncExecute(new Runnable([task]() { (*task)(); }));
-	return task->get_future();
-}
-
-BssOpenApiClient::ConvertChargeTypeOutcome BssOpenApiClient::convertChargeType(const ConvertChargeTypeRequest &request) const
-{
-	auto endpointOutcome = endpointProvider_->getEndpoint();
-	if (!endpointOutcome.isSuccess())
-		return ConvertChargeTypeOutcome(endpointOutcome.error());
-
-	auto outcome = makeRequest(endpointOutcome.result(), request);
-
-	if (outcome.isSuccess())
-		return ConvertChargeTypeOutcome(ConvertChargeTypeResult(outcome.result()));
-	else
-		return ConvertChargeTypeOutcome(outcome.error());
-}
-
-void BssOpenApiClient::convertChargeTypeAsync(const ConvertChargeTypeRequest& request, const ConvertChargeTypeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
-{
-	auto fn = [this, request, handler, context]()
-	{
-		handler(this, request, convertChargeType(request), context);
-	};
-
-	asyncExecute(new Runnable(fn));
-}
-
-BssOpenApiClient::ConvertChargeTypeOutcomeCallable BssOpenApiClient::convertChargeTypeCallable(const ConvertChargeTypeRequest &request) const
-{
-	auto task = std::make_shared<std::packaged_task<ConvertChargeTypeOutcome()>>(
-			[this, request]()
-			{
-			return this->convertChargeType(request);
-			});
-
-	asyncExecute(new Runnable([task]() { (*task)(); }));
-	return task->get_future();
-}
-
-BssOpenApiClient::QueryBillOverviewOutcome BssOpenApiClient::queryBillOverview(const QueryBillOverviewRequest &request) const
-{
-	auto endpointOutcome = endpointProvider_->getEndpoint();
-	if (!endpointOutcome.isSuccess())
-		return QueryBillOverviewOutcome(endpointOutcome.error());
-
-	auto outcome = makeRequest(endpointOutcome.result(), request);
-
-	if (outcome.isSuccess())
-		return QueryBillOverviewOutcome(QueryBillOverviewResult(outcome.result()));
-	else
-		return QueryBillOverviewOutcome(outcome.error());
-}
-
-void BssOpenApiClient::queryBillOverviewAsync(const QueryBillOverviewRequest& request, const QueryBillOverviewAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
-{
-	auto fn = [this, request, handler, context]()
-	{
-		handler(this, request, queryBillOverview(request), context);
-	};
-
-	asyncExecute(new Runnable(fn));
-}
-
-BssOpenApiClient::QueryBillOverviewOutcomeCallable BssOpenApiClient::queryBillOverviewCallable(const QueryBillOverviewRequest &request) const
-{
-	auto task = std::make_shared<std::packaged_task<QueryBillOverviewOutcome()>>(
-			[this, request]()
-			{
-			return this->queryBillOverview(request);
-			});
-
-	asyncExecute(new Runnable([task]() { (*task)(); }));
-	return task->get_future();
-}
-
-BssOpenApiClient::QuerySettlementBillOutcome BssOpenApiClient::querySettlementBill(const QuerySettlementBillRequest &request) const
-{
-	auto endpointOutcome = endpointProvider_->getEndpoint();
-	if (!endpointOutcome.isSuccess())
-		return QuerySettlementBillOutcome(endpointOutcome.error());
-
-	auto outcome = makeRequest(endpointOutcome.result(), request);
-
-	if (outcome.isSuccess())
-		return QuerySettlementBillOutcome(QuerySettlementBillResult(outcome.result()));
-	else
-		return QuerySettlementBillOutcome(outcome.error());
-}
-
-void BssOpenApiClient::querySettlementBillAsync(const QuerySettlementBillRequest& request, const QuerySettlementBillAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
-{
-	auto fn = [this, request, handler, context]()
-	{
-		handler(this, request, querySettlementBill(request), context);
-	};
-
-	asyncExecute(new Runnable(fn));
-}
-
-BssOpenApiClient::QuerySettlementBillOutcomeCallable BssOpenApiClient::querySettlementBillCallable(const QuerySettlementBillRequest &request) const
-{
-	auto task = std::make_shared<std::packaged_task<QuerySettlementBillOutcome()>>(
-			[this, request]()
-			{
-			return this->querySettlementBill(request);
-			});
-
-	asyncExecute(new Runnable([task]() { (*task)(); }));
-	return task->get_future();
-}
-
-BssOpenApiClient::QueryUserOmsDataOutcome BssOpenApiClient::queryUserOmsData(const QueryUserOmsDataRequest &request) const
-{
-	auto endpointOutcome = endpointProvider_->getEndpoint();
-	if (!endpointOutcome.isSuccess())
-		return QueryUserOmsDataOutcome(endpointOutcome.error());
-
-	auto outcome = makeRequest(endpointOutcome.result(), request);
-
-	if (outcome.isSuccess())
-		return QueryUserOmsDataOutcome(QueryUserOmsDataResult(outcome.result()));
-	else
-		return QueryUserOmsDataOutcome(outcome.error());
-}
-
-void BssOpenApiClient::queryUserOmsDataAsync(const QueryUserOmsDataRequest& request, const QueryUserOmsDataAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
-{
-	auto fn = [this, request, handler, context]()
-	{
-		handler(this, request, queryUserOmsData(request), context);
-	};
-
-	asyncExecute(new Runnable(fn));
-}
-
-BssOpenApiClient::QueryUserOmsDataOutcomeCallable BssOpenApiClient::queryUserOmsDataCallable(const QueryUserOmsDataRequest &request) const
-{
-	auto task = std::make_shared<std::packaged_task<QueryUserOmsDataOutcome()>>(
-			[this, request]()
-			{
-			return this->queryUserOmsData(request);
-			});
-
-	asyncExecute(new Runnable([task]() { (*task)(); }));
-	return task->get_future();
-}
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/bssopenapi/BssOpenApiClient.h>
+#include <alibabacloud/core/SimpleCredentialsProvider.h>
+
+using namespace AlibabaCloud;
+using namespace AlibabaCloud::Location;
+using namespace AlibabaCloud::BssOpenApi;
+using namespace AlibabaCloud::BssOpenApi::Model;
+
+namespace
+{
+	const std::string SERVICE_NAME = "BssOpenApi";
+}
+
+BssOpenApiClient::BssOpenApiClient(const Credentials &credentials, const ClientConfiguration &configuration) :
+	RpcServiceClient(SERVICE_NAME, std::make_shared<SimpleCredentialsProvider>(credentials), configuration)
+{
+	auto locationClient = std::make_shared<LocationClient>(credentials, configuration);
+	endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "");
+}
+
+BssOpenApiClient::BssOpenApiClient(const std::shared_ptr<CredentialsProvider>& credentialsProvider, const ClientConfiguration & configuration) :
+	RpcServiceClient(SERVICE_NAME, credentialsProvider, configuration)
+{
+	auto locationClient = std::make_shared<LocationClient>(credentialsProvider, configuration);
+	endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "");
+}
+
+BssOpenApiClient::BssOpenApiClient(const std::string & accessKeyId, const std::string & accessKeySecret, const ClientConfiguration & configuration) :
+	RpcServiceClient(SERVICE_NAME, std::make_shared<SimpleCredentialsProvider>(accessKeyId, accessKeySecret), configuration)
+{
+	auto locationClient = std::make_shared<LocationClient>(accessKeyId, accessKeySecret, configuration);
+	endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "");
+}
+
+BssOpenApiClient::~BssOpenApiClient()
+{}
+
+BssOpenApiClient::QueryMonthlyBillOutcome BssOpenApiClient::queryMonthlyBill(const QueryMonthlyBillRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return QueryMonthlyBillOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return QueryMonthlyBillOutcome(QueryMonthlyBillResult(outcome.result()));
+	else
+		return QueryMonthlyBillOutcome(outcome.error());
+}
+
+void BssOpenApiClient::queryMonthlyBillAsync(const QueryMonthlyBillRequest& request, const QueryMonthlyBillAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, queryMonthlyBill(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+BssOpenApiClient::QueryMonthlyBillOutcomeCallable BssOpenApiClient::queryMonthlyBillCallable(const QueryMonthlyBillRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<QueryMonthlyBillOutcome()>>(
+			[this, request]()
+			{
+			return this->queryMonthlyBill(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+BssOpenApiClient::QueryInstanceGaapCostOutcome BssOpenApiClient::queryInstanceGaapCost(const QueryInstanceGaapCostRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return QueryInstanceGaapCostOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return QueryInstanceGaapCostOutcome(QueryInstanceGaapCostResult(outcome.result()));
+	else
+		return QueryInstanceGaapCostOutcome(outcome.error());
+}
+
+void BssOpenApiClient::queryInstanceGaapCostAsync(const QueryInstanceGaapCostRequest& request, const QueryInstanceGaapCostAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, queryInstanceGaapCost(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+BssOpenApiClient::QueryInstanceGaapCostOutcomeCallable BssOpenApiClient::queryInstanceGaapCostCallable(const QueryInstanceGaapCostRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<QueryInstanceGaapCostOutcome()>>(
+			[this, request]()
+			{
+			return this->queryInstanceGaapCost(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+BssOpenApiClient::QueryMonthlyInstanceConsumptionOutcome BssOpenApiClient::queryMonthlyInstanceConsumption(const QueryMonthlyInstanceConsumptionRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return QueryMonthlyInstanceConsumptionOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return QueryMonthlyInstanceConsumptionOutcome(QueryMonthlyInstanceConsumptionResult(outcome.result()));
+	else
+		return QueryMonthlyInstanceConsumptionOutcome(outcome.error());
+}
+
+void BssOpenApiClient::queryMonthlyInstanceConsumptionAsync(const QueryMonthlyInstanceConsumptionRequest& request, const QueryMonthlyInstanceConsumptionAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, queryMonthlyInstanceConsumption(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+BssOpenApiClient::QueryMonthlyInstanceConsumptionOutcomeCallable BssOpenApiClient::queryMonthlyInstanceConsumptionCallable(const QueryMonthlyInstanceConsumptionRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<QueryMonthlyInstanceConsumptionOutcome()>>(
+			[this, request]()
+			{
+			return this->queryMonthlyInstanceConsumption(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+BssOpenApiClient::QueryAccountTransactionsOutcome BssOpenApiClient::queryAccountTransactions(const QueryAccountTransactionsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return QueryAccountTransactionsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return QueryAccountTransactionsOutcome(QueryAccountTransactionsResult(outcome.result()));
+	else
+		return QueryAccountTransactionsOutcome(outcome.error());
+}
+
+void BssOpenApiClient::queryAccountTransactionsAsync(const QueryAccountTransactionsRequest& request, const QueryAccountTransactionsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, queryAccountTransactions(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+BssOpenApiClient::QueryAccountTransactionsOutcomeCallable BssOpenApiClient::queryAccountTransactionsCallable(const QueryAccountTransactionsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<QueryAccountTransactionsOutcome()>>(
+			[this, request]()
+			{
+			return this->queryAccountTransactions(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+BssOpenApiClient::QueryPrepaidCardsOutcome BssOpenApiClient::queryPrepaidCards(const QueryPrepaidCardsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return QueryPrepaidCardsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return QueryPrepaidCardsOutcome(QueryPrepaidCardsResult(outcome.result()));
+	else
+		return QueryPrepaidCardsOutcome(outcome.error());
+}
+
+void BssOpenApiClient::queryPrepaidCardsAsync(const QueryPrepaidCardsRequest& request, const QueryPrepaidCardsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, queryPrepaidCards(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+BssOpenApiClient::QueryPrepaidCardsOutcomeCallable BssOpenApiClient::queryPrepaidCardsCallable(const QueryPrepaidCardsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<QueryPrepaidCardsOutcome()>>(
+			[this, request]()
+			{
+			return this->queryPrepaidCards(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+BssOpenApiClient::QueryAvailableInstancesOutcome BssOpenApiClient::queryAvailableInstances(const QueryAvailableInstancesRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return QueryAvailableInstancesOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return QueryAvailableInstancesOutcome(QueryAvailableInstancesResult(outcome.result()));
+	else
+		return QueryAvailableInstancesOutcome(outcome.error());
+}
+
+void BssOpenApiClient::queryAvailableInstancesAsync(const QueryAvailableInstancesRequest& request, const QueryAvailableInstancesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, queryAvailableInstances(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+BssOpenApiClient::QueryAvailableInstancesOutcomeCallable BssOpenApiClient::queryAvailableInstancesCallable(const QueryAvailableInstancesRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<QueryAvailableInstancesOutcome()>>(
+			[this, request]()
+			{
+			return this->queryAvailableInstances(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+BssOpenApiClient::CreateInstanceOutcome BssOpenApiClient::createInstance(const CreateInstanceRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return CreateInstanceOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return CreateInstanceOutcome(CreateInstanceResult(outcome.result()));
+	else
+		return CreateInstanceOutcome(outcome.error());
+}
+
+void BssOpenApiClient::createInstanceAsync(const CreateInstanceRequest& request, const CreateInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, createInstance(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+BssOpenApiClient::CreateInstanceOutcomeCallable BssOpenApiClient::createInstanceCallable(const CreateInstanceRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<CreateInstanceOutcome()>>(
+			[this, request]()
+			{
+			return this->createInstance(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+BssOpenApiClient::GetOrderDetailOutcome BssOpenApiClient::getOrderDetail(const GetOrderDetailRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return GetOrderDetailOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return GetOrderDetailOutcome(GetOrderDetailResult(outcome.result()));
+	else
+		return GetOrderDetailOutcome(outcome.error());
+}
+
+void BssOpenApiClient::getOrderDetailAsync(const GetOrderDetailRequest& request, const GetOrderDetailAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, getOrderDetail(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+BssOpenApiClient::GetOrderDetailOutcomeCallable BssOpenApiClient::getOrderDetailCallable(const GetOrderDetailRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<GetOrderDetailOutcome()>>(
+			[this, request]()
+			{
+			return this->getOrderDetail(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+BssOpenApiClient::QueryCustomerAddressListOutcome BssOpenApiClient::queryCustomerAddressList(const QueryCustomerAddressListRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return QueryCustomerAddressListOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return QueryCustomerAddressListOutcome(QueryCustomerAddressListResult(outcome.result()));
+	else
+		return QueryCustomerAddressListOutcome(outcome.error());
+}
+
+void BssOpenApiClient::queryCustomerAddressListAsync(const QueryCustomerAddressListRequest& request, const QueryCustomerAddressListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, queryCustomerAddressList(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+BssOpenApiClient::QueryCustomerAddressListOutcomeCallable BssOpenApiClient::queryCustomerAddressListCallable(const QueryCustomerAddressListRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<QueryCustomerAddressListOutcome()>>(
+			[this, request]()
+			{
+			return this->queryCustomerAddressList(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+BssOpenApiClient::ModifyInstanceOutcome BssOpenApiClient::modifyInstance(const ModifyInstanceRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ModifyInstanceOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ModifyInstanceOutcome(ModifyInstanceResult(outcome.result()));
+	else
+		return ModifyInstanceOutcome(outcome.error());
+}
+
+void BssOpenApiClient::modifyInstanceAsync(const ModifyInstanceRequest& request, const ModifyInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, modifyInstance(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+BssOpenApiClient::ModifyInstanceOutcomeCallable BssOpenApiClient::modifyInstanceCallable(const ModifyInstanceRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ModifyInstanceOutcome()>>(
+			[this, request]()
+			{
+			return this->modifyInstance(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+BssOpenApiClient::CancelOrderOutcome BssOpenApiClient::cancelOrder(const CancelOrderRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return CancelOrderOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return CancelOrderOutcome(CancelOrderResult(outcome.result()));
+	else
+		return CancelOrderOutcome(outcome.error());
+}
+
+void BssOpenApiClient::cancelOrderAsync(const CancelOrderRequest& request, const CancelOrderAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, cancelOrder(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+BssOpenApiClient::CancelOrderOutcomeCallable BssOpenApiClient::cancelOrderCallable(const CancelOrderRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<CancelOrderOutcome()>>(
+			[this, request]()
+			{
+			return this->cancelOrder(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+BssOpenApiClient::CreateResellerUserQuotaOutcome BssOpenApiClient::createResellerUserQuota(const CreateResellerUserQuotaRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return CreateResellerUserQuotaOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return CreateResellerUserQuotaOutcome(CreateResellerUserQuotaResult(outcome.result()));
+	else
+		return CreateResellerUserQuotaOutcome(outcome.error());
+}
+
+void BssOpenApiClient::createResellerUserQuotaAsync(const CreateResellerUserQuotaRequest& request, const CreateResellerUserQuotaAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, createResellerUserQuota(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+BssOpenApiClient::CreateResellerUserQuotaOutcomeCallable BssOpenApiClient::createResellerUserQuotaCallable(const CreateResellerUserQuotaRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<CreateResellerUserQuotaOutcome()>>(
+			[this, request]()
+			{
+			return this->createResellerUserQuota(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+BssOpenApiClient::QueryResourcePackageInstancesOutcome BssOpenApiClient::queryResourcePackageInstances(const QueryResourcePackageInstancesRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return QueryResourcePackageInstancesOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return QueryResourcePackageInstancesOutcome(QueryResourcePackageInstancesResult(outcome.result()));
+	else
+		return QueryResourcePackageInstancesOutcome(outcome.error());
+}
+
+void BssOpenApiClient::queryResourcePackageInstancesAsync(const QueryResourcePackageInstancesRequest& request, const QueryResourcePackageInstancesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, queryResourcePackageInstances(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+BssOpenApiClient::QueryResourcePackageInstancesOutcomeCallable BssOpenApiClient::queryResourcePackageInstancesCallable(const QueryResourcePackageInstancesRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<QueryResourcePackageInstancesOutcome()>>(
+			[this, request]()
+			{
+			return this->queryResourcePackageInstances(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+BssOpenApiClient::QueryRedeemOutcome BssOpenApiClient::queryRedeem(const QueryRedeemRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return QueryRedeemOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return QueryRedeemOutcome(QueryRedeemResult(outcome.result()));
+	else
+		return QueryRedeemOutcome(outcome.error());
+}
+
+void BssOpenApiClient::queryRedeemAsync(const QueryRedeemRequest& request, const QueryRedeemAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, queryRedeem(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+BssOpenApiClient::QueryRedeemOutcomeCallable BssOpenApiClient::queryRedeemCallable(const QueryRedeemRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<QueryRedeemOutcome()>>(
+			[this, request]()
+			{
+			return this->queryRedeem(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+BssOpenApiClient::SubscribeBillToOSSOutcome BssOpenApiClient::subscribeBillToOSS(const SubscribeBillToOSSRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return SubscribeBillToOSSOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return SubscribeBillToOSSOutcome(SubscribeBillToOSSResult(outcome.result()));
+	else
+		return SubscribeBillToOSSOutcome(outcome.error());
+}
+
+void BssOpenApiClient::subscribeBillToOSSAsync(const SubscribeBillToOSSRequest& request, const SubscribeBillToOSSAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, subscribeBillToOSS(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+BssOpenApiClient::SubscribeBillToOSSOutcomeCallable BssOpenApiClient::subscribeBillToOSSCallable(const SubscribeBillToOSSRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<SubscribeBillToOSSOutcome()>>(
+			[this, request]()
+			{
+			return this->subscribeBillToOSS(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+BssOpenApiClient::GetPayAsYouGoPriceOutcome BssOpenApiClient::getPayAsYouGoPrice(const GetPayAsYouGoPriceRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return GetPayAsYouGoPriceOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return GetPayAsYouGoPriceOutcome(GetPayAsYouGoPriceResult(outcome.result()));
+	else
+		return GetPayAsYouGoPriceOutcome(outcome.error());
+}
+
+void BssOpenApiClient::getPayAsYouGoPriceAsync(const GetPayAsYouGoPriceRequest& request, const GetPayAsYouGoPriceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, getPayAsYouGoPrice(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+BssOpenApiClient::GetPayAsYouGoPriceOutcomeCallable BssOpenApiClient::getPayAsYouGoPriceCallable(const GetPayAsYouGoPriceRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<GetPayAsYouGoPriceOutcome()>>(
+			[this, request]()
+			{
+			return this->getPayAsYouGoPrice(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+BssOpenApiClient::GetResourcePackagePriceOutcome BssOpenApiClient::getResourcePackagePrice(const GetResourcePackagePriceRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return GetResourcePackagePriceOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return GetResourcePackagePriceOutcome(GetResourcePackagePriceResult(outcome.result()));
+	else
+		return GetResourcePackagePriceOutcome(outcome.error());
+}
+
+void BssOpenApiClient::getResourcePackagePriceAsync(const GetResourcePackagePriceRequest& request, const GetResourcePackagePriceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, getResourcePackagePrice(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+BssOpenApiClient::GetResourcePackagePriceOutcomeCallable BssOpenApiClient::getResourcePackagePriceCallable(const GetResourcePackagePriceRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<GetResourcePackagePriceOutcome()>>(
+			[this, request]()
+			{
+			return this->getResourcePackagePrice(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+BssOpenApiClient::QueryProductListOutcome BssOpenApiClient::queryProductList(const QueryProductListRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return QueryProductListOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return QueryProductListOutcome(QueryProductListResult(outcome.result()));
+	else
+		return QueryProductListOutcome(outcome.error());
+}
+
+void BssOpenApiClient::queryProductListAsync(const QueryProductListRequest& request, const QueryProductListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, queryProductList(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+BssOpenApiClient::QueryProductListOutcomeCallable BssOpenApiClient::queryProductListCallable(const QueryProductListRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<QueryProductListOutcome()>>(
+			[this, request]()
+			{
+			return this->queryProductList(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+BssOpenApiClient::ApplyInvoiceOutcome BssOpenApiClient::applyInvoice(const ApplyInvoiceRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ApplyInvoiceOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ApplyInvoiceOutcome(ApplyInvoiceResult(outcome.result()));
+	else
+		return ApplyInvoiceOutcome(outcome.error());
+}
+
+void BssOpenApiClient::applyInvoiceAsync(const ApplyInvoiceRequest& request, const ApplyInvoiceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, applyInvoice(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+BssOpenApiClient::ApplyInvoiceOutcomeCallable BssOpenApiClient::applyInvoiceCallable(const ApplyInvoiceRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ApplyInvoiceOutcome()>>(
+			[this, request]()
+			{
+			return this->applyInvoice(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+BssOpenApiClient::UnsubscribeBillToOSSOutcome BssOpenApiClient::unsubscribeBillToOSS(const UnsubscribeBillToOSSRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return UnsubscribeBillToOSSOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return UnsubscribeBillToOSSOutcome(UnsubscribeBillToOSSResult(outcome.result()));
+	else
+		return UnsubscribeBillToOSSOutcome(outcome.error());
+}
+
+void BssOpenApiClient::unsubscribeBillToOSSAsync(const UnsubscribeBillToOSSRequest& request, const UnsubscribeBillToOSSAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, unsubscribeBillToOSS(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+BssOpenApiClient::UnsubscribeBillToOSSOutcomeCallable BssOpenApiClient::unsubscribeBillToOSSCallable(const UnsubscribeBillToOSSRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<UnsubscribeBillToOSSOutcome()>>(
+			[this, request]()
+			{
+			return this->unsubscribeBillToOSS(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+BssOpenApiClient::GetCustomerListOutcome BssOpenApiClient::getCustomerList(const GetCustomerListRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return GetCustomerListOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return GetCustomerListOutcome(GetCustomerListResult(outcome.result()));
+	else
+		return GetCustomerListOutcome(outcome.error());
+}
+
+void BssOpenApiClient::getCustomerListAsync(const GetCustomerListRequest& request, const GetCustomerListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, getCustomerList(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+BssOpenApiClient::GetCustomerListOutcomeCallable BssOpenApiClient::getCustomerListCallable(const GetCustomerListRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<GetCustomerListOutcome()>>(
+			[this, request]()
+			{
+			return this->getCustomerList(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+BssOpenApiClient::GetSubscriptionPriceOutcome BssOpenApiClient::getSubscriptionPrice(const GetSubscriptionPriceRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return GetSubscriptionPriceOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return GetSubscriptionPriceOutcome(GetSubscriptionPriceResult(outcome.result()));
+	else
+		return GetSubscriptionPriceOutcome(outcome.error());
+}
+
+void BssOpenApiClient::getSubscriptionPriceAsync(const GetSubscriptionPriceRequest& request, const GetSubscriptionPriceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, getSubscriptionPrice(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+BssOpenApiClient::GetSubscriptionPriceOutcomeCallable BssOpenApiClient::getSubscriptionPriceCallable(const GetSubscriptionPriceRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<GetSubscriptionPriceOutcome()>>(
+			[this, request]()
+			{
+			return this->getSubscriptionPrice(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+BssOpenApiClient::QueryResellerAvailableQuotaOutcome BssOpenApiClient::queryResellerAvailableQuota(const QueryResellerAvailableQuotaRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return QueryResellerAvailableQuotaOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return QueryResellerAvailableQuotaOutcome(QueryResellerAvailableQuotaResult(outcome.result()));
+	else
+		return QueryResellerAvailableQuotaOutcome(outcome.error());
+}
+
+void BssOpenApiClient::queryResellerAvailableQuotaAsync(const QueryResellerAvailableQuotaRequest& request, const QueryResellerAvailableQuotaAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, queryResellerAvailableQuota(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+BssOpenApiClient::QueryResellerAvailableQuotaOutcomeCallable BssOpenApiClient::queryResellerAvailableQuotaCallable(const QueryResellerAvailableQuotaRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<QueryResellerAvailableQuotaOutcome()>>(
+			[this, request]()
+			{
+			return this->queryResellerAvailableQuota(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+BssOpenApiClient::SetResellerUserQuotaOutcome BssOpenApiClient::setResellerUserQuota(const SetResellerUserQuotaRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return SetResellerUserQuotaOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return SetResellerUserQuotaOutcome(SetResellerUserQuotaResult(outcome.result()));
+	else
+		return SetResellerUserQuotaOutcome(outcome.error());
+}
+
+void BssOpenApiClient::setResellerUserQuotaAsync(const SetResellerUserQuotaRequest& request, const SetResellerUserQuotaAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, setResellerUserQuota(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+BssOpenApiClient::SetResellerUserQuotaOutcomeCallable BssOpenApiClient::setResellerUserQuotaCallable(const SetResellerUserQuotaRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<SetResellerUserQuotaOutcome()>>(
+			[this, request]()
+			{
+			return this->setResellerUserQuota(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+BssOpenApiClient::SetResellerUserStatusOutcome BssOpenApiClient::setResellerUserStatus(const SetResellerUserStatusRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return SetResellerUserStatusOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return SetResellerUserStatusOutcome(SetResellerUserStatusResult(outcome.result()));
+	else
+		return SetResellerUserStatusOutcome(outcome.error());
+}
+
+void BssOpenApiClient::setResellerUserStatusAsync(const SetResellerUserStatusRequest& request, const SetResellerUserStatusAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, setResellerUserStatus(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+BssOpenApiClient::SetResellerUserStatusOutcomeCallable BssOpenApiClient::setResellerUserStatusCallable(const SetResellerUserStatusRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<SetResellerUserStatusOutcome()>>(
+			[this, request]()
+			{
+			return this->setResellerUserStatus(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+BssOpenApiClient::EnableBillGenerationOutcome BssOpenApiClient::enableBillGeneration(const EnableBillGenerationRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return EnableBillGenerationOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return EnableBillGenerationOutcome(EnableBillGenerationResult(outcome.result()));
+	else
+		return EnableBillGenerationOutcome(outcome.error());
+}
+
+void BssOpenApiClient::enableBillGenerationAsync(const EnableBillGenerationRequest& request, const EnableBillGenerationAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, enableBillGeneration(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+BssOpenApiClient::EnableBillGenerationOutcomeCallable BssOpenApiClient::enableBillGenerationCallable(const EnableBillGenerationRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<EnableBillGenerationOutcome()>>(
+			[this, request]()
+			{
+			return this->enableBillGeneration(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+BssOpenApiClient::QueryOrdersOutcome BssOpenApiClient::queryOrders(const QueryOrdersRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return QueryOrdersOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return QueryOrdersOutcome(QueryOrdersResult(outcome.result()));
+	else
+		return QueryOrdersOutcome(outcome.error());
+}
+
+void BssOpenApiClient::queryOrdersAsync(const QueryOrdersRequest& request, const QueryOrdersAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, queryOrders(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+BssOpenApiClient::QueryOrdersOutcomeCallable BssOpenApiClient::queryOrdersCallable(const QueryOrdersRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<QueryOrdersOutcome()>>(
+			[this, request]()
+			{
+			return this->queryOrders(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+BssOpenApiClient::QueryCashCouponsOutcome BssOpenApiClient::queryCashCoupons(const QueryCashCouponsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return QueryCashCouponsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return QueryCashCouponsOutcome(QueryCashCouponsResult(outcome.result()));
+	else
+		return QueryCashCouponsOutcome(outcome.error());
+}
+
+void BssOpenApiClient::queryCashCouponsAsync(const QueryCashCouponsRequest& request, const QueryCashCouponsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, queryCashCoupons(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+BssOpenApiClient::QueryCashCouponsOutcomeCallable BssOpenApiClient::queryCashCouponsCallable(const QueryCashCouponsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<QueryCashCouponsOutcome()>>(
+			[this, request]()
+			{
+			return this->queryCashCoupons(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+BssOpenApiClient::QueryInvoicingCustomerListOutcome BssOpenApiClient::queryInvoicingCustomerList(const QueryInvoicingCustomerListRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return QueryInvoicingCustomerListOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return QueryInvoicingCustomerListOutcome(QueryInvoicingCustomerListResult(outcome.result()));
+	else
+		return QueryInvoicingCustomerListOutcome(outcome.error());
+}
+
+void BssOpenApiClient::queryInvoicingCustomerListAsync(const QueryInvoicingCustomerListRequest& request, const QueryInvoicingCustomerListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, queryInvoicingCustomerList(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+BssOpenApiClient::QueryInvoicingCustomerListOutcomeCallable BssOpenApiClient::queryInvoicingCustomerListCallable(const QueryInvoicingCustomerListRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<QueryInvoicingCustomerListOutcome()>>(
+			[this, request]()
+			{
+			return this->queryInvoicingCustomerList(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+BssOpenApiClient::DescribePricingModuleOutcome BssOpenApiClient::describePricingModule(const DescribePricingModuleRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribePricingModuleOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribePricingModuleOutcome(DescribePricingModuleResult(outcome.result()));
+	else
+		return DescribePricingModuleOutcome(outcome.error());
+}
+
+void BssOpenApiClient::describePricingModuleAsync(const DescribePricingModuleRequest& request, const DescribePricingModuleAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describePricingModule(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+BssOpenApiClient::DescribePricingModuleOutcomeCallable BssOpenApiClient::describePricingModuleCallable(const DescribePricingModuleRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribePricingModuleOutcome()>>(
+			[this, request]()
+			{
+			return this->describePricingModule(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+BssOpenApiClient::QueryEvaluateListOutcome BssOpenApiClient::queryEvaluateList(const QueryEvaluateListRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return QueryEvaluateListOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return QueryEvaluateListOutcome(QueryEvaluateListResult(outcome.result()));
+	else
+		return QueryEvaluateListOutcome(outcome.error());
+}
+
+void BssOpenApiClient::queryEvaluateListAsync(const QueryEvaluateListRequest& request, const QueryEvaluateListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, queryEvaluateList(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+BssOpenApiClient::QueryEvaluateListOutcomeCallable BssOpenApiClient::queryEvaluateListCallable(const QueryEvaluateListRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<QueryEvaluateListOutcome()>>(
+			[this, request]()
+			{
+			return this->queryEvaluateList(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+BssOpenApiClient::QueryAccountBalanceOutcome BssOpenApiClient::queryAccountBalance(const QueryAccountBalanceRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return QueryAccountBalanceOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return QueryAccountBalanceOutcome(QueryAccountBalanceResult(outcome.result()));
+	else
+		return QueryAccountBalanceOutcome(outcome.error());
+}
+
+void BssOpenApiClient::queryAccountBalanceAsync(const QueryAccountBalanceRequest& request, const QueryAccountBalanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, queryAccountBalance(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+BssOpenApiClient::QueryAccountBalanceOutcomeCallable BssOpenApiClient::queryAccountBalanceCallable(const QueryAccountBalanceRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<QueryAccountBalanceOutcome()>>(
+			[this, request]()
+			{
+			return this->queryAccountBalance(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+BssOpenApiClient::DescribeResourcePackageProductOutcome BssOpenApiClient::describeResourcePackageProduct(const DescribeResourcePackageProductRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeResourcePackageProductOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeResourcePackageProductOutcome(DescribeResourcePackageProductResult(outcome.result()));
+	else
+		return DescribeResourcePackageProductOutcome(outcome.error());
+}
+
+void BssOpenApiClient::describeResourcePackageProductAsync(const DescribeResourcePackageProductRequest& request, const DescribeResourcePackageProductAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeResourcePackageProduct(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+BssOpenApiClient::DescribeResourcePackageProductOutcomeCallable BssOpenApiClient::describeResourcePackageProductCallable(const DescribeResourcePackageProductRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeResourcePackageProductOutcome()>>(
+			[this, request]()
+			{
+			return this->describeResourcePackageProduct(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+BssOpenApiClient::ChangeResellerConsumeAmountOutcome BssOpenApiClient::changeResellerConsumeAmount(const ChangeResellerConsumeAmountRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ChangeResellerConsumeAmountOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ChangeResellerConsumeAmountOutcome(ChangeResellerConsumeAmountResult(outcome.result()));
+	else
+		return ChangeResellerConsumeAmountOutcome(outcome.error());
+}
+
+void BssOpenApiClient::changeResellerConsumeAmountAsync(const ChangeResellerConsumeAmountRequest& request, const ChangeResellerConsumeAmountAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, changeResellerConsumeAmount(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+BssOpenApiClient::ChangeResellerConsumeAmountOutcomeCallable BssOpenApiClient::changeResellerConsumeAmountCallable(const ChangeResellerConsumeAmountRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ChangeResellerConsumeAmountOutcome()>>(
+			[this, request]()
+			{
+			return this->changeResellerConsumeAmount(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+BssOpenApiClient::RenewInstanceOutcome BssOpenApiClient::renewInstance(const RenewInstanceRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return RenewInstanceOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return RenewInstanceOutcome(RenewInstanceResult(outcome.result()));
+	else
+		return RenewInstanceOutcome(outcome.error());
+}
+
+void BssOpenApiClient::renewInstanceAsync(const RenewInstanceRequest& request, const RenewInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, renewInstance(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+BssOpenApiClient::RenewInstanceOutcomeCallable BssOpenApiClient::renewInstanceCallable(const RenewInstanceRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<RenewInstanceOutcome()>>(
+			[this, request]()
+			{
+			return this->renewInstance(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+BssOpenApiClient::CreateResourcePackageOutcome BssOpenApiClient::createResourcePackage(const CreateResourcePackageRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return CreateResourcePackageOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return CreateResourcePackageOutcome(CreateResourcePackageResult(outcome.result()));
+	else
+		return CreateResourcePackageOutcome(outcome.error());
+}
+
+void BssOpenApiClient::createResourcePackageAsync(const CreateResourcePackageRequest& request, const CreateResourcePackageAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, createResourcePackage(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+BssOpenApiClient::CreateResourcePackageOutcomeCallable BssOpenApiClient::createResourcePackageCallable(const CreateResourcePackageRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<CreateResourcePackageOutcome()>>(
+			[this, request]()
+			{
+			return this->createResourcePackage(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+BssOpenApiClient::GetCustomerAccountInfoOutcome BssOpenApiClient::getCustomerAccountInfo(const GetCustomerAccountInfoRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return GetCustomerAccountInfoOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return GetCustomerAccountInfoOutcome(GetCustomerAccountInfoResult(outcome.result()));
+	else
+		return GetCustomerAccountInfoOutcome(outcome.error());
+}
+
+void BssOpenApiClient::getCustomerAccountInfoAsync(const GetCustomerAccountInfoRequest& request, const GetCustomerAccountInfoAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, getCustomerAccountInfo(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+BssOpenApiClient::GetCustomerAccountInfoOutcomeCallable BssOpenApiClient::getCustomerAccountInfoCallable(const GetCustomerAccountInfoRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<GetCustomerAccountInfoOutcome()>>(
+			[this, request]()
+			{
+			return this->getCustomerAccountInfo(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+BssOpenApiClient::QueryInstanceBillOutcome BssOpenApiClient::queryInstanceBill(const QueryInstanceBillRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return QueryInstanceBillOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return QueryInstanceBillOutcome(QueryInstanceBillResult(outcome.result()));
+	else
+		return QueryInstanceBillOutcome(outcome.error());
+}
+
+void BssOpenApiClient::queryInstanceBillAsync(const QueryInstanceBillRequest& request, const QueryInstanceBillAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, queryInstanceBill(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+BssOpenApiClient::QueryInstanceBillOutcomeCallable BssOpenApiClient::queryInstanceBillCallable(const QueryInstanceBillRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<QueryInstanceBillOutcome()>>(
+			[this, request]()
+			{
+			return this->queryInstanceBill(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+BssOpenApiClient::SetResellerUserAlarmThresholdOutcome BssOpenApiClient::setResellerUserAlarmThreshold(const SetResellerUserAlarmThresholdRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return SetResellerUserAlarmThresholdOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return SetResellerUserAlarmThresholdOutcome(SetResellerUserAlarmThresholdResult(outcome.result()));
+	else
+		return SetResellerUserAlarmThresholdOutcome(outcome.error());
+}
+
+void BssOpenApiClient::setResellerUserAlarmThresholdAsync(const SetResellerUserAlarmThresholdRequest& request, const SetResellerUserAlarmThresholdAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, setResellerUserAlarmThreshold(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+BssOpenApiClient::SetResellerUserAlarmThresholdOutcomeCallable BssOpenApiClient::setResellerUserAlarmThresholdCallable(const SetResellerUserAlarmThresholdRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<SetResellerUserAlarmThresholdOutcome()>>(
+			[this, request]()
+			{
+			return this->setResellerUserAlarmThreshold(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+BssOpenApiClient::QueryBillOutcome BssOpenApiClient::queryBill(const QueryBillRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return QueryBillOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return QueryBillOutcome(QueryBillResult(outcome.result()));
+	else
+		return QueryBillOutcome(outcome.error());
+}
+
+void BssOpenApiClient::queryBillAsync(const QueryBillRequest& request, const QueryBillAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, queryBill(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+BssOpenApiClient::QueryBillOutcomeCallable BssOpenApiClient::queryBillCallable(const QueryBillRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<QueryBillOutcome()>>(
+			[this, request]()
+			{
+			return this->queryBill(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+BssOpenApiClient::SetRenewalOutcome BssOpenApiClient::setRenewal(const SetRenewalRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return SetRenewalOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return SetRenewalOutcome(SetRenewalResult(outcome.result()));
+	else
+		return SetRenewalOutcome(outcome.error());
+}
+
+void BssOpenApiClient::setRenewalAsync(const SetRenewalRequest& request, const SetRenewalAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, setRenewal(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+BssOpenApiClient::SetRenewalOutcomeCallable BssOpenApiClient::setRenewalCallable(const SetRenewalRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<SetRenewalOutcome()>>(
+			[this, request]()
+			{
+			return this->setRenewal(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+BssOpenApiClient::CreateAgAccountOutcome BssOpenApiClient::createAgAccount(const CreateAgAccountRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return CreateAgAccountOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return CreateAgAccountOutcome(CreateAgAccountResult(outcome.result()));
+	else
+		return CreateAgAccountOutcome(outcome.error());
+}
+
+void BssOpenApiClient::createAgAccountAsync(const CreateAgAccountRequest& request, const CreateAgAccountAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, createAgAccount(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+BssOpenApiClient::CreateAgAccountOutcomeCallable BssOpenApiClient::createAgAccountCallable(const CreateAgAccountRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<CreateAgAccountOutcome()>>(
+			[this, request]()
+			{
+			return this->createAgAccount(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+BssOpenApiClient::ConvertChargeTypeOutcome BssOpenApiClient::convertChargeType(const ConvertChargeTypeRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ConvertChargeTypeOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ConvertChargeTypeOutcome(ConvertChargeTypeResult(outcome.result()));
+	else
+		return ConvertChargeTypeOutcome(outcome.error());
+}
+
+void BssOpenApiClient::convertChargeTypeAsync(const ConvertChargeTypeRequest& request, const ConvertChargeTypeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, convertChargeType(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+BssOpenApiClient::ConvertChargeTypeOutcomeCallable BssOpenApiClient::convertChargeTypeCallable(const ConvertChargeTypeRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ConvertChargeTypeOutcome()>>(
+			[this, request]()
+			{
+			return this->convertChargeType(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+BssOpenApiClient::QueryBillOverviewOutcome BssOpenApiClient::queryBillOverview(const QueryBillOverviewRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return QueryBillOverviewOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return QueryBillOverviewOutcome(QueryBillOverviewResult(outcome.result()));
+	else
+		return QueryBillOverviewOutcome(outcome.error());
+}
+
+void BssOpenApiClient::queryBillOverviewAsync(const QueryBillOverviewRequest& request, const QueryBillOverviewAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, queryBillOverview(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+BssOpenApiClient::QueryBillOverviewOutcomeCallable BssOpenApiClient::queryBillOverviewCallable(const QueryBillOverviewRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<QueryBillOverviewOutcome()>>(
+			[this, request]()
+			{
+			return this->queryBillOverview(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+BssOpenApiClient::QuerySettlementBillOutcome BssOpenApiClient::querySettlementBill(const QuerySettlementBillRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return QuerySettlementBillOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return QuerySettlementBillOutcome(QuerySettlementBillResult(outcome.result()));
+	else
+		return QuerySettlementBillOutcome(outcome.error());
+}
+
+void BssOpenApiClient::querySettlementBillAsync(const QuerySettlementBillRequest& request, const QuerySettlementBillAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, querySettlementBill(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+BssOpenApiClient::QuerySettlementBillOutcomeCallable BssOpenApiClient::querySettlementBillCallable(const QuerySettlementBillRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<QuerySettlementBillOutcome()>>(
+			[this, request]()
+			{
+			return this->querySettlementBill(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+BssOpenApiClient::QueryUserOmsDataOutcome BssOpenApiClient::queryUserOmsData(const QueryUserOmsDataRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return QueryUserOmsDataOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return QueryUserOmsDataOutcome(QueryUserOmsDataResult(outcome.result()));
+	else
+		return QueryUserOmsDataOutcome(outcome.error());
+}
+
+void BssOpenApiClient::queryUserOmsDataAsync(const QueryUserOmsDataRequest& request, const QueryUserOmsDataAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, queryUserOmsData(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+BssOpenApiClient::QueryUserOmsDataOutcomeCallable BssOpenApiClient::queryUserOmsDataCallable(const QueryUserOmsDataRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<QueryUserOmsDataOutcome()>>(
+			[this, request]()
+			{
+			return this->queryUserOmsData(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
 

+ 22 - 0
bssopenapi/src/model/SubscribeBillToOSSRequest.cc

@@ -25,6 +25,17 @@ SubscribeBillToOSSRequest::SubscribeBillToOSSRequest() :
 SubscribeBillToOSSRequest::~SubscribeBillToOSSRequest()
 {}
 
+long SubscribeBillToOSSRequest::getBucketOwnerId()const
+{
+	return bucketOwnerId_;
+}
+
+void SubscribeBillToOSSRequest::setBucketOwnerId(long bucketOwnerId)
+{
+	bucketOwnerId_ = bucketOwnerId;
+	setCoreParameter("BucketOwnerId", std::to_string(bucketOwnerId));
+}
+
 std::string SubscribeBillToOSSRequest::getSubscribeType()const
 {
 	return subscribeType_;
@@ -47,3 +58,14 @@ void SubscribeBillToOSSRequest::setSubscribeBucket(const std::string& subscribeB
 	setCoreParameter("SubscribeBucket", subscribeBucket);
 }
 
+std::string SubscribeBillToOSSRequest::getMultAccountRelSubscribe()const
+{
+	return multAccountRelSubscribe_;
+}
+
+void SubscribeBillToOSSRequest::setMultAccountRelSubscribe(const std::string& multAccountRelSubscribe)
+{
+	multAccountRelSubscribe_ = multAccountRelSubscribe;
+	setCoreParameter("MultAccountRelSubscribe", multAccountRelSubscribe);
+}
+

+ 11 - 0
bssopenapi/src/model/UnsubscribeBillToOSSRequest.cc

@@ -36,3 +36,14 @@ void UnsubscribeBillToOSSRequest::setSubscribeType(const std::string& subscribeT
 	setCoreParameter("SubscribeType", subscribeType);
 }
 
+std::string UnsubscribeBillToOSSRequest::getMultAccountRelSubscribe()const
+{
+	return multAccountRelSubscribe_;
+}
+
+void UnsubscribeBillToOSSRequest::setMultAccountRelSubscribe(const std::string& multAccountRelSubscribe)
+{
+	multAccountRelSubscribe_ = multAccountRelSubscribe;
+	setCoreParameter("MultAccountRelSubscribe", multAccountRelSubscribe);
+}
+