Parcourir la source

Modify QueryBill, add SubOrderId in item of response.

sdk-team il y a 6 ans
Parent
commit
d499a02ffc

+ 3 - 0
CHANGELOG

@@ -1,3 +1,6 @@
+2019-11-26 Version 1.36.199
+- Modify QueryBill, add SubOrderId in item of response.
+
 2019-11-26 Version 1.36.198
 - Supported API BindInstanceDomains.
 - Supported API UnbindInstanceDomains.

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.36.198
+1.36.199

+ 4 - 0
bssopenapi/CMakeLists.txt

@@ -105,6 +105,8 @@ set(bssopenapi_public_header_model
 	include/alibabacloud/bssopenapi/model/QueryPrepaidCardsResult.h
 	include/alibabacloud/bssopenapi/model/QueryProductListRequest.h
 	include/alibabacloud/bssopenapi/model/QueryProductListResult.h
+	include/alibabacloud/bssopenapi/model/QueryRIUtilizationDetailRequest.h
+	include/alibabacloud/bssopenapi/model/QueryRIUtilizationDetailResult.h
 	include/alibabacloud/bssopenapi/model/QueryRedeemRequest.h
 	include/alibabacloud/bssopenapi/model/QueryRedeemResult.h
 	include/alibabacloud/bssopenapi/model/QueryResellerAvailableQuotaRequest.h
@@ -220,6 +222,8 @@ set(bssopenapi_src
 	src/model/QueryPrepaidCardsResult.cc
 	src/model/QueryProductListRequest.cc
 	src/model/QueryProductListResult.cc
+	src/model/QueryRIUtilizationDetailRequest.cc
+	src/model/QueryRIUtilizationDetailResult.cc
 	src/model/QueryRedeemRequest.cc
 	src/model/QueryRedeemResult.cc
 	src/model/QueryResellerAvailableQuotaRequest.cc

+ 8 - 0
bssopenapi/include/alibabacloud/bssopenapi/BssOpenApiClient.h

@@ -106,6 +106,8 @@
 #include "model/QueryPrepaidCardsResult.h"
 #include "model/QueryProductListRequest.h"
 #include "model/QueryProductListResult.h"
+#include "model/QueryRIUtilizationDetailRequest.h"
+#include "model/QueryRIUtilizationDetailResult.h"
 #include "model/QueryRedeemRequest.h"
 #include "model/QueryRedeemResult.h"
 #include "model/QueryResellerAvailableQuotaRequest.h"
@@ -269,6 +271,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::QueryProductListResult> QueryProductListOutcome;
 			typedef std::future<QueryProductListOutcome> QueryProductListOutcomeCallable;
 			typedef std::function<void(const BssOpenApiClient*, const Model::QueryProductListRequest&, const QueryProductListOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryProductListAsyncHandler;
+			typedef Outcome<Error, Model::QueryRIUtilizationDetailResult> QueryRIUtilizationDetailOutcome;
+			typedef std::future<QueryRIUtilizationDetailOutcome> QueryRIUtilizationDetailOutcomeCallable;
+			typedef std::function<void(const BssOpenApiClient*, const Model::QueryRIUtilizationDetailRequest&, const QueryRIUtilizationDetailOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryRIUtilizationDetailAsyncHandler;
 			typedef Outcome<Error, Model::QueryRedeemResult> QueryRedeemOutcome;
 			typedef std::future<QueryRedeemOutcome> QueryRedeemOutcomeCallable;
 			typedef std::function<void(const BssOpenApiClient*, const Model::QueryRedeemRequest&, const QueryRedeemOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryRedeemAsyncHandler;
@@ -442,6 +447,9 @@ namespace AlibabaCloud
 			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;
+			QueryRIUtilizationDetailOutcome queryRIUtilizationDetail(const Model::QueryRIUtilizationDetailRequest &request)const;
+			void queryRIUtilizationDetailAsync(const Model::QueryRIUtilizationDetailRequest& request, const QueryRIUtilizationDetailAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			QueryRIUtilizationDetailOutcomeCallable queryRIUtilizationDetailCallable(const Model::QueryRIUtilizationDetailRequest& request) const;
 			QueryRedeemOutcome queryRedeem(const Model::QueryRedeemRequest &request)const;
 			void queryRedeemAsync(const Model::QueryRedeemRequest& request, const QueryRedeemAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			QueryRedeemOutcomeCallable queryRedeemCallable(const Model::QueryRedeemRequest& request) const;

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

@@ -38,6 +38,7 @@ namespace AlibabaCloud
 					{
 						float afterTaxAmount;
 						std::string productName;
+						std::string subOrderId;
 						float deductedByCashCoupons;
 						std::string paymentTime;
 						float tax;

+ 69 - 0
bssopenapi/include/alibabacloud/bssopenapi/model/QueryRIUtilizationDetailRequest.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_QUERYRIUTILIZATIONDETAILREQUEST_H_
+#define ALIBABACLOUD_BSSOPENAPI_MODEL_QUERYRIUTILIZATIONDETAILREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/bssopenapi/BssOpenApiExport.h>
+
+namespace AlibabaCloud
+{
+	namespace BssOpenApi
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_BSSOPENAPI_EXPORT QueryRIUtilizationDetailRequest : public RpcServiceRequest
+			{
+
+			public:
+				QueryRIUtilizationDetailRequest();
+				~QueryRIUtilizationDetailRequest();
+
+				std::string getDeductedInstanceId()const;
+				void setDeductedInstanceId(const std::string& deductedInstanceId);
+				std::string getInstanceSpec()const;
+				void setInstanceSpec(const std::string& instanceSpec);
+				std::string getEndTime()const;
+				void setEndTime(const std::string& endTime);
+				std::string getRIInstanceId()const;
+				void setRIInstanceId(const std::string& rIInstanceId);
+				std::string getStartTime()const;
+				void setStartTime(const std::string& startTime);
+				int getPageNum()const;
+				void setPageNum(int pageNum);
+				int getPageSize()const;
+				void setPageSize(int pageSize);
+				std::string getRICommodityCode()const;
+				void setRICommodityCode(const std::string& rICommodityCode);
+
+            private:
+				std::string deductedInstanceId_;
+				std::string instanceSpec_;
+				std::string endTime_;
+				std::string rIInstanceId_;
+				std::string startTime_;
+				int pageNum_;
+				int pageSize_;
+				std::string rICommodityCode_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_BSSOPENAPI_MODEL_QUERYRIUTILIZATIONDETAILREQUEST_H_

+ 74 - 0
bssopenapi/include/alibabacloud/bssopenapi/model/QueryRIUtilizationDetailResult.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_QUERYRIUTILIZATIONDETAILRESULT_H_
+#define ALIBABACLOUD_BSSOPENAPI_MODEL_QUERYRIUTILIZATIONDETAILRESULT_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 QueryRIUtilizationDetailResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					struct DetailListItem
+					{
+						std::string deductDate;
+						std::string instanceSpec;
+						std::string rIInstanceId;
+						std::string deductedProductDetail;
+						std::string deductedCommodityCode;
+						std::string deductedInstanceId;
+						std::string deductHours;
+					};
+					long totalCount;
+					long pageNum;
+					long pageSize;
+					std::vector<DetailListItem> detailList;
+				};
+
+
+				QueryRIUtilizationDetailResult();
+				explicit QueryRIUtilizationDetailResult(const std::string &payload);
+				~QueryRIUtilizationDetailResult();
+				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_QUERYRIUTILIZATIONDETAILRESULT_H_

+ 36 - 0
bssopenapi/src/BssOpenApiClient.cc

@@ -1563,6 +1563,42 @@ BssOpenApiClient::QueryProductListOutcomeCallable BssOpenApiClient::queryProduct
 	return task->get_future();
 }
 
+BssOpenApiClient::QueryRIUtilizationDetailOutcome BssOpenApiClient::queryRIUtilizationDetail(const QueryRIUtilizationDetailRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return QueryRIUtilizationDetailOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return QueryRIUtilizationDetailOutcome(QueryRIUtilizationDetailResult(outcome.result()));
+	else
+		return QueryRIUtilizationDetailOutcome(outcome.error());
+}
+
+void BssOpenApiClient::queryRIUtilizationDetailAsync(const QueryRIUtilizationDetailRequest& request, const QueryRIUtilizationDetailAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, queryRIUtilizationDetail(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+BssOpenApiClient::QueryRIUtilizationDetailOutcomeCallable BssOpenApiClient::queryRIUtilizationDetailCallable(const QueryRIUtilizationDetailRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<QueryRIUtilizationDetailOutcome()>>(
+			[this, request]()
+			{
+			return this->queryRIUtilizationDetail(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 BssOpenApiClient::QueryRedeemOutcome BssOpenApiClient::queryRedeem(const QueryRedeemRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();

+ 6 - 7
bssopenapi/src/model/AllocateCostUnitResourceRequest.cc

@@ -35,13 +35,12 @@ std::vector<AllocateCostUnitResourceRequest::ResourceInstanceList> AllocateCostU
 void AllocateCostUnitResourceRequest::setResourceInstanceList(const std::vector<ResourceInstanceList>& resourceInstanceList)
 {
 	resourceInstanceList_ = resourceInstanceList;
-	int i = 0;
-	for(int i = 0; i!= resourceInstanceList.size(); i++)	{
-		auto obj = resourceInstanceList.at(i);
-		std::string str ="ResourceInstanceList."+ std::to_string(i);
-		setCoreParameter(str + ".ResourceId", obj.resourceId);
-		setCoreParameter(str + ".CommodityCode", obj.commodityCode);
-		setCoreParameter(str + ".ResourceUserId", std::to_string(obj.resourceUserId));
+	for(int dep1 = 0; dep1!= resourceInstanceList.size(); dep1++) {
+		auto resourceInstanceListObj = resourceInstanceList.at(dep1);
+		std::string resourceInstanceListObjStr = "ResourceInstanceList." + std::to_string(dep1);
+		setCoreParameter(resourceInstanceListObjStr + ".ResourceId", resourceInstanceListObj.resourceId);
+		setCoreParameter(resourceInstanceListObjStr + ".CommodityCode", resourceInstanceListObj.commodityCode);
+		setCoreParameter(resourceInstanceListObjStr + ".ResourceUserId", std::to_string(resourceInstanceListObj.resourceUserId));
 	}
 }
 

+ 3 - 2
bssopenapi/src/model/ApplyInvoiceRequest.cc

@@ -134,8 +134,9 @@ std::vector<long> ApplyInvoiceRequest::getSelectedIds()const
 void ApplyInvoiceRequest::setSelectedIds(const std::vector<long>& selectedIds)
 {
 	selectedIds_ = selectedIds;
-	for(int i = 0; i!= selectedIds.size(); i++)
-		setCoreParameter("SelectedIds."+ std::to_string(i), std::to_string(selectedIds.at(i)));
+	for(int dep1 = 0; dep1!= selectedIds.size(); dep1++) {
+		setCoreParameter("SelectedIds."+ std::to_string(dep1), std::to_string(selectedIds.at(dep1)));
+	}
 }
 
 long ApplyInvoiceRequest::getCallerUid()const

+ 6 - 7
bssopenapi/src/model/CreateCostUnitRequest.cc

@@ -35,13 +35,12 @@ std::vector<CreateCostUnitRequest::UnitEntityList> CreateCostUnitRequest::getUni
 void CreateCostUnitRequest::setUnitEntityList(const std::vector<UnitEntityList>& unitEntityList)
 {
 	unitEntityList_ = unitEntityList;
-	int i = 0;
-	for(int i = 0; i!= unitEntityList.size(); i++)	{
-		auto obj = unitEntityList.at(i);
-		std::string str ="UnitEntityList."+ std::to_string(i);
-		setCoreParameter(str + ".UnitName", obj.unitName);
-		setCoreParameter(str + ".ParentUnitId", std::to_string(obj.parentUnitId));
-		setCoreParameter(str + ".OwnerUid", std::to_string(obj.ownerUid));
+	for(int dep1 = 0; dep1!= unitEntityList.size(); dep1++) {
+		auto unitEntityListObj = unitEntityList.at(dep1);
+		std::string unitEntityListObjStr = "UnitEntityList." + std::to_string(dep1);
+		setCoreParameter(unitEntityListObjStr + ".UnitName", unitEntityListObj.unitName);
+		setCoreParameter(unitEntityListObjStr + ".ParentUnitId", std::to_string(unitEntityListObj.parentUnitId));
+		setCoreParameter(unitEntityListObjStr + ".OwnerUid", std::to_string(unitEntityListObj.ownerUid));
 	}
 }
 

+ 5 - 6
bssopenapi/src/model/CreateInstanceRequest.cc

@@ -112,12 +112,11 @@ std::vector<CreateInstanceRequest::Parameter> CreateInstanceRequest::getParamete
 void CreateInstanceRequest::setParameter(const std::vector<Parameter>& parameter)
 {
 	parameter_ = parameter;
-	int i = 0;
-	for(int i = 0; i!= parameter.size(); i++)	{
-		auto obj = parameter.at(i);
-		std::string str ="Parameter."+ std::to_string(i);
-		setCoreParameter(str + ".Code", obj.code);
-		setCoreParameter(str + ".Value", obj.value);
+	for(int dep1 = 0; dep1!= parameter.size(); dep1++) {
+		auto parameterObj = parameter.at(dep1);
+		std::string parameterObjStr = "Parameter." + std::to_string(dep1);
+		setCoreParameter(parameterObjStr + ".Code", parameterObj.code);
+		setCoreParameter(parameterObjStr + ".Value", parameterObj.value);
 	}
 }
 

+ 6 - 7
bssopenapi/src/model/GetPayAsYouGoPriceRequest.cc

@@ -57,13 +57,12 @@ std::vector<GetPayAsYouGoPriceRequest::ModuleList> GetPayAsYouGoPriceRequest::ge
 void GetPayAsYouGoPriceRequest::setModuleList(const std::vector<ModuleList>& moduleList)
 {
 	moduleList_ = moduleList;
-	int i = 0;
-	for(int i = 0; i!= moduleList.size(); i++)	{
-		auto obj = moduleList.at(i);
-		std::string str ="ModuleList."+ std::to_string(i);
-		setCoreParameter(str + ".ModuleCode", obj.moduleCode);
-		setCoreParameter(str + ".PriceType", obj.priceType);
-		setCoreParameter(str + ".Config", obj.config);
+	for(int dep1 = 0; dep1!= moduleList.size(); dep1++) {
+		auto moduleListObj = moduleList.at(dep1);
+		std::string moduleListObjStr = "ModuleList." + std::to_string(dep1);
+		setCoreParameter(moduleListObjStr + ".ModuleCode", moduleListObj.moduleCode);
+		setCoreParameter(moduleListObjStr + ".PriceType", moduleListObj.priceType);
+		setCoreParameter(moduleListObjStr + ".Config", moduleListObj.config);
 	}
 }
 

+ 7 - 8
bssopenapi/src/model/GetSubscriptionPriceRequest.cc

@@ -68,14 +68,13 @@ std::vector<GetSubscriptionPriceRequest::ModuleList> GetSubscriptionPriceRequest
 void GetSubscriptionPriceRequest::setModuleList(const std::vector<ModuleList>& moduleList)
 {
 	moduleList_ = moduleList;
-	int i = 0;
-	for(int i = 0; i!= moduleList.size(); i++)	{
-		auto obj = moduleList.at(i);
-		std::string str ="ModuleList."+ std::to_string(i);
-		setCoreParameter(str + ".ModuleCode", obj.moduleCode);
-		setCoreParameter(str + ".ModuleStatus", std::to_string(obj.moduleStatus));
-		setCoreParameter(str + ".Tag", obj.tag);
-		setCoreParameter(str + ".Config", obj.config);
+	for(int dep1 = 0; dep1!= moduleList.size(); dep1++) {
+		auto moduleListObj = moduleList.at(dep1);
+		std::string moduleListObjStr = "ModuleList." + std::to_string(dep1);
+		setCoreParameter(moduleListObjStr + ".ModuleCode", moduleListObj.moduleCode);
+		setCoreParameter(moduleListObjStr + ".ModuleStatus", std::to_string(moduleListObj.moduleStatus));
+		setCoreParameter(moduleListObjStr + ".Tag", moduleListObj.tag);
+		setCoreParameter(moduleListObjStr + ".Config", moduleListObj.config);
 	}
 }
 

+ 6 - 7
bssopenapi/src/model/ModifyCostUnitRequest.cc

@@ -35,13 +35,12 @@ std::vector<ModifyCostUnitRequest::UnitEntityList> ModifyCostUnitRequest::getUni
 void ModifyCostUnitRequest::setUnitEntityList(const std::vector<UnitEntityList>& unitEntityList)
 {
 	unitEntityList_ = unitEntityList;
-	int i = 0;
-	for(int i = 0; i!= unitEntityList.size(); i++)	{
-		auto obj = unitEntityList.at(i);
-		std::string str ="UnitEntityList."+ std::to_string(i);
-		setCoreParameter(str + ".NewUnitName", obj.newUnitName);
-		setCoreParameter(str + ".UnitId", std::to_string(obj.unitId));
-		setCoreParameter(str + ".OwnerUid", std::to_string(obj.ownerUid));
+	for(int dep1 = 0; dep1!= unitEntityList.size(); dep1++) {
+		auto unitEntityListObj = unitEntityList.at(dep1);
+		std::string unitEntityListObjStr = "UnitEntityList." + std::to_string(dep1);
+		setCoreParameter(unitEntityListObjStr + ".NewUnitName", unitEntityListObj.newUnitName);
+		setCoreParameter(unitEntityListObjStr + ".UnitId", std::to_string(unitEntityListObj.unitId));
+		setCoreParameter(unitEntityListObjStr + ".OwnerUid", std::to_string(unitEntityListObj.ownerUid));
 	}
 }
 

+ 5 - 6
bssopenapi/src/model/ModifyInstanceRequest.cc

@@ -112,12 +112,11 @@ std::vector<ModifyInstanceRequest::Parameter> ModifyInstanceRequest::getParamete
 void ModifyInstanceRequest::setParameter(const std::vector<Parameter>& parameter)
 {
 	parameter_ = parameter;
-	int i = 0;
-	for(int i = 0; i!= parameter.size(); i++)	{
-		auto obj = parameter.at(i);
-		std::string str ="Parameter."+ std::to_string(i);
-		setCoreParameter(str + ".Code", obj.code);
-		setCoreParameter(str + ".Value", obj.value);
+	for(int dep1 = 0; dep1!= parameter.size(); dep1++) {
+		auto parameterObj = parameter.at(dep1);
+		std::string parameterObjStr = "Parameter." + std::to_string(dep1);
+		setCoreParameter(parameterObjStr + ".Code", parameterObj.code);
+		setCoreParameter(parameterObjStr + ".Value", parameterObj.value);
 	}
 }
 

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

@@ -110,6 +110,8 @@ void QueryBillResult::parse(const std::string &payload)
 			itemObject.paymentTransactionID = dataNodeItemsItem["PaymentTransactionID"].asString();
 		if(!dataNodeItemsItem["RoundDownDiscount"].isNull())
 			itemObject.roundDownDiscount = dataNodeItemsItem["RoundDownDiscount"].asString();
+		if(!dataNodeItemsItem["SubOrderId"].isNull())
+			itemObject.subOrderId = dataNodeItemsItem["SubOrderId"].asString();
 		data_.items.push_back(itemObject);
 	}
 	if(!value["Success"].isNull())

+ 3 - 2
bssopenapi/src/model/QueryEvaluateListRequest.cc

@@ -123,8 +123,9 @@ std::vector<std::string> QueryEvaluateListRequest::getBizTypeList()const
 void QueryEvaluateListRequest::setBizTypeList(const std::vector<std::string>& bizTypeList)
 {
 	bizTypeList_ = bizTypeList;
-	for(int i = 0; i!= bizTypeList.size(); i++)
-		setCoreParameter("BizTypeList."+ std::to_string(i), bizTypeList.at(i));
+	for(int dep1 = 0; dep1!= bizTypeList.size(); dep1++) {
+		setCoreParameter("BizTypeList."+ std::to_string(dep1), bizTypeList.at(dep1));
+	}
 }
 
 long QueryEvaluateListRequest::getOwnerId()const

+ 117 - 0
bssopenapi/src/model/QueryRIUtilizationDetailRequest.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/QueryRIUtilizationDetailRequest.h>
+
+using AlibabaCloud::BssOpenApi::Model::QueryRIUtilizationDetailRequest;
+
+QueryRIUtilizationDetailRequest::QueryRIUtilizationDetailRequest() :
+	RpcServiceRequest("bssopenapi", "2017-12-14", "QueryRIUtilizationDetail")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+QueryRIUtilizationDetailRequest::~QueryRIUtilizationDetailRequest()
+{}
+
+std::string QueryRIUtilizationDetailRequest::getDeductedInstanceId()const
+{
+	return deductedInstanceId_;
+}
+
+void QueryRIUtilizationDetailRequest::setDeductedInstanceId(const std::string& deductedInstanceId)
+{
+	deductedInstanceId_ = deductedInstanceId;
+	setCoreParameter("DeductedInstanceId", deductedInstanceId);
+}
+
+std::string QueryRIUtilizationDetailRequest::getInstanceSpec()const
+{
+	return instanceSpec_;
+}
+
+void QueryRIUtilizationDetailRequest::setInstanceSpec(const std::string& instanceSpec)
+{
+	instanceSpec_ = instanceSpec;
+	setCoreParameter("InstanceSpec", instanceSpec);
+}
+
+std::string QueryRIUtilizationDetailRequest::getEndTime()const
+{
+	return endTime_;
+}
+
+void QueryRIUtilizationDetailRequest::setEndTime(const std::string& endTime)
+{
+	endTime_ = endTime;
+	setCoreParameter("EndTime", endTime);
+}
+
+std::string QueryRIUtilizationDetailRequest::getRIInstanceId()const
+{
+	return rIInstanceId_;
+}
+
+void QueryRIUtilizationDetailRequest::setRIInstanceId(const std::string& rIInstanceId)
+{
+	rIInstanceId_ = rIInstanceId;
+	setCoreParameter("RIInstanceId", rIInstanceId);
+}
+
+std::string QueryRIUtilizationDetailRequest::getStartTime()const
+{
+	return startTime_;
+}
+
+void QueryRIUtilizationDetailRequest::setStartTime(const std::string& startTime)
+{
+	startTime_ = startTime;
+	setCoreParameter("StartTime", startTime);
+}
+
+int QueryRIUtilizationDetailRequest::getPageNum()const
+{
+	return pageNum_;
+}
+
+void QueryRIUtilizationDetailRequest::setPageNum(int pageNum)
+{
+	pageNum_ = pageNum;
+	setCoreParameter("PageNum", std::to_string(pageNum));
+}
+
+int QueryRIUtilizationDetailRequest::getPageSize()const
+{
+	return pageSize_;
+}
+
+void QueryRIUtilizationDetailRequest::setPageSize(int pageSize)
+{
+	pageSize_ = pageSize;
+	setCoreParameter("PageSize", std::to_string(pageSize));
+}
+
+std::string QueryRIUtilizationDetailRequest::getRICommodityCode()const
+{
+	return rICommodityCode_;
+}
+
+void QueryRIUtilizationDetailRequest::setRICommodityCode(const std::string& rICommodityCode)
+{
+	rICommodityCode_ = rICommodityCode;
+	setCoreParameter("RICommodityCode", rICommodityCode);
+}
+

+ 97 - 0
bssopenapi/src/model/QueryRIUtilizationDetailResult.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/QueryRIUtilizationDetailResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::BssOpenApi;
+using namespace AlibabaCloud::BssOpenApi::Model;
+
+QueryRIUtilizationDetailResult::QueryRIUtilizationDetailResult() :
+	ServiceResult()
+{}
+
+QueryRIUtilizationDetailResult::QueryRIUtilizationDetailResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+QueryRIUtilizationDetailResult::~QueryRIUtilizationDetailResult()
+{}
+
+void QueryRIUtilizationDetailResult::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::stol(dataNode["PageNum"].asString());
+	if(!dataNode["PageSize"].isNull())
+		data_.pageSize = std::stol(dataNode["PageSize"].asString());
+	if(!dataNode["TotalCount"].isNull())
+		data_.totalCount = std::stol(dataNode["TotalCount"].asString());
+	auto allDetailListNode = dataNode["DetailList"]["DetailListItem"];
+	for (auto dataNodeDetailListDetailListItem : allDetailListNode)
+	{
+		Data::DetailListItem detailListItemObject;
+		if(!dataNodeDetailListDetailListItem["RIInstanceId"].isNull())
+			detailListItemObject.rIInstanceId = dataNodeDetailListDetailListItem["RIInstanceId"].asString();
+		if(!dataNodeDetailListDetailListItem["InstanceSpec"].isNull())
+			detailListItemObject.instanceSpec = dataNodeDetailListDetailListItem["InstanceSpec"].asString();
+		if(!dataNodeDetailListDetailListItem["DeductedInstanceId"].isNull())
+			detailListItemObject.deductedInstanceId = dataNodeDetailListDetailListItem["DeductedInstanceId"].asString();
+		if(!dataNodeDetailListDetailListItem["DeductedCommodityCode"].isNull())
+			detailListItemObject.deductedCommodityCode = dataNodeDetailListDetailListItem["DeductedCommodityCode"].asString();
+		if(!dataNodeDetailListDetailListItem["DeductDate"].isNull())
+			detailListItemObject.deductDate = dataNodeDetailListDetailListItem["DeductDate"].asString();
+		if(!dataNodeDetailListDetailListItem["DeductHours"].isNull())
+			detailListItemObject.deductHours = dataNodeDetailListDetailListItem["DeductHours"].asString();
+		if(!dataNodeDetailListDetailListItem["DeductedProductDetail"].isNull())
+			detailListItemObject.deductedProductDetail = dataNodeDetailListDetailListItem["DeductedProductDetail"].asString();
+		data_.detailList.push_back(detailListItemObject);
+	}
+	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 QueryRIUtilizationDetailResult::getMessage()const
+{
+	return message_;
+}
+
+QueryRIUtilizationDetailResult::Data QueryRIUtilizationDetailResult::getData()const
+{
+	return data_;
+}
+
+std::string QueryRIUtilizationDetailResult::getCode()const
+{
+	return code_;
+}
+
+bool QueryRIUtilizationDetailResult::getSuccess()const
+{
+	return success_;
+}
+