Ver Fonte

Add other language.

sdk-team há 3 anos atrás
pai
commit
824992b7be
61 ficheiros alterados com 3780 adições e 1132 exclusões
  1. 1 1
      VERSION
  2. 36 12
      bssopenapi/CMakeLists.txt
  3. 72 24
      bssopenapi/include/alibabacloud/bssopenapi/BssOpenApiClient.h
  4. 54 0
      bssopenapi/include/alibabacloud/bssopenapi/model/DescribeCostBudgetsSummaryRequest.h
  5. 16 27
      bssopenapi/include/alibabacloud/bssopenapi/model/DescribeCostBudgetsSummaryResult.h
  6. 72 0
      bssopenapi/include/alibabacloud/bssopenapi/model/DescribeInstanceAmortizedCostByAmortizationPeriodRequest.h
  7. 127 0
      bssopenapi/include/alibabacloud/bssopenapi/model/DescribeInstanceAmortizedCostByAmortizationPeriodResult.h
  8. 72 0
      bssopenapi/include/alibabacloud/bssopenapi/model/DescribeInstanceAmortizedCostByConsumePeriodRequest.h
  9. 127 0
      bssopenapi/include/alibabacloud/bssopenapi/model/DescribeInstanceAmortizedCostByConsumePeriodResult.h
  10. 69 0
      bssopenapi/include/alibabacloud/bssopenapi/model/DescribeProductAmortizedCostByAmortizationPeriodRequest.h
  11. 114 0
      bssopenapi/include/alibabacloud/bssopenapi/model/DescribeProductAmortizedCostByAmortizationPeriodResult.h
  12. 69 0
      bssopenapi/include/alibabacloud/bssopenapi/model/DescribeProductAmortizedCostByConsumePeriodRequest.h
  13. 114 0
      bssopenapi/include/alibabacloud/bssopenapi/model/DescribeProductAmortizedCostByConsumePeriodResult.h
  14. 9 9
      bssopenapi/include/alibabacloud/bssopenapi/model/QueryCommodityListRequest.h
  15. 12 32
      bssopenapi/include/alibabacloud/bssopenapi/model/QueryCommodityListResult.h
  16. 3 3
      bssopenapi/include/alibabacloud/bssopenapi/model/QueryInstanceByTagRequest.h
  17. 0 60
      bssopenapi/include/alibabacloud/bssopenapi/model/QueryMonthlyInstanceConsumptionRequest.h
  18. 42 0
      bssopenapi/include/alibabacloud/bssopenapi/model/QueryPriceEntityListRequest.h
  19. 73 0
      bssopenapi/include/alibabacloud/bssopenapi/model/QueryPriceEntityListResult.h
  20. 1 0
      bssopenapi/include/alibabacloud/bssopenapi/model/QueryResourcePackageInstancesResult.h
  21. 69 0
      bssopenapi/include/alibabacloud/bssopenapi/model/QuerySavingsPlansDiscountRequest.h
  22. 74 0
      bssopenapi/include/alibabacloud/bssopenapi/model/QuerySavingsPlansDiscountResult.h
  23. 1 0
      bssopenapi/include/alibabacloud/bssopenapi/model/QuerySavingsPlansInstanceResult.h
  24. 0 72
      bssopenapi/include/alibabacloud/bssopenapi/model/QuerySettlementBillRequest.h
  25. 0 111
      bssopenapi/include/alibabacloud/bssopenapi/model/QuerySettlementBillResult.h
  26. 54 0
      bssopenapi/include/alibabacloud/bssopenapi/model/QuerySkuPriceListRequest.h
  27. 91 0
      bssopenapi/include/alibabacloud/bssopenapi/model/QuerySkuPriceListResult.h
  28. 3 0
      bssopenapi/include/alibabacloud/bssopenapi/model/SetResellerUserStatusRequest.h
  29. 3 3
      bssopenapi/include/alibabacloud/bssopenapi/model/TagResourcesRequest.h
  30. 3 3
      bssopenapi/include/alibabacloud/bssopenapi/model/UntagResourcesRequest.h
  31. 300 84
      bssopenapi/src/BssOpenApiClient.cc
  32. 72 0
      bssopenapi/src/model/DescribeCostBudgetsSummaryRequest.cc
  33. 97 0
      bssopenapi/src/model/DescribeCostBudgetsSummaryResult.cc
  34. 122 0
      bssopenapi/src/model/DescribeInstanceAmortizedCostByAmortizationPeriodRequest.cc
  35. 203 0
      bssopenapi/src/model/DescribeInstanceAmortizedCostByAmortizationPeriodResult.cc
  36. 122 0
      bssopenapi/src/model/DescribeInstanceAmortizedCostByConsumePeriodRequest.cc
  37. 203 0
      bssopenapi/src/model/DescribeInstanceAmortizedCostByConsumePeriodResult.cc
  38. 114 0
      bssopenapi/src/model/DescribeProductAmortizedCostByAmortizationPeriodRequest.cc
  39. 177 0
      bssopenapi/src/model/DescribeProductAmortizedCostByAmortizationPeriodResult.cc
  40. 114 0
      bssopenapi/src/model/DescribeProductAmortizedCostByConsumePeriodRequest.cc
  41. 177 0
      bssopenapi/src/model/DescribeProductAmortizedCostByConsumePeriodResult.cc
  42. 36 0
      bssopenapi/src/model/QueryCommodityListRequest.cc
  43. 83 0
      bssopenapi/src/model/QueryCommodityListResult.cc
  44. 9 9
      bssopenapi/src/model/QueryInstanceByTagRequest.cc
  45. 0 36
      bssopenapi/src/model/QueryMonthlyBillRequest.cc
  46. 0 123
      bssopenapi/src/model/QueryMonthlyBillResult.cc
  47. 0 90
      bssopenapi/src/model/QueryMonthlyInstanceConsumptionRequest.cc
  48. 0 119
      bssopenapi/src/model/QueryMonthlyInstanceConsumptionResult.cc
  49. 36 0
      bssopenapi/src/model/QueryPriceEntityListRequest.cc
  50. 94 0
      bssopenapi/src/model/QueryPriceEntityListResult.cc
  51. 2 0
      bssopenapi/src/model/QueryResourcePackageInstancesResult.cc
  52. 117 0
      bssopenapi/src/model/QuerySavingsPlansDiscountRequest.cc
  53. 97 0
      bssopenapi/src/model/QuerySavingsPlansDiscountResult.cc
  54. 2 0
      bssopenapi/src/model/QuerySavingsPlansInstanceResult.cc
  55. 0 126
      bssopenapi/src/model/QuerySettlementBillRequest.cc
  56. 0 171
      bssopenapi/src/model/QuerySettlementBillResult.cc
  57. 76 0
      bssopenapi/src/model/QuerySkuPriceListRequest.cc
  58. 120 0
      bssopenapi/src/model/QuerySkuPriceListResult.cc
  59. 9 0
      bssopenapi/src/model/SetResellerUserStatusRequest.cc
  60. 9 9
      bssopenapi/src/model/TagResourcesRequest.cc
  61. 8 8
      bssopenapi/src/model/UntagResourcesRequest.cc

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.36.1439
+1.36.1440

+ 36 - 12
bssopenapi/CMakeLists.txt

@@ -49,10 +49,20 @@ set(bssopenapi_public_header_model
 	include/alibabacloud/bssopenapi/model/CreateSavingsPlansInstanceResult.h
 	include/alibabacloud/bssopenapi/model/DeleteCostUnitRequest.h
 	include/alibabacloud/bssopenapi/model/DeleteCostUnitResult.h
+	include/alibabacloud/bssopenapi/model/DescribeCostBudgetsSummaryRequest.h
+	include/alibabacloud/bssopenapi/model/DescribeCostBudgetsSummaryResult.h
+	include/alibabacloud/bssopenapi/model/DescribeInstanceAmortizedCostByAmortizationPeriodRequest.h
+	include/alibabacloud/bssopenapi/model/DescribeInstanceAmortizedCostByAmortizationPeriodResult.h
+	include/alibabacloud/bssopenapi/model/DescribeInstanceAmortizedCostByConsumePeriodRequest.h
+	include/alibabacloud/bssopenapi/model/DescribeInstanceAmortizedCostByConsumePeriodResult.h
 	include/alibabacloud/bssopenapi/model/DescribeInstanceBillRequest.h
 	include/alibabacloud/bssopenapi/model/DescribeInstanceBillResult.h
 	include/alibabacloud/bssopenapi/model/DescribePricingModuleRequest.h
 	include/alibabacloud/bssopenapi/model/DescribePricingModuleResult.h
+	include/alibabacloud/bssopenapi/model/DescribeProductAmortizedCostByAmortizationPeriodRequest.h
+	include/alibabacloud/bssopenapi/model/DescribeProductAmortizedCostByAmortizationPeriodResult.h
+	include/alibabacloud/bssopenapi/model/DescribeProductAmortizedCostByConsumePeriodRequest.h
+	include/alibabacloud/bssopenapi/model/DescribeProductAmortizedCostByConsumePeriodResult.h
 	include/alibabacloud/bssopenapi/model/DescribeResourceCoverageDetailRequest.h
 	include/alibabacloud/bssopenapi/model/DescribeResourceCoverageDetailResult.h
 	include/alibabacloud/bssopenapi/model/DescribeResourceCoverageTotalRequest.h
@@ -115,6 +125,8 @@ set(bssopenapi_public_header_model
 	include/alibabacloud/bssopenapi/model/QueryBillToOSSSubscriptionResult.h
 	include/alibabacloud/bssopenapi/model/QueryCashCouponsRequest.h
 	include/alibabacloud/bssopenapi/model/QueryCashCouponsResult.h
+	include/alibabacloud/bssopenapi/model/QueryCommodityListRequest.h
+	include/alibabacloud/bssopenapi/model/QueryCommodityListResult.h
 	include/alibabacloud/bssopenapi/model/QueryCostUnitRequest.h
 	include/alibabacloud/bssopenapi/model/QueryCostUnitResult.h
 	include/alibabacloud/bssopenapi/model/QueryCostUnitResourceRequest.h
@@ -135,16 +147,14 @@ set(bssopenapi_public_header_model
 	include/alibabacloud/bssopenapi/model/QueryInstanceGaapCostResult.h
 	include/alibabacloud/bssopenapi/model/QueryInvoicingCustomerListRequest.h
 	include/alibabacloud/bssopenapi/model/QueryInvoicingCustomerListResult.h
-	include/alibabacloud/bssopenapi/model/QueryMonthlyBillRequest.h
-	include/alibabacloud/bssopenapi/model/QueryMonthlyBillResult.h
-	include/alibabacloud/bssopenapi/model/QueryMonthlyInstanceConsumptionRequest.h
-	include/alibabacloud/bssopenapi/model/QueryMonthlyInstanceConsumptionResult.h
 	include/alibabacloud/bssopenapi/model/QueryOrdersRequest.h
 	include/alibabacloud/bssopenapi/model/QueryOrdersResult.h
 	include/alibabacloud/bssopenapi/model/QueryPermissionListRequest.h
 	include/alibabacloud/bssopenapi/model/QueryPermissionListResult.h
 	include/alibabacloud/bssopenapi/model/QueryPrepaidCardsRequest.h
 	include/alibabacloud/bssopenapi/model/QueryPrepaidCardsResult.h
+	include/alibabacloud/bssopenapi/model/QueryPriceEntityListRequest.h
+	include/alibabacloud/bssopenapi/model/QueryPriceEntityListResult.h
 	include/alibabacloud/bssopenapi/model/QueryProductListRequest.h
 	include/alibabacloud/bssopenapi/model/QueryProductListResult.h
 	include/alibabacloud/bssopenapi/model/QueryRIUtilizationDetailRequest.h
@@ -159,12 +169,14 @@ set(bssopenapi_public_header_model
 	include/alibabacloud/bssopenapi/model/QueryResourcePackageInstancesResult.h
 	include/alibabacloud/bssopenapi/model/QuerySavingsPlansDeductLogRequest.h
 	include/alibabacloud/bssopenapi/model/QuerySavingsPlansDeductLogResult.h
+	include/alibabacloud/bssopenapi/model/QuerySavingsPlansDiscountRequest.h
+	include/alibabacloud/bssopenapi/model/QuerySavingsPlansDiscountResult.h
 	include/alibabacloud/bssopenapi/model/QuerySavingsPlansInstanceRequest.h
 	include/alibabacloud/bssopenapi/model/QuerySavingsPlansInstanceResult.h
 	include/alibabacloud/bssopenapi/model/QuerySettleBillRequest.h
 	include/alibabacloud/bssopenapi/model/QuerySettleBillResult.h
-	include/alibabacloud/bssopenapi/model/QuerySettlementBillRequest.h
-	include/alibabacloud/bssopenapi/model/QuerySettlementBillResult.h
+	include/alibabacloud/bssopenapi/model/QuerySkuPriceListRequest.h
+	include/alibabacloud/bssopenapi/model/QuerySkuPriceListResult.h
 	include/alibabacloud/bssopenapi/model/QuerySplitItemBillRequest.h
 	include/alibabacloud/bssopenapi/model/QuerySplitItemBillResult.h
 	include/alibabacloud/bssopenapi/model/QueryUserOmsDataRequest.h
@@ -234,10 +246,20 @@ set(bssopenapi_src
 	src/model/CreateSavingsPlansInstanceResult.cc
 	src/model/DeleteCostUnitRequest.cc
 	src/model/DeleteCostUnitResult.cc
+	src/model/DescribeCostBudgetsSummaryRequest.cc
+	src/model/DescribeCostBudgetsSummaryResult.cc
+	src/model/DescribeInstanceAmortizedCostByAmortizationPeriodRequest.cc
+	src/model/DescribeInstanceAmortizedCostByAmortizationPeriodResult.cc
+	src/model/DescribeInstanceAmortizedCostByConsumePeriodRequest.cc
+	src/model/DescribeInstanceAmortizedCostByConsumePeriodResult.cc
 	src/model/DescribeInstanceBillRequest.cc
 	src/model/DescribeInstanceBillResult.cc
 	src/model/DescribePricingModuleRequest.cc
 	src/model/DescribePricingModuleResult.cc
+	src/model/DescribeProductAmortizedCostByAmortizationPeriodRequest.cc
+	src/model/DescribeProductAmortizedCostByAmortizationPeriodResult.cc
+	src/model/DescribeProductAmortizedCostByConsumePeriodRequest.cc
+	src/model/DescribeProductAmortizedCostByConsumePeriodResult.cc
 	src/model/DescribeResourceCoverageDetailRequest.cc
 	src/model/DescribeResourceCoverageDetailResult.cc
 	src/model/DescribeResourceCoverageTotalRequest.cc
@@ -300,6 +322,8 @@ set(bssopenapi_src
 	src/model/QueryBillToOSSSubscriptionResult.cc
 	src/model/QueryCashCouponsRequest.cc
 	src/model/QueryCashCouponsResult.cc
+	src/model/QueryCommodityListRequest.cc
+	src/model/QueryCommodityListResult.cc
 	src/model/QueryCostUnitRequest.cc
 	src/model/QueryCostUnitResult.cc
 	src/model/QueryCostUnitResourceRequest.cc
@@ -320,16 +344,14 @@ set(bssopenapi_src
 	src/model/QueryInstanceGaapCostResult.cc
 	src/model/QueryInvoicingCustomerListRequest.cc
 	src/model/QueryInvoicingCustomerListResult.cc
-	src/model/QueryMonthlyBillRequest.cc
-	src/model/QueryMonthlyBillResult.cc
-	src/model/QueryMonthlyInstanceConsumptionRequest.cc
-	src/model/QueryMonthlyInstanceConsumptionResult.cc
 	src/model/QueryOrdersRequest.cc
 	src/model/QueryOrdersResult.cc
 	src/model/QueryPermissionListRequest.cc
 	src/model/QueryPermissionListResult.cc
 	src/model/QueryPrepaidCardsRequest.cc
 	src/model/QueryPrepaidCardsResult.cc
+	src/model/QueryPriceEntityListRequest.cc
+	src/model/QueryPriceEntityListResult.cc
 	src/model/QueryProductListRequest.cc
 	src/model/QueryProductListResult.cc
 	src/model/QueryRIUtilizationDetailRequest.cc
@@ -344,12 +366,14 @@ set(bssopenapi_src
 	src/model/QueryResourcePackageInstancesResult.cc
 	src/model/QuerySavingsPlansDeductLogRequest.cc
 	src/model/QuerySavingsPlansDeductLogResult.cc
+	src/model/QuerySavingsPlansDiscountRequest.cc
+	src/model/QuerySavingsPlansDiscountResult.cc
 	src/model/QuerySavingsPlansInstanceRequest.cc
 	src/model/QuerySavingsPlansInstanceResult.cc
 	src/model/QuerySettleBillRequest.cc
 	src/model/QuerySettleBillResult.cc
-	src/model/QuerySettlementBillRequest.cc
-	src/model/QuerySettlementBillResult.cc
+	src/model/QuerySkuPriceListRequest.cc
+	src/model/QuerySkuPriceListResult.cc
 	src/model/QuerySplitItemBillRequest.cc
 	src/model/QuerySplitItemBillResult.cc
 	src/model/QueryUserOmsDataRequest.cc

+ 72 - 24
bssopenapi/include/alibabacloud/bssopenapi/BssOpenApiClient.h

@@ -50,10 +50,20 @@
 #include "model/CreateSavingsPlansInstanceResult.h"
 #include "model/DeleteCostUnitRequest.h"
 #include "model/DeleteCostUnitResult.h"
+#include "model/DescribeCostBudgetsSummaryRequest.h"
+#include "model/DescribeCostBudgetsSummaryResult.h"
+#include "model/DescribeInstanceAmortizedCostByAmortizationPeriodRequest.h"
+#include "model/DescribeInstanceAmortizedCostByAmortizationPeriodResult.h"
+#include "model/DescribeInstanceAmortizedCostByConsumePeriodRequest.h"
+#include "model/DescribeInstanceAmortizedCostByConsumePeriodResult.h"
 #include "model/DescribeInstanceBillRequest.h"
 #include "model/DescribeInstanceBillResult.h"
 #include "model/DescribePricingModuleRequest.h"
 #include "model/DescribePricingModuleResult.h"
+#include "model/DescribeProductAmortizedCostByAmortizationPeriodRequest.h"
+#include "model/DescribeProductAmortizedCostByAmortizationPeriodResult.h"
+#include "model/DescribeProductAmortizedCostByConsumePeriodRequest.h"
+#include "model/DescribeProductAmortizedCostByConsumePeriodResult.h"
 #include "model/DescribeResourceCoverageDetailRequest.h"
 #include "model/DescribeResourceCoverageDetailResult.h"
 #include "model/DescribeResourceCoverageTotalRequest.h"
@@ -116,6 +126,8 @@
 #include "model/QueryBillToOSSSubscriptionResult.h"
 #include "model/QueryCashCouponsRequest.h"
 #include "model/QueryCashCouponsResult.h"
+#include "model/QueryCommodityListRequest.h"
+#include "model/QueryCommodityListResult.h"
 #include "model/QueryCostUnitRequest.h"
 #include "model/QueryCostUnitResult.h"
 #include "model/QueryCostUnitResourceRequest.h"
@@ -136,16 +148,14 @@
 #include "model/QueryInstanceGaapCostResult.h"
 #include "model/QueryInvoicingCustomerListRequest.h"
 #include "model/QueryInvoicingCustomerListResult.h"
-#include "model/QueryMonthlyBillRequest.h"
-#include "model/QueryMonthlyBillResult.h"
-#include "model/QueryMonthlyInstanceConsumptionRequest.h"
-#include "model/QueryMonthlyInstanceConsumptionResult.h"
 #include "model/QueryOrdersRequest.h"
 #include "model/QueryOrdersResult.h"
 #include "model/QueryPermissionListRequest.h"
 #include "model/QueryPermissionListResult.h"
 #include "model/QueryPrepaidCardsRequest.h"
 #include "model/QueryPrepaidCardsResult.h"
+#include "model/QueryPriceEntityListRequest.h"
+#include "model/QueryPriceEntityListResult.h"
 #include "model/QueryProductListRequest.h"
 #include "model/QueryProductListResult.h"
 #include "model/QueryRIUtilizationDetailRequest.h"
@@ -160,12 +170,14 @@
 #include "model/QueryResourcePackageInstancesResult.h"
 #include "model/QuerySavingsPlansDeductLogRequest.h"
 #include "model/QuerySavingsPlansDeductLogResult.h"
+#include "model/QuerySavingsPlansDiscountRequest.h"
+#include "model/QuerySavingsPlansDiscountResult.h"
 #include "model/QuerySavingsPlansInstanceRequest.h"
 #include "model/QuerySavingsPlansInstanceResult.h"
 #include "model/QuerySettleBillRequest.h"
 #include "model/QuerySettleBillResult.h"
-#include "model/QuerySettlementBillRequest.h"
-#include "model/QuerySettlementBillResult.h"
+#include "model/QuerySkuPriceListRequest.h"
+#include "model/QuerySkuPriceListResult.h"
 #include "model/QuerySplitItemBillRequest.h"
 #include "model/QuerySplitItemBillResult.h"
 #include "model/QueryUserOmsDataRequest.h"
@@ -255,12 +267,27 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DeleteCostUnitResult> DeleteCostUnitOutcome;
 			typedef std::future<DeleteCostUnitOutcome> DeleteCostUnitOutcomeCallable;
 			typedef std::function<void(const BssOpenApiClient*, const Model::DeleteCostUnitRequest&, const DeleteCostUnitOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteCostUnitAsyncHandler;
+			typedef Outcome<Error, Model::DescribeCostBudgetsSummaryResult> DescribeCostBudgetsSummaryOutcome;
+			typedef std::future<DescribeCostBudgetsSummaryOutcome> DescribeCostBudgetsSummaryOutcomeCallable;
+			typedef std::function<void(const BssOpenApiClient*, const Model::DescribeCostBudgetsSummaryRequest&, const DescribeCostBudgetsSummaryOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeCostBudgetsSummaryAsyncHandler;
+			typedef Outcome<Error, Model::DescribeInstanceAmortizedCostByAmortizationPeriodResult> DescribeInstanceAmortizedCostByAmortizationPeriodOutcome;
+			typedef std::future<DescribeInstanceAmortizedCostByAmortizationPeriodOutcome> DescribeInstanceAmortizedCostByAmortizationPeriodOutcomeCallable;
+			typedef std::function<void(const BssOpenApiClient*, const Model::DescribeInstanceAmortizedCostByAmortizationPeriodRequest&, const DescribeInstanceAmortizedCostByAmortizationPeriodOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeInstanceAmortizedCostByAmortizationPeriodAsyncHandler;
+			typedef Outcome<Error, Model::DescribeInstanceAmortizedCostByConsumePeriodResult> DescribeInstanceAmortizedCostByConsumePeriodOutcome;
+			typedef std::future<DescribeInstanceAmortizedCostByConsumePeriodOutcome> DescribeInstanceAmortizedCostByConsumePeriodOutcomeCallable;
+			typedef std::function<void(const BssOpenApiClient*, const Model::DescribeInstanceAmortizedCostByConsumePeriodRequest&, const DescribeInstanceAmortizedCostByConsumePeriodOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeInstanceAmortizedCostByConsumePeriodAsyncHandler;
 			typedef Outcome<Error, Model::DescribeInstanceBillResult> DescribeInstanceBillOutcome;
 			typedef std::future<DescribeInstanceBillOutcome> DescribeInstanceBillOutcomeCallable;
 			typedef std::function<void(const BssOpenApiClient*, const Model::DescribeInstanceBillRequest&, const DescribeInstanceBillOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeInstanceBillAsyncHandler;
 			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::DescribeProductAmortizedCostByAmortizationPeriodResult> DescribeProductAmortizedCostByAmortizationPeriodOutcome;
+			typedef std::future<DescribeProductAmortizedCostByAmortizationPeriodOutcome> DescribeProductAmortizedCostByAmortizationPeriodOutcomeCallable;
+			typedef std::function<void(const BssOpenApiClient*, const Model::DescribeProductAmortizedCostByAmortizationPeriodRequest&, const DescribeProductAmortizedCostByAmortizationPeriodOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeProductAmortizedCostByAmortizationPeriodAsyncHandler;
+			typedef Outcome<Error, Model::DescribeProductAmortizedCostByConsumePeriodResult> DescribeProductAmortizedCostByConsumePeriodOutcome;
+			typedef std::future<DescribeProductAmortizedCostByConsumePeriodOutcome> DescribeProductAmortizedCostByConsumePeriodOutcomeCallable;
+			typedef std::function<void(const BssOpenApiClient*, const Model::DescribeProductAmortizedCostByConsumePeriodRequest&, const DescribeProductAmortizedCostByConsumePeriodOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeProductAmortizedCostByConsumePeriodAsyncHandler;
 			typedef Outcome<Error, Model::DescribeResourceCoverageDetailResult> DescribeResourceCoverageDetailOutcome;
 			typedef std::future<DescribeResourceCoverageDetailOutcome> DescribeResourceCoverageDetailOutcomeCallable;
 			typedef std::function<void(const BssOpenApiClient*, const Model::DescribeResourceCoverageDetailRequest&, const DescribeResourceCoverageDetailOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeResourceCoverageDetailAsyncHandler;
@@ -354,6 +381,9 @@ namespace AlibabaCloud
 			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::QueryCommodityListResult> QueryCommodityListOutcome;
+			typedef std::future<QueryCommodityListOutcome> QueryCommodityListOutcomeCallable;
+			typedef std::function<void(const BssOpenApiClient*, const Model::QueryCommodityListRequest&, const QueryCommodityListOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryCommodityListAsyncHandler;
 			typedef Outcome<Error, Model::QueryCostUnitResult> QueryCostUnitOutcome;
 			typedef std::future<QueryCostUnitOutcome> QueryCostUnitOutcomeCallable;
 			typedef std::function<void(const BssOpenApiClient*, const Model::QueryCostUnitRequest&, const QueryCostUnitOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryCostUnitAsyncHandler;
@@ -384,12 +414,6 @@ namespace AlibabaCloud
 			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::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::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::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;
@@ -399,6 +423,9 @@ namespace AlibabaCloud
 			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::QueryPriceEntityListResult> QueryPriceEntityListOutcome;
+			typedef std::future<QueryPriceEntityListOutcome> QueryPriceEntityListOutcomeCallable;
+			typedef std::function<void(const BssOpenApiClient*, const Model::QueryPriceEntityListRequest&, const QueryPriceEntityListOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryPriceEntityListAsyncHandler;
 			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;
@@ -420,15 +447,18 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::QuerySavingsPlansDeductLogResult> QuerySavingsPlansDeductLogOutcome;
 			typedef std::future<QuerySavingsPlansDeductLogOutcome> QuerySavingsPlansDeductLogOutcomeCallable;
 			typedef std::function<void(const BssOpenApiClient*, const Model::QuerySavingsPlansDeductLogRequest&, const QuerySavingsPlansDeductLogOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QuerySavingsPlansDeductLogAsyncHandler;
+			typedef Outcome<Error, Model::QuerySavingsPlansDiscountResult> QuerySavingsPlansDiscountOutcome;
+			typedef std::future<QuerySavingsPlansDiscountOutcome> QuerySavingsPlansDiscountOutcomeCallable;
+			typedef std::function<void(const BssOpenApiClient*, const Model::QuerySavingsPlansDiscountRequest&, const QuerySavingsPlansDiscountOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QuerySavingsPlansDiscountAsyncHandler;
 			typedef Outcome<Error, Model::QuerySavingsPlansInstanceResult> QuerySavingsPlansInstanceOutcome;
 			typedef std::future<QuerySavingsPlansInstanceOutcome> QuerySavingsPlansInstanceOutcomeCallable;
 			typedef std::function<void(const BssOpenApiClient*, const Model::QuerySavingsPlansInstanceRequest&, const QuerySavingsPlansInstanceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QuerySavingsPlansInstanceAsyncHandler;
 			typedef Outcome<Error, Model::QuerySettleBillResult> QuerySettleBillOutcome;
 			typedef std::future<QuerySettleBillOutcome> QuerySettleBillOutcomeCallable;
 			typedef std::function<void(const BssOpenApiClient*, const Model::QuerySettleBillRequest&, const QuerySettleBillOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QuerySettleBillAsyncHandler;
-			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::QuerySkuPriceListResult> QuerySkuPriceListOutcome;
+			typedef std::future<QuerySkuPriceListOutcome> QuerySkuPriceListOutcomeCallable;
+			typedef std::function<void(const BssOpenApiClient*, const Model::QuerySkuPriceListRequest&, const QuerySkuPriceListOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QuerySkuPriceListAsyncHandler;
 			typedef Outcome<Error, Model::QuerySplitItemBillResult> QuerySplitItemBillOutcome;
 			typedef std::future<QuerySplitItemBillOutcome> QuerySplitItemBillOutcomeCallable;
 			typedef std::function<void(const BssOpenApiClient*, const Model::QuerySplitItemBillRequest&, const QuerySplitItemBillOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QuerySplitItemBillAsyncHandler;
@@ -533,12 +563,27 @@ namespace AlibabaCloud
 			DeleteCostUnitOutcome deleteCostUnit(const Model::DeleteCostUnitRequest &request)const;
 			void deleteCostUnitAsync(const Model::DeleteCostUnitRequest& request, const DeleteCostUnitAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeleteCostUnitOutcomeCallable deleteCostUnitCallable(const Model::DeleteCostUnitRequest& request) const;
+			DescribeCostBudgetsSummaryOutcome describeCostBudgetsSummary(const Model::DescribeCostBudgetsSummaryRequest &request)const;
+			void describeCostBudgetsSummaryAsync(const Model::DescribeCostBudgetsSummaryRequest& request, const DescribeCostBudgetsSummaryAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeCostBudgetsSummaryOutcomeCallable describeCostBudgetsSummaryCallable(const Model::DescribeCostBudgetsSummaryRequest& request) const;
+			DescribeInstanceAmortizedCostByAmortizationPeriodOutcome describeInstanceAmortizedCostByAmortizationPeriod(const Model::DescribeInstanceAmortizedCostByAmortizationPeriodRequest &request)const;
+			void describeInstanceAmortizedCostByAmortizationPeriodAsync(const Model::DescribeInstanceAmortizedCostByAmortizationPeriodRequest& request, const DescribeInstanceAmortizedCostByAmortizationPeriodAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeInstanceAmortizedCostByAmortizationPeriodOutcomeCallable describeInstanceAmortizedCostByAmortizationPeriodCallable(const Model::DescribeInstanceAmortizedCostByAmortizationPeriodRequest& request) const;
+			DescribeInstanceAmortizedCostByConsumePeriodOutcome describeInstanceAmortizedCostByConsumePeriod(const Model::DescribeInstanceAmortizedCostByConsumePeriodRequest &request)const;
+			void describeInstanceAmortizedCostByConsumePeriodAsync(const Model::DescribeInstanceAmortizedCostByConsumePeriodRequest& request, const DescribeInstanceAmortizedCostByConsumePeriodAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeInstanceAmortizedCostByConsumePeriodOutcomeCallable describeInstanceAmortizedCostByConsumePeriodCallable(const Model::DescribeInstanceAmortizedCostByConsumePeriodRequest& request) const;
 			DescribeInstanceBillOutcome describeInstanceBill(const Model::DescribeInstanceBillRequest &request)const;
 			void describeInstanceBillAsync(const Model::DescribeInstanceBillRequest& request, const DescribeInstanceBillAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeInstanceBillOutcomeCallable describeInstanceBillCallable(const Model::DescribeInstanceBillRequest& 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;
+			DescribeProductAmortizedCostByAmortizationPeriodOutcome describeProductAmortizedCostByAmortizationPeriod(const Model::DescribeProductAmortizedCostByAmortizationPeriodRequest &request)const;
+			void describeProductAmortizedCostByAmortizationPeriodAsync(const Model::DescribeProductAmortizedCostByAmortizationPeriodRequest& request, const DescribeProductAmortizedCostByAmortizationPeriodAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeProductAmortizedCostByAmortizationPeriodOutcomeCallable describeProductAmortizedCostByAmortizationPeriodCallable(const Model::DescribeProductAmortizedCostByAmortizationPeriodRequest& request) const;
+			DescribeProductAmortizedCostByConsumePeriodOutcome describeProductAmortizedCostByConsumePeriod(const Model::DescribeProductAmortizedCostByConsumePeriodRequest &request)const;
+			void describeProductAmortizedCostByConsumePeriodAsync(const Model::DescribeProductAmortizedCostByConsumePeriodRequest& request, const DescribeProductAmortizedCostByConsumePeriodAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeProductAmortizedCostByConsumePeriodOutcomeCallable describeProductAmortizedCostByConsumePeriodCallable(const Model::DescribeProductAmortizedCostByConsumePeriodRequest& request) const;
 			DescribeResourceCoverageDetailOutcome describeResourceCoverageDetail(const Model::DescribeResourceCoverageDetailRequest &request)const;
 			void describeResourceCoverageDetailAsync(const Model::DescribeResourceCoverageDetailRequest& request, const DescribeResourceCoverageDetailAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeResourceCoverageDetailOutcomeCallable describeResourceCoverageDetailCallable(const Model::DescribeResourceCoverageDetailRequest& request) const;
@@ -632,6 +677,9 @@ namespace AlibabaCloud
 			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;
+			QueryCommodityListOutcome queryCommodityList(const Model::QueryCommodityListRequest &request)const;
+			void queryCommodityListAsync(const Model::QueryCommodityListRequest& request, const QueryCommodityListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			QueryCommodityListOutcomeCallable queryCommodityListCallable(const Model::QueryCommodityListRequest& request) const;
 			QueryCostUnitOutcome queryCostUnit(const Model::QueryCostUnitRequest &request)const;
 			void queryCostUnitAsync(const Model::QueryCostUnitRequest& request, const QueryCostUnitAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			QueryCostUnitOutcomeCallable queryCostUnitCallable(const Model::QueryCostUnitRequest& request) const;
@@ -662,12 +710,6 @@ namespace AlibabaCloud
 			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;
-			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;
-			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;
 			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;
@@ -677,6 +719,9 @@ namespace AlibabaCloud
 			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;
+			QueryPriceEntityListOutcome queryPriceEntityList(const Model::QueryPriceEntityListRequest &request)const;
+			void queryPriceEntityListAsync(const Model::QueryPriceEntityListRequest& request, const QueryPriceEntityListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			QueryPriceEntityListOutcomeCallable queryPriceEntityListCallable(const Model::QueryPriceEntityListRequest& 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;
 			QueryProductListOutcomeCallable queryProductListCallable(const Model::QueryProductListRequest& request) const;
@@ -698,15 +743,18 @@ namespace AlibabaCloud
 			QuerySavingsPlansDeductLogOutcome querySavingsPlansDeductLog(const Model::QuerySavingsPlansDeductLogRequest &request)const;
 			void querySavingsPlansDeductLogAsync(const Model::QuerySavingsPlansDeductLogRequest& request, const QuerySavingsPlansDeductLogAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			QuerySavingsPlansDeductLogOutcomeCallable querySavingsPlansDeductLogCallable(const Model::QuerySavingsPlansDeductLogRequest& request) const;
+			QuerySavingsPlansDiscountOutcome querySavingsPlansDiscount(const Model::QuerySavingsPlansDiscountRequest &request)const;
+			void querySavingsPlansDiscountAsync(const Model::QuerySavingsPlansDiscountRequest& request, const QuerySavingsPlansDiscountAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			QuerySavingsPlansDiscountOutcomeCallable querySavingsPlansDiscountCallable(const Model::QuerySavingsPlansDiscountRequest& request) const;
 			QuerySavingsPlansInstanceOutcome querySavingsPlansInstance(const Model::QuerySavingsPlansInstanceRequest &request)const;
 			void querySavingsPlansInstanceAsync(const Model::QuerySavingsPlansInstanceRequest& request, const QuerySavingsPlansInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			QuerySavingsPlansInstanceOutcomeCallable querySavingsPlansInstanceCallable(const Model::QuerySavingsPlansInstanceRequest& request) const;
 			QuerySettleBillOutcome querySettleBill(const Model::QuerySettleBillRequest &request)const;
 			void querySettleBillAsync(const Model::QuerySettleBillRequest& request, const QuerySettleBillAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			QuerySettleBillOutcomeCallable querySettleBillCallable(const Model::QuerySettleBillRequest& 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;
-			QuerySettlementBillOutcomeCallable querySettlementBillCallable(const Model::QuerySettlementBillRequest& request) const;
+			QuerySkuPriceListOutcome querySkuPriceList(const Model::QuerySkuPriceListRequest &request)const;
+			void querySkuPriceListAsync(const Model::QuerySkuPriceListRequest& request, const QuerySkuPriceListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			QuerySkuPriceListOutcomeCallable querySkuPriceListCallable(const Model::QuerySkuPriceListRequest& request) const;
 			QuerySplitItemBillOutcome querySplitItemBill(const Model::QuerySplitItemBillRequest &request)const;
 			void querySplitItemBillAsync(const Model::QuerySplitItemBillRequest& request, const QuerySplitItemBillAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			QuerySplitItemBillOutcomeCallable querySplitItemBillCallable(const Model::QuerySplitItemBillRequest& request) const;

+ 54 - 0
bssopenapi/include/alibabacloud/bssopenapi/model/DescribeCostBudgetsSummaryRequest.h

@@ -0,0 +1,54 @@
+/*
+ * 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_MODEL_DESCRIBECOSTBUDGETSSUMMARYREQUEST_H_
+#define ALIBABACLOUD_BSSOPENAPI_MODEL_DESCRIBECOSTBUDGETSSUMMARYREQUEST_H_
+
+#include <alibabacloud/bssopenapi/BssOpenApiExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace BssOpenApi {
+namespace Model {
+class ALIBABACLOUD_BSSOPENAPI_EXPORT DescribeCostBudgetsSummaryRequest : public RpcServiceRequest {
+public:
+	DescribeCostBudgetsSummaryRequest();
+	~DescribeCostBudgetsSummaryRequest();
+	std::string getBudgetStatus() const;
+	void setBudgetStatus(const std::string &budgetStatus);
+	std::string getBudgetType() const;
+	void setBudgetType(const std::string &budgetType);
+	std::string getNextToken() const;
+	void setNextToken(const std::string &nextToken);
+	int getMaxResults() const;
+	void setMaxResults(int maxResults);
+	std::string getBudgetName() const;
+	void setBudgetName(const std::string &budgetName);
+
+private:
+	std::string budgetStatus_;
+	std::string budgetType_;
+	std::string nextToken_;
+	int maxResults_;
+	std::string budgetName_;
+};
+} // namespace Model
+} // namespace BssOpenApi
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_BSSOPENAPI_MODEL_DESCRIBECOSTBUDGETSSUMMARYREQUEST_H_

+ 16 - 27
bssopenapi/include/alibabacloud/bssopenapi/model/QueryMonthlyInstanceConsumptionResult.h → bssopenapi/include/alibabacloud/bssopenapi/model/DescribeCostBudgetsSummaryResult.h

@@ -14,8 +14,8 @@
  * limitations under the License.
  */
 
-#ifndef ALIBABACLOUD_BSSOPENAPI_MODEL_QUERYMONTHLYINSTANCECONSUMPTIONRESULT_H_
-#define ALIBABACLOUD_BSSOPENAPI_MODEL_QUERYMONTHLYINSTANCECONSUMPTIONRESULT_H_
+#ifndef ALIBABACLOUD_BSSOPENAPI_MODEL_DESCRIBECOSTBUDGETSSUMMARYRESULT_H_
+#define ALIBABACLOUD_BSSOPENAPI_MODEL_DESCRIBECOSTBUDGETSSUMMARYRESULT_H_
 
 #include <string>
 #include <vector>
@@ -29,42 +29,31 @@ namespace AlibabaCloud
 	{
 		namespace Model
 		{
-			class ALIBABACLOUD_BSSOPENAPI_EXPORT QueryMonthlyInstanceConsumptionResult : public ServiceResult
+			class ALIBABACLOUD_BSSOPENAPI_EXPORT DescribeCostBudgetsSummaryResult : public ServiceResult
 			{
 			public:
 				struct Data
 				{
 					struct Item
 					{
-						float afterTaxAmount;
-						std::string instanceID;
-						std::string productCode;
-						std::string productType;
-						std::string paymentCurrency;
-						float tax;
-						std::string payerAccount;
-						float discountAmount;
-						std::string subscriptionType;
-						float pretaxGrossAmount;
-						float pretaxAmount;
-						std::string ownerID;
-						std::string currency;
-						std::string region;
-						std::string tag;
-						std::string resourceGroup;
-						float pretaxAmountLocal;
+						std::string budgetStatus;
+						std::string consumePeriod;
+						std::string budget;
+						std::string budgetName;
+						std::string budgetType;
+						std::string calculatedValues;
 					};
-					std::string billingCycle;
 					int totalCount;
-					int pageNum;
-					int pageSize;
+					std::string nextToken;
+					int maxResults;
 					std::vector<Item> items;
+					std::string hostId;
 				};
 
 
-				QueryMonthlyInstanceConsumptionResult();
-				explicit QueryMonthlyInstanceConsumptionResult(const std::string &payload);
-				~QueryMonthlyInstanceConsumptionResult();
+				DescribeCostBudgetsSummaryResult();
+				explicit DescribeCostBudgetsSummaryResult(const std::string &payload);
+				~DescribeCostBudgetsSummaryResult();
 				std::string getMessage()const;
 				Data getData()const;
 				std::string getCode()const;
@@ -82,4 +71,4 @@ namespace AlibabaCloud
 		}
 	}
 }
-#endif // !ALIBABACLOUD_BSSOPENAPI_MODEL_QUERYMONTHLYINSTANCECONSUMPTIONRESULT_H_
+#endif // !ALIBABACLOUD_BSSOPENAPI_MODEL_DESCRIBECOSTBUDGETSSUMMARYRESULT_H_

+ 72 - 0
bssopenapi/include/alibabacloud/bssopenapi/model/DescribeInstanceAmortizedCostByAmortizationPeriodRequest.h

@@ -0,0 +1,72 @@
+/*
+ * 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_MODEL_DESCRIBEINSTANCEAMORTIZEDCOSTBYAMORTIZATIONPERIODREQUEST_H_
+#define ALIBABACLOUD_BSSOPENAPI_MODEL_DESCRIBEINSTANCEAMORTIZEDCOSTBYAMORTIZATIONPERIODREQUEST_H_
+
+#include <alibabacloud/bssopenapi/BssOpenApiExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace BssOpenApi {
+namespace Model {
+class ALIBABACLOUD_BSSOPENAPI_EXPORT DescribeInstanceAmortizedCostByAmortizationPeriodRequest : public RpcServiceRequest {
+public:
+	DescribeInstanceAmortizedCostByAmortizationPeriodRequest();
+	~DescribeInstanceAmortizedCostByAmortizationPeriodRequest();
+	std::string getProductDetail() const;
+	void setProductDetail(const std::string &productDetail);
+	std::string getProductCode() const;
+	void setProductCode(const std::string &productCode);
+	std::vector<std::string> getBillOwnerIdList() const;
+	void setBillOwnerIdList(const std::vector<std::string> &billOwnerIdList);
+	std::string getSubscriptionType() const;
+	void setSubscriptionType(const std::string &subscriptionType);
+	std::string getBillingCycle() const;
+	void setBillingCycle(const std::string &billingCycle);
+	std::string getCostUnitCode() const;
+	void setCostUnitCode(const std::string &costUnitCode);
+	std::vector<std::string> getConsumePeriodFilter() const;
+	void setConsumePeriodFilter(const std::vector<std::string> &consumePeriodFilter);
+	std::string getNextToken() const;
+	void setNextToken(const std::string &nextToken);
+	std::vector<std::string> getBillUserIdList() const;
+	void setBillUserIdList(const std::vector<std::string> &billUserIdList);
+	std::vector<std::string> getInstanceIdList() const;
+	void setInstanceIdList(const std::vector<std::string> &instanceIdList);
+	int getMaxResults() const;
+	void setMaxResults(int maxResults);
+
+private:
+	std::string productDetail_;
+	std::string productCode_;
+	std::vector<std::string> billOwnerIdList_;
+	std::string subscriptionType_;
+	std::string billingCycle_;
+	std::string costUnitCode_;
+	std::vector<std::string> consumePeriodFilter_;
+	std::string nextToken_;
+	std::vector<std::string> billUserIdList_;
+	std::vector<std::string> instanceIdList_;
+	int maxResults_;
+};
+} // namespace Model
+} // namespace BssOpenApi
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_BSSOPENAPI_MODEL_DESCRIBEINSTANCEAMORTIZEDCOSTBYAMORTIZATIONPERIODREQUEST_H_

+ 127 - 0
bssopenapi/include/alibabacloud/bssopenapi/model/DescribeInstanceAmortizedCostByAmortizationPeriodResult.h

@@ -0,0 +1,127 @@
+/*
+ * 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_MODEL_DESCRIBEINSTANCEAMORTIZEDCOSTBYAMORTIZATIONPERIODRESULT_H_
+#define ALIBABACLOUD_BSSOPENAPI_MODEL_DESCRIBEINSTANCEAMORTIZEDCOSTBYAMORTIZATIONPERIODRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/bssopenapi/BssOpenApiExport.h>
+
+namespace AlibabaCloud
+{
+	namespace BssOpenApi
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_BSSOPENAPI_EXPORT DescribeInstanceAmortizedCostByAmortizationPeriodResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					struct Item
+					{
+						double currentAmortizationPretaxAmount;
+						double remainingAmortizationDeductedByCoupons;
+						std::string productName;
+						double previouslyAmortizedExpenditureAmount;
+						std::string instanceID;
+						long billAccountID;
+						std::string productDetailCode;
+						double previouslyAmortizedRoundDownDiscount;
+						std::string amortizationStatus;
+						double deductedByPrepaidCard;
+						std::string splitItemName;
+						std::string subscriptionType;
+						double currentAmortizationDeductedByCashCoupons;
+						std::string costUnitCode;
+						double remainingAmortizationDeductedByPrepaidCard;
+						std::string costUnit;
+						double deductedByCoupons;
+						std::string productCode;
+						long billOwnerID;
+						std::string bizType;
+						double previouslyAmortizedPretaxAmount;
+						std::string intranetIP;
+						double currentAmortizationPretaxGrossAmount;
+						std::string internetIP;
+						double remainingAmortizationExpenditureAmount;
+						std::string region;
+						double remainingAmortizationInvoiceDiscount;
+						double previouslyAmortizedDeductedByCashCoupons;
+						double currentAmortizationDeductedByCoupons;
+						double currentAmortizationRoundDownDiscount;
+						double currentAmortizationExpenditureAmount;
+						double remainingAmortizationRoundDownDiscount;
+						double previouslyAmortizedInvoiceDiscount;
+						double deductedByCashCoupons;
+						double previouslyAmortizedDeductedByCoupons;
+						double remainingAmortizationDeductedByCashCoupons;
+						double invoiceDiscount;
+						std::string splitProductDetail;
+						double currentAmortizationDeductedByPrepaidCard;
+						std::string amortizationPeriod;
+						double pretaxGrossAmount;
+						double previouslyAmortizedPretaxGrossAmount;
+						std::string resourceGroup;
+						std::string splitAccountName;
+						double roundDownDiscount;
+						std::string productDetail;
+						std::string consumePeriod;
+						std::string zone;
+						std::string billOwnerName;
+						std::string splitItemID;
+						double remainingAmortizationPretaxGrossAmount;
+						double pretaxAmount;
+						double currentAmortizationInvoiceDiscount;
+						double expenditureAmount;
+						double remainingAmortizationPretaxAmount;
+						std::string billAccountName;
+						std::string tag;
+						double previouslyAmortizedDeductedByPrepaidCard;
+					};
+					int totalCount;
+					std::string accountID;
+					std::string nextToken;
+					int maxResults;
+					std::vector<Item> items;
+					std::string accountName;
+				};
+
+
+				DescribeInstanceAmortizedCostByAmortizationPeriodResult();
+				explicit DescribeInstanceAmortizedCostByAmortizationPeriodResult(const std::string &payload);
+				~DescribeInstanceAmortizedCostByAmortizationPeriodResult();
+				std::string getMessage()const;
+				Data getData()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				Data data_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_BSSOPENAPI_MODEL_DESCRIBEINSTANCEAMORTIZEDCOSTBYAMORTIZATIONPERIODRESULT_H_

+ 72 - 0
bssopenapi/include/alibabacloud/bssopenapi/model/DescribeInstanceAmortizedCostByConsumePeriodRequest.h

@@ -0,0 +1,72 @@
+/*
+ * 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_MODEL_DESCRIBEINSTANCEAMORTIZEDCOSTBYCONSUMEPERIODREQUEST_H_
+#define ALIBABACLOUD_BSSOPENAPI_MODEL_DESCRIBEINSTANCEAMORTIZEDCOSTBYCONSUMEPERIODREQUEST_H_
+
+#include <alibabacloud/bssopenapi/BssOpenApiExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace BssOpenApi {
+namespace Model {
+class ALIBABACLOUD_BSSOPENAPI_EXPORT DescribeInstanceAmortizedCostByConsumePeriodRequest : public RpcServiceRequest {
+public:
+	DescribeInstanceAmortizedCostByConsumePeriodRequest();
+	~DescribeInstanceAmortizedCostByConsumePeriodRequest();
+	std::string getProductDetail() const;
+	void setProductDetail(const std::string &productDetail);
+	std::string getProductCode() const;
+	void setProductCode(const std::string &productCode);
+	std::vector<std::string> getBillOwnerIdList() const;
+	void setBillOwnerIdList(const std::vector<std::string> &billOwnerIdList);
+	std::string getSubscriptionType() const;
+	void setSubscriptionType(const std::string &subscriptionType);
+	std::string getBillingCycle() const;
+	void setBillingCycle(const std::string &billingCycle);
+	std::string getCostUnitCode() const;
+	void setCostUnitCode(const std::string &costUnitCode);
+	std::vector<std::string> getAmortizationPeriodFilter() const;
+	void setAmortizationPeriodFilter(const std::vector<std::string> &amortizationPeriodFilter);
+	std::string getNextToken() const;
+	void setNextToken(const std::string &nextToken);
+	std::vector<std::string> getBillUserIdList() const;
+	void setBillUserIdList(const std::vector<std::string> &billUserIdList);
+	std::vector<std::string> getInstanceIdList() const;
+	void setInstanceIdList(const std::vector<std::string> &instanceIdList);
+	int getMaxResults() const;
+	void setMaxResults(int maxResults);
+
+private:
+	std::string productDetail_;
+	std::string productCode_;
+	std::vector<std::string> billOwnerIdList_;
+	std::string subscriptionType_;
+	std::string billingCycle_;
+	std::string costUnitCode_;
+	std::vector<std::string> amortizationPeriodFilter_;
+	std::string nextToken_;
+	std::vector<std::string> billUserIdList_;
+	std::vector<std::string> instanceIdList_;
+	int maxResults_;
+};
+} // namespace Model
+} // namespace BssOpenApi
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_BSSOPENAPI_MODEL_DESCRIBEINSTANCEAMORTIZEDCOSTBYCONSUMEPERIODREQUEST_H_

+ 127 - 0
bssopenapi/include/alibabacloud/bssopenapi/model/DescribeInstanceAmortizedCostByConsumePeriodResult.h

@@ -0,0 +1,127 @@
+/*
+ * 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_MODEL_DESCRIBEINSTANCEAMORTIZEDCOSTBYCONSUMEPERIODRESULT_H_
+#define ALIBABACLOUD_BSSOPENAPI_MODEL_DESCRIBEINSTANCEAMORTIZEDCOSTBYCONSUMEPERIODRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/bssopenapi/BssOpenApiExport.h>
+
+namespace AlibabaCloud
+{
+	namespace BssOpenApi
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_BSSOPENAPI_EXPORT DescribeInstanceAmortizedCostByConsumePeriodResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					struct Item
+					{
+						double currentAmortizationPretaxAmount;
+						double remainingAmortizationDeductedByCoupons;
+						std::string productName;
+						double previouslyAmortizedExpenditureAmount;
+						std::string instanceID;
+						long billAccountID;
+						std::string productDetailCode;
+						double previouslyAmortizedRoundDownDiscount;
+						std::string amortizationStatus;
+						double deductedByPrepaidCard;
+						std::string splitItemName;
+						std::string subscriptionType;
+						double currentAmortizationDeductedByCashCoupons;
+						std::string costUnitCode;
+						double remainingAmortizationDeductedByPrepaidCard;
+						std::string costUnit;
+						double deductedByCoupons;
+						std::string productCode;
+						long billOwnerID;
+						std::string bizType;
+						double previouslyAmortizedPretaxAmount;
+						std::string intranetIP;
+						double currentAmortizationPretaxGrossAmount;
+						std::string internetIP;
+						double remainingAmortizationExpenditureAmount;
+						std::string region;
+						double remainingAmortizationInvoiceDiscount;
+						double previouslyAmortizedDeductedByCashCoupons;
+						double currentAmortizationDeductedByCoupons;
+						double currentAmortizationRoundDownDiscount;
+						double currentAmortizationExpenditureAmount;
+						double remainingAmortizationRoundDownDiscount;
+						double previouslyAmortizedInvoiceDiscount;
+						double deductedByCashCoupons;
+						double previouslyAmortizedDeductedByCoupons;
+						double remainingAmortizationDeductedByCashCoupons;
+						double invoiceDiscount;
+						std::string splitProductDetail;
+						double currentAmortizationDeductedByPrepaidCard;
+						std::string amortizationPeriod;
+						double pretaxGrossAmount;
+						double previouslyAmortizedPretaxGrossAmount;
+						std::string resourceGroup;
+						std::string splitAccountName;
+						double roundDownDiscount;
+						std::string productDetail;
+						std::string consumePeriod;
+						std::string zone;
+						std::string billOwnerName;
+						std::string splitItemID;
+						double remainingAmortizationPretaxGrossAmount;
+						double pretaxAmount;
+						double currentAmortizationInvoiceDiscount;
+						double expenditureAmount;
+						double remainingAmortizationPretaxAmount;
+						std::string billAccountName;
+						std::string tag;
+						double previouslyAmortizedDeductedByPrepaidCard;
+					};
+					int totalCount;
+					std::string accountID;
+					std::string nextToken;
+					int maxResults;
+					std::vector<Item> items;
+					std::string accountName;
+				};
+
+
+				DescribeInstanceAmortizedCostByConsumePeriodResult();
+				explicit DescribeInstanceAmortizedCostByConsumePeriodResult(const std::string &payload);
+				~DescribeInstanceAmortizedCostByConsumePeriodResult();
+				std::string getMessage()const;
+				Data getData()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				Data data_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_BSSOPENAPI_MODEL_DESCRIBEINSTANCEAMORTIZEDCOSTBYCONSUMEPERIODRESULT_H_

+ 69 - 0
bssopenapi/include/alibabacloud/bssopenapi/model/DescribeProductAmortizedCostByAmortizationPeriodRequest.h

@@ -0,0 +1,69 @@
+/*
+ * 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_MODEL_DESCRIBEPRODUCTAMORTIZEDCOSTBYAMORTIZATIONPERIODREQUEST_H_
+#define ALIBABACLOUD_BSSOPENAPI_MODEL_DESCRIBEPRODUCTAMORTIZEDCOSTBYAMORTIZATIONPERIODREQUEST_H_
+
+#include <alibabacloud/bssopenapi/BssOpenApiExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace BssOpenApi {
+namespace Model {
+class ALIBABACLOUD_BSSOPENAPI_EXPORT DescribeProductAmortizedCostByAmortizationPeriodRequest : public RpcServiceRequest {
+public:
+	DescribeProductAmortizedCostByAmortizationPeriodRequest();
+	~DescribeProductAmortizedCostByAmortizationPeriodRequest();
+	std::string getProductDetail() const;
+	void setProductDetail(const std::string &productDetail);
+	std::string getProductCode() const;
+	void setProductCode(const std::string &productCode);
+	std::vector<std::string> getBillOwnerIdList() const;
+	void setBillOwnerIdList(const std::vector<std::string> &billOwnerIdList);
+	std::string getSubscriptionType() const;
+	void setSubscriptionType(const std::string &subscriptionType);
+	std::string getBillingCycle() const;
+	void setBillingCycle(const std::string &billingCycle);
+	std::string getCostUnitCode() const;
+	void setCostUnitCode(const std::string &costUnitCode);
+	std::vector<std::string> getConsumePeriodFilter() const;
+	void setConsumePeriodFilter(const std::vector<std::string> &consumePeriodFilter);
+	std::string getNextToken() const;
+	void setNextToken(const std::string &nextToken);
+	std::vector<std::string> getBillUserIdList() const;
+	void setBillUserIdList(const std::vector<std::string> &billUserIdList);
+	int getMaxResults() const;
+	void setMaxResults(int maxResults);
+
+private:
+	std::string productDetail_;
+	std::string productCode_;
+	std::vector<std::string> billOwnerIdList_;
+	std::string subscriptionType_;
+	std::string billingCycle_;
+	std::string costUnitCode_;
+	std::vector<std::string> consumePeriodFilter_;
+	std::string nextToken_;
+	std::vector<std::string> billUserIdList_;
+	int maxResults_;
+};
+} // namespace Model
+} // namespace BssOpenApi
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_BSSOPENAPI_MODEL_DESCRIBEPRODUCTAMORTIZEDCOSTBYAMORTIZATIONPERIODREQUEST_H_

+ 114 - 0
bssopenapi/include/alibabacloud/bssopenapi/model/DescribeProductAmortizedCostByAmortizationPeriodResult.h

@@ -0,0 +1,114 @@
+/*
+ * 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_MODEL_DESCRIBEPRODUCTAMORTIZEDCOSTBYAMORTIZATIONPERIODRESULT_H_
+#define ALIBABACLOUD_BSSOPENAPI_MODEL_DESCRIBEPRODUCTAMORTIZEDCOSTBYAMORTIZATIONPERIODRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/bssopenapi/BssOpenApiExport.h>
+
+namespace AlibabaCloud
+{
+	namespace BssOpenApi
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_BSSOPENAPI_EXPORT DescribeProductAmortizedCostByAmortizationPeriodResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					struct Item
+					{
+						double currentAmortizationPretaxAmount;
+						double remainingAmortizationDeductedByCoupons;
+						std::string productName;
+						double previouslyAmortizedExpenditureAmount;
+						double currentAmortizationRoundDownDiscount;
+						double currentAmortizationExpenditureAmount;
+						double remainingAmortizationRoundDownDiscount;
+						long billAccountID;
+						std::string productDetailCode;
+						double previouslyAmortizedRoundDownDiscount;
+						double previouslyAmortizedInvoiceDiscount;
+						double deductedByCashCoupons;
+						double previouslyAmortizedDeductedByCoupons;
+						std::string amortizationStatus;
+						double remainingAmortizationDeductedByCashCoupons;
+						double deductedByPrepaidCard;
+						double invoiceDiscount;
+						double currentAmortizationDeductedByPrepaidCard;
+						std::string amortizationPeriod;
+						std::string subscriptionType;
+						double pretaxGrossAmount;
+						double currentAmortizationDeductedByCashCoupons;
+						double remainingAmortizationDeductedByPrepaidCard;
+						double previouslyAmortizedPretaxGrossAmount;
+						double deductedByCoupons;
+						double roundDownDiscount;
+						std::string productDetail;
+						std::string consumePeriod;
+						std::string productCode;
+						long billOwnerID;
+						std::string bizType;
+						double previouslyAmortizedPretaxAmount;
+						double currentAmortizationPretaxGrossAmount;
+						std::string billOwnerName;
+						double remainingAmortizationPretaxGrossAmount;
+						double pretaxAmount;
+						double remainingAmortizationExpenditureAmount;
+						double currentAmortizationInvoiceDiscount;
+						double expenditureAmount;
+						double remainingAmortizationPretaxAmount;
+						std::string billAccountName;
+						double remainingAmortizationInvoiceDiscount;
+						double previouslyAmortizedDeductedByCashCoupons;
+						double previouslyAmortizedDeductedByPrepaidCard;
+						double currentAmortizationDeductedByCoupons;
+					};
+					int totalCount;
+					std::string accountID;
+					std::string nextToken;
+					int maxResults;
+					std::vector<Item> items;
+					std::string accountName;
+				};
+
+
+				DescribeProductAmortizedCostByAmortizationPeriodResult();
+				explicit DescribeProductAmortizedCostByAmortizationPeriodResult(const std::string &payload);
+				~DescribeProductAmortizedCostByAmortizationPeriodResult();
+				std::string getMessage()const;
+				Data getData()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				Data data_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_BSSOPENAPI_MODEL_DESCRIBEPRODUCTAMORTIZEDCOSTBYAMORTIZATIONPERIODRESULT_H_

+ 69 - 0
bssopenapi/include/alibabacloud/bssopenapi/model/DescribeProductAmortizedCostByConsumePeriodRequest.h

@@ -0,0 +1,69 @@
+/*
+ * 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_MODEL_DESCRIBEPRODUCTAMORTIZEDCOSTBYCONSUMEPERIODREQUEST_H_
+#define ALIBABACLOUD_BSSOPENAPI_MODEL_DESCRIBEPRODUCTAMORTIZEDCOSTBYCONSUMEPERIODREQUEST_H_
+
+#include <alibabacloud/bssopenapi/BssOpenApiExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace BssOpenApi {
+namespace Model {
+class ALIBABACLOUD_BSSOPENAPI_EXPORT DescribeProductAmortizedCostByConsumePeriodRequest : public RpcServiceRequest {
+public:
+	DescribeProductAmortizedCostByConsumePeriodRequest();
+	~DescribeProductAmortizedCostByConsumePeriodRequest();
+	std::string getProductDetail() const;
+	void setProductDetail(const std::string &productDetail);
+	std::string getProductCode() const;
+	void setProductCode(const std::string &productCode);
+	std::vector<std::string> getBillOwnerIdList() const;
+	void setBillOwnerIdList(const std::vector<std::string> &billOwnerIdList);
+	std::string getSubscriptionType() const;
+	void setSubscriptionType(const std::string &subscriptionType);
+	std::string getBillingCycle() const;
+	void setBillingCycle(const std::string &billingCycle);
+	std::string getCostUnitCode() const;
+	void setCostUnitCode(const std::string &costUnitCode);
+	std::vector<std::string> getAmortizationPeriodFilter() const;
+	void setAmortizationPeriodFilter(const std::vector<std::string> &amortizationPeriodFilter);
+	std::string getNextToken() const;
+	void setNextToken(const std::string &nextToken);
+	std::vector<std::string> getBillUserIdList() const;
+	void setBillUserIdList(const std::vector<std::string> &billUserIdList);
+	int getMaxResults() const;
+	void setMaxResults(int maxResults);
+
+private:
+	std::string productDetail_;
+	std::string productCode_;
+	std::vector<std::string> billOwnerIdList_;
+	std::string subscriptionType_;
+	std::string billingCycle_;
+	std::string costUnitCode_;
+	std::vector<std::string> amortizationPeriodFilter_;
+	std::string nextToken_;
+	std::vector<std::string> billUserIdList_;
+	int maxResults_;
+};
+} // namespace Model
+} // namespace BssOpenApi
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_BSSOPENAPI_MODEL_DESCRIBEPRODUCTAMORTIZEDCOSTBYCONSUMEPERIODREQUEST_H_

+ 114 - 0
bssopenapi/include/alibabacloud/bssopenapi/model/DescribeProductAmortizedCostByConsumePeriodResult.h

@@ -0,0 +1,114 @@
+/*
+ * 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_MODEL_DESCRIBEPRODUCTAMORTIZEDCOSTBYCONSUMEPERIODRESULT_H_
+#define ALIBABACLOUD_BSSOPENAPI_MODEL_DESCRIBEPRODUCTAMORTIZEDCOSTBYCONSUMEPERIODRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/bssopenapi/BssOpenApiExport.h>
+
+namespace AlibabaCloud
+{
+	namespace BssOpenApi
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_BSSOPENAPI_EXPORT DescribeProductAmortizedCostByConsumePeriodResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					struct Item
+					{
+						double currentAmortizationPretaxAmount;
+						double remainingAmortizationDeductedByCoupons;
+						std::string productName;
+						double previouslyAmortizedExpenditureAmount;
+						double currentAmortizationRoundDownDiscount;
+						double currentAmortizationExpenditureAmount;
+						double remainingAmortizationRoundDownDiscount;
+						long billAccountID;
+						std::string productDetailCode;
+						double previouslyAmortizedRoundDownDiscount;
+						double previouslyAmortizedInvoiceDiscount;
+						double deductedByCashCoupons;
+						double previouslyAmortizedDeductedByCoupons;
+						std::string amortizationStatus;
+						double remainingAmortizationDeductedByCashCoupons;
+						double deductedByPrepaidCard;
+						double invoiceDiscount;
+						double currentAmortizationDeductedByPrepaidCard;
+						std::string amortizationPeriod;
+						std::string subscriptionType;
+						double pretaxGrossAmount;
+						double currentAmortizationDeductedByCashCoupons;
+						double remainingAmortizationDeductedByPrepaidCard;
+						double previouslyAmortizedPretaxGrossAmount;
+						double deductedByCoupons;
+						double roundDownDiscount;
+						std::string productDetail;
+						std::string consumePeriod;
+						std::string productCode;
+						long billOwnerID;
+						std::string bizType;
+						double previouslyAmortizedPretaxAmount;
+						double currentAmortizationPretaxGrossAmount;
+						std::string billOwnerName;
+						double remainingAmortizationPretaxGrossAmount;
+						double pretaxAmount;
+						double remainingAmortizationExpenditureAmount;
+						double currentAmortizationInvoiceDiscount;
+						double expenditureAmount;
+						double remainingAmortizationPretaxAmount;
+						std::string billAccountName;
+						double remainingAmortizationInvoiceDiscount;
+						double previouslyAmortizedDeductedByCashCoupons;
+						double previouslyAmortizedDeductedByPrepaidCard;
+						double currentAmortizationDeductedByCoupons;
+					};
+					int totalCount;
+					std::string accountID;
+					std::string nextToken;
+					int maxResults;
+					std::vector<Item> items;
+					std::string accountName;
+				};
+
+
+				DescribeProductAmortizedCostByConsumePeriodResult();
+				explicit DescribeProductAmortizedCostByConsumePeriodResult(const std::string &payload);
+				~DescribeProductAmortizedCostByConsumePeriodResult();
+				std::string getMessage()const;
+				Data getData()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				Data data_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_BSSOPENAPI_MODEL_DESCRIBEPRODUCTAMORTIZEDCOSTBYCONSUMEPERIODRESULT_H_

+ 9 - 9
bssopenapi/include/alibabacloud/bssopenapi/model/QueryMonthlyBillRequest.h → bssopenapi/include/alibabacloud/bssopenapi/model/QueryCommodityListRequest.h

@@ -14,8 +14,8 @@
  * limitations under the License.
  */
 
-#ifndef ALIBABACLOUD_BSSOPENAPI_MODEL_QUERYMONTHLYBILLREQUEST_H_
-#define ALIBABACLOUD_BSSOPENAPI_MODEL_QUERYMONTHLYBILLREQUEST_H_
+#ifndef ALIBABACLOUD_BSSOPENAPI_MODEL_QUERYCOMMODITYLISTREQUEST_H_
+#define ALIBABACLOUD_BSSOPENAPI_MODEL_QUERYCOMMODITYLISTREQUEST_H_
 
 #include <alibabacloud/bssopenapi/BssOpenApiExport.h>
 #include <alibabacloud/core/RpcServiceRequest.h>
@@ -26,17 +26,17 @@
 namespace AlibabaCloud {
 namespace BssOpenApi {
 namespace Model {
-class ALIBABACLOUD_BSSOPENAPI_EXPORT QueryMonthlyBillRequest : public RpcServiceRequest {
+class ALIBABACLOUD_BSSOPENAPI_EXPORT QueryCommodityListRequest : public RpcServiceRequest {
 public:
-	QueryMonthlyBillRequest();
-	~QueryMonthlyBillRequest();
-	std::string getBillingCycle() const;
-	void setBillingCycle(const std::string &billingCycle);
+	QueryCommodityListRequest();
+	~QueryCommodityListRequest();
+	std::string getProductCode() const;
+	void setProductCode(const std::string &productCode);
 
 private:
-	std::string billingCycle_;
+	std::string productCode_;
 };
 } // namespace Model
 } // namespace BssOpenApi
 } // namespace AlibabaCloud
-#endif // !ALIBABACLOUD_BSSOPENAPI_MODEL_QUERYMONTHLYBILLREQUEST_H_
+#endif // !ALIBABACLOUD_BSSOPENAPI_MODEL_QUERYCOMMODITYLISTREQUEST_H_

+ 12 - 32
bssopenapi/include/alibabacloud/bssopenapi/model/QueryMonthlyBillResult.h → bssopenapi/include/alibabacloud/bssopenapi/model/QueryCommodityListResult.h

@@ -14,8 +14,8 @@
  * limitations under the License.
  */
 
-#ifndef ALIBABACLOUD_BSSOPENAPI_MODEL_QUERYMONTHLYBILLRESULT_H_
-#define ALIBABACLOUD_BSSOPENAPI_MODEL_QUERYMONTHLYBILLRESULT_H_
+#ifndef ALIBABACLOUD_BSSOPENAPI_MODEL_QUERYCOMMODITYLISTRESULT_H_
+#define ALIBABACLOUD_BSSOPENAPI_MODEL_QUERYCOMMODITYLISTRESULT_H_
 
 #include <string>
 #include <vector>
@@ -29,44 +29,24 @@ namespace AlibabaCloud
 	{
 		namespace Model
 		{
-			class ALIBABACLOUD_BSSOPENAPI_EXPORT QueryMonthlyBillResult : public ServiceResult
+			class ALIBABACLOUD_BSSOPENAPI_EXPORT QueryCommodityListResult : public ServiceResult
 			{
 			public:
 				struct Data
 				{
-					struct Item
+					struct CommodityDTO
 					{
-						float deductedByCoupons;
-						float afterTaxAmount;
-						std::string productCode;
-						std::string productType;
-						float deductedByCashCoupons;
-						float outstandingAmount;
-						std::string paymentCurrency;
-						float tax;
-						float paymentAmount;
-						float deductedByPrepaidCard;
-						float invoiceDiscount;
-						std::string item;
-						std::string subscriptionType;
-						float pretaxGrossAmount;
-						float pretaxAmount;
-						std::string solutionCode;
-						std::string currency;
-						std::string solutionName;
-						float pretaxAmountLocal;
+						std::string chargeType;
+						std::string commodityCode;
+						std::string commodityName;
 					};
-					float totalOutstandingAmount;
-					std::string billingCycle;
-					float outstandingAmount;
-					std::vector<Item> items;
-					float newInvoiceAmount;
+					std::vector<CommodityDTO> commodityList;
 				};
 
 
-				QueryMonthlyBillResult();
-				explicit QueryMonthlyBillResult(const std::string &payload);
-				~QueryMonthlyBillResult();
+				QueryCommodityListResult();
+				explicit QueryCommodityListResult(const std::string &payload);
+				~QueryCommodityListResult();
 				std::string getMessage()const;
 				Data getData()const;
 				std::string getCode()const;
@@ -84,4 +64,4 @@ namespace AlibabaCloud
 		}
 	}
 }
-#endif // !ALIBABACLOUD_BSSOPENAPI_MODEL_QUERYMONTHLYBILLRESULT_H_
+#endif // !ALIBABACLOUD_BSSOPENAPI_MODEL_QUERYCOMMODITYLISTRESULT_H_

+ 3 - 3
bssopenapi/include/alibabacloud/bssopenapi/model/QueryInstanceByTagRequest.h

@@ -36,15 +36,15 @@ public:
 	~QueryInstanceByTagRequest();
 	std::vector<std::string> getResourceId() const;
 	void setResourceId(const std::vector<std::string> &resourceId);
-	std::vector<Tag> getTag() const;
-	void setTag(const std::vector<Tag> &tag);
 	std::string getResourceType() const;
 	void setResourceType(const std::string &resourceType);
+	std::vector<Tag> getTag() const;
+	void setTag(const std::vector<Tag> &tag);
 
 private:
 	std::vector<std::string> resourceId_;
-	std::vector<Tag> tag_;
 	std::string resourceType_;
+	std::vector<Tag> tag_;
 };
 } // namespace Model
 } // namespace BssOpenApi

+ 0 - 60
bssopenapi/include/alibabacloud/bssopenapi/model/QueryMonthlyInstanceConsumptionRequest.h

@@ -1,60 +0,0 @@
-/*
- * 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_MODEL_QUERYMONTHLYINSTANCECONSUMPTIONREQUEST_H_
-#define ALIBABACLOUD_BSSOPENAPI_MODEL_QUERYMONTHLYINSTANCECONSUMPTIONREQUEST_H_
-
-#include <alibabacloud/bssopenapi/BssOpenApiExport.h>
-#include <alibabacloud/core/RpcServiceRequest.h>
-#include <string>
-#include <vector>
-#include <map>
-
-namespace AlibabaCloud {
-namespace BssOpenApi {
-namespace Model {
-class ALIBABACLOUD_BSSOPENAPI_EXPORT QueryMonthlyInstanceConsumptionRequest : public RpcServiceRequest {
-public:
-	QueryMonthlyInstanceConsumptionRequest();
-	~QueryMonthlyInstanceConsumptionRequest();
-	std::string getProductCode() const;
-	void setProductCode(const std::string &productCode);
-	std::string getSubscriptionType() const;
-	void setSubscriptionType(const std::string &subscriptionType);
-	std::string getBillingCycle() const;
-	void setBillingCycle(const std::string &billingCycle);
-	long getOwnerId() const;
-	void setOwnerId(long ownerId);
-	int getPageNum() const;
-	void setPageNum(int pageNum);
-	std::string getProductType() const;
-	void setProductType(const std::string &productType);
-	int getPageSize() const;
-	void setPageSize(int pageSize);
-
-private:
-	std::string productCode_;
-	std::string subscriptionType_;
-	std::string billingCycle_;
-	long ownerId_;
-	int pageNum_;
-	std::string productType_;
-	int pageSize_;
-};
-} // namespace Model
-} // namespace BssOpenApi
-} // namespace AlibabaCloud
-#endif // !ALIBABACLOUD_BSSOPENAPI_MODEL_QUERYMONTHLYINSTANCECONSUMPTIONREQUEST_H_

+ 42 - 0
bssopenapi/include/alibabacloud/bssopenapi/model/QueryPriceEntityListRequest.h

@@ -0,0 +1,42 @@
+/*
+ * 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_MODEL_QUERYPRICEENTITYLISTREQUEST_H_
+#define ALIBABACLOUD_BSSOPENAPI_MODEL_QUERYPRICEENTITYLISTREQUEST_H_
+
+#include <alibabacloud/bssopenapi/BssOpenApiExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace BssOpenApi {
+namespace Model {
+class ALIBABACLOUD_BSSOPENAPI_EXPORT QueryPriceEntityListRequest : public RpcServiceRequest {
+public:
+	QueryPriceEntityListRequest();
+	~QueryPriceEntityListRequest();
+	std::string getCommodityCode() const;
+	void setCommodityCode(const std::string &commodityCode);
+
+private:
+	std::string commodityCode_;
+};
+} // namespace Model
+} // namespace BssOpenApi
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_BSSOPENAPI_MODEL_QUERYPRICEENTITYLISTREQUEST_H_

+ 73 - 0
bssopenapi/include/alibabacloud/bssopenapi/model/QueryPriceEntityListResult.h

@@ -0,0 +1,73 @@
+/*
+ * 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_MODEL_QUERYPRICEENTITYLISTRESULT_H_
+#define ALIBABACLOUD_BSSOPENAPI_MODEL_QUERYPRICEENTITYLISTRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/bssopenapi/BssOpenApiExport.h>
+
+namespace AlibabaCloud
+{
+	namespace BssOpenApi
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_BSSOPENAPI_EXPORT QueryPriceEntityListResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					struct PriceEntityInfoDTO
+					{
+						struct PriceFactorDTO
+						{
+							std::vector<std::string> priceFactorValueList;
+							std::string priceFactorName;
+							std::string priceFactorCode;
+						};
+						std::vector<PriceEntityInfoDTO::PriceFactorDTO> priceFactorList;
+						std::string priceEntityCode;
+						std::string priceEntityName;
+					};
+					std::vector<PriceEntityInfoDTO> priceEntityInfoList;
+				};
+
+
+				QueryPriceEntityListResult();
+				explicit QueryPriceEntityListResult(const std::string &payload);
+				~QueryPriceEntityListResult();
+				std::string getMessage()const;
+				Data getData()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				Data data_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_BSSOPENAPI_MODEL_QUERYPRICEENTITYLISTRESULT_H_

+ 1 - 0
bssopenapi/include/alibabacloud/bssopenapi/model/QueryResourcePackageInstancesResult.h

@@ -46,6 +46,7 @@ namespace AlibabaCloud
 						std::string packageType;
 						std::string deductType;
 						std::string totalAmountUnit;
+						std::string commodityCode;
 						std::string region;
 						std::vector<std::string> applicableProducts;
 						std::string remainingAmount;

+ 69 - 0
bssopenapi/include/alibabacloud/bssopenapi/model/QuerySavingsPlansDiscountRequest.h

@@ -0,0 +1,69 @@
+/*
+ * 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_MODEL_QUERYSAVINGSPLANSDISCOUNTREQUEST_H_
+#define ALIBABACLOUD_BSSOPENAPI_MODEL_QUERYSAVINGSPLANSDISCOUNTREQUEST_H_
+
+#include <alibabacloud/bssopenapi/BssOpenApiExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace BssOpenApi {
+namespace Model {
+class ALIBABACLOUD_BSSOPENAPI_EXPORT QuerySavingsPlansDiscountRequest : public RpcServiceRequest {
+public:
+	QuerySavingsPlansDiscountRequest();
+	~QuerySavingsPlansDiscountRequest();
+	std::string getCommodityCode() const;
+	void setCommodityCode(const std::string &commodityCode);
+	std::string getLocale() const;
+	void setLocale(const std::string &locale);
+	int getPageNum() const;
+	void setPageNum(int pageNum);
+	std::string getCycle() const;
+	void setCycle(const std::string &cycle);
+	std::string getSpec() const;
+	void setSpec(const std::string &spec);
+	std::string getModuleCode() const;
+	void setModuleCode(const std::string &moduleCode);
+	std::string getPayMode() const;
+	void setPayMode(const std::string &payMode);
+	int getPageSize() const;
+	void setPageSize(int pageSize);
+	std::string getSpnType() const;
+	void setSpnType(const std::string &spnType);
+	std::string getRegion() const;
+	void setRegion(const std::string &region);
+
+private:
+	std::string commodityCode_;
+	std::string locale_;
+	int pageNum_;
+	std::string cycle_;
+	std::string spec_;
+	std::string moduleCode_;
+	std::string payMode_;
+	int pageSize_;
+	std::string spnType_;
+	std::string region_;
+};
+} // namespace Model
+} // namespace BssOpenApi
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_BSSOPENAPI_MODEL_QUERYSAVINGSPLANSDISCOUNTREQUEST_H_

+ 74 - 0
bssopenapi/include/alibabacloud/bssopenapi/model/QuerySavingsPlansDiscountResult.h

@@ -0,0 +1,74 @@
+/*
+ * 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_MODEL_QUERYSAVINGSPLANSDISCOUNTRESULT_H_
+#define ALIBABACLOUD_BSSOPENAPI_MODEL_QUERYSAVINGSPLANSDISCOUNTRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/bssopenapi/BssOpenApiExport.h>
+
+namespace AlibabaCloud
+{
+	namespace BssOpenApi
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_BSSOPENAPI_EXPORT QuerySavingsPlansDiscountResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					struct SavingsPlansDiscountResponse
+					{
+						std::string spnType;
+						std::string moduleName;
+						std::string contractDiscountRate;
+						std::string region;
+						std::string spec;
+						std::string payMode;
+						std::string discountRate;
+						std::string commodityName;
+						std::string cycle;
+					};
+					std::vector<SavingsPlansDiscountResponse> items;
+					std::string hostId;
+				};
+
+
+				QuerySavingsPlansDiscountResult();
+				explicit QuerySavingsPlansDiscountResult(const std::string &payload);
+				~QuerySavingsPlansDiscountResult();
+				std::string getMessage()const;
+				Data getData()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				Data data_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_BSSOPENAPI_MODEL_QUERYSAVINGSPLANSDISCOUNTRESULT_H_

+ 1 - 0
bssopenapi/include/alibabacloud/bssopenapi/model/QuerySavingsPlansInstanceResult.h

@@ -61,6 +61,7 @@ namespace AlibabaCloud
 						std::string region;
 						std::vector<SavingsPlansDetailResponse::Tag> tags;
 						std::string savingsType;
+						std::string deductCycleType;
 					};
 					int totalCount;
 					int pageNum;

+ 0 - 72
bssopenapi/include/alibabacloud/bssopenapi/model/QuerySettlementBillRequest.h

@@ -1,72 +0,0 @@
-/*
- * 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_MODEL_QUERYSETTLEMENTBILLREQUEST_H_
-#define ALIBABACLOUD_BSSOPENAPI_MODEL_QUERYSETTLEMENTBILLREQUEST_H_
-
-#include <alibabacloud/bssopenapi/BssOpenApiExport.h>
-#include <alibabacloud/core/RpcServiceRequest.h>
-#include <string>
-#include <vector>
-#include <map>
-
-namespace AlibabaCloud {
-namespace BssOpenApi {
-namespace Model {
-class ALIBABACLOUD_BSSOPENAPI_EXPORT QuerySettlementBillRequest : public RpcServiceRequest {
-public:
-	QuerySettlementBillRequest();
-	~QuerySettlementBillRequest();
-	std::string getProductCode() const;
-	void setProductCode(const std::string &productCode);
-	bool getIsHideZeroCharge() const;
-	void setIsHideZeroCharge(bool isHideZeroCharge);
-	std::string getSubscriptionType() const;
-	void setSubscriptionType(const std::string &subscriptionType);
-	std::string getEndTime() const;
-	void setEndTime(const std::string &endTime);
-	std::string getBillingCycle() const;
-	void setBillingCycle(const std::string &billingCycle);
-	std::string getStartTime() const;
-	void setStartTime(const std::string &startTime);
-	long getOwnerId() const;
-	void setOwnerId(long ownerId);
-	int getPageNum() const;
-	void setPageNum(int pageNum);
-	std::string getType() const;
-	void setType(const std::string &type);
-	std::string getProductType() const;
-	void setProductType(const std::string &productType);
-	int getPageSize() const;
-	void setPageSize(int pageSize);
-
-private:
-	std::string productCode_;
-	bool isHideZeroCharge_;
-	std::string subscriptionType_;
-	std::string endTime_;
-	std::string billingCycle_;
-	std::string startTime_;
-	long ownerId_;
-	int pageNum_;
-	std::string type_;
-	std::string productType_;
-	int pageSize_;
-};
-} // namespace Model
-} // namespace BssOpenApi
-} // namespace AlibabaCloud
-#endif // !ALIBABACLOUD_BSSOPENAPI_MODEL_QUERYSETTLEMENTBILLREQUEST_H_

+ 0 - 111
bssopenapi/include/alibabacloud/bssopenapi/model/QuerySettlementBillResult.h

@@ -1,111 +0,0 @@
-/*
- * 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_MODEL_QUERYSETTLEMENTBILLRESULT_H_
-#define ALIBABACLOUD_BSSOPENAPI_MODEL_QUERYSETTLEMENTBILLRESULT_H_
-
-#include <string>
-#include <vector>
-#include <utility>
-#include <alibabacloud/core/ServiceResult.h>
-#include <alibabacloud/bssopenapi/BssOpenApiExport.h>
-
-namespace AlibabaCloud
-{
-	namespace BssOpenApi
-	{
-		namespace Model
-		{
-			class ALIBABACLOUD_BSSOPENAPI_EXPORT QuerySettlementBillResult : public ServiceResult
-			{
-			public:
-				struct Data
-				{
-					struct Item
-					{
-						float afterTaxAmount;
-						std::string config;
-						std::string originalOrderID;
-						std::string clearedTime;
-						float accountDiscount;
-						float deductedByCashCoupons;
-						std::string paymentTime;
-						float tax;
-						std::string paymentCurrency;
-						std::string payerAccount;
-						std::string promotion;
-						std::string orderID;
-						float paymentAmount;
-						float deductedByPrepaidCard;
-						std::string usageEndTime;
-						std::string item;
-						std::string subscriptionType;
-						float pretaxGrossAmount;
-						std::string orderType;
-						std::string solutionID;
-						std::string currency;
-						std::string billID;
-						std::string usageStartTime;
-						float mybankPaymentAmount;
-						std::string solutionName;
-						std::string suborderID;
-						std::string status;
-						float deductedByCoupons;
-						float previousBillingCycleBalance;
-						std::string linkedCustomerOrderID;
-						std::string productCode;
-						std::string createTime;
-						std::string productType;
-						float chargeDiscount;
-						float outstandingAmount;
-						std::string quantity;
-						std::string invoiceNo;
-						float pretaxAmount;
-						std::string ownerID;
-						std::string region;
-						std::string seller;
-						std::string recordID;
-						float pretaxAmountLocal;
-					};
-					std::string billingCycle;
-					int totalCount;
-					int pageNum;
-					int pageSize;
-					std::vector<Item> items;
-				};
-
-
-				QuerySettlementBillResult();
-				explicit QuerySettlementBillResult(const std::string &payload);
-				~QuerySettlementBillResult();
-				std::string getMessage()const;
-				Data getData()const;
-				std::string getCode()const;
-				bool getSuccess()const;
-
-			protected:
-				void parse(const std::string &payload);
-			private:
-				std::string message_;
-				Data data_;
-				std::string code_;
-				bool success_;
-
-			};
-		}
-	}
-}
-#endif // !ALIBABACLOUD_BSSOPENAPI_MODEL_QUERYSETTLEMENTBILLRESULT_H_

+ 54 - 0
bssopenapi/include/alibabacloud/bssopenapi/model/QuerySkuPriceListRequest.h

@@ -0,0 +1,54 @@
+/*
+ * 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_MODEL_QUERYSKUPRICELISTREQUEST_H_
+#define ALIBABACLOUD_BSSOPENAPI_MODEL_QUERYSKUPRICELISTREQUEST_H_
+
+#include <alibabacloud/bssopenapi/BssOpenApiExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace BssOpenApi {
+namespace Model {
+class ALIBABACLOUD_BSSOPENAPI_EXPORT QuerySkuPriceListRequest : public RpcServiceRequest {
+public:
+	QuerySkuPriceListRequest();
+	~QuerySkuPriceListRequest();
+	std::string getNextPageToken() const;
+	void setNextPageToken(const std::string &nextPageToken);
+	std::string getCommodityCode() const;
+	void setCommodityCode(const std::string &commodityCode);
+	std::map<std::string, std::vector<std::string>> getPriceFactorConditionMap() const;
+	void setPriceFactorConditionMap(const std::map<std::string, std::vector<std::string>> &priceFactorConditionMap);
+	std::string getPriceEntityCode() const;
+	void setPriceEntityCode(const std::string &priceEntityCode);
+	int getPageSize() const;
+	void setPageSize(int pageSize);
+
+private:
+	std::string nextPageToken_;
+	std::string commodityCode_;
+	std::map<std::string, std::vector<std::string>> priceFactorConditionMap_;
+	std::string priceEntityCode_;
+	int pageSize_;
+};
+} // namespace Model
+} // namespace BssOpenApi
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_BSSOPENAPI_MODEL_QUERYSKUPRICELISTREQUEST_H_

+ 91 - 0
bssopenapi/include/alibabacloud/bssopenapi/model/QuerySkuPriceListResult.h

@@ -0,0 +1,91 @@
+/*
+ * 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_MODEL_QUERYSKUPRICELISTRESULT_H_
+#define ALIBABACLOUD_BSSOPENAPI_MODEL_QUERYSKUPRICELISTRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/bssopenapi/BssOpenApiExport.h>
+
+namespace AlibabaCloud
+{
+	namespace BssOpenApi
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_BSSOPENAPI_EXPORT QuerySkuPriceListResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					struct SkuPricePage
+					{
+						struct SkuPricePageDTO
+						{
+							struct CSkuPriceDTO
+							{
+								struct RangeDTO
+								{
+									std::string type;
+									std::string min;
+									std::string max;
+									std::string factorCode;
+								};
+								std::string usageUnit;
+								std::string priceUnit;
+								std::string cskuCode;
+								std::string price;
+								std::string priceMode;
+								std::string currency;
+								std::vector<CSkuPriceDTO::RangeDTO> rangeList;
+								std::string priceType;
+							};
+							std::vector<SkuPricePageDTO::CSkuPriceDTO> cskuPriceList;
+							std::string skuFactorMap;
+							std::string skuCode;
+						};
+						std::vector<SkuPricePageDTO> skuPriceList;
+						int totalCount;
+						std::string nextPageToken;
+					};
+					SkuPricePage skuPricePage;
+				};
+
+
+				QuerySkuPriceListResult();
+				explicit QuerySkuPriceListResult(const std::string &payload);
+				~QuerySkuPriceListResult();
+				std::string getMessage()const;
+				Data getData()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				Data data_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_BSSOPENAPI_MODEL_QUERYSKUPRICELISTRESULT_H_

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

@@ -30,6 +30,8 @@ class ALIBABACLOUD_BSSOPENAPI_EXPORT SetResellerUserStatusRequest : public RpcSe
 public:
 	SetResellerUserStatusRequest();
 	~SetResellerUserStatusRequest();
+	std::string getStopMode() const;
+	void setStopMode(const std::string &stopMode);
 	std::string getOwnerId() const;
 	void setOwnerId(const std::string &ownerId);
 	std::string getBusinessType() const;
@@ -38,6 +40,7 @@ public:
 	void setStatus(const std::string &status);
 
 private:
+	std::string stopMode_;
 	std::string ownerId_;
 	std::string businessType_;
 	std::string status_;

+ 3 - 3
bssopenapi/include/alibabacloud/bssopenapi/model/TagResourcesRequest.h

@@ -36,15 +36,15 @@ public:
 	~TagResourcesRequest();
 	std::vector<std::string> getResourceId() const;
 	void setResourceId(const std::vector<std::string> &resourceId);
-	std::vector<Tag> getTag() const;
-	void setTag(const std::vector<Tag> &tag);
 	std::string getResourceType() const;
 	void setResourceType(const std::string &resourceType);
+	std::vector<Tag> getTag() const;
+	void setTag(const std::vector<Tag> &tag);
 
 private:
 	std::vector<std::string> resourceId_;
-	std::vector<Tag> tag_;
 	std::string resourceType_;
+	std::vector<Tag> tag_;
 };
 } // namespace Model
 } // namespace BssOpenApi

+ 3 - 3
bssopenapi/include/alibabacloud/bssopenapi/model/UntagResourcesRequest.h

@@ -34,16 +34,16 @@ public:
 	void setAll(bool all);
 	std::vector<std::string> getResourceId() const;
 	void setResourceId(const std::vector<std::string> &resourceId);
-	std::vector<std::string> getTagKey() const;
-	void setTagKey(const std::vector<std::string> &tagKey);
 	std::string getResourceType() const;
 	void setResourceType(const std::string &resourceType);
+	std::vector<std::string> getTagKey() const;
+	void setTagKey(const std::vector<std::string> &tagKey);
 
 private:
 	bool all_;
 	std::vector<std::string> resourceId_;
-	std::vector<std::string> tagKey_;
 	std::string resourceType_;
+	std::vector<std::string> tagKey_;
 };
 } // namespace Model
 } // namespace BssOpenApi

+ 300 - 84
bssopenapi/src/BssOpenApiClient.cc

@@ -31,21 +31,21 @@ BssOpenApiClient::BssOpenApiClient(const Credentials &credentials, const ClientC
 	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, "");
+	endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "bssopenapi");
 }
 
 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, "");
+	endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "bssopenapi");
 }
 
 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, "");
+	endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "bssopenapi");
 }
 
 BssOpenApiClient::~BssOpenApiClient()
@@ -555,6 +555,114 @@ BssOpenApiClient::DeleteCostUnitOutcomeCallable BssOpenApiClient::deleteCostUnit
 	return task->get_future();
 }
 
+BssOpenApiClient::DescribeCostBudgetsSummaryOutcome BssOpenApiClient::describeCostBudgetsSummary(const DescribeCostBudgetsSummaryRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeCostBudgetsSummaryOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeCostBudgetsSummaryOutcome(DescribeCostBudgetsSummaryResult(outcome.result()));
+	else
+		return DescribeCostBudgetsSummaryOutcome(outcome.error());
+}
+
+void BssOpenApiClient::describeCostBudgetsSummaryAsync(const DescribeCostBudgetsSummaryRequest& request, const DescribeCostBudgetsSummaryAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeCostBudgetsSummary(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+BssOpenApiClient::DescribeCostBudgetsSummaryOutcomeCallable BssOpenApiClient::describeCostBudgetsSummaryCallable(const DescribeCostBudgetsSummaryRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeCostBudgetsSummaryOutcome()>>(
+			[this, request]()
+			{
+			return this->describeCostBudgetsSummary(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+BssOpenApiClient::DescribeInstanceAmortizedCostByAmortizationPeriodOutcome BssOpenApiClient::describeInstanceAmortizedCostByAmortizationPeriod(const DescribeInstanceAmortizedCostByAmortizationPeriodRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeInstanceAmortizedCostByAmortizationPeriodOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeInstanceAmortizedCostByAmortizationPeriodOutcome(DescribeInstanceAmortizedCostByAmortizationPeriodResult(outcome.result()));
+	else
+		return DescribeInstanceAmortizedCostByAmortizationPeriodOutcome(outcome.error());
+}
+
+void BssOpenApiClient::describeInstanceAmortizedCostByAmortizationPeriodAsync(const DescribeInstanceAmortizedCostByAmortizationPeriodRequest& request, const DescribeInstanceAmortizedCostByAmortizationPeriodAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeInstanceAmortizedCostByAmortizationPeriod(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+BssOpenApiClient::DescribeInstanceAmortizedCostByAmortizationPeriodOutcomeCallable BssOpenApiClient::describeInstanceAmortizedCostByAmortizationPeriodCallable(const DescribeInstanceAmortizedCostByAmortizationPeriodRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeInstanceAmortizedCostByAmortizationPeriodOutcome()>>(
+			[this, request]()
+			{
+			return this->describeInstanceAmortizedCostByAmortizationPeriod(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+BssOpenApiClient::DescribeInstanceAmortizedCostByConsumePeriodOutcome BssOpenApiClient::describeInstanceAmortizedCostByConsumePeriod(const DescribeInstanceAmortizedCostByConsumePeriodRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeInstanceAmortizedCostByConsumePeriodOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeInstanceAmortizedCostByConsumePeriodOutcome(DescribeInstanceAmortizedCostByConsumePeriodResult(outcome.result()));
+	else
+		return DescribeInstanceAmortizedCostByConsumePeriodOutcome(outcome.error());
+}
+
+void BssOpenApiClient::describeInstanceAmortizedCostByConsumePeriodAsync(const DescribeInstanceAmortizedCostByConsumePeriodRequest& request, const DescribeInstanceAmortizedCostByConsumePeriodAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeInstanceAmortizedCostByConsumePeriod(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+BssOpenApiClient::DescribeInstanceAmortizedCostByConsumePeriodOutcomeCallable BssOpenApiClient::describeInstanceAmortizedCostByConsumePeriodCallable(const DescribeInstanceAmortizedCostByConsumePeriodRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeInstanceAmortizedCostByConsumePeriodOutcome()>>(
+			[this, request]()
+			{
+			return this->describeInstanceAmortizedCostByConsumePeriod(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 BssOpenApiClient::DescribeInstanceBillOutcome BssOpenApiClient::describeInstanceBill(const DescribeInstanceBillRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -627,6 +735,78 @@ BssOpenApiClient::DescribePricingModuleOutcomeCallable BssOpenApiClient::describ
 	return task->get_future();
 }
 
+BssOpenApiClient::DescribeProductAmortizedCostByAmortizationPeriodOutcome BssOpenApiClient::describeProductAmortizedCostByAmortizationPeriod(const DescribeProductAmortizedCostByAmortizationPeriodRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeProductAmortizedCostByAmortizationPeriodOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeProductAmortizedCostByAmortizationPeriodOutcome(DescribeProductAmortizedCostByAmortizationPeriodResult(outcome.result()));
+	else
+		return DescribeProductAmortizedCostByAmortizationPeriodOutcome(outcome.error());
+}
+
+void BssOpenApiClient::describeProductAmortizedCostByAmortizationPeriodAsync(const DescribeProductAmortizedCostByAmortizationPeriodRequest& request, const DescribeProductAmortizedCostByAmortizationPeriodAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeProductAmortizedCostByAmortizationPeriod(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+BssOpenApiClient::DescribeProductAmortizedCostByAmortizationPeriodOutcomeCallable BssOpenApiClient::describeProductAmortizedCostByAmortizationPeriodCallable(const DescribeProductAmortizedCostByAmortizationPeriodRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeProductAmortizedCostByAmortizationPeriodOutcome()>>(
+			[this, request]()
+			{
+			return this->describeProductAmortizedCostByAmortizationPeriod(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+BssOpenApiClient::DescribeProductAmortizedCostByConsumePeriodOutcome BssOpenApiClient::describeProductAmortizedCostByConsumePeriod(const DescribeProductAmortizedCostByConsumePeriodRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeProductAmortizedCostByConsumePeriodOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeProductAmortizedCostByConsumePeriodOutcome(DescribeProductAmortizedCostByConsumePeriodResult(outcome.result()));
+	else
+		return DescribeProductAmortizedCostByConsumePeriodOutcome(outcome.error());
+}
+
+void BssOpenApiClient::describeProductAmortizedCostByConsumePeriodAsync(const DescribeProductAmortizedCostByConsumePeriodRequest& request, const DescribeProductAmortizedCostByConsumePeriodAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeProductAmortizedCostByConsumePeriod(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+BssOpenApiClient::DescribeProductAmortizedCostByConsumePeriodOutcomeCallable BssOpenApiClient::describeProductAmortizedCostByConsumePeriodCallable(const DescribeProductAmortizedCostByConsumePeriodRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeProductAmortizedCostByConsumePeriodOutcome()>>(
+			[this, request]()
+			{
+			return this->describeProductAmortizedCostByConsumePeriod(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 BssOpenApiClient::DescribeResourceCoverageDetailOutcome BssOpenApiClient::describeResourceCoverageDetail(const DescribeResourceCoverageDetailRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -1743,6 +1923,42 @@ BssOpenApiClient::QueryCashCouponsOutcomeCallable BssOpenApiClient::queryCashCou
 	return task->get_future();
 }
 
+BssOpenApiClient::QueryCommodityListOutcome BssOpenApiClient::queryCommodityList(const QueryCommodityListRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return QueryCommodityListOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return QueryCommodityListOutcome(QueryCommodityListResult(outcome.result()));
+	else
+		return QueryCommodityListOutcome(outcome.error());
+}
+
+void BssOpenApiClient::queryCommodityListAsync(const QueryCommodityListRequest& request, const QueryCommodityListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, queryCommodityList(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+BssOpenApiClient::QueryCommodityListOutcomeCallable BssOpenApiClient::queryCommodityListCallable(const QueryCommodityListRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<QueryCommodityListOutcome()>>(
+			[this, request]()
+			{
+			return this->queryCommodityList(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 BssOpenApiClient::QueryCostUnitOutcome BssOpenApiClient::queryCostUnit(const QueryCostUnitRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -2103,78 +2319,6 @@ BssOpenApiClient::QueryInvoicingCustomerListOutcomeCallable BssOpenApiClient::qu
 	return task->get_future();
 }
 
-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::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::QueryOrdersOutcome BssOpenApiClient::queryOrders(const QueryOrdersRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -2283,6 +2427,42 @@ BssOpenApiClient::QueryPrepaidCardsOutcomeCallable BssOpenApiClient::queryPrepai
 	return task->get_future();
 }
 
+BssOpenApiClient::QueryPriceEntityListOutcome BssOpenApiClient::queryPriceEntityList(const QueryPriceEntityListRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return QueryPriceEntityListOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return QueryPriceEntityListOutcome(QueryPriceEntityListResult(outcome.result()));
+	else
+		return QueryPriceEntityListOutcome(outcome.error());
+}
+
+void BssOpenApiClient::queryPriceEntityListAsync(const QueryPriceEntityListRequest& request, const QueryPriceEntityListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, queryPriceEntityList(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+BssOpenApiClient::QueryPriceEntityListOutcomeCallable BssOpenApiClient::queryPriceEntityListCallable(const QueryPriceEntityListRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<QueryPriceEntityListOutcome()>>(
+			[this, request]()
+			{
+			return this->queryPriceEntityList(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 BssOpenApiClient::QueryProductListOutcome BssOpenApiClient::queryProductList(const QueryProductListRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -2535,6 +2715,42 @@ BssOpenApiClient::QuerySavingsPlansDeductLogOutcomeCallable BssOpenApiClient::qu
 	return task->get_future();
 }
 
+BssOpenApiClient::QuerySavingsPlansDiscountOutcome BssOpenApiClient::querySavingsPlansDiscount(const QuerySavingsPlansDiscountRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return QuerySavingsPlansDiscountOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return QuerySavingsPlansDiscountOutcome(QuerySavingsPlansDiscountResult(outcome.result()));
+	else
+		return QuerySavingsPlansDiscountOutcome(outcome.error());
+}
+
+void BssOpenApiClient::querySavingsPlansDiscountAsync(const QuerySavingsPlansDiscountRequest& request, const QuerySavingsPlansDiscountAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, querySavingsPlansDiscount(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+BssOpenApiClient::QuerySavingsPlansDiscountOutcomeCallable BssOpenApiClient::querySavingsPlansDiscountCallable(const QuerySavingsPlansDiscountRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<QuerySavingsPlansDiscountOutcome()>>(
+			[this, request]()
+			{
+			return this->querySavingsPlansDiscount(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 BssOpenApiClient::QuerySavingsPlansInstanceOutcome BssOpenApiClient::querySavingsPlansInstance(const QuerySavingsPlansInstanceRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -2607,36 +2823,36 @@ BssOpenApiClient::QuerySettleBillOutcomeCallable BssOpenApiClient::querySettleBi
 	return task->get_future();
 }
 
-BssOpenApiClient::QuerySettlementBillOutcome BssOpenApiClient::querySettlementBill(const QuerySettlementBillRequest &request) const
+BssOpenApiClient::QuerySkuPriceListOutcome BssOpenApiClient::querySkuPriceList(const QuerySkuPriceListRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	if (!endpointOutcome.isSuccess())
-		return QuerySettlementBillOutcome(endpointOutcome.error());
+		return QuerySkuPriceListOutcome(endpointOutcome.error());
 
 	auto outcome = makeRequest(endpointOutcome.result(), request);
 
 	if (outcome.isSuccess())
-		return QuerySettlementBillOutcome(QuerySettlementBillResult(outcome.result()));
+		return QuerySkuPriceListOutcome(QuerySkuPriceListResult(outcome.result()));
 	else
-		return QuerySettlementBillOutcome(outcome.error());
+		return QuerySkuPriceListOutcome(outcome.error());
 }
 
-void BssOpenApiClient::querySettlementBillAsync(const QuerySettlementBillRequest& request, const QuerySettlementBillAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+void BssOpenApiClient::querySkuPriceListAsync(const QuerySkuPriceListRequest& request, const QuerySkuPriceListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
 {
 	auto fn = [this, request, handler, context]()
 	{
-		handler(this, request, querySettlementBill(request), context);
+		handler(this, request, querySkuPriceList(request), context);
 	};
 
 	asyncExecute(new Runnable(fn));
 }
 
-BssOpenApiClient::QuerySettlementBillOutcomeCallable BssOpenApiClient::querySettlementBillCallable(const QuerySettlementBillRequest &request) const
+BssOpenApiClient::QuerySkuPriceListOutcomeCallable BssOpenApiClient::querySkuPriceListCallable(const QuerySkuPriceListRequest &request) const
 {
-	auto task = std::make_shared<std::packaged_task<QuerySettlementBillOutcome()>>(
+	auto task = std::make_shared<std::packaged_task<QuerySkuPriceListOutcome()>>(
 			[this, request]()
 			{
-			return this->querySettlementBill(request);
+			return this->querySkuPriceList(request);
 			});
 
 	asyncExecute(new Runnable([task]() { (*task)(); }));

+ 72 - 0
bssopenapi/src/model/DescribeCostBudgetsSummaryRequest.cc

@@ -0,0 +1,72 @@
+/*
+ * 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/model/DescribeCostBudgetsSummaryRequest.h>
+
+using AlibabaCloud::BssOpenApi::Model::DescribeCostBudgetsSummaryRequest;
+
+DescribeCostBudgetsSummaryRequest::DescribeCostBudgetsSummaryRequest()
+    : RpcServiceRequest("bssopenapi", "2017-12-14", "DescribeCostBudgetsSummary") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+DescribeCostBudgetsSummaryRequest::~DescribeCostBudgetsSummaryRequest() {}
+
+std::string DescribeCostBudgetsSummaryRequest::getBudgetStatus() const {
+  return budgetStatus_;
+}
+
+void DescribeCostBudgetsSummaryRequest::setBudgetStatus(const std::string &budgetStatus) {
+  budgetStatus_ = budgetStatus;
+  setParameter(std::string("BudgetStatus"), budgetStatus);
+}
+
+std::string DescribeCostBudgetsSummaryRequest::getBudgetType() const {
+  return budgetType_;
+}
+
+void DescribeCostBudgetsSummaryRequest::setBudgetType(const std::string &budgetType) {
+  budgetType_ = budgetType;
+  setParameter(std::string("BudgetType"), budgetType);
+}
+
+std::string DescribeCostBudgetsSummaryRequest::getNextToken() const {
+  return nextToken_;
+}
+
+void DescribeCostBudgetsSummaryRequest::setNextToken(const std::string &nextToken) {
+  nextToken_ = nextToken;
+  setParameter(std::string("NextToken"), nextToken);
+}
+
+int DescribeCostBudgetsSummaryRequest::getMaxResults() const {
+  return maxResults_;
+}
+
+void DescribeCostBudgetsSummaryRequest::setMaxResults(int maxResults) {
+  maxResults_ = maxResults;
+  setParameter(std::string("MaxResults"), std::to_string(maxResults));
+}
+
+std::string DescribeCostBudgetsSummaryRequest::getBudgetName() const {
+  return budgetName_;
+}
+
+void DescribeCostBudgetsSummaryRequest::setBudgetName(const std::string &budgetName) {
+  budgetName_ = budgetName;
+  setParameter(std::string("BudgetName"), budgetName);
+}
+

+ 97 - 0
bssopenapi/src/model/DescribeCostBudgetsSummaryResult.cc

@@ -0,0 +1,97 @@
+/*
+ * 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/model/DescribeCostBudgetsSummaryResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::BssOpenApi;
+using namespace AlibabaCloud::BssOpenApi::Model;
+
+DescribeCostBudgetsSummaryResult::DescribeCostBudgetsSummaryResult() :
+	ServiceResult()
+{}
+
+DescribeCostBudgetsSummaryResult::DescribeCostBudgetsSummaryResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeCostBudgetsSummaryResult::~DescribeCostBudgetsSummaryResult()
+{}
+
+void DescribeCostBudgetsSummaryResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto dataNode = value["Data"];
+	if(!dataNode["NextToken"].isNull())
+		data_.nextToken = dataNode["NextToken"].asString();
+	if(!dataNode["MaxResults"].isNull())
+		data_.maxResults = std::stoi(dataNode["MaxResults"].asString());
+	if(!dataNode["TotalCount"].isNull())
+		data_.totalCount = std::stoi(dataNode["TotalCount"].asString());
+	if(!dataNode["HostId"].isNull())
+		data_.hostId = dataNode["HostId"].asString();
+	auto allItemsNode = dataNode["Items"]["Item"];
+	for (auto dataNodeItemsItem : allItemsNode)
+	{
+		Data::Item itemObject;
+		if(!dataNodeItemsItem["BudgetName"].isNull())
+			itemObject.budgetName = dataNodeItemsItem["BudgetName"].asString();
+		if(!dataNodeItemsItem["BudgetStatus"].isNull())
+			itemObject.budgetStatus = dataNodeItemsItem["BudgetStatus"].asString();
+		if(!dataNodeItemsItem["BudgetType"].isNull())
+			itemObject.budgetType = dataNodeItemsItem["BudgetType"].asString();
+		if(!dataNodeItemsItem["Budget"].isNull())
+			itemObject.budget = dataNodeItemsItem["Budget"].asString();
+		if(!dataNodeItemsItem["CalculatedValues"].isNull())
+			itemObject.calculatedValues = dataNodeItemsItem["CalculatedValues"].asString();
+		if(!dataNodeItemsItem["ConsumePeriod"].isNull())
+			itemObject.consumePeriod = dataNodeItemsItem["ConsumePeriod"].asString();
+		data_.items.push_back(itemObject);
+	}
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+
+}
+
+std::string DescribeCostBudgetsSummaryResult::getMessage()const
+{
+	return message_;
+}
+
+DescribeCostBudgetsSummaryResult::Data DescribeCostBudgetsSummaryResult::getData()const
+{
+	return data_;
+}
+
+std::string DescribeCostBudgetsSummaryResult::getCode()const
+{
+	return code_;
+}
+
+bool DescribeCostBudgetsSummaryResult::getSuccess()const
+{
+	return success_;
+}
+

+ 122 - 0
bssopenapi/src/model/DescribeInstanceAmortizedCostByAmortizationPeriodRequest.cc

@@ -0,0 +1,122 @@
+/*
+ * 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/model/DescribeInstanceAmortizedCostByAmortizationPeriodRequest.h>
+
+using AlibabaCloud::BssOpenApi::Model::DescribeInstanceAmortizedCostByAmortizationPeriodRequest;
+
+DescribeInstanceAmortizedCostByAmortizationPeriodRequest::DescribeInstanceAmortizedCostByAmortizationPeriodRequest()
+    : RpcServiceRequest("bssopenapi", "2017-12-14", "DescribeInstanceAmortizedCostByAmortizationPeriod") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+DescribeInstanceAmortizedCostByAmortizationPeriodRequest::~DescribeInstanceAmortizedCostByAmortizationPeriodRequest() {}
+
+std::string DescribeInstanceAmortizedCostByAmortizationPeriodRequest::getProductDetail() const {
+  return productDetail_;
+}
+
+void DescribeInstanceAmortizedCostByAmortizationPeriodRequest::setProductDetail(const std::string &productDetail) {
+  productDetail_ = productDetail;
+  setBodyParameter(std::string("ProductDetail"), productDetail);
+}
+
+std::string DescribeInstanceAmortizedCostByAmortizationPeriodRequest::getProductCode() const {
+  return productCode_;
+}
+
+void DescribeInstanceAmortizedCostByAmortizationPeriodRequest::setProductCode(const std::string &productCode) {
+  productCode_ = productCode;
+  setBodyParameter(std::string("ProductCode"), productCode);
+}
+
+std::vector<std::string> DescribeInstanceAmortizedCostByAmortizationPeriodRequest::getBillOwnerIdList() const {
+  return billOwnerIdList_;
+}
+
+void DescribeInstanceAmortizedCostByAmortizationPeriodRequest::setBillOwnerIdList(const std::vector<std::string> &billOwnerIdList) {
+  billOwnerIdList_ = billOwnerIdList;
+}
+
+std::string DescribeInstanceAmortizedCostByAmortizationPeriodRequest::getSubscriptionType() const {
+  return subscriptionType_;
+}
+
+void DescribeInstanceAmortizedCostByAmortizationPeriodRequest::setSubscriptionType(const std::string &subscriptionType) {
+  subscriptionType_ = subscriptionType;
+  setBodyParameter(std::string("SubscriptionType"), subscriptionType);
+}
+
+std::string DescribeInstanceAmortizedCostByAmortizationPeriodRequest::getBillingCycle() const {
+  return billingCycle_;
+}
+
+void DescribeInstanceAmortizedCostByAmortizationPeriodRequest::setBillingCycle(const std::string &billingCycle) {
+  billingCycle_ = billingCycle;
+  setBodyParameter(std::string("BillingCycle"), billingCycle);
+}
+
+std::string DescribeInstanceAmortizedCostByAmortizationPeriodRequest::getCostUnitCode() const {
+  return costUnitCode_;
+}
+
+void DescribeInstanceAmortizedCostByAmortizationPeriodRequest::setCostUnitCode(const std::string &costUnitCode) {
+  costUnitCode_ = costUnitCode;
+  setBodyParameter(std::string("CostUnitCode"), costUnitCode);
+}
+
+std::vector<std::string> DescribeInstanceAmortizedCostByAmortizationPeriodRequest::getConsumePeriodFilter() const {
+  return consumePeriodFilter_;
+}
+
+void DescribeInstanceAmortizedCostByAmortizationPeriodRequest::setConsumePeriodFilter(const std::vector<std::string> &consumePeriodFilter) {
+  consumePeriodFilter_ = consumePeriodFilter;
+}
+
+std::string DescribeInstanceAmortizedCostByAmortizationPeriodRequest::getNextToken() const {
+  return nextToken_;
+}
+
+void DescribeInstanceAmortizedCostByAmortizationPeriodRequest::setNextToken(const std::string &nextToken) {
+  nextToken_ = nextToken;
+  setBodyParameter(std::string("NextToken"), nextToken);
+}
+
+std::vector<std::string> DescribeInstanceAmortizedCostByAmortizationPeriodRequest::getBillUserIdList() const {
+  return billUserIdList_;
+}
+
+void DescribeInstanceAmortizedCostByAmortizationPeriodRequest::setBillUserIdList(const std::vector<std::string> &billUserIdList) {
+  billUserIdList_ = billUserIdList;
+}
+
+std::vector<std::string> DescribeInstanceAmortizedCostByAmortizationPeriodRequest::getInstanceIdList() const {
+  return instanceIdList_;
+}
+
+void DescribeInstanceAmortizedCostByAmortizationPeriodRequest::setInstanceIdList(const std::vector<std::string> &instanceIdList) {
+  instanceIdList_ = instanceIdList;
+}
+
+int DescribeInstanceAmortizedCostByAmortizationPeriodRequest::getMaxResults() const {
+  return maxResults_;
+}
+
+void DescribeInstanceAmortizedCostByAmortizationPeriodRequest::setMaxResults(int maxResults) {
+  maxResults_ = maxResults;
+  setBodyParameter(std::string("MaxResults"), std::to_string(maxResults));
+}
+

+ 203 - 0
bssopenapi/src/model/DescribeInstanceAmortizedCostByAmortizationPeriodResult.cc

@@ -0,0 +1,203 @@
+/*
+ * 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/model/DescribeInstanceAmortizedCostByAmortizationPeriodResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::BssOpenApi;
+using namespace AlibabaCloud::BssOpenApi::Model;
+
+DescribeInstanceAmortizedCostByAmortizationPeriodResult::DescribeInstanceAmortizedCostByAmortizationPeriodResult() :
+	ServiceResult()
+{}
+
+DescribeInstanceAmortizedCostByAmortizationPeriodResult::DescribeInstanceAmortizedCostByAmortizationPeriodResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeInstanceAmortizedCostByAmortizationPeriodResult::~DescribeInstanceAmortizedCostByAmortizationPeriodResult()
+{}
+
+void DescribeInstanceAmortizedCostByAmortizationPeriodResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto dataNode = value["Data"];
+	if(!dataNode["NextToken"].isNull())
+		data_.nextToken = dataNode["NextToken"].asString();
+	if(!dataNode["AccountID"].isNull())
+		data_.accountID = dataNode["AccountID"].asString();
+	if(!dataNode["AccountName"].isNull())
+		data_.accountName = dataNode["AccountName"].asString();
+	if(!dataNode["MaxResults"].isNull())
+		data_.maxResults = std::stoi(dataNode["MaxResults"].asString());
+	if(!dataNode["TotalCount"].isNull())
+		data_.totalCount = std::stoi(dataNode["TotalCount"].asString());
+	auto allItemsNode = dataNode["Items"]["Item"];
+	for (auto dataNodeItemsItem : allItemsNode)
+	{
+		Data::Item itemObject;
+		if(!dataNodeItemsItem["CostUnit"].isNull())
+			itemObject.costUnit = dataNodeItemsItem["CostUnit"].asString();
+		if(!dataNodeItemsItem["CostUnitCode"].isNull())
+			itemObject.costUnitCode = dataNodeItemsItem["CostUnitCode"].asString();
+		if(!dataNodeItemsItem["InstanceID"].isNull())
+			itemObject.instanceID = dataNodeItemsItem["InstanceID"].asString();
+		if(!dataNodeItemsItem["ResourceGroup"].isNull())
+			itemObject.resourceGroup = dataNodeItemsItem["ResourceGroup"].asString();
+		if(!dataNodeItemsItem["Tag"].isNull())
+			itemObject.tag = dataNodeItemsItem["Tag"].asString();
+		if(!dataNodeItemsItem["InternetIP"].isNull())
+			itemObject.internetIP = dataNodeItemsItem["InternetIP"].asString();
+		if(!dataNodeItemsItem["IntranetIP"].isNull())
+			itemObject.intranetIP = dataNodeItemsItem["IntranetIP"].asString();
+		if(!dataNodeItemsItem["Region"].isNull())
+			itemObject.region = dataNodeItemsItem["Region"].asString();
+		if(!dataNodeItemsItem["Zone"].isNull())
+			itemObject.zone = dataNodeItemsItem["Zone"].asString();
+		if(!dataNodeItemsItem["SplitAccountName"].isNull())
+			itemObject.splitAccountName = dataNodeItemsItem["SplitAccountName"].asString();
+		if(!dataNodeItemsItem["SplitProductDetail"].isNull())
+			itemObject.splitProductDetail = dataNodeItemsItem["SplitProductDetail"].asString();
+		if(!dataNodeItemsItem["SplitItemID"].isNull())
+			itemObject.splitItemID = dataNodeItemsItem["SplitItemID"].asString();
+		if(!dataNodeItemsItem["SplitItemName"].isNull())
+			itemObject.splitItemName = dataNodeItemsItem["SplitItemName"].asString();
+		if(!dataNodeItemsItem["ConsumePeriod"].isNull())
+			itemObject.consumePeriod = dataNodeItemsItem["ConsumePeriod"].asString();
+		if(!dataNodeItemsItem["AmortizationStatus"].isNull())
+			itemObject.amortizationStatus = dataNodeItemsItem["AmortizationStatus"].asString();
+		if(!dataNodeItemsItem["AmortizationPeriod"].isNull())
+			itemObject.amortizationPeriod = dataNodeItemsItem["AmortizationPeriod"].asString();
+		if(!dataNodeItemsItem["BillAccountID"].isNull())
+			itemObject.billAccountID = std::stol(dataNodeItemsItem["BillAccountID"].asString());
+		if(!dataNodeItemsItem["BillAccountName"].isNull())
+			itemObject.billAccountName = dataNodeItemsItem["BillAccountName"].asString();
+		if(!dataNodeItemsItem["BillOwnerID"].isNull())
+			itemObject.billOwnerID = std::stol(dataNodeItemsItem["BillOwnerID"].asString());
+		if(!dataNodeItemsItem["BillOwnerName"].isNull())
+			itemObject.billOwnerName = dataNodeItemsItem["BillOwnerName"].asString();
+		if(!dataNodeItemsItem["ProductCode"].isNull())
+			itemObject.productCode = dataNodeItemsItem["ProductCode"].asString();
+		if(!dataNodeItemsItem["ProductName"].isNull())
+			itemObject.productName = dataNodeItemsItem["ProductName"].asString();
+		if(!dataNodeItemsItem["ProductDetailCode"].isNull())
+			itemObject.productDetailCode = dataNodeItemsItem["ProductDetailCode"].asString();
+		if(!dataNodeItemsItem["ProductDetail"].isNull())
+			itemObject.productDetail = dataNodeItemsItem["ProductDetail"].asString();
+		if(!dataNodeItemsItem["BizType"].isNull())
+			itemObject.bizType = dataNodeItemsItem["BizType"].asString();
+		if(!dataNodeItemsItem["SubscriptionType"].isNull())
+			itemObject.subscriptionType = dataNodeItemsItem["SubscriptionType"].asString();
+		if(!dataNodeItemsItem["PretaxGrossAmount"].isNull())
+			itemObject.pretaxGrossAmount = dataNodeItemsItem["PretaxGrossAmount"].asString();
+		if(!dataNodeItemsItem["InvoiceDiscount"].isNull())
+			itemObject.invoiceDiscount = dataNodeItemsItem["InvoiceDiscount"].asString();
+		if(!dataNodeItemsItem["RoundDownDiscount"].isNull())
+			itemObject.roundDownDiscount = dataNodeItemsItem["RoundDownDiscount"].asString();
+		if(!dataNodeItemsItem["PretaxAmount"].isNull())
+			itemObject.pretaxAmount = dataNodeItemsItem["PretaxAmount"].asString();
+		if(!dataNodeItemsItem["DeductedByCashCoupons"].isNull())
+			itemObject.deductedByCashCoupons = dataNodeItemsItem["DeductedByCashCoupons"].asString();
+		if(!dataNodeItemsItem["DeductedByCoupons"].isNull())
+			itemObject.deductedByCoupons = dataNodeItemsItem["DeductedByCoupons"].asString();
+		if(!dataNodeItemsItem["DeductedByPrepaidCard"].isNull())
+			itemObject.deductedByPrepaidCard = dataNodeItemsItem["DeductedByPrepaidCard"].asString();
+		if(!dataNodeItemsItem["ExpenditureAmount"].isNull())
+			itemObject.expenditureAmount = dataNodeItemsItem["ExpenditureAmount"].asString();
+		if(!dataNodeItemsItem["PreviouslyAmortizedPretaxGrossAmount"].isNull())
+			itemObject.previouslyAmortizedPretaxGrossAmount = dataNodeItemsItem["PreviouslyAmortizedPretaxGrossAmount"].asString();
+		if(!dataNodeItemsItem["PreviouslyAmortizedInvoiceDiscount"].isNull())
+			itemObject.previouslyAmortizedInvoiceDiscount = dataNodeItemsItem["PreviouslyAmortizedInvoiceDiscount"].asString();
+		if(!dataNodeItemsItem["PreviouslyAmortizedRoundDownDiscount"].isNull())
+			itemObject.previouslyAmortizedRoundDownDiscount = dataNodeItemsItem["PreviouslyAmortizedRoundDownDiscount"].asString();
+		if(!dataNodeItemsItem["PreviouslyAmortizedPretaxAmount"].isNull())
+			itemObject.previouslyAmortizedPretaxAmount = dataNodeItemsItem["PreviouslyAmortizedPretaxAmount"].asString();
+		if(!dataNodeItemsItem["PreviouslyAmortizedDeductedByCashCoupons"].isNull())
+			itemObject.previouslyAmortizedDeductedByCashCoupons = dataNodeItemsItem["PreviouslyAmortizedDeductedByCashCoupons"].asString();
+		if(!dataNodeItemsItem["PreviouslyAmortizedDeductedByCoupons"].isNull())
+			itemObject.previouslyAmortizedDeductedByCoupons = dataNodeItemsItem["PreviouslyAmortizedDeductedByCoupons"].asString();
+		if(!dataNodeItemsItem["PreviouslyAmortizedDeductedByPrepaidCard"].isNull())
+			itemObject.previouslyAmortizedDeductedByPrepaidCard = dataNodeItemsItem["PreviouslyAmortizedDeductedByPrepaidCard"].asString();
+		if(!dataNodeItemsItem["PreviouslyAmortizedExpenditureAmount"].isNull())
+			itemObject.previouslyAmortizedExpenditureAmount = dataNodeItemsItem["PreviouslyAmortizedExpenditureAmount"].asString();
+		if(!dataNodeItemsItem["CurrentAmortizationPretaxGrossAmount"].isNull())
+			itemObject.currentAmortizationPretaxGrossAmount = dataNodeItemsItem["CurrentAmortizationPretaxGrossAmount"].asString();
+		if(!dataNodeItemsItem["CurrentAmortizationInvoiceDiscount"].isNull())
+			itemObject.currentAmortizationInvoiceDiscount = dataNodeItemsItem["CurrentAmortizationInvoiceDiscount"].asString();
+		if(!dataNodeItemsItem["CurrentAmortizationRoundDownDiscount"].isNull())
+			itemObject.currentAmortizationRoundDownDiscount = dataNodeItemsItem["CurrentAmortizationRoundDownDiscount"].asString();
+		if(!dataNodeItemsItem["CurrentAmortizationPretaxAmount"].isNull())
+			itemObject.currentAmortizationPretaxAmount = dataNodeItemsItem["CurrentAmortizationPretaxAmount"].asString();
+		if(!dataNodeItemsItem["CurrentAmortizationDeductedByCashCoupons"].isNull())
+			itemObject.currentAmortizationDeductedByCashCoupons = dataNodeItemsItem["CurrentAmortizationDeductedByCashCoupons"].asString();
+		if(!dataNodeItemsItem["CurrentAmortizationDeductedByCoupons"].isNull())
+			itemObject.currentAmortizationDeductedByCoupons = dataNodeItemsItem["CurrentAmortizationDeductedByCoupons"].asString();
+		if(!dataNodeItemsItem["CurrentAmortizationDeductedByPrepaidCard"].isNull())
+			itemObject.currentAmortizationDeductedByPrepaidCard = dataNodeItemsItem["CurrentAmortizationDeductedByPrepaidCard"].asString();
+		if(!dataNodeItemsItem["CurrentAmortizationExpenditureAmount"].isNull())
+			itemObject.currentAmortizationExpenditureAmount = dataNodeItemsItem["CurrentAmortizationExpenditureAmount"].asString();
+		if(!dataNodeItemsItem["RemainingAmortizationPretaxGrossAmount"].isNull())
+			itemObject.remainingAmortizationPretaxGrossAmount = dataNodeItemsItem["RemainingAmortizationPretaxGrossAmount"].asString();
+		if(!dataNodeItemsItem["RemainingAmortizationInvoiceDiscount"].isNull())
+			itemObject.remainingAmortizationInvoiceDiscount = dataNodeItemsItem["RemainingAmortizationInvoiceDiscount"].asString();
+		if(!dataNodeItemsItem["RemainingAmortizationRoundDownDiscount"].isNull())
+			itemObject.remainingAmortizationRoundDownDiscount = dataNodeItemsItem["RemainingAmortizationRoundDownDiscount"].asString();
+		if(!dataNodeItemsItem["RemainingAmortizationPretaxAmount"].isNull())
+			itemObject.remainingAmortizationPretaxAmount = dataNodeItemsItem["RemainingAmortizationPretaxAmount"].asString();
+		if(!dataNodeItemsItem["RemainingAmortizationDeductedByCashCoupons"].isNull())
+			itemObject.remainingAmortizationDeductedByCashCoupons = dataNodeItemsItem["RemainingAmortizationDeductedByCashCoupons"].asString();
+		if(!dataNodeItemsItem["RemainingAmortizationDeductedByCoupons"].isNull())
+			itemObject.remainingAmortizationDeductedByCoupons = dataNodeItemsItem["RemainingAmortizationDeductedByCoupons"].asString();
+		if(!dataNodeItemsItem["RemainingAmortizationDeductedByPrepaidCard"].isNull())
+			itemObject.remainingAmortizationDeductedByPrepaidCard = dataNodeItemsItem["RemainingAmortizationDeductedByPrepaidCard"].asString();
+		if(!dataNodeItemsItem["RemainingAmortizationExpenditureAmount"].isNull())
+			itemObject.remainingAmortizationExpenditureAmount = dataNodeItemsItem["RemainingAmortizationExpenditureAmount"].asString();
+		data_.items.push_back(itemObject);
+	}
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+
+}
+
+std::string DescribeInstanceAmortizedCostByAmortizationPeriodResult::getMessage()const
+{
+	return message_;
+}
+
+DescribeInstanceAmortizedCostByAmortizationPeriodResult::Data DescribeInstanceAmortizedCostByAmortizationPeriodResult::getData()const
+{
+	return data_;
+}
+
+std::string DescribeInstanceAmortizedCostByAmortizationPeriodResult::getCode()const
+{
+	return code_;
+}
+
+bool DescribeInstanceAmortizedCostByAmortizationPeriodResult::getSuccess()const
+{
+	return success_;
+}
+

+ 122 - 0
bssopenapi/src/model/DescribeInstanceAmortizedCostByConsumePeriodRequest.cc

@@ -0,0 +1,122 @@
+/*
+ * 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/model/DescribeInstanceAmortizedCostByConsumePeriodRequest.h>
+
+using AlibabaCloud::BssOpenApi::Model::DescribeInstanceAmortizedCostByConsumePeriodRequest;
+
+DescribeInstanceAmortizedCostByConsumePeriodRequest::DescribeInstanceAmortizedCostByConsumePeriodRequest()
+    : RpcServiceRequest("bssopenapi", "2017-12-14", "DescribeInstanceAmortizedCostByConsumePeriod") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+DescribeInstanceAmortizedCostByConsumePeriodRequest::~DescribeInstanceAmortizedCostByConsumePeriodRequest() {}
+
+std::string DescribeInstanceAmortizedCostByConsumePeriodRequest::getProductDetail() const {
+  return productDetail_;
+}
+
+void DescribeInstanceAmortizedCostByConsumePeriodRequest::setProductDetail(const std::string &productDetail) {
+  productDetail_ = productDetail;
+  setBodyParameter(std::string("ProductDetail"), productDetail);
+}
+
+std::string DescribeInstanceAmortizedCostByConsumePeriodRequest::getProductCode() const {
+  return productCode_;
+}
+
+void DescribeInstanceAmortizedCostByConsumePeriodRequest::setProductCode(const std::string &productCode) {
+  productCode_ = productCode;
+  setBodyParameter(std::string("ProductCode"), productCode);
+}
+
+std::vector<std::string> DescribeInstanceAmortizedCostByConsumePeriodRequest::getBillOwnerIdList() const {
+  return billOwnerIdList_;
+}
+
+void DescribeInstanceAmortizedCostByConsumePeriodRequest::setBillOwnerIdList(const std::vector<std::string> &billOwnerIdList) {
+  billOwnerIdList_ = billOwnerIdList;
+}
+
+std::string DescribeInstanceAmortizedCostByConsumePeriodRequest::getSubscriptionType() const {
+  return subscriptionType_;
+}
+
+void DescribeInstanceAmortizedCostByConsumePeriodRequest::setSubscriptionType(const std::string &subscriptionType) {
+  subscriptionType_ = subscriptionType;
+  setBodyParameter(std::string("SubscriptionType"), subscriptionType);
+}
+
+std::string DescribeInstanceAmortizedCostByConsumePeriodRequest::getBillingCycle() const {
+  return billingCycle_;
+}
+
+void DescribeInstanceAmortizedCostByConsumePeriodRequest::setBillingCycle(const std::string &billingCycle) {
+  billingCycle_ = billingCycle;
+  setBodyParameter(std::string("BillingCycle"), billingCycle);
+}
+
+std::string DescribeInstanceAmortizedCostByConsumePeriodRequest::getCostUnitCode() const {
+  return costUnitCode_;
+}
+
+void DescribeInstanceAmortizedCostByConsumePeriodRequest::setCostUnitCode(const std::string &costUnitCode) {
+  costUnitCode_ = costUnitCode;
+  setBodyParameter(std::string("CostUnitCode"), costUnitCode);
+}
+
+std::vector<std::string> DescribeInstanceAmortizedCostByConsumePeriodRequest::getAmortizationPeriodFilter() const {
+  return amortizationPeriodFilter_;
+}
+
+void DescribeInstanceAmortizedCostByConsumePeriodRequest::setAmortizationPeriodFilter(const std::vector<std::string> &amortizationPeriodFilter) {
+  amortizationPeriodFilter_ = amortizationPeriodFilter;
+}
+
+std::string DescribeInstanceAmortizedCostByConsumePeriodRequest::getNextToken() const {
+  return nextToken_;
+}
+
+void DescribeInstanceAmortizedCostByConsumePeriodRequest::setNextToken(const std::string &nextToken) {
+  nextToken_ = nextToken;
+  setBodyParameter(std::string("NextToken"), nextToken);
+}
+
+std::vector<std::string> DescribeInstanceAmortizedCostByConsumePeriodRequest::getBillUserIdList() const {
+  return billUserIdList_;
+}
+
+void DescribeInstanceAmortizedCostByConsumePeriodRequest::setBillUserIdList(const std::vector<std::string> &billUserIdList) {
+  billUserIdList_ = billUserIdList;
+}
+
+std::vector<std::string> DescribeInstanceAmortizedCostByConsumePeriodRequest::getInstanceIdList() const {
+  return instanceIdList_;
+}
+
+void DescribeInstanceAmortizedCostByConsumePeriodRequest::setInstanceIdList(const std::vector<std::string> &instanceIdList) {
+  instanceIdList_ = instanceIdList;
+}
+
+int DescribeInstanceAmortizedCostByConsumePeriodRequest::getMaxResults() const {
+  return maxResults_;
+}
+
+void DescribeInstanceAmortizedCostByConsumePeriodRequest::setMaxResults(int maxResults) {
+  maxResults_ = maxResults;
+  setBodyParameter(std::string("MaxResults"), std::to_string(maxResults));
+}
+

+ 203 - 0
bssopenapi/src/model/DescribeInstanceAmortizedCostByConsumePeriodResult.cc

@@ -0,0 +1,203 @@
+/*
+ * 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/model/DescribeInstanceAmortizedCostByConsumePeriodResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::BssOpenApi;
+using namespace AlibabaCloud::BssOpenApi::Model;
+
+DescribeInstanceAmortizedCostByConsumePeriodResult::DescribeInstanceAmortizedCostByConsumePeriodResult() :
+	ServiceResult()
+{}
+
+DescribeInstanceAmortizedCostByConsumePeriodResult::DescribeInstanceAmortizedCostByConsumePeriodResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeInstanceAmortizedCostByConsumePeriodResult::~DescribeInstanceAmortizedCostByConsumePeriodResult()
+{}
+
+void DescribeInstanceAmortizedCostByConsumePeriodResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto dataNode = value["Data"];
+	if(!dataNode["NextToken"].isNull())
+		data_.nextToken = dataNode["NextToken"].asString();
+	if(!dataNode["AccountID"].isNull())
+		data_.accountID = dataNode["AccountID"].asString();
+	if(!dataNode["AccountName"].isNull())
+		data_.accountName = dataNode["AccountName"].asString();
+	if(!dataNode["MaxResults"].isNull())
+		data_.maxResults = std::stoi(dataNode["MaxResults"].asString());
+	if(!dataNode["TotalCount"].isNull())
+		data_.totalCount = std::stoi(dataNode["TotalCount"].asString());
+	auto allItemsNode = dataNode["Items"]["Item"];
+	for (auto dataNodeItemsItem : allItemsNode)
+	{
+		Data::Item itemObject;
+		if(!dataNodeItemsItem["CostUnit"].isNull())
+			itemObject.costUnit = dataNodeItemsItem["CostUnit"].asString();
+		if(!dataNodeItemsItem["CostUnitCode"].isNull())
+			itemObject.costUnitCode = dataNodeItemsItem["CostUnitCode"].asString();
+		if(!dataNodeItemsItem["InstanceID"].isNull())
+			itemObject.instanceID = dataNodeItemsItem["InstanceID"].asString();
+		if(!dataNodeItemsItem["ResourceGroup"].isNull())
+			itemObject.resourceGroup = dataNodeItemsItem["ResourceGroup"].asString();
+		if(!dataNodeItemsItem["Tag"].isNull())
+			itemObject.tag = dataNodeItemsItem["Tag"].asString();
+		if(!dataNodeItemsItem["InternetIP"].isNull())
+			itemObject.internetIP = dataNodeItemsItem["InternetIP"].asString();
+		if(!dataNodeItemsItem["IntranetIP"].isNull())
+			itemObject.intranetIP = dataNodeItemsItem["IntranetIP"].asString();
+		if(!dataNodeItemsItem["Region"].isNull())
+			itemObject.region = dataNodeItemsItem["Region"].asString();
+		if(!dataNodeItemsItem["Zone"].isNull())
+			itemObject.zone = dataNodeItemsItem["Zone"].asString();
+		if(!dataNodeItemsItem["SplitAccountName"].isNull())
+			itemObject.splitAccountName = dataNodeItemsItem["SplitAccountName"].asString();
+		if(!dataNodeItemsItem["SplitProductDetail"].isNull())
+			itemObject.splitProductDetail = dataNodeItemsItem["SplitProductDetail"].asString();
+		if(!dataNodeItemsItem["SplitItemID"].isNull())
+			itemObject.splitItemID = dataNodeItemsItem["SplitItemID"].asString();
+		if(!dataNodeItemsItem["SplitItemName"].isNull())
+			itemObject.splitItemName = dataNodeItemsItem["SplitItemName"].asString();
+		if(!dataNodeItemsItem["ConsumePeriod"].isNull())
+			itemObject.consumePeriod = dataNodeItemsItem["ConsumePeriod"].asString();
+		if(!dataNodeItemsItem["AmortizationStatus"].isNull())
+			itemObject.amortizationStatus = dataNodeItemsItem["AmortizationStatus"].asString();
+		if(!dataNodeItemsItem["AmortizationPeriod"].isNull())
+			itemObject.amortizationPeriod = dataNodeItemsItem["AmortizationPeriod"].asString();
+		if(!dataNodeItemsItem["BillAccountID"].isNull())
+			itemObject.billAccountID = std::stol(dataNodeItemsItem["BillAccountID"].asString());
+		if(!dataNodeItemsItem["BillAccountName"].isNull())
+			itemObject.billAccountName = dataNodeItemsItem["BillAccountName"].asString();
+		if(!dataNodeItemsItem["BillOwnerID"].isNull())
+			itemObject.billOwnerID = std::stol(dataNodeItemsItem["BillOwnerID"].asString());
+		if(!dataNodeItemsItem["BillOwnerName"].isNull())
+			itemObject.billOwnerName = dataNodeItemsItem["BillOwnerName"].asString();
+		if(!dataNodeItemsItem["ProductCode"].isNull())
+			itemObject.productCode = dataNodeItemsItem["ProductCode"].asString();
+		if(!dataNodeItemsItem["ProductName"].isNull())
+			itemObject.productName = dataNodeItemsItem["ProductName"].asString();
+		if(!dataNodeItemsItem["ProductDetailCode"].isNull())
+			itemObject.productDetailCode = dataNodeItemsItem["ProductDetailCode"].asString();
+		if(!dataNodeItemsItem["ProductDetail"].isNull())
+			itemObject.productDetail = dataNodeItemsItem["ProductDetail"].asString();
+		if(!dataNodeItemsItem["BizType"].isNull())
+			itemObject.bizType = dataNodeItemsItem["BizType"].asString();
+		if(!dataNodeItemsItem["SubscriptionType"].isNull())
+			itemObject.subscriptionType = dataNodeItemsItem["SubscriptionType"].asString();
+		if(!dataNodeItemsItem["PretaxGrossAmount"].isNull())
+			itemObject.pretaxGrossAmount = dataNodeItemsItem["PretaxGrossAmount"].asString();
+		if(!dataNodeItemsItem["InvoiceDiscount"].isNull())
+			itemObject.invoiceDiscount = dataNodeItemsItem["InvoiceDiscount"].asString();
+		if(!dataNodeItemsItem["RoundDownDiscount"].isNull())
+			itemObject.roundDownDiscount = dataNodeItemsItem["RoundDownDiscount"].asString();
+		if(!dataNodeItemsItem["PretaxAmount"].isNull())
+			itemObject.pretaxAmount = dataNodeItemsItem["PretaxAmount"].asString();
+		if(!dataNodeItemsItem["DeductedByCashCoupons"].isNull())
+			itemObject.deductedByCashCoupons = dataNodeItemsItem["DeductedByCashCoupons"].asString();
+		if(!dataNodeItemsItem["DeductedByCoupons"].isNull())
+			itemObject.deductedByCoupons = dataNodeItemsItem["DeductedByCoupons"].asString();
+		if(!dataNodeItemsItem["DeductedByPrepaidCard"].isNull())
+			itemObject.deductedByPrepaidCard = dataNodeItemsItem["DeductedByPrepaidCard"].asString();
+		if(!dataNodeItemsItem["ExpenditureAmount"].isNull())
+			itemObject.expenditureAmount = dataNodeItemsItem["ExpenditureAmount"].asString();
+		if(!dataNodeItemsItem["PreviouslyAmortizedPretaxGrossAmount"].isNull())
+			itemObject.previouslyAmortizedPretaxGrossAmount = dataNodeItemsItem["PreviouslyAmortizedPretaxGrossAmount"].asString();
+		if(!dataNodeItemsItem["PreviouslyAmortizedInvoiceDiscount"].isNull())
+			itemObject.previouslyAmortizedInvoiceDiscount = dataNodeItemsItem["PreviouslyAmortizedInvoiceDiscount"].asString();
+		if(!dataNodeItemsItem["PreviouslyAmortizedRoundDownDiscount"].isNull())
+			itemObject.previouslyAmortizedRoundDownDiscount = dataNodeItemsItem["PreviouslyAmortizedRoundDownDiscount"].asString();
+		if(!dataNodeItemsItem["PreviouslyAmortizedPretaxAmount"].isNull())
+			itemObject.previouslyAmortizedPretaxAmount = dataNodeItemsItem["PreviouslyAmortizedPretaxAmount"].asString();
+		if(!dataNodeItemsItem["PreviouslyAmortizedDeductedByCashCoupons"].isNull())
+			itemObject.previouslyAmortizedDeductedByCashCoupons = dataNodeItemsItem["PreviouslyAmortizedDeductedByCashCoupons"].asString();
+		if(!dataNodeItemsItem["PreviouslyAmortizedDeductedByCoupons"].isNull())
+			itemObject.previouslyAmortizedDeductedByCoupons = dataNodeItemsItem["PreviouslyAmortizedDeductedByCoupons"].asString();
+		if(!dataNodeItemsItem["PreviouslyAmortizedDeductedByPrepaidCard"].isNull())
+			itemObject.previouslyAmortizedDeductedByPrepaidCard = dataNodeItemsItem["PreviouslyAmortizedDeductedByPrepaidCard"].asString();
+		if(!dataNodeItemsItem["PreviouslyAmortizedExpenditureAmount"].isNull())
+			itemObject.previouslyAmortizedExpenditureAmount = dataNodeItemsItem["PreviouslyAmortizedExpenditureAmount"].asString();
+		if(!dataNodeItemsItem["CurrentAmortizationPretaxGrossAmount"].isNull())
+			itemObject.currentAmortizationPretaxGrossAmount = dataNodeItemsItem["CurrentAmortizationPretaxGrossAmount"].asString();
+		if(!dataNodeItemsItem["CurrentAmortizationInvoiceDiscount"].isNull())
+			itemObject.currentAmortizationInvoiceDiscount = dataNodeItemsItem["CurrentAmortizationInvoiceDiscount"].asString();
+		if(!dataNodeItemsItem["CurrentAmortizationRoundDownDiscount"].isNull())
+			itemObject.currentAmortizationRoundDownDiscount = dataNodeItemsItem["CurrentAmortizationRoundDownDiscount"].asString();
+		if(!dataNodeItemsItem["CurrentAmortizationPretaxAmount"].isNull())
+			itemObject.currentAmortizationPretaxAmount = dataNodeItemsItem["CurrentAmortizationPretaxAmount"].asString();
+		if(!dataNodeItemsItem["CurrentAmortizationDeductedByCashCoupons"].isNull())
+			itemObject.currentAmortizationDeductedByCashCoupons = dataNodeItemsItem["CurrentAmortizationDeductedByCashCoupons"].asString();
+		if(!dataNodeItemsItem["CurrentAmortizationDeductedByCoupons"].isNull())
+			itemObject.currentAmortizationDeductedByCoupons = dataNodeItemsItem["CurrentAmortizationDeductedByCoupons"].asString();
+		if(!dataNodeItemsItem["CurrentAmortizationDeductedByPrepaidCard"].isNull())
+			itemObject.currentAmortizationDeductedByPrepaidCard = dataNodeItemsItem["CurrentAmortizationDeductedByPrepaidCard"].asString();
+		if(!dataNodeItemsItem["CurrentAmortizationExpenditureAmount"].isNull())
+			itemObject.currentAmortizationExpenditureAmount = dataNodeItemsItem["CurrentAmortizationExpenditureAmount"].asString();
+		if(!dataNodeItemsItem["RemainingAmortizationPretaxGrossAmount"].isNull())
+			itemObject.remainingAmortizationPretaxGrossAmount = dataNodeItemsItem["RemainingAmortizationPretaxGrossAmount"].asString();
+		if(!dataNodeItemsItem["RemainingAmortizationInvoiceDiscount"].isNull())
+			itemObject.remainingAmortizationInvoiceDiscount = dataNodeItemsItem["RemainingAmortizationInvoiceDiscount"].asString();
+		if(!dataNodeItemsItem["RemainingAmortizationRoundDownDiscount"].isNull())
+			itemObject.remainingAmortizationRoundDownDiscount = dataNodeItemsItem["RemainingAmortizationRoundDownDiscount"].asString();
+		if(!dataNodeItemsItem["RemainingAmortizationPretaxAmount"].isNull())
+			itemObject.remainingAmortizationPretaxAmount = dataNodeItemsItem["RemainingAmortizationPretaxAmount"].asString();
+		if(!dataNodeItemsItem["RemainingAmortizationDeductedByCashCoupons"].isNull())
+			itemObject.remainingAmortizationDeductedByCashCoupons = dataNodeItemsItem["RemainingAmortizationDeductedByCashCoupons"].asString();
+		if(!dataNodeItemsItem["RemainingAmortizationDeductedByCoupons"].isNull())
+			itemObject.remainingAmortizationDeductedByCoupons = dataNodeItemsItem["RemainingAmortizationDeductedByCoupons"].asString();
+		if(!dataNodeItemsItem["RemainingAmortizationDeductedByPrepaidCard"].isNull())
+			itemObject.remainingAmortizationDeductedByPrepaidCard = dataNodeItemsItem["RemainingAmortizationDeductedByPrepaidCard"].asString();
+		if(!dataNodeItemsItem["RemainingAmortizationExpenditureAmount"].isNull())
+			itemObject.remainingAmortizationExpenditureAmount = dataNodeItemsItem["RemainingAmortizationExpenditureAmount"].asString();
+		data_.items.push_back(itemObject);
+	}
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+
+}
+
+std::string DescribeInstanceAmortizedCostByConsumePeriodResult::getMessage()const
+{
+	return message_;
+}
+
+DescribeInstanceAmortizedCostByConsumePeriodResult::Data DescribeInstanceAmortizedCostByConsumePeriodResult::getData()const
+{
+	return data_;
+}
+
+std::string DescribeInstanceAmortizedCostByConsumePeriodResult::getCode()const
+{
+	return code_;
+}
+
+bool DescribeInstanceAmortizedCostByConsumePeriodResult::getSuccess()const
+{
+	return success_;
+}
+

+ 114 - 0
bssopenapi/src/model/DescribeProductAmortizedCostByAmortizationPeriodRequest.cc

@@ -0,0 +1,114 @@
+/*
+ * 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/model/DescribeProductAmortizedCostByAmortizationPeriodRequest.h>
+
+using AlibabaCloud::BssOpenApi::Model::DescribeProductAmortizedCostByAmortizationPeriodRequest;
+
+DescribeProductAmortizedCostByAmortizationPeriodRequest::DescribeProductAmortizedCostByAmortizationPeriodRequest()
+    : RpcServiceRequest("bssopenapi", "2017-12-14", "DescribeProductAmortizedCostByAmortizationPeriod") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+DescribeProductAmortizedCostByAmortizationPeriodRequest::~DescribeProductAmortizedCostByAmortizationPeriodRequest() {}
+
+std::string DescribeProductAmortizedCostByAmortizationPeriodRequest::getProductDetail() const {
+  return productDetail_;
+}
+
+void DescribeProductAmortizedCostByAmortizationPeriodRequest::setProductDetail(const std::string &productDetail) {
+  productDetail_ = productDetail;
+  setBodyParameter(std::string("ProductDetail"), productDetail);
+}
+
+std::string DescribeProductAmortizedCostByAmortizationPeriodRequest::getProductCode() const {
+  return productCode_;
+}
+
+void DescribeProductAmortizedCostByAmortizationPeriodRequest::setProductCode(const std::string &productCode) {
+  productCode_ = productCode;
+  setBodyParameter(std::string("ProductCode"), productCode);
+}
+
+std::vector<std::string> DescribeProductAmortizedCostByAmortizationPeriodRequest::getBillOwnerIdList() const {
+  return billOwnerIdList_;
+}
+
+void DescribeProductAmortizedCostByAmortizationPeriodRequest::setBillOwnerIdList(const std::vector<std::string> &billOwnerIdList) {
+  billOwnerIdList_ = billOwnerIdList;
+}
+
+std::string DescribeProductAmortizedCostByAmortizationPeriodRequest::getSubscriptionType() const {
+  return subscriptionType_;
+}
+
+void DescribeProductAmortizedCostByAmortizationPeriodRequest::setSubscriptionType(const std::string &subscriptionType) {
+  subscriptionType_ = subscriptionType;
+  setBodyParameter(std::string("SubscriptionType"), subscriptionType);
+}
+
+std::string DescribeProductAmortizedCostByAmortizationPeriodRequest::getBillingCycle() const {
+  return billingCycle_;
+}
+
+void DescribeProductAmortizedCostByAmortizationPeriodRequest::setBillingCycle(const std::string &billingCycle) {
+  billingCycle_ = billingCycle;
+  setBodyParameter(std::string("BillingCycle"), billingCycle);
+}
+
+std::string DescribeProductAmortizedCostByAmortizationPeriodRequest::getCostUnitCode() const {
+  return costUnitCode_;
+}
+
+void DescribeProductAmortizedCostByAmortizationPeriodRequest::setCostUnitCode(const std::string &costUnitCode) {
+  costUnitCode_ = costUnitCode;
+  setBodyParameter(std::string("CostUnitCode"), costUnitCode);
+}
+
+std::vector<std::string> DescribeProductAmortizedCostByAmortizationPeriodRequest::getConsumePeriodFilter() const {
+  return consumePeriodFilter_;
+}
+
+void DescribeProductAmortizedCostByAmortizationPeriodRequest::setConsumePeriodFilter(const std::vector<std::string> &consumePeriodFilter) {
+  consumePeriodFilter_ = consumePeriodFilter;
+}
+
+std::string DescribeProductAmortizedCostByAmortizationPeriodRequest::getNextToken() const {
+  return nextToken_;
+}
+
+void DescribeProductAmortizedCostByAmortizationPeriodRequest::setNextToken(const std::string &nextToken) {
+  nextToken_ = nextToken;
+  setBodyParameter(std::string("NextToken"), nextToken);
+}
+
+std::vector<std::string> DescribeProductAmortizedCostByAmortizationPeriodRequest::getBillUserIdList() const {
+  return billUserIdList_;
+}
+
+void DescribeProductAmortizedCostByAmortizationPeriodRequest::setBillUserIdList(const std::vector<std::string> &billUserIdList) {
+  billUserIdList_ = billUserIdList;
+}
+
+int DescribeProductAmortizedCostByAmortizationPeriodRequest::getMaxResults() const {
+  return maxResults_;
+}
+
+void DescribeProductAmortizedCostByAmortizationPeriodRequest::setMaxResults(int maxResults) {
+  maxResults_ = maxResults;
+  setBodyParameter(std::string("MaxResults"), std::to_string(maxResults));
+}
+

+ 177 - 0
bssopenapi/src/model/DescribeProductAmortizedCostByAmortizationPeriodResult.cc

@@ -0,0 +1,177 @@
+/*
+ * 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/model/DescribeProductAmortizedCostByAmortizationPeriodResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::BssOpenApi;
+using namespace AlibabaCloud::BssOpenApi::Model;
+
+DescribeProductAmortizedCostByAmortizationPeriodResult::DescribeProductAmortizedCostByAmortizationPeriodResult() :
+	ServiceResult()
+{}
+
+DescribeProductAmortizedCostByAmortizationPeriodResult::DescribeProductAmortizedCostByAmortizationPeriodResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeProductAmortizedCostByAmortizationPeriodResult::~DescribeProductAmortizedCostByAmortizationPeriodResult()
+{}
+
+void DescribeProductAmortizedCostByAmortizationPeriodResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto dataNode = value["Data"];
+	if(!dataNode["NextToken"].isNull())
+		data_.nextToken = dataNode["NextToken"].asString();
+	if(!dataNode["AccountID"].isNull())
+		data_.accountID = dataNode["AccountID"].asString();
+	if(!dataNode["AccountName"].isNull())
+		data_.accountName = dataNode["AccountName"].asString();
+	if(!dataNode["MaxResults"].isNull())
+		data_.maxResults = std::stoi(dataNode["MaxResults"].asString());
+	if(!dataNode["TotalCount"].isNull())
+		data_.totalCount = std::stoi(dataNode["TotalCount"].asString());
+	auto allItemsNode = dataNode["Items"]["Item"];
+	for (auto dataNodeItemsItem : allItemsNode)
+	{
+		Data::Item itemObject;
+		if(!dataNodeItemsItem["ConsumePeriod"].isNull())
+			itemObject.consumePeriod = dataNodeItemsItem["ConsumePeriod"].asString();
+		if(!dataNodeItemsItem["AmortizationStatus"].isNull())
+			itemObject.amortizationStatus = dataNodeItemsItem["AmortizationStatus"].asString();
+		if(!dataNodeItemsItem["AmortizationPeriod"].isNull())
+			itemObject.amortizationPeriod = dataNodeItemsItem["AmortizationPeriod"].asString();
+		if(!dataNodeItemsItem["BillAccountID"].isNull())
+			itemObject.billAccountID = std::stol(dataNodeItemsItem["BillAccountID"].asString());
+		if(!dataNodeItemsItem["BillAccountName"].isNull())
+			itemObject.billAccountName = dataNodeItemsItem["BillAccountName"].asString();
+		if(!dataNodeItemsItem["BillOwnerID"].isNull())
+			itemObject.billOwnerID = std::stol(dataNodeItemsItem["BillOwnerID"].asString());
+		if(!dataNodeItemsItem["BillOwnerName"].isNull())
+			itemObject.billOwnerName = dataNodeItemsItem["BillOwnerName"].asString();
+		if(!dataNodeItemsItem["ProductCode"].isNull())
+			itemObject.productCode = dataNodeItemsItem["ProductCode"].asString();
+		if(!dataNodeItemsItem["ProductName"].isNull())
+			itemObject.productName = dataNodeItemsItem["ProductName"].asString();
+		if(!dataNodeItemsItem["ProductDetailCode"].isNull())
+			itemObject.productDetailCode = dataNodeItemsItem["ProductDetailCode"].asString();
+		if(!dataNodeItemsItem["ProductDetail"].isNull())
+			itemObject.productDetail = dataNodeItemsItem["ProductDetail"].asString();
+		if(!dataNodeItemsItem["BizType"].isNull())
+			itemObject.bizType = dataNodeItemsItem["BizType"].asString();
+		if(!dataNodeItemsItem["SubscriptionType"].isNull())
+			itemObject.subscriptionType = dataNodeItemsItem["SubscriptionType"].asString();
+		if(!dataNodeItemsItem["PretaxGrossAmount"].isNull())
+			itemObject.pretaxGrossAmount = dataNodeItemsItem["PretaxGrossAmount"].asString();
+		if(!dataNodeItemsItem["InvoiceDiscount"].isNull())
+			itemObject.invoiceDiscount = dataNodeItemsItem["InvoiceDiscount"].asString();
+		if(!dataNodeItemsItem["RoundDownDiscount"].isNull())
+			itemObject.roundDownDiscount = dataNodeItemsItem["RoundDownDiscount"].asString();
+		if(!dataNodeItemsItem["PretaxAmount"].isNull())
+			itemObject.pretaxAmount = dataNodeItemsItem["PretaxAmount"].asString();
+		if(!dataNodeItemsItem["DeductedByCashCoupons"].isNull())
+			itemObject.deductedByCashCoupons = dataNodeItemsItem["DeductedByCashCoupons"].asString();
+		if(!dataNodeItemsItem["DeductedByCoupons"].isNull())
+			itemObject.deductedByCoupons = dataNodeItemsItem["DeductedByCoupons"].asString();
+		if(!dataNodeItemsItem["DeductedByPrepaidCard"].isNull())
+			itemObject.deductedByPrepaidCard = dataNodeItemsItem["DeductedByPrepaidCard"].asString();
+		if(!dataNodeItemsItem["ExpenditureAmount"].isNull())
+			itemObject.expenditureAmount = dataNodeItemsItem["ExpenditureAmount"].asString();
+		if(!dataNodeItemsItem["PreviouslyAmortizedPretaxGrossAmount"].isNull())
+			itemObject.previouslyAmortizedPretaxGrossAmount = dataNodeItemsItem["PreviouslyAmortizedPretaxGrossAmount"].asString();
+		if(!dataNodeItemsItem["PreviouslyAmortizedInvoiceDiscount"].isNull())
+			itemObject.previouslyAmortizedInvoiceDiscount = dataNodeItemsItem["PreviouslyAmortizedInvoiceDiscount"].asString();
+		if(!dataNodeItemsItem["PreviouslyAmortizedRoundDownDiscount"].isNull())
+			itemObject.previouslyAmortizedRoundDownDiscount = dataNodeItemsItem["PreviouslyAmortizedRoundDownDiscount"].asString();
+		if(!dataNodeItemsItem["PreviouslyAmortizedPretaxAmount"].isNull())
+			itemObject.previouslyAmortizedPretaxAmount = dataNodeItemsItem["PreviouslyAmortizedPretaxAmount"].asString();
+		if(!dataNodeItemsItem["PreviouslyAmortizedDeductedByCashCoupons"].isNull())
+			itemObject.previouslyAmortizedDeductedByCashCoupons = dataNodeItemsItem["PreviouslyAmortizedDeductedByCashCoupons"].asString();
+		if(!dataNodeItemsItem["PreviouslyAmortizedDeductedByCoupons"].isNull())
+			itemObject.previouslyAmortizedDeductedByCoupons = dataNodeItemsItem["PreviouslyAmortizedDeductedByCoupons"].asString();
+		if(!dataNodeItemsItem["PreviouslyAmortizedDeductedByPrepaidCard"].isNull())
+			itemObject.previouslyAmortizedDeductedByPrepaidCard = dataNodeItemsItem["PreviouslyAmortizedDeductedByPrepaidCard"].asString();
+		if(!dataNodeItemsItem["PreviouslyAmortizedExpenditureAmount"].isNull())
+			itemObject.previouslyAmortizedExpenditureAmount = dataNodeItemsItem["PreviouslyAmortizedExpenditureAmount"].asString();
+		if(!dataNodeItemsItem["CurrentAmortizationPretaxGrossAmount"].isNull())
+			itemObject.currentAmortizationPretaxGrossAmount = dataNodeItemsItem["CurrentAmortizationPretaxGrossAmount"].asString();
+		if(!dataNodeItemsItem["CurrentAmortizationInvoiceDiscount"].isNull())
+			itemObject.currentAmortizationInvoiceDiscount = dataNodeItemsItem["CurrentAmortizationInvoiceDiscount"].asString();
+		if(!dataNodeItemsItem["CurrentAmortizationRoundDownDiscount"].isNull())
+			itemObject.currentAmortizationRoundDownDiscount = dataNodeItemsItem["CurrentAmortizationRoundDownDiscount"].asString();
+		if(!dataNodeItemsItem["CurrentAmortizationPretaxAmount"].isNull())
+			itemObject.currentAmortizationPretaxAmount = dataNodeItemsItem["CurrentAmortizationPretaxAmount"].asString();
+		if(!dataNodeItemsItem["CurrentAmortizationDeductedByCashCoupons"].isNull())
+			itemObject.currentAmortizationDeductedByCashCoupons = dataNodeItemsItem["CurrentAmortizationDeductedByCashCoupons"].asString();
+		if(!dataNodeItemsItem["CurrentAmortizationDeductedByCoupons"].isNull())
+			itemObject.currentAmortizationDeductedByCoupons = dataNodeItemsItem["CurrentAmortizationDeductedByCoupons"].asString();
+		if(!dataNodeItemsItem["CurrentAmortizationDeductedByPrepaidCard"].isNull())
+			itemObject.currentAmortizationDeductedByPrepaidCard = dataNodeItemsItem["CurrentAmortizationDeductedByPrepaidCard"].asString();
+		if(!dataNodeItemsItem["CurrentAmortizationExpenditureAmount"].isNull())
+			itemObject.currentAmortizationExpenditureAmount = dataNodeItemsItem["CurrentAmortizationExpenditureAmount"].asString();
+		if(!dataNodeItemsItem["RemainingAmortizationPretaxGrossAmount"].isNull())
+			itemObject.remainingAmortizationPretaxGrossAmount = dataNodeItemsItem["RemainingAmortizationPretaxGrossAmount"].asString();
+		if(!dataNodeItemsItem["RemainingAmortizationInvoiceDiscount"].isNull())
+			itemObject.remainingAmortizationInvoiceDiscount = dataNodeItemsItem["RemainingAmortizationInvoiceDiscount"].asString();
+		if(!dataNodeItemsItem["RemainingAmortizationRoundDownDiscount"].isNull())
+			itemObject.remainingAmortizationRoundDownDiscount = dataNodeItemsItem["RemainingAmortizationRoundDownDiscount"].asString();
+		if(!dataNodeItemsItem["RemainingAmortizationPretaxAmount"].isNull())
+			itemObject.remainingAmortizationPretaxAmount = dataNodeItemsItem["RemainingAmortizationPretaxAmount"].asString();
+		if(!dataNodeItemsItem["RemainingAmortizationDeductedByCashCoupons"].isNull())
+			itemObject.remainingAmortizationDeductedByCashCoupons = dataNodeItemsItem["RemainingAmortizationDeductedByCashCoupons"].asString();
+		if(!dataNodeItemsItem["RemainingAmortizationDeductedByCoupons"].isNull())
+			itemObject.remainingAmortizationDeductedByCoupons = dataNodeItemsItem["RemainingAmortizationDeductedByCoupons"].asString();
+		if(!dataNodeItemsItem["RemainingAmortizationDeductedByPrepaidCard"].isNull())
+			itemObject.remainingAmortizationDeductedByPrepaidCard = dataNodeItemsItem["RemainingAmortizationDeductedByPrepaidCard"].asString();
+		if(!dataNodeItemsItem["RemainingAmortizationExpenditureAmount"].isNull())
+			itemObject.remainingAmortizationExpenditureAmount = dataNodeItemsItem["RemainingAmortizationExpenditureAmount"].asString();
+		data_.items.push_back(itemObject);
+	}
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+
+}
+
+std::string DescribeProductAmortizedCostByAmortizationPeriodResult::getMessage()const
+{
+	return message_;
+}
+
+DescribeProductAmortizedCostByAmortizationPeriodResult::Data DescribeProductAmortizedCostByAmortizationPeriodResult::getData()const
+{
+	return data_;
+}
+
+std::string DescribeProductAmortizedCostByAmortizationPeriodResult::getCode()const
+{
+	return code_;
+}
+
+bool DescribeProductAmortizedCostByAmortizationPeriodResult::getSuccess()const
+{
+	return success_;
+}
+

+ 114 - 0
bssopenapi/src/model/DescribeProductAmortizedCostByConsumePeriodRequest.cc

@@ -0,0 +1,114 @@
+/*
+ * 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/model/DescribeProductAmortizedCostByConsumePeriodRequest.h>
+
+using AlibabaCloud::BssOpenApi::Model::DescribeProductAmortizedCostByConsumePeriodRequest;
+
+DescribeProductAmortizedCostByConsumePeriodRequest::DescribeProductAmortizedCostByConsumePeriodRequest()
+    : RpcServiceRequest("bssopenapi", "2017-12-14", "DescribeProductAmortizedCostByConsumePeriod") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+DescribeProductAmortizedCostByConsumePeriodRequest::~DescribeProductAmortizedCostByConsumePeriodRequest() {}
+
+std::string DescribeProductAmortizedCostByConsumePeriodRequest::getProductDetail() const {
+  return productDetail_;
+}
+
+void DescribeProductAmortizedCostByConsumePeriodRequest::setProductDetail(const std::string &productDetail) {
+  productDetail_ = productDetail;
+  setBodyParameter(std::string("ProductDetail"), productDetail);
+}
+
+std::string DescribeProductAmortizedCostByConsumePeriodRequest::getProductCode() const {
+  return productCode_;
+}
+
+void DescribeProductAmortizedCostByConsumePeriodRequest::setProductCode(const std::string &productCode) {
+  productCode_ = productCode;
+  setBodyParameter(std::string("ProductCode"), productCode);
+}
+
+std::vector<std::string> DescribeProductAmortizedCostByConsumePeriodRequest::getBillOwnerIdList() const {
+  return billOwnerIdList_;
+}
+
+void DescribeProductAmortizedCostByConsumePeriodRequest::setBillOwnerIdList(const std::vector<std::string> &billOwnerIdList) {
+  billOwnerIdList_ = billOwnerIdList;
+}
+
+std::string DescribeProductAmortizedCostByConsumePeriodRequest::getSubscriptionType() const {
+  return subscriptionType_;
+}
+
+void DescribeProductAmortizedCostByConsumePeriodRequest::setSubscriptionType(const std::string &subscriptionType) {
+  subscriptionType_ = subscriptionType;
+  setBodyParameter(std::string("SubscriptionType"), subscriptionType);
+}
+
+std::string DescribeProductAmortizedCostByConsumePeriodRequest::getBillingCycle() const {
+  return billingCycle_;
+}
+
+void DescribeProductAmortizedCostByConsumePeriodRequest::setBillingCycle(const std::string &billingCycle) {
+  billingCycle_ = billingCycle;
+  setBodyParameter(std::string("BillingCycle"), billingCycle);
+}
+
+std::string DescribeProductAmortizedCostByConsumePeriodRequest::getCostUnitCode() const {
+  return costUnitCode_;
+}
+
+void DescribeProductAmortizedCostByConsumePeriodRequest::setCostUnitCode(const std::string &costUnitCode) {
+  costUnitCode_ = costUnitCode;
+  setBodyParameter(std::string("CostUnitCode"), costUnitCode);
+}
+
+std::vector<std::string> DescribeProductAmortizedCostByConsumePeriodRequest::getAmortizationPeriodFilter() const {
+  return amortizationPeriodFilter_;
+}
+
+void DescribeProductAmortizedCostByConsumePeriodRequest::setAmortizationPeriodFilter(const std::vector<std::string> &amortizationPeriodFilter) {
+  amortizationPeriodFilter_ = amortizationPeriodFilter;
+}
+
+std::string DescribeProductAmortizedCostByConsumePeriodRequest::getNextToken() const {
+  return nextToken_;
+}
+
+void DescribeProductAmortizedCostByConsumePeriodRequest::setNextToken(const std::string &nextToken) {
+  nextToken_ = nextToken;
+  setBodyParameter(std::string("NextToken"), nextToken);
+}
+
+std::vector<std::string> DescribeProductAmortizedCostByConsumePeriodRequest::getBillUserIdList() const {
+  return billUserIdList_;
+}
+
+void DescribeProductAmortizedCostByConsumePeriodRequest::setBillUserIdList(const std::vector<std::string> &billUserIdList) {
+  billUserIdList_ = billUserIdList;
+}
+
+int DescribeProductAmortizedCostByConsumePeriodRequest::getMaxResults() const {
+  return maxResults_;
+}
+
+void DescribeProductAmortizedCostByConsumePeriodRequest::setMaxResults(int maxResults) {
+  maxResults_ = maxResults;
+  setBodyParameter(std::string("MaxResults"), std::to_string(maxResults));
+}
+

+ 177 - 0
bssopenapi/src/model/DescribeProductAmortizedCostByConsumePeriodResult.cc

@@ -0,0 +1,177 @@
+/*
+ * 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/model/DescribeProductAmortizedCostByConsumePeriodResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::BssOpenApi;
+using namespace AlibabaCloud::BssOpenApi::Model;
+
+DescribeProductAmortizedCostByConsumePeriodResult::DescribeProductAmortizedCostByConsumePeriodResult() :
+	ServiceResult()
+{}
+
+DescribeProductAmortizedCostByConsumePeriodResult::DescribeProductAmortizedCostByConsumePeriodResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeProductAmortizedCostByConsumePeriodResult::~DescribeProductAmortizedCostByConsumePeriodResult()
+{}
+
+void DescribeProductAmortizedCostByConsumePeriodResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto dataNode = value["Data"];
+	if(!dataNode["NextToken"].isNull())
+		data_.nextToken = dataNode["NextToken"].asString();
+	if(!dataNode["AccountID"].isNull())
+		data_.accountID = dataNode["AccountID"].asString();
+	if(!dataNode["AccountName"].isNull())
+		data_.accountName = dataNode["AccountName"].asString();
+	if(!dataNode["MaxResults"].isNull())
+		data_.maxResults = std::stoi(dataNode["MaxResults"].asString());
+	if(!dataNode["TotalCount"].isNull())
+		data_.totalCount = std::stoi(dataNode["TotalCount"].asString());
+	auto allItemsNode = dataNode["Items"]["Item"];
+	for (auto dataNodeItemsItem : allItemsNode)
+	{
+		Data::Item itemObject;
+		if(!dataNodeItemsItem["ConsumePeriod"].isNull())
+			itemObject.consumePeriod = dataNodeItemsItem["ConsumePeriod"].asString();
+		if(!dataNodeItemsItem["AmortizationStatus"].isNull())
+			itemObject.amortizationStatus = dataNodeItemsItem["AmortizationStatus"].asString();
+		if(!dataNodeItemsItem["AmortizationPeriod"].isNull())
+			itemObject.amortizationPeriod = dataNodeItemsItem["AmortizationPeriod"].asString();
+		if(!dataNodeItemsItem["BillAccountID"].isNull())
+			itemObject.billAccountID = std::stol(dataNodeItemsItem["BillAccountID"].asString());
+		if(!dataNodeItemsItem["BillAccountName"].isNull())
+			itemObject.billAccountName = dataNodeItemsItem["BillAccountName"].asString();
+		if(!dataNodeItemsItem["BillOwnerID"].isNull())
+			itemObject.billOwnerID = std::stol(dataNodeItemsItem["BillOwnerID"].asString());
+		if(!dataNodeItemsItem["BillOwnerName"].isNull())
+			itemObject.billOwnerName = dataNodeItemsItem["BillOwnerName"].asString();
+		if(!dataNodeItemsItem["ProductCode"].isNull())
+			itemObject.productCode = dataNodeItemsItem["ProductCode"].asString();
+		if(!dataNodeItemsItem["ProductName"].isNull())
+			itemObject.productName = dataNodeItemsItem["ProductName"].asString();
+		if(!dataNodeItemsItem["ProductDetailCode"].isNull())
+			itemObject.productDetailCode = dataNodeItemsItem["ProductDetailCode"].asString();
+		if(!dataNodeItemsItem["ProductDetail"].isNull())
+			itemObject.productDetail = dataNodeItemsItem["ProductDetail"].asString();
+		if(!dataNodeItemsItem["BizType"].isNull())
+			itemObject.bizType = dataNodeItemsItem["BizType"].asString();
+		if(!dataNodeItemsItem["SubscriptionType"].isNull())
+			itemObject.subscriptionType = dataNodeItemsItem["SubscriptionType"].asString();
+		if(!dataNodeItemsItem["PretaxGrossAmount"].isNull())
+			itemObject.pretaxGrossAmount = dataNodeItemsItem["PretaxGrossAmount"].asString();
+		if(!dataNodeItemsItem["InvoiceDiscount"].isNull())
+			itemObject.invoiceDiscount = dataNodeItemsItem["InvoiceDiscount"].asString();
+		if(!dataNodeItemsItem["RoundDownDiscount"].isNull())
+			itemObject.roundDownDiscount = dataNodeItemsItem["RoundDownDiscount"].asString();
+		if(!dataNodeItemsItem["PretaxAmount"].isNull())
+			itemObject.pretaxAmount = dataNodeItemsItem["PretaxAmount"].asString();
+		if(!dataNodeItemsItem["DeductedByCashCoupons"].isNull())
+			itemObject.deductedByCashCoupons = dataNodeItemsItem["DeductedByCashCoupons"].asString();
+		if(!dataNodeItemsItem["DeductedByCoupons"].isNull())
+			itemObject.deductedByCoupons = dataNodeItemsItem["DeductedByCoupons"].asString();
+		if(!dataNodeItemsItem["DeductedByPrepaidCard"].isNull())
+			itemObject.deductedByPrepaidCard = dataNodeItemsItem["DeductedByPrepaidCard"].asString();
+		if(!dataNodeItemsItem["ExpenditureAmount"].isNull())
+			itemObject.expenditureAmount = dataNodeItemsItem["ExpenditureAmount"].asString();
+		if(!dataNodeItemsItem["PreviouslyAmortizedPretaxGrossAmount"].isNull())
+			itemObject.previouslyAmortizedPretaxGrossAmount = dataNodeItemsItem["PreviouslyAmortizedPretaxGrossAmount"].asString();
+		if(!dataNodeItemsItem["PreviouslyAmortizedInvoiceDiscount"].isNull())
+			itemObject.previouslyAmortizedInvoiceDiscount = dataNodeItemsItem["PreviouslyAmortizedInvoiceDiscount"].asString();
+		if(!dataNodeItemsItem["PreviouslyAmortizedRoundDownDiscount"].isNull())
+			itemObject.previouslyAmortizedRoundDownDiscount = dataNodeItemsItem["PreviouslyAmortizedRoundDownDiscount"].asString();
+		if(!dataNodeItemsItem["PreviouslyAmortizedPretaxAmount"].isNull())
+			itemObject.previouslyAmortizedPretaxAmount = dataNodeItemsItem["PreviouslyAmortizedPretaxAmount"].asString();
+		if(!dataNodeItemsItem["PreviouslyAmortizedDeductedByCashCoupons"].isNull())
+			itemObject.previouslyAmortizedDeductedByCashCoupons = dataNodeItemsItem["PreviouslyAmortizedDeductedByCashCoupons"].asString();
+		if(!dataNodeItemsItem["PreviouslyAmortizedDeductedByCoupons"].isNull())
+			itemObject.previouslyAmortizedDeductedByCoupons = dataNodeItemsItem["PreviouslyAmortizedDeductedByCoupons"].asString();
+		if(!dataNodeItemsItem["PreviouslyAmortizedDeductedByPrepaidCard"].isNull())
+			itemObject.previouslyAmortizedDeductedByPrepaidCard = dataNodeItemsItem["PreviouslyAmortizedDeductedByPrepaidCard"].asString();
+		if(!dataNodeItemsItem["PreviouslyAmortizedExpenditureAmount"].isNull())
+			itemObject.previouslyAmortizedExpenditureAmount = dataNodeItemsItem["PreviouslyAmortizedExpenditureAmount"].asString();
+		if(!dataNodeItemsItem["CurrentAmortizationPretaxGrossAmount"].isNull())
+			itemObject.currentAmortizationPretaxGrossAmount = dataNodeItemsItem["CurrentAmortizationPretaxGrossAmount"].asString();
+		if(!dataNodeItemsItem["CurrentAmortizationInvoiceDiscount"].isNull())
+			itemObject.currentAmortizationInvoiceDiscount = dataNodeItemsItem["CurrentAmortizationInvoiceDiscount"].asString();
+		if(!dataNodeItemsItem["CurrentAmortizationRoundDownDiscount"].isNull())
+			itemObject.currentAmortizationRoundDownDiscount = dataNodeItemsItem["CurrentAmortizationRoundDownDiscount"].asString();
+		if(!dataNodeItemsItem["CurrentAmortizationPretaxAmount"].isNull())
+			itemObject.currentAmortizationPretaxAmount = dataNodeItemsItem["CurrentAmortizationPretaxAmount"].asString();
+		if(!dataNodeItemsItem["CurrentAmortizationDeductedByCashCoupons"].isNull())
+			itemObject.currentAmortizationDeductedByCashCoupons = dataNodeItemsItem["CurrentAmortizationDeductedByCashCoupons"].asString();
+		if(!dataNodeItemsItem["CurrentAmortizationDeductedByCoupons"].isNull())
+			itemObject.currentAmortizationDeductedByCoupons = dataNodeItemsItem["CurrentAmortizationDeductedByCoupons"].asString();
+		if(!dataNodeItemsItem["CurrentAmortizationDeductedByPrepaidCard"].isNull())
+			itemObject.currentAmortizationDeductedByPrepaidCard = dataNodeItemsItem["CurrentAmortizationDeductedByPrepaidCard"].asString();
+		if(!dataNodeItemsItem["CurrentAmortizationExpenditureAmount"].isNull())
+			itemObject.currentAmortizationExpenditureAmount = dataNodeItemsItem["CurrentAmortizationExpenditureAmount"].asString();
+		if(!dataNodeItemsItem["RemainingAmortizationPretaxGrossAmount"].isNull())
+			itemObject.remainingAmortizationPretaxGrossAmount = dataNodeItemsItem["RemainingAmortizationPretaxGrossAmount"].asString();
+		if(!dataNodeItemsItem["RemainingAmortizationInvoiceDiscount"].isNull())
+			itemObject.remainingAmortizationInvoiceDiscount = dataNodeItemsItem["RemainingAmortizationInvoiceDiscount"].asString();
+		if(!dataNodeItemsItem["RemainingAmortizationRoundDownDiscount"].isNull())
+			itemObject.remainingAmortizationRoundDownDiscount = dataNodeItemsItem["RemainingAmortizationRoundDownDiscount"].asString();
+		if(!dataNodeItemsItem["RemainingAmortizationPretaxAmount"].isNull())
+			itemObject.remainingAmortizationPretaxAmount = dataNodeItemsItem["RemainingAmortizationPretaxAmount"].asString();
+		if(!dataNodeItemsItem["RemainingAmortizationDeductedByCashCoupons"].isNull())
+			itemObject.remainingAmortizationDeductedByCashCoupons = dataNodeItemsItem["RemainingAmortizationDeductedByCashCoupons"].asString();
+		if(!dataNodeItemsItem["RemainingAmortizationDeductedByCoupons"].isNull())
+			itemObject.remainingAmortizationDeductedByCoupons = dataNodeItemsItem["RemainingAmortizationDeductedByCoupons"].asString();
+		if(!dataNodeItemsItem["RemainingAmortizationDeductedByPrepaidCard"].isNull())
+			itemObject.remainingAmortizationDeductedByPrepaidCard = dataNodeItemsItem["RemainingAmortizationDeductedByPrepaidCard"].asString();
+		if(!dataNodeItemsItem["RemainingAmortizationExpenditureAmount"].isNull())
+			itemObject.remainingAmortizationExpenditureAmount = dataNodeItemsItem["RemainingAmortizationExpenditureAmount"].asString();
+		data_.items.push_back(itemObject);
+	}
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+
+}
+
+std::string DescribeProductAmortizedCostByConsumePeriodResult::getMessage()const
+{
+	return message_;
+}
+
+DescribeProductAmortizedCostByConsumePeriodResult::Data DescribeProductAmortizedCostByConsumePeriodResult::getData()const
+{
+	return data_;
+}
+
+std::string DescribeProductAmortizedCostByConsumePeriodResult::getCode()const
+{
+	return code_;
+}
+
+bool DescribeProductAmortizedCostByConsumePeriodResult::getSuccess()const
+{
+	return success_;
+}
+

+ 36 - 0
bssopenapi/src/model/QueryCommodityListRequest.cc

@@ -0,0 +1,36 @@
+/*
+ * 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/model/QueryCommodityListRequest.h>
+
+using AlibabaCloud::BssOpenApi::Model::QueryCommodityListRequest;
+
+QueryCommodityListRequest::QueryCommodityListRequest()
+    : RpcServiceRequest("bssopenapi", "2017-12-14", "QueryCommodityList") {
+  setMethod(HttpRequest::Method::Get);
+}
+
+QueryCommodityListRequest::~QueryCommodityListRequest() {}
+
+std::string QueryCommodityListRequest::getProductCode() const {
+  return productCode_;
+}
+
+void QueryCommodityListRequest::setProductCode(const std::string &productCode) {
+  productCode_ = productCode;
+  setParameter(std::string("ProductCode"), productCode);
+}
+

+ 83 - 0
bssopenapi/src/model/QueryCommodityListResult.cc

@@ -0,0 +1,83 @@
+/*
+ * 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/model/QueryCommodityListResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::BssOpenApi;
+using namespace AlibabaCloud::BssOpenApi::Model;
+
+QueryCommodityListResult::QueryCommodityListResult() :
+	ServiceResult()
+{}
+
+QueryCommodityListResult::QueryCommodityListResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+QueryCommodityListResult::~QueryCommodityListResult()
+{}
+
+void QueryCommodityListResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto dataNode = value["Data"];
+	auto allCommodityListNode = dataNode["CommodityList"]["CommodityDTO"];
+	for (auto dataNodeCommodityListCommodityDTO : allCommodityListNode)
+	{
+		Data::CommodityDTO commodityDTOObject;
+		if(!dataNodeCommodityListCommodityDTO["CommodityCode"].isNull())
+			commodityDTOObject.commodityCode = dataNodeCommodityListCommodityDTO["CommodityCode"].asString();
+		if(!dataNodeCommodityListCommodityDTO["CommodityName"].isNull())
+			commodityDTOObject.commodityName = dataNodeCommodityListCommodityDTO["CommodityName"].asString();
+		if(!dataNodeCommodityListCommodityDTO["ChargeType"].isNull())
+			commodityDTOObject.chargeType = dataNodeCommodityListCommodityDTO["ChargeType"].asString();
+		data_.commodityList.push_back(commodityDTOObject);
+	}
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+
+}
+
+std::string QueryCommodityListResult::getMessage()const
+{
+	return message_;
+}
+
+QueryCommodityListResult::Data QueryCommodityListResult::getData()const
+{
+	return data_;
+}
+
+std::string QueryCommodityListResult::getCode()const
+{
+	return code_;
+}
+
+bool QueryCommodityListResult::getSuccess()const
+{
+	return success_;
+}
+

+ 9 - 9
bssopenapi/src/model/QueryInstanceByTagRequest.cc

@@ -33,6 +33,15 @@ void QueryInstanceByTagRequest::setResourceId(const std::vector<std::string> &re
   resourceId_ = resourceId;
 }
 
+std::string QueryInstanceByTagRequest::getResourceType() const {
+  return resourceType_;
+}
+
+void QueryInstanceByTagRequest::setResourceType(const std::string &resourceType) {
+  resourceType_ = resourceType;
+  setParameter(std::string("ResourceType"), resourceType);
+}
+
 std::vector<QueryInstanceByTagRequest::Tag> QueryInstanceByTagRequest::getTag() const {
   return tag_;
 }
@@ -47,12 +56,3 @@ void QueryInstanceByTagRequest::setTag(const std::vector<QueryInstanceByTagReque
   }
 }
 
-std::string QueryInstanceByTagRequest::getResourceType() const {
-  return resourceType_;
-}
-
-void QueryInstanceByTagRequest::setResourceType(const std::string &resourceType) {
-  resourceType_ = resourceType;
-  setParameter(std::string("ResourceType"), resourceType);
-}
-

+ 0 - 36
bssopenapi/src/model/QueryMonthlyBillRequest.cc

@@ -1,36 +0,0 @@
-/*
- * 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/model/QueryMonthlyBillRequest.h>
-
-using AlibabaCloud::BssOpenApi::Model::QueryMonthlyBillRequest;
-
-QueryMonthlyBillRequest::QueryMonthlyBillRequest()
-    : RpcServiceRequest("bssopenapi", "2017-12-14", "QueryMonthlyBill") {
-  setMethod(HttpRequest::Method::Post);
-}
-
-QueryMonthlyBillRequest::~QueryMonthlyBillRequest() {}
-
-std::string QueryMonthlyBillRequest::getBillingCycle() const {
-  return billingCycle_;
-}
-
-void QueryMonthlyBillRequest::setBillingCycle(const std::string &billingCycle) {
-  billingCycle_ = billingCycle;
-  setParameter(std::string("BillingCycle"), billingCycle);
-}
-

+ 0 - 123
bssopenapi/src/model/QueryMonthlyBillResult.cc

@@ -1,123 +0,0 @@
-/*
- * 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/model/QueryMonthlyBillResult.h>
-#include <json/json.h>
-
-using namespace AlibabaCloud::BssOpenApi;
-using namespace AlibabaCloud::BssOpenApi::Model;
-
-QueryMonthlyBillResult::QueryMonthlyBillResult() :
-	ServiceResult()
-{}
-
-QueryMonthlyBillResult::QueryMonthlyBillResult(const std::string &payload) :
-	ServiceResult()
-{
-	parse(payload);
-}
-
-QueryMonthlyBillResult::~QueryMonthlyBillResult()
-{}
-
-void QueryMonthlyBillResult::parse(const std::string &payload)
-{
-	Json::Reader reader;
-	Json::Value value;
-	reader.parse(payload, value);
-	setRequestId(value["RequestId"].asString());
-	auto dataNode = value["Data"];
-	if(!dataNode["OutstandingAmount"].isNull())
-		data_.outstandingAmount = std::stof(dataNode["OutstandingAmount"].asString());
-	if(!dataNode["BillingCycle"].isNull())
-		data_.billingCycle = dataNode["BillingCycle"].asString();
-	if(!dataNode["TotalOutstandingAmount"].isNull())
-		data_.totalOutstandingAmount = std::stof(dataNode["TotalOutstandingAmount"].asString());
-	if(!dataNode["NewInvoiceAmount"].isNull())
-		data_.newInvoiceAmount = std::stof(dataNode["NewInvoiceAmount"].asString());
-	auto allItemsNode = dataNode["Items"]["Item"];
-	for (auto dataNodeItemsItem : allItemsNode)
-	{
-		Data::Item itemObject;
-		if(!dataNodeItemsItem["PretaxAmount"].isNull())
-			itemObject.pretaxAmount = std::stof(dataNodeItemsItem["PretaxAmount"].asString());
-		if(!dataNodeItemsItem["SolutionCode"].isNull())
-			itemObject.solutionCode = dataNodeItemsItem["SolutionCode"].asString();
-		if(!dataNodeItemsItem["Item"].isNull())
-			itemObject.item = dataNodeItemsItem["Item"].asString();
-		if(!dataNodeItemsItem["Currency"].isNull())
-			itemObject.currency = dataNodeItemsItem["Currency"].asString();
-		if(!dataNodeItemsItem["DeductedByCashCoupons"].isNull())
-			itemObject.deductedByCashCoupons = std::stof(dataNodeItemsItem["DeductedByCashCoupons"].asString());
-		if(!dataNodeItemsItem["SubscriptionType"].isNull())
-			itemObject.subscriptionType = dataNodeItemsItem["SubscriptionType"].asString();
-		if(!dataNodeItemsItem["PaymentCurrency"].isNull())
-			itemObject.paymentCurrency = dataNodeItemsItem["PaymentCurrency"].asString();
-		if(!dataNodeItemsItem["DeductedByPrepaidCard"].isNull())
-			itemObject.deductedByPrepaidCard = std::stof(dataNodeItemsItem["DeductedByPrepaidCard"].asString());
-		if(!dataNodeItemsItem["DeductedByCoupons"].isNull())
-			itemObject.deductedByCoupons = std::stof(dataNodeItemsItem["DeductedByCoupons"].asString());
-		if(!dataNodeItemsItem["PaymentAmount"].isNull())
-			itemObject.paymentAmount = std::stof(dataNodeItemsItem["PaymentAmount"].asString());
-		if(!dataNodeItemsItem["InvoiceDiscount"].isNull())
-			itemObject.invoiceDiscount = std::stof(dataNodeItemsItem["InvoiceDiscount"].asString());
-		if(!dataNodeItemsItem["ProductType"].isNull())
-			itemObject.productType = dataNodeItemsItem["ProductType"].asString();
-		if(!dataNodeItemsItem["OutstandingAmount"].isNull())
-			itemObject.outstandingAmount = std::stof(dataNodeItemsItem["OutstandingAmount"].asString());
-		if(!dataNodeItemsItem["AfterTaxAmount"].isNull())
-			itemObject.afterTaxAmount = std::stof(dataNodeItemsItem["AfterTaxAmount"].asString());
-		if(!dataNodeItemsItem["PretaxGrossAmount"].isNull())
-			itemObject.pretaxGrossAmount = std::stof(dataNodeItemsItem["PretaxGrossAmount"].asString());
-		if(!dataNodeItemsItem["SolutionName"].isNull())
-			itemObject.solutionName = dataNodeItemsItem["SolutionName"].asString();
-		if(!dataNodeItemsItem["Tax"].isNull())
-			itemObject.tax = std::stof(dataNodeItemsItem["Tax"].asString());
-		if(!dataNodeItemsItem["PretaxAmountLocal"].isNull())
-			itemObject.pretaxAmountLocal = std::stof(dataNodeItemsItem["PretaxAmountLocal"].asString());
-		if(!dataNodeItemsItem["ProductCode"].isNull())
-			itemObject.productCode = dataNodeItemsItem["ProductCode"].asString();
-		data_.items.push_back(itemObject);
-	}
-	if(!value["Code"].isNull())
-		code_ = value["Code"].asString();
-	if(!value["Message"].isNull())
-		message_ = value["Message"].asString();
-	if(!value["Success"].isNull())
-		success_ = value["Success"].asString() == "true";
-
-}
-
-std::string QueryMonthlyBillResult::getMessage()const
-{
-	return message_;
-}
-
-QueryMonthlyBillResult::Data QueryMonthlyBillResult::getData()const
-{
-	return data_;
-}
-
-std::string QueryMonthlyBillResult::getCode()const
-{
-	return code_;
-}
-
-bool QueryMonthlyBillResult::getSuccess()const
-{
-	return success_;
-}
-

+ 0 - 90
bssopenapi/src/model/QueryMonthlyInstanceConsumptionRequest.cc

@@ -1,90 +0,0 @@
-/*
- * 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/model/QueryMonthlyInstanceConsumptionRequest.h>
-
-using AlibabaCloud::BssOpenApi::Model::QueryMonthlyInstanceConsumptionRequest;
-
-QueryMonthlyInstanceConsumptionRequest::QueryMonthlyInstanceConsumptionRequest()
-    : RpcServiceRequest("bssopenapi", "2017-12-14", "QueryMonthlyInstanceConsumption") {
-  setMethod(HttpRequest::Method::Post);
-}
-
-QueryMonthlyInstanceConsumptionRequest::~QueryMonthlyInstanceConsumptionRequest() {}
-
-std::string QueryMonthlyInstanceConsumptionRequest::getProductCode() const {
-  return productCode_;
-}
-
-void QueryMonthlyInstanceConsumptionRequest::setProductCode(const std::string &productCode) {
-  productCode_ = productCode;
-  setParameter(std::string("ProductCode"), productCode);
-}
-
-std::string QueryMonthlyInstanceConsumptionRequest::getSubscriptionType() const {
-  return subscriptionType_;
-}
-
-void QueryMonthlyInstanceConsumptionRequest::setSubscriptionType(const std::string &subscriptionType) {
-  subscriptionType_ = subscriptionType;
-  setParameter(std::string("SubscriptionType"), subscriptionType);
-}
-
-std::string QueryMonthlyInstanceConsumptionRequest::getBillingCycle() const {
-  return billingCycle_;
-}
-
-void QueryMonthlyInstanceConsumptionRequest::setBillingCycle(const std::string &billingCycle) {
-  billingCycle_ = billingCycle;
-  setParameter(std::string("BillingCycle"), billingCycle);
-}
-
-long QueryMonthlyInstanceConsumptionRequest::getOwnerId() const {
-  return ownerId_;
-}
-
-void QueryMonthlyInstanceConsumptionRequest::setOwnerId(long ownerId) {
-  ownerId_ = ownerId;
-  setParameter(std::string("OwnerId"), std::to_string(ownerId));
-}
-
-int QueryMonthlyInstanceConsumptionRequest::getPageNum() const {
-  return pageNum_;
-}
-
-void QueryMonthlyInstanceConsumptionRequest::setPageNum(int pageNum) {
-  pageNum_ = pageNum;
-  setParameter(std::string("PageNum"), std::to_string(pageNum));
-}
-
-std::string QueryMonthlyInstanceConsumptionRequest::getProductType() const {
-  return productType_;
-}
-
-void QueryMonthlyInstanceConsumptionRequest::setProductType(const std::string &productType) {
-  productType_ = productType;
-  setParameter(std::string("ProductType"), productType);
-}
-
-int QueryMonthlyInstanceConsumptionRequest::getPageSize() const {
-  return pageSize_;
-}
-
-void QueryMonthlyInstanceConsumptionRequest::setPageSize(int pageSize) {
-  pageSize_ = pageSize;
-  setParameter(std::string("PageSize"), std::to_string(pageSize));
-}
-

+ 0 - 119
bssopenapi/src/model/QueryMonthlyInstanceConsumptionResult.cc

@@ -1,119 +0,0 @@
-/*
- * 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/model/QueryMonthlyInstanceConsumptionResult.h>
-#include <json/json.h>
-
-using namespace AlibabaCloud::BssOpenApi;
-using namespace AlibabaCloud::BssOpenApi::Model;
-
-QueryMonthlyInstanceConsumptionResult::QueryMonthlyInstanceConsumptionResult() :
-	ServiceResult()
-{}
-
-QueryMonthlyInstanceConsumptionResult::QueryMonthlyInstanceConsumptionResult(const std::string &payload) :
-	ServiceResult()
-{
-	parse(payload);
-}
-
-QueryMonthlyInstanceConsumptionResult::~QueryMonthlyInstanceConsumptionResult()
-{}
-
-void QueryMonthlyInstanceConsumptionResult::parse(const std::string &payload)
-{
-	Json::Reader reader;
-	Json::Value value;
-	reader.parse(payload, value);
-	setRequestId(value["RequestId"].asString());
-	auto dataNode = value["Data"];
-	if(!dataNode["PageNum"].isNull())
-		data_.pageNum = std::stoi(dataNode["PageNum"].asString());
-	if(!dataNode["BillingCycle"].isNull())
-		data_.billingCycle = dataNode["BillingCycle"].asString();
-	if(!dataNode["PageSize"].isNull())
-		data_.pageSize = std::stoi(dataNode["PageSize"].asString());
-	if(!dataNode["TotalCount"].isNull())
-		data_.totalCount = std::stoi(dataNode["TotalCount"].asString());
-	auto allItemsNode = dataNode["Items"]["Item"];
-	for (auto dataNodeItemsItem : allItemsNode)
-	{
-		Data::Item itemObject;
-		if(!dataNodeItemsItem["PretaxAmount"].isNull())
-			itemObject.pretaxAmount = std::stof(dataNodeItemsItem["PretaxAmount"].asString());
-		if(!dataNodeItemsItem["DiscountAmount"].isNull())
-			itemObject.discountAmount = std::stof(dataNodeItemsItem["DiscountAmount"].asString());
-		if(!dataNodeItemsItem["PayerAccount"].isNull())
-			itemObject.payerAccount = dataNodeItemsItem["PayerAccount"].asString();
-		if(!dataNodeItemsItem["Tag"].isNull())
-			itemObject.tag = dataNodeItemsItem["Tag"].asString();
-		if(!dataNodeItemsItem["InstanceID"].isNull())
-			itemObject.instanceID = dataNodeItemsItem["InstanceID"].asString();
-		if(!dataNodeItemsItem["Currency"].isNull())
-			itemObject.currency = dataNodeItemsItem["Currency"].asString();
-		if(!dataNodeItemsItem["SubscriptionType"].isNull())
-			itemObject.subscriptionType = dataNodeItemsItem["SubscriptionType"].asString();
-		if(!dataNodeItemsItem["PaymentCurrency"].isNull())
-			itemObject.paymentCurrency = dataNodeItemsItem["PaymentCurrency"].asString();
-		if(!dataNodeItemsItem["OwnerID"].isNull())
-			itemObject.ownerID = dataNodeItemsItem["OwnerID"].asString();
-		if(!dataNodeItemsItem["ProductType"].isNull())
-			itemObject.productType = dataNodeItemsItem["ProductType"].asString();
-		if(!dataNodeItemsItem["Region"].isNull())
-			itemObject.region = dataNodeItemsItem["Region"].asString();
-		if(!dataNodeItemsItem["AfterTaxAmount"].isNull())
-			itemObject.afterTaxAmount = std::stof(dataNodeItemsItem["AfterTaxAmount"].asString());
-		if(!dataNodeItemsItem["PretaxGrossAmount"].isNull())
-			itemObject.pretaxGrossAmount = std::stof(dataNodeItemsItem["PretaxGrossAmount"].asString());
-		if(!dataNodeItemsItem["ResourceGroup"].isNull())
-			itemObject.resourceGroup = dataNodeItemsItem["ResourceGroup"].asString();
-		if(!dataNodeItemsItem["Tax"].isNull())
-			itemObject.tax = std::stof(dataNodeItemsItem["Tax"].asString());
-		if(!dataNodeItemsItem["PretaxAmountLocal"].isNull())
-			itemObject.pretaxAmountLocal = std::stof(dataNodeItemsItem["PretaxAmountLocal"].asString());
-		if(!dataNodeItemsItem["ProductCode"].isNull())
-			itemObject.productCode = dataNodeItemsItem["ProductCode"].asString();
-		data_.items.push_back(itemObject);
-	}
-	if(!value["Code"].isNull())
-		code_ = value["Code"].asString();
-	if(!value["Message"].isNull())
-		message_ = value["Message"].asString();
-	if(!value["Success"].isNull())
-		success_ = value["Success"].asString() == "true";
-
-}
-
-std::string QueryMonthlyInstanceConsumptionResult::getMessage()const
-{
-	return message_;
-}
-
-QueryMonthlyInstanceConsumptionResult::Data QueryMonthlyInstanceConsumptionResult::getData()const
-{
-	return data_;
-}
-
-std::string QueryMonthlyInstanceConsumptionResult::getCode()const
-{
-	return code_;
-}
-
-bool QueryMonthlyInstanceConsumptionResult::getSuccess()const
-{
-	return success_;
-}
-

+ 36 - 0
bssopenapi/src/model/QueryPriceEntityListRequest.cc

@@ -0,0 +1,36 @@
+/*
+ * 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/model/QueryPriceEntityListRequest.h>
+
+using AlibabaCloud::BssOpenApi::Model::QueryPriceEntityListRequest;
+
+QueryPriceEntityListRequest::QueryPriceEntityListRequest()
+    : RpcServiceRequest("bssopenapi", "2017-12-14", "QueryPriceEntityList") {
+  setMethod(HttpRequest::Method::Get);
+}
+
+QueryPriceEntityListRequest::~QueryPriceEntityListRequest() {}
+
+std::string QueryPriceEntityListRequest::getCommodityCode() const {
+  return commodityCode_;
+}
+
+void QueryPriceEntityListRequest::setCommodityCode(const std::string &commodityCode) {
+  commodityCode_ = commodityCode;
+  setParameter(std::string("CommodityCode"), commodityCode);
+}
+

+ 94 - 0
bssopenapi/src/model/QueryPriceEntityListResult.cc

@@ -0,0 +1,94 @@
+/*
+ * 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/model/QueryPriceEntityListResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::BssOpenApi;
+using namespace AlibabaCloud::BssOpenApi::Model;
+
+QueryPriceEntityListResult::QueryPriceEntityListResult() :
+	ServiceResult()
+{}
+
+QueryPriceEntityListResult::QueryPriceEntityListResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+QueryPriceEntityListResult::~QueryPriceEntityListResult()
+{}
+
+void QueryPriceEntityListResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto dataNode = value["Data"];
+	auto allPriceEntityInfoListNode = dataNode["PriceEntityInfoList"]["PriceEntityInfoDTO"];
+	for (auto dataNodePriceEntityInfoListPriceEntityInfoDTO : allPriceEntityInfoListNode)
+	{
+		Data::PriceEntityInfoDTO priceEntityInfoDTOObject;
+		if(!dataNodePriceEntityInfoListPriceEntityInfoDTO["PriceEntityCode"].isNull())
+			priceEntityInfoDTOObject.priceEntityCode = dataNodePriceEntityInfoListPriceEntityInfoDTO["PriceEntityCode"].asString();
+		if(!dataNodePriceEntityInfoListPriceEntityInfoDTO["PriceEntityName"].isNull())
+			priceEntityInfoDTOObject.priceEntityName = dataNodePriceEntityInfoListPriceEntityInfoDTO["PriceEntityName"].asString();
+		auto allPriceFactorListNode = dataNodePriceEntityInfoListPriceEntityInfoDTO["PriceFactorList"]["PriceFactorDTO"];
+		for (auto dataNodePriceEntityInfoListPriceEntityInfoDTOPriceFactorListPriceFactorDTO : allPriceFactorListNode)
+		{
+			Data::PriceEntityInfoDTO::PriceFactorDTO priceFactorListObject;
+			if(!dataNodePriceEntityInfoListPriceEntityInfoDTOPriceFactorListPriceFactorDTO["PriceFactorCode"].isNull())
+				priceFactorListObject.priceFactorCode = dataNodePriceEntityInfoListPriceEntityInfoDTOPriceFactorListPriceFactorDTO["PriceFactorCode"].asString();
+			if(!dataNodePriceEntityInfoListPriceEntityInfoDTOPriceFactorListPriceFactorDTO["PriceFactorName"].isNull())
+				priceFactorListObject.priceFactorName = dataNodePriceEntityInfoListPriceEntityInfoDTOPriceFactorListPriceFactorDTO["PriceFactorName"].asString();
+			auto allPriceFactorValueList = value["PriceFactorValueList"]["PriceFactorValueDTO"];
+			for (auto value : allPriceFactorValueList)
+				priceFactorListObject.priceFactorValueList.push_back(value.asString());
+			priceEntityInfoDTOObject.priceFactorList.push_back(priceFactorListObject);
+		}
+		data_.priceEntityInfoList.push_back(priceEntityInfoDTOObject);
+	}
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
+
+}
+
+std::string QueryPriceEntityListResult::getMessage()const
+{
+	return message_;
+}
+
+QueryPriceEntityListResult::Data QueryPriceEntityListResult::getData()const
+{
+	return data_;
+}
+
+std::string QueryPriceEntityListResult::getCode()const
+{
+	return code_;
+}
+
+bool QueryPriceEntityListResult::getSuccess()const
+{
+	return success_;
+}
+

+ 2 - 0
bssopenapi/src/model/QueryResourcePackageInstancesResult.cc

@@ -76,6 +76,8 @@ void QueryResourcePackageInstancesResult::parse(const std::string &payload)
 			instanceObject.totalAmountUnit = dataNodeInstancesInstance["TotalAmountUnit"].asString();
 		if(!dataNodeInstancesInstance["RemainingAmount"].isNull())
 			instanceObject.remainingAmount = dataNodeInstancesInstance["RemainingAmount"].asString();
+		if(!dataNodeInstancesInstance["CommodityCode"].isNull())
+			instanceObject.commodityCode = dataNodeInstancesInstance["CommodityCode"].asString();
 		auto allApplicableProducts = value["ApplicableProducts"]["Product"];
 		for (auto value : allApplicableProducts)
 			instanceObject.applicableProducts.push_back(value.asString());

+ 117 - 0
bssopenapi/src/model/QuerySavingsPlansDiscountRequest.cc

@@ -0,0 +1,117 @@
+/*
+ * 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/model/QuerySavingsPlansDiscountRequest.h>
+
+using AlibabaCloud::BssOpenApi::Model::QuerySavingsPlansDiscountRequest;
+
+QuerySavingsPlansDiscountRequest::QuerySavingsPlansDiscountRequest()
+    : RpcServiceRequest("bssopenapi", "2017-12-14", "QuerySavingsPlansDiscount") {
+  setMethod(HttpRequest::Method::Get);
+}
+
+QuerySavingsPlansDiscountRequest::~QuerySavingsPlansDiscountRequest() {}
+
+std::string QuerySavingsPlansDiscountRequest::getCommodityCode() const {
+  return commodityCode_;
+}
+
+void QuerySavingsPlansDiscountRequest::setCommodityCode(const std::string &commodityCode) {
+  commodityCode_ = commodityCode;
+  setParameter(std::string("CommodityCode"), commodityCode);
+}
+
+std::string QuerySavingsPlansDiscountRequest::getLocale() const {
+  return locale_;
+}
+
+void QuerySavingsPlansDiscountRequest::setLocale(const std::string &locale) {
+  locale_ = locale;
+  setParameter(std::string("Locale"), locale);
+}
+
+int QuerySavingsPlansDiscountRequest::getPageNum() const {
+  return pageNum_;
+}
+
+void QuerySavingsPlansDiscountRequest::setPageNum(int pageNum) {
+  pageNum_ = pageNum;
+  setParameter(std::string("PageNum"), std::to_string(pageNum));
+}
+
+std::string QuerySavingsPlansDiscountRequest::getCycle() const {
+  return cycle_;
+}
+
+void QuerySavingsPlansDiscountRequest::setCycle(const std::string &cycle) {
+  cycle_ = cycle;
+  setParameter(std::string("Cycle"), cycle);
+}
+
+std::string QuerySavingsPlansDiscountRequest::getSpec() const {
+  return spec_;
+}
+
+void QuerySavingsPlansDiscountRequest::setSpec(const std::string &spec) {
+  spec_ = spec;
+  setParameter(std::string("Spec"), spec);
+}
+
+std::string QuerySavingsPlansDiscountRequest::getModuleCode() const {
+  return moduleCode_;
+}
+
+void QuerySavingsPlansDiscountRequest::setModuleCode(const std::string &moduleCode) {
+  moduleCode_ = moduleCode;
+  setParameter(std::string("ModuleCode"), moduleCode);
+}
+
+std::string QuerySavingsPlansDiscountRequest::getPayMode() const {
+  return payMode_;
+}
+
+void QuerySavingsPlansDiscountRequest::setPayMode(const std::string &payMode) {
+  payMode_ = payMode;
+  setParameter(std::string("PayMode"), payMode);
+}
+
+int QuerySavingsPlansDiscountRequest::getPageSize() const {
+  return pageSize_;
+}
+
+void QuerySavingsPlansDiscountRequest::setPageSize(int pageSize) {
+  pageSize_ = pageSize;
+  setParameter(std::string("PageSize"), std::to_string(pageSize));
+}
+
+std::string QuerySavingsPlansDiscountRequest::getSpnType() const {
+  return spnType_;
+}
+
+void QuerySavingsPlansDiscountRequest::setSpnType(const std::string &spnType) {
+  spnType_ = spnType;
+  setParameter(std::string("SpnType"), spnType);
+}
+
+std::string QuerySavingsPlansDiscountRequest::getRegion() const {
+  return region_;
+}
+
+void QuerySavingsPlansDiscountRequest::setRegion(const std::string &region) {
+  region_ = region;
+  setParameter(std::string("Region"), region);
+}
+

+ 97 - 0
bssopenapi/src/model/QuerySavingsPlansDiscountResult.cc

@@ -0,0 +1,97 @@
+/*
+ * 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/model/QuerySavingsPlansDiscountResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::BssOpenApi;
+using namespace AlibabaCloud::BssOpenApi::Model;
+
+QuerySavingsPlansDiscountResult::QuerySavingsPlansDiscountResult() :
+	ServiceResult()
+{}
+
+QuerySavingsPlansDiscountResult::QuerySavingsPlansDiscountResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+QuerySavingsPlansDiscountResult::~QuerySavingsPlansDiscountResult()
+{}
+
+void QuerySavingsPlansDiscountResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto dataNode = value["Data"];
+	if(!dataNode["HostId"].isNull())
+		data_.hostId = dataNode["HostId"].asString();
+	auto allItemsNode = dataNode["Items"]["SavingsPlansDiscountResponse"];
+	for (auto dataNodeItemsSavingsPlansDiscountResponse : allItemsNode)
+	{
+		Data::SavingsPlansDiscountResponse savingsPlansDiscountResponseObject;
+		if(!dataNodeItemsSavingsPlansDiscountResponse["CommodityName"].isNull())
+			savingsPlansDiscountResponseObject.commodityName = dataNodeItemsSavingsPlansDiscountResponse["CommodityName"].asString();
+		if(!dataNodeItemsSavingsPlansDiscountResponse["ModuleName"].isNull())
+			savingsPlansDiscountResponseObject.moduleName = dataNodeItemsSavingsPlansDiscountResponse["ModuleName"].asString();
+		if(!dataNodeItemsSavingsPlansDiscountResponse["SpnType"].isNull())
+			savingsPlansDiscountResponseObject.spnType = dataNodeItemsSavingsPlansDiscountResponse["SpnType"].asString();
+		if(!dataNodeItemsSavingsPlansDiscountResponse["PayMode"].isNull())
+			savingsPlansDiscountResponseObject.payMode = dataNodeItemsSavingsPlansDiscountResponse["PayMode"].asString();
+		if(!dataNodeItemsSavingsPlansDiscountResponse["Cycle"].isNull())
+			savingsPlansDiscountResponseObject.cycle = dataNodeItemsSavingsPlansDiscountResponse["Cycle"].asString();
+		if(!dataNodeItemsSavingsPlansDiscountResponse["Region"].isNull())
+			savingsPlansDiscountResponseObject.region = dataNodeItemsSavingsPlansDiscountResponse["Region"].asString();
+		if(!dataNodeItemsSavingsPlansDiscountResponse["Spec"].isNull())
+			savingsPlansDiscountResponseObject.spec = dataNodeItemsSavingsPlansDiscountResponse["Spec"].asString();
+		if(!dataNodeItemsSavingsPlansDiscountResponse["DiscountRate"].isNull())
+			savingsPlansDiscountResponseObject.discountRate = dataNodeItemsSavingsPlansDiscountResponse["DiscountRate"].asString();
+		if(!dataNodeItemsSavingsPlansDiscountResponse["ContractDiscountRate"].isNull())
+			savingsPlansDiscountResponseObject.contractDiscountRate = dataNodeItemsSavingsPlansDiscountResponse["ContractDiscountRate"].asString();
+		data_.items.push_back(savingsPlansDiscountResponseObject);
+	}
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
+
+}
+
+std::string QuerySavingsPlansDiscountResult::getMessage()const
+{
+	return message_;
+}
+
+QuerySavingsPlansDiscountResult::Data QuerySavingsPlansDiscountResult::getData()const
+{
+	return data_;
+}
+
+std::string QuerySavingsPlansDiscountResult::getCode()const
+{
+	return code_;
+}
+
+bool QuerySavingsPlansDiscountResult::getSuccess()const
+{
+	return success_;
+}
+

+ 2 - 0
bssopenapi/src/model/QuerySavingsPlansInstanceResult.cc

@@ -88,6 +88,8 @@ void QuerySavingsPlansInstanceResult::parse(const std::string &payload)
 			savingsPlansDetailResponseObject.poolValue = dataNodeItemsSavingsPlansDetailResponse["PoolValue"].asString();
 		if(!dataNodeItemsSavingsPlansDetailResponse["PayMode"].isNull())
 			savingsPlansDetailResponseObject.payMode = dataNodeItemsSavingsPlansDetailResponse["PayMode"].asString();
+		if(!dataNodeItemsSavingsPlansDetailResponse["DeductCycleType"].isNull())
+			savingsPlansDetailResponseObject.deductCycleType = dataNodeItemsSavingsPlansDetailResponse["DeductCycleType"].asString();
 		auto allTagsNode = dataNodeItemsSavingsPlansDetailResponse["Tags"]["Tag"];
 		for (auto dataNodeItemsSavingsPlansDetailResponseTagsTag : allTagsNode)
 		{

+ 0 - 126
bssopenapi/src/model/QuerySettlementBillRequest.cc

@@ -1,126 +0,0 @@
-/*
- * 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/model/QuerySettlementBillRequest.h>
-
-using AlibabaCloud::BssOpenApi::Model::QuerySettlementBillRequest;
-
-QuerySettlementBillRequest::QuerySettlementBillRequest()
-    : RpcServiceRequest("bssopenapi", "2017-12-14", "QuerySettlementBill") {
-  setMethod(HttpRequest::Method::Post);
-}
-
-QuerySettlementBillRequest::~QuerySettlementBillRequest() {}
-
-std::string QuerySettlementBillRequest::getProductCode() const {
-  return productCode_;
-}
-
-void QuerySettlementBillRequest::setProductCode(const std::string &productCode) {
-  productCode_ = productCode;
-  setParameter(std::string("ProductCode"), productCode);
-}
-
-bool QuerySettlementBillRequest::getIsHideZeroCharge() const {
-  return isHideZeroCharge_;
-}
-
-void QuerySettlementBillRequest::setIsHideZeroCharge(bool isHideZeroCharge) {
-  isHideZeroCharge_ = isHideZeroCharge;
-  setParameter(std::string("IsHideZeroCharge"), isHideZeroCharge ? "true" : "false");
-}
-
-std::string QuerySettlementBillRequest::getSubscriptionType() const {
-  return subscriptionType_;
-}
-
-void QuerySettlementBillRequest::setSubscriptionType(const std::string &subscriptionType) {
-  subscriptionType_ = subscriptionType;
-  setParameter(std::string("SubscriptionType"), subscriptionType);
-}
-
-std::string QuerySettlementBillRequest::getEndTime() const {
-  return endTime_;
-}
-
-void QuerySettlementBillRequest::setEndTime(const std::string &endTime) {
-  endTime_ = endTime;
-  setParameter(std::string("EndTime"), endTime);
-}
-
-std::string QuerySettlementBillRequest::getBillingCycle() const {
-  return billingCycle_;
-}
-
-void QuerySettlementBillRequest::setBillingCycle(const std::string &billingCycle) {
-  billingCycle_ = billingCycle;
-  setParameter(std::string("BillingCycle"), billingCycle);
-}
-
-std::string QuerySettlementBillRequest::getStartTime() const {
-  return startTime_;
-}
-
-void QuerySettlementBillRequest::setStartTime(const std::string &startTime) {
-  startTime_ = startTime;
-  setParameter(std::string("StartTime"), startTime);
-}
-
-long QuerySettlementBillRequest::getOwnerId() const {
-  return ownerId_;
-}
-
-void QuerySettlementBillRequest::setOwnerId(long ownerId) {
-  ownerId_ = ownerId;
-  setParameter(std::string("OwnerId"), std::to_string(ownerId));
-}
-
-int QuerySettlementBillRequest::getPageNum() const {
-  return pageNum_;
-}
-
-void QuerySettlementBillRequest::setPageNum(int pageNum) {
-  pageNum_ = pageNum;
-  setParameter(std::string("PageNum"), std::to_string(pageNum));
-}
-
-std::string QuerySettlementBillRequest::getType() const {
-  return type_;
-}
-
-void QuerySettlementBillRequest::setType(const std::string &type) {
-  type_ = type;
-  setParameter(std::string("Type"), type);
-}
-
-std::string QuerySettlementBillRequest::getProductType() const {
-  return productType_;
-}
-
-void QuerySettlementBillRequest::setProductType(const std::string &productType) {
-  productType_ = productType;
-  setParameter(std::string("ProductType"), productType);
-}
-
-int QuerySettlementBillRequest::getPageSize() const {
-  return pageSize_;
-}
-
-void QuerySettlementBillRequest::setPageSize(int pageSize) {
-  pageSize_ = pageSize;
-  setParameter(std::string("PageSize"), std::to_string(pageSize));
-}
-

+ 0 - 171
bssopenapi/src/model/QuerySettlementBillResult.cc

@@ -1,171 +0,0 @@
-/*
- * 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/model/QuerySettlementBillResult.h>
-#include <json/json.h>
-
-using namespace AlibabaCloud::BssOpenApi;
-using namespace AlibabaCloud::BssOpenApi::Model;
-
-QuerySettlementBillResult::QuerySettlementBillResult() :
-	ServiceResult()
-{}
-
-QuerySettlementBillResult::QuerySettlementBillResult(const std::string &payload) :
-	ServiceResult()
-{
-	parse(payload);
-}
-
-QuerySettlementBillResult::~QuerySettlementBillResult()
-{}
-
-void QuerySettlementBillResult::parse(const std::string &payload)
-{
-	Json::Reader reader;
-	Json::Value value;
-	reader.parse(payload, value);
-	setRequestId(value["RequestId"].asString());
-	auto dataNode = value["Data"];
-	if(!dataNode["PageNum"].isNull())
-		data_.pageNum = std::stoi(dataNode["PageNum"].asString());
-	if(!dataNode["BillingCycle"].isNull())
-		data_.billingCycle = dataNode["BillingCycle"].asString();
-	if(!dataNode["PageSize"].isNull())
-		data_.pageSize = std::stoi(dataNode["PageSize"].asString());
-	if(!dataNode["TotalCount"].isNull())
-		data_.totalCount = std::stoi(dataNode["TotalCount"].asString());
-	auto allItemsNode = dataNode["Items"]["Item"];
-	for (auto dataNodeItemsItem : allItemsNode)
-	{
-		Data::Item itemObject;
-		if(!dataNodeItemsItem["Status"].isNull())
-			itemObject.status = dataNodeItemsItem["Status"].asString();
-		if(!dataNodeItemsItem["InvoiceNo"].isNull())
-			itemObject.invoiceNo = dataNodeItemsItem["InvoiceNo"].asString();
-		if(!dataNodeItemsItem["BillID"].isNull())
-			itemObject.billID = dataNodeItemsItem["BillID"].asString();
-		if(!dataNodeItemsItem["CreateTime"].isNull())
-			itemObject.createTime = dataNodeItemsItem["CreateTime"].asString();
-		if(!dataNodeItemsItem["Item"].isNull())
-			itemObject.item = dataNodeItemsItem["Item"].asString();
-		if(!dataNodeItemsItem["Seller"].isNull())
-			itemObject.seller = dataNodeItemsItem["Seller"].asString();
-		if(!dataNodeItemsItem["Currency"].isNull())
-			itemObject.currency = dataNodeItemsItem["Currency"].asString();
-		if(!dataNodeItemsItem["ChargeDiscount"].isNull())
-			itemObject.chargeDiscount = std::stof(dataNodeItemsItem["ChargeDiscount"].asString());
-		if(!dataNodeItemsItem["DeductedByCashCoupons"].isNull())
-			itemObject.deductedByCashCoupons = std::stof(dataNodeItemsItem["DeductedByCashCoupons"].asString());
-		if(!dataNodeItemsItem["Config"].isNull())
-			itemObject.config = dataNodeItemsItem["Config"].asString();
-		if(!dataNodeItemsItem["SubscriptionType"].isNull())
-			itemObject.subscriptionType = dataNodeItemsItem["SubscriptionType"].asString();
-		if(!dataNodeItemsItem["UsageStartTime"].isNull())
-			itemObject.usageStartTime = dataNodeItemsItem["UsageStartTime"].asString();
-		if(!dataNodeItemsItem["UsageEndTime"].isNull())
-			itemObject.usageEndTime = dataNodeItemsItem["UsageEndTime"].asString();
-		if(!dataNodeItemsItem["DeductedByCoupons"].isNull())
-			itemObject.deductedByCoupons = std::stof(dataNodeItemsItem["DeductedByCoupons"].asString());
-		if(!dataNodeItemsItem["Region"].isNull())
-			itemObject.region = dataNodeItemsItem["Region"].asString();
-		if(!dataNodeItemsItem["OutstandingAmount"].isNull())
-			itemObject.outstandingAmount = std::stof(dataNodeItemsItem["OutstandingAmount"].asString());
-		if(!dataNodeItemsItem["AfterTaxAmount"].isNull())
-			itemObject.afterTaxAmount = std::stof(dataNodeItemsItem["AfterTaxAmount"].asString());
-		if(!dataNodeItemsItem["PaymentTime"].isNull())
-			itemObject.paymentTime = dataNodeItemsItem["PaymentTime"].asString();
-		if(!dataNodeItemsItem["SolutionID"].isNull())
-			itemObject.solutionID = dataNodeItemsItem["SolutionID"].asString();
-		if(!dataNodeItemsItem["OrderType"].isNull())
-			itemObject.orderType = dataNodeItemsItem["OrderType"].asString();
-		if(!dataNodeItemsItem["ClearedTime"].isNull())
-			itemObject.clearedTime = dataNodeItemsItem["ClearedTime"].asString();
-		if(!dataNodeItemsItem["Quantity"].isNull())
-			itemObject.quantity = dataNodeItemsItem["Quantity"].asString();
-		if(!dataNodeItemsItem["Tax"].isNull())
-			itemObject.tax = std::stof(dataNodeItemsItem["Tax"].asString());
-		if(!dataNodeItemsItem["PretaxAmountLocal"].isNull())
-			itemObject.pretaxAmountLocal = std::stof(dataNodeItemsItem["PretaxAmountLocal"].asString());
-		if(!dataNodeItemsItem["PretaxAmount"].isNull())
-			itemObject.pretaxAmount = std::stof(dataNodeItemsItem["PretaxAmount"].asString());
-		if(!dataNodeItemsItem["LinkedCustomerOrderID"].isNull())
-			itemObject.linkedCustomerOrderID = dataNodeItemsItem["LinkedCustomerOrderID"].asString();
-		if(!dataNodeItemsItem["AccountDiscount"].isNull())
-			itemObject.accountDiscount = std::stof(dataNodeItemsItem["AccountDiscount"].asString());
-		if(!dataNodeItemsItem["RecordID"].isNull())
-			itemObject.recordID = dataNodeItemsItem["RecordID"].asString();
-		if(!dataNodeItemsItem["PayerAccount"].isNull())
-			itemObject.payerAccount = dataNodeItemsItem["PayerAccount"].asString();
-		if(!dataNodeItemsItem["Promotion"].isNull())
-			itemObject.promotion = dataNodeItemsItem["Promotion"].asString();
-		if(!dataNodeItemsItem["OriginalOrderID"].isNull())
-			itemObject.originalOrderID = dataNodeItemsItem["OriginalOrderID"].asString();
-		if(!dataNodeItemsItem["PreviousBillingCycleBalance"].isNull())
-			itemObject.previousBillingCycleBalance = std::stof(dataNodeItemsItem["PreviousBillingCycleBalance"].asString());
-		if(!dataNodeItemsItem["MybankPaymentAmount"].isNull())
-			itemObject.mybankPaymentAmount = std::stof(dataNodeItemsItem["MybankPaymentAmount"].asString());
-		if(!dataNodeItemsItem["PaymentCurrency"].isNull())
-			itemObject.paymentCurrency = dataNodeItemsItem["PaymentCurrency"].asString();
-		if(!dataNodeItemsItem["OrderID"].isNull())
-			itemObject.orderID = dataNodeItemsItem["OrderID"].asString();
-		if(!dataNodeItemsItem["OwnerID"].isNull())
-			itemObject.ownerID = dataNodeItemsItem["OwnerID"].asString();
-		if(!dataNodeItemsItem["DeductedByPrepaidCard"].isNull())
-			itemObject.deductedByPrepaidCard = std::stof(dataNodeItemsItem["DeductedByPrepaidCard"].asString());
-		if(!dataNodeItemsItem["PaymentAmount"].isNull())
-			itemObject.paymentAmount = std::stof(dataNodeItemsItem["PaymentAmount"].asString());
-		if(!dataNodeItemsItem["ProductType"].isNull())
-			itemObject.productType = dataNodeItemsItem["ProductType"].asString();
-		if(!dataNodeItemsItem["PretaxGrossAmount"].isNull())
-			itemObject.pretaxGrossAmount = std::stof(dataNodeItemsItem["PretaxGrossAmount"].asString());
-		if(!dataNodeItemsItem["SuborderID"].isNull())
-			itemObject.suborderID = dataNodeItemsItem["SuborderID"].asString();
-		if(!dataNodeItemsItem["SolutionName"].isNull())
-			itemObject.solutionName = dataNodeItemsItem["SolutionName"].asString();
-		if(!dataNodeItemsItem["ProductCode"].isNull())
-			itemObject.productCode = dataNodeItemsItem["ProductCode"].asString();
-		data_.items.push_back(itemObject);
-	}
-	if(!value["Code"].isNull())
-		code_ = value["Code"].asString();
-	if(!value["Message"].isNull())
-		message_ = value["Message"].asString();
-	if(!value["Success"].isNull())
-		success_ = value["Success"].asString() == "true";
-
-}
-
-std::string QuerySettlementBillResult::getMessage()const
-{
-	return message_;
-}
-
-QuerySettlementBillResult::Data QuerySettlementBillResult::getData()const
-{
-	return data_;
-}
-
-std::string QuerySettlementBillResult::getCode()const
-{
-	return code_;
-}
-
-bool QuerySettlementBillResult::getSuccess()const
-{
-	return success_;
-}
-

+ 76 - 0
bssopenapi/src/model/QuerySkuPriceListRequest.cc

@@ -0,0 +1,76 @@
+/*
+ * 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/model/QuerySkuPriceListRequest.h>
+
+using AlibabaCloud::BssOpenApi::Model::QuerySkuPriceListRequest;
+
+QuerySkuPriceListRequest::QuerySkuPriceListRequest()
+    : RpcServiceRequest("bssopenapi", "2017-12-14", "QuerySkuPriceList") {
+  setMethod(HttpRequest::Method::Get);
+}
+
+QuerySkuPriceListRequest::~QuerySkuPriceListRequest() {}
+
+std::string QuerySkuPriceListRequest::getNextPageToken() const {
+  return nextPageToken_;
+}
+
+void QuerySkuPriceListRequest::setNextPageToken(const std::string &nextPageToken) {
+  nextPageToken_ = nextPageToken;
+  setParameter(std::string("NextPageToken"), nextPageToken);
+}
+
+std::string QuerySkuPriceListRequest::getCommodityCode() const {
+  return commodityCode_;
+}
+
+void QuerySkuPriceListRequest::setCommodityCode(const std::string &commodityCode) {
+  commodityCode_ = commodityCode;
+  setParameter(std::string("CommodityCode"), commodityCode);
+}
+
+std::map<std::string, QuerySkuPriceListRequest::std::vector<std::string>> QuerySkuPriceListRequest::getPriceFactorConditionMap() const {
+  return priceFactorConditionMap_;
+}
+
+void QuerySkuPriceListRequest::setPriceFactorConditionMap(const std::map<std::string, QuerySkuPriceListRequest::std::vector<std::string>> &priceFactorConditionMap) {
+  priceFactorConditionMap_ = priceFactorConditionMap;
+  for(auto const &iter1 : priceFactorConditionMap) {
+    for(int dep2 = 0; dep2 != iter1.second.size(); dep2++) {
+      setParameter(std::string("PriceFactorConditionMap") + "." + iter1.first + "." + std::to_string(dep2 + 1), iter1.second[dep2]);
+    }
+  }
+}
+
+std::string QuerySkuPriceListRequest::getPriceEntityCode() const {
+  return priceEntityCode_;
+}
+
+void QuerySkuPriceListRequest::setPriceEntityCode(const std::string &priceEntityCode) {
+  priceEntityCode_ = priceEntityCode;
+  setParameter(std::string("PriceEntityCode"), priceEntityCode);
+}
+
+int QuerySkuPriceListRequest::getPageSize() const {
+  return pageSize_;
+}
+
+void QuerySkuPriceListRequest::setPageSize(int pageSize) {
+  pageSize_ = pageSize;
+  setParameter(std::string("PageSize"), std::to_string(pageSize));
+}
+

+ 120 - 0
bssopenapi/src/model/QuerySkuPriceListResult.cc

@@ -0,0 +1,120 @@
+/*
+ * 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/model/QuerySkuPriceListResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::BssOpenApi;
+using namespace AlibabaCloud::BssOpenApi::Model;
+
+QuerySkuPriceListResult::QuerySkuPriceListResult() :
+	ServiceResult()
+{}
+
+QuerySkuPriceListResult::QuerySkuPriceListResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+QuerySkuPriceListResult::~QuerySkuPriceListResult()
+{}
+
+void QuerySkuPriceListResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto dataNode = value["Data"];
+	auto skuPricePageNode = dataNode["SkuPricePage"];
+	if(!skuPricePageNode["TotalCount"].isNull())
+		data_.skuPricePage.totalCount = std::stoi(skuPricePageNode["TotalCount"].asString());
+	if(!skuPricePageNode["NextPageToken"].isNull())
+		data_.skuPricePage.nextPageToken = skuPricePageNode["NextPageToken"].asString();
+	auto allSkuPriceListNode = skuPricePageNode["SkuPriceList"]["SkuPricePageDTO"];
+	for (auto skuPricePageNodeSkuPriceListSkuPricePageDTO : allSkuPriceListNode)
+	{
+		Data::SkuPricePage::SkuPricePageDTO skuPricePageDTOObject;
+		if(!skuPricePageNodeSkuPriceListSkuPricePageDTO["SkuCode"].isNull())
+			skuPricePageDTOObject.skuCode = skuPricePageNodeSkuPriceListSkuPricePageDTO["SkuCode"].asString();
+		if(!skuPricePageNodeSkuPriceListSkuPricePageDTO["SkuFactorMap"].isNull())
+			skuPricePageDTOObject.skuFactorMap = skuPricePageNodeSkuPriceListSkuPricePageDTO["SkuFactorMap"].asString();
+		auto allCskuPriceListNode = skuPricePageNodeSkuPriceListSkuPricePageDTO["CskuPriceList"]["CSkuPriceDTO"];
+		for (auto skuPricePageNodeSkuPriceListSkuPricePageDTOCskuPriceListCSkuPriceDTO : allCskuPriceListNode)
+		{
+			Data::SkuPricePage::SkuPricePageDTO::CSkuPriceDTO cskuPriceListObject;
+			if(!skuPricePageNodeSkuPriceListSkuPricePageDTOCskuPriceListCSkuPriceDTO["CskuCode"].isNull())
+				cskuPriceListObject.cskuCode = skuPricePageNodeSkuPriceListSkuPricePageDTOCskuPriceListCSkuPriceDTO["CskuCode"].asString();
+			if(!skuPricePageNodeSkuPriceListSkuPricePageDTOCskuPriceListCSkuPriceDTO["Currency"].isNull())
+				cskuPriceListObject.currency = skuPricePageNodeSkuPriceListSkuPricePageDTOCskuPriceListCSkuPriceDTO["Currency"].asString();
+			if(!skuPricePageNodeSkuPriceListSkuPricePageDTOCskuPriceListCSkuPriceDTO["UsageUnit"].isNull())
+				cskuPriceListObject.usageUnit = skuPricePageNodeSkuPriceListSkuPricePageDTOCskuPriceListCSkuPriceDTO["UsageUnit"].asString();
+			if(!skuPricePageNodeSkuPriceListSkuPricePageDTOCskuPriceListCSkuPriceDTO["PriceType"].isNull())
+				cskuPriceListObject.priceType = skuPricePageNodeSkuPriceListSkuPricePageDTOCskuPriceListCSkuPriceDTO["PriceType"].asString();
+			if(!skuPricePageNodeSkuPriceListSkuPricePageDTOCskuPriceListCSkuPriceDTO["PriceMode"].isNull())
+				cskuPriceListObject.priceMode = skuPricePageNodeSkuPriceListSkuPricePageDTOCskuPriceListCSkuPriceDTO["PriceMode"].asString();
+			if(!skuPricePageNodeSkuPriceListSkuPricePageDTOCskuPriceListCSkuPriceDTO["Price"].isNull())
+				cskuPriceListObject.price = skuPricePageNodeSkuPriceListSkuPricePageDTOCskuPriceListCSkuPriceDTO["Price"].asString();
+			if(!skuPricePageNodeSkuPriceListSkuPricePageDTOCskuPriceListCSkuPriceDTO["PriceUnit"].isNull())
+				cskuPriceListObject.priceUnit = skuPricePageNodeSkuPriceListSkuPricePageDTOCskuPriceListCSkuPriceDTO["PriceUnit"].asString();
+			auto allRangeListNode = skuPricePageNodeSkuPriceListSkuPricePageDTOCskuPriceListCSkuPriceDTO["RangeList"]["RangeDTO"];
+			for (auto skuPricePageNodeSkuPriceListSkuPricePageDTOCskuPriceListCSkuPriceDTORangeListRangeDTO : allRangeListNode)
+			{
+				Data::SkuPricePage::SkuPricePageDTO::CSkuPriceDTO::RangeDTO rangeListObject;
+				if(!skuPricePageNodeSkuPriceListSkuPricePageDTOCskuPriceListCSkuPriceDTORangeListRangeDTO["FactorCode"].isNull())
+					rangeListObject.factorCode = skuPricePageNodeSkuPriceListSkuPricePageDTOCskuPriceListCSkuPriceDTORangeListRangeDTO["FactorCode"].asString();
+				if(!skuPricePageNodeSkuPriceListSkuPricePageDTOCskuPriceListCSkuPriceDTORangeListRangeDTO["Min"].isNull())
+					rangeListObject.min = skuPricePageNodeSkuPriceListSkuPricePageDTOCskuPriceListCSkuPriceDTORangeListRangeDTO["Min"].asString();
+				if(!skuPricePageNodeSkuPriceListSkuPricePageDTOCskuPriceListCSkuPriceDTORangeListRangeDTO["Max"].isNull())
+					rangeListObject.max = skuPricePageNodeSkuPriceListSkuPricePageDTOCskuPriceListCSkuPriceDTORangeListRangeDTO["Max"].asString();
+				if(!skuPricePageNodeSkuPriceListSkuPricePageDTOCskuPriceListCSkuPriceDTORangeListRangeDTO["Type"].isNull())
+					rangeListObject.type = skuPricePageNodeSkuPriceListSkuPricePageDTOCskuPriceListCSkuPriceDTORangeListRangeDTO["Type"].asString();
+				cskuPriceListObject.rangeList.push_back(rangeListObject);
+			}
+			skuPricePageDTOObject.cskuPriceList.push_back(cskuPriceListObject);
+		}
+		data_.skuPricePage.skuPriceList.push_back(skuPricePageDTOObject);
+	}
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
+
+}
+
+std::string QuerySkuPriceListResult::getMessage()const
+{
+	return message_;
+}
+
+QuerySkuPriceListResult::Data QuerySkuPriceListResult::getData()const
+{
+	return data_;
+}
+
+std::string QuerySkuPriceListResult::getCode()const
+{
+	return code_;
+}
+
+bool QuerySkuPriceListResult::getSuccess()const
+{
+	return success_;
+}
+

+ 9 - 0
bssopenapi/src/model/SetResellerUserStatusRequest.cc

@@ -25,6 +25,15 @@ SetResellerUserStatusRequest::SetResellerUserStatusRequest()
 
 SetResellerUserStatusRequest::~SetResellerUserStatusRequest() {}
 
+std::string SetResellerUserStatusRequest::getStopMode() const {
+  return stopMode_;
+}
+
+void SetResellerUserStatusRequest::setStopMode(const std::string &stopMode) {
+  stopMode_ = stopMode;
+  setParameter(std::string("StopMode"), stopMode);
+}
+
 std::string SetResellerUserStatusRequest::getOwnerId() const {
   return ownerId_;
 }

+ 9 - 9
bssopenapi/src/model/TagResourcesRequest.cc

@@ -33,6 +33,15 @@ void TagResourcesRequest::setResourceId(const std::vector<std::string> &resource
   resourceId_ = resourceId;
 }
 
+std::string TagResourcesRequest::getResourceType() const {
+  return resourceType_;
+}
+
+void TagResourcesRequest::setResourceType(const std::string &resourceType) {
+  resourceType_ = resourceType;
+  setParameter(std::string("ResourceType"), resourceType);
+}
+
 std::vector<TagResourcesRequest::Tag> TagResourcesRequest::getTag() const {
   return tag_;
 }
@@ -47,12 +56,3 @@ void TagResourcesRequest::setTag(const std::vector<TagResourcesRequest::Tag> &ta
   }
 }
 
-std::string TagResourcesRequest::getResourceType() const {
-  return resourceType_;
-}
-
-void TagResourcesRequest::setResourceType(const std::string &resourceType) {
-  resourceType_ = resourceType;
-  setParameter(std::string("ResourceType"), resourceType);
-}
-

+ 8 - 8
bssopenapi/src/model/UntagResourcesRequest.cc

@@ -42,14 +42,6 @@ void UntagResourcesRequest::setResourceId(const std::vector<std::string> &resour
   resourceId_ = resourceId;
 }
 
-std::vector<std::string> UntagResourcesRequest::getTagKey() const {
-  return tagKey_;
-}
-
-void UntagResourcesRequest::setTagKey(const std::vector<std::string> &tagKey) {
-  tagKey_ = tagKey;
-}
-
 std::string UntagResourcesRequest::getResourceType() const {
   return resourceType_;
 }
@@ -59,3 +51,11 @@ void UntagResourcesRequest::setResourceType(const std::string &resourceType) {
   setParameter(std::string("ResourceType"), resourceType);
 }
 
+std::vector<std::string> UntagResourcesRequest::getTagKey() const {
+  return tagKey_;
+}
+
+void UntagResourcesRequest::setTagKey(const std::vector<std::string> &tagKey) {
+  tagKey_ = tagKey;
+}
+