Browse Source

DescribeInstanceAmortizedCostByAmortizationPeriodDate

sdk-team 3 years ago
parent
commit
5d8069b2ae

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.36.1577
+1.36.1578

+ 4 - 0
bssopenapi/CMakeLists.txt

@@ -53,6 +53,8 @@ set(bssopenapi_public_header_model
 	include/alibabacloud/bssopenapi/model/DescribeCostBudgetsSummaryResult.h
 	include/alibabacloud/bssopenapi/model/DescribeInstanceAmortizedCostByAmortizationPeriodRequest.h
 	include/alibabacloud/bssopenapi/model/DescribeInstanceAmortizedCostByAmortizationPeriodResult.h
+	include/alibabacloud/bssopenapi/model/DescribeInstanceAmortizedCostByAmortizationPeriodDateRequest.h
+	include/alibabacloud/bssopenapi/model/DescribeInstanceAmortizedCostByAmortizationPeriodDateResult.h
 	include/alibabacloud/bssopenapi/model/DescribeInstanceAmortizedCostByConsumePeriodRequest.h
 	include/alibabacloud/bssopenapi/model/DescribeInstanceAmortizedCostByConsumePeriodResult.h
 	include/alibabacloud/bssopenapi/model/DescribeInstanceBillRequest.h
@@ -252,6 +254,8 @@ set(bssopenapi_src
 	src/model/DescribeCostBudgetsSummaryResult.cc
 	src/model/DescribeInstanceAmortizedCostByAmortizationPeriodRequest.cc
 	src/model/DescribeInstanceAmortizedCostByAmortizationPeriodResult.cc
+	src/model/DescribeInstanceAmortizedCostByAmortizationPeriodDateRequest.cc
+	src/model/DescribeInstanceAmortizedCostByAmortizationPeriodDateResult.cc
 	src/model/DescribeInstanceAmortizedCostByConsumePeriodRequest.cc
 	src/model/DescribeInstanceAmortizedCostByConsumePeriodResult.cc
 	src/model/DescribeInstanceBillRequest.cc

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

@@ -54,6 +54,8 @@
 #include "model/DescribeCostBudgetsSummaryResult.h"
 #include "model/DescribeInstanceAmortizedCostByAmortizationPeriodRequest.h"
 #include "model/DescribeInstanceAmortizedCostByAmortizationPeriodResult.h"
+#include "model/DescribeInstanceAmortizedCostByAmortizationPeriodDateRequest.h"
+#include "model/DescribeInstanceAmortizedCostByAmortizationPeriodDateResult.h"
 #include "model/DescribeInstanceAmortizedCostByConsumePeriodRequest.h"
 #include "model/DescribeInstanceAmortizedCostByConsumePeriodResult.h"
 #include "model/DescribeInstanceBillRequest.h"
@@ -275,6 +277,9 @@ namespace AlibabaCloud
 			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::DescribeInstanceAmortizedCostByAmortizationPeriodDateResult> DescribeInstanceAmortizedCostByAmortizationPeriodDateOutcome;
+			typedef std::future<DescribeInstanceAmortizedCostByAmortizationPeriodDateOutcome> DescribeInstanceAmortizedCostByAmortizationPeriodDateOutcomeCallable;
+			typedef std::function<void(const BssOpenApiClient*, const Model::DescribeInstanceAmortizedCostByAmortizationPeriodDateRequest&, const DescribeInstanceAmortizedCostByAmortizationPeriodDateOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeInstanceAmortizedCostByAmortizationPeriodDateAsyncHandler;
 			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;
@@ -574,6 +579,9 @@ namespace AlibabaCloud
 			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;
+			DescribeInstanceAmortizedCostByAmortizationPeriodDateOutcome describeInstanceAmortizedCostByAmortizationPeriodDate(const Model::DescribeInstanceAmortizedCostByAmortizationPeriodDateRequest &request)const;
+			void describeInstanceAmortizedCostByAmortizationPeriodDateAsync(const Model::DescribeInstanceAmortizedCostByAmortizationPeriodDateRequest& request, const DescribeInstanceAmortizedCostByAmortizationPeriodDateAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeInstanceAmortizedCostByAmortizationPeriodDateOutcomeCallable describeInstanceAmortizedCostByAmortizationPeriodDateCallable(const Model::DescribeInstanceAmortizedCostByAmortizationPeriodDateRequest& 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;

+ 75 - 0
bssopenapi/include/alibabacloud/bssopenapi/model/DescribeInstanceAmortizedCostByAmortizationPeriodDateRequest.h

@@ -0,0 +1,75 @@
+/*
+ * 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_DESCRIBEINSTANCEAMORTIZEDCOSTBYAMORTIZATIONPERIODDATEREQUEST_H_
+#define ALIBABACLOUD_BSSOPENAPI_MODEL_DESCRIBEINSTANCEAMORTIZEDCOSTBYAMORTIZATIONPERIODDATEREQUEST_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 DescribeInstanceAmortizedCostByAmortizationPeriodDateRequest : public RpcServiceRequest {
+public:
+	DescribeInstanceAmortizedCostByAmortizationPeriodDateRequest();
+	~DescribeInstanceAmortizedCostByAmortizationPeriodDateRequest();
+	std::string getProductCode() const;
+	void setProductCode(const std::string &productCode);
+	std::string getAmortizationDateStart() const;
+	void setAmortizationDateStart(const std::string &amortizationDateStart);
+	std::string getSubscriptionType() const;
+	void setSubscriptionType(const std::string &subscriptionType);
+	std::string getCostUnitCode() const;
+	void setCostUnitCode(const std::string &costUnitCode);
+	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::string getProductDetail() const;
+	void setProductDetail(const std::string &productDetail);
+	std::vector<std::string> getBillOwnerIdList() const;
+	void setBillOwnerIdList(const std::vector<std::string> &billOwnerIdList);
+	std::string getBillingCycle() const;
+	void setBillingCycle(const std::string &billingCycle);
+	std::string getAmortizationDateEnd() const;
+	void setAmortizationDateEnd(const std::string &amortizationDateEnd);
+	std::vector<std::string> getInstanceIdList() const;
+	void setInstanceIdList(const std::vector<std::string> &instanceIdList);
+	int getMaxResults() const;
+	void setMaxResults(int maxResults);
+
+private:
+	std::string productCode_;
+	std::string amortizationDateStart_;
+	std::string subscriptionType_;
+	std::string costUnitCode_;
+	std::string nextToken_;
+	std::vector<std::string> billUserIdList_;
+	std::string productDetail_;
+	std::vector<std::string> billOwnerIdList_;
+	std::string billingCycle_;
+	std::string amortizationDateEnd_;
+	std::vector<std::string> instanceIdList_;
+	int maxResults_;
+};
+} // namespace Model
+} // namespace BssOpenApi
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_BSSOPENAPI_MODEL_DESCRIBEINSTANCEAMORTIZEDCOSTBYAMORTIZATIONPERIODDATEREQUEST_H_

+ 130 - 0
bssopenapi/include/alibabacloud/bssopenapi/model/DescribeInstanceAmortizedCostByAmortizationPeriodDateResult.h

@@ -0,0 +1,130 @@
+/*
+ * 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_DESCRIBEINSTANCEAMORTIZEDCOSTBYAMORTIZATIONPERIODDATERESULT_H_
+#define ALIBABACLOUD_BSSOPENAPI_MODEL_DESCRIBEINSTANCEAMORTIZEDCOSTBYAMORTIZATIONPERIODDATERESULT_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 DescribeInstanceAmortizedCostByAmortizationPeriodDateResult : 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;
+						std::string amortizationPeriodDay;
+						double deductedByCoupons;
+						std::string consumePeriodDay;
+						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 hostId;
+					std::string accountName;
+				};
+
+
+				DescribeInstanceAmortizedCostByAmortizationPeriodDateResult();
+				explicit DescribeInstanceAmortizedCostByAmortizationPeriodDateResult(const std::string &payload);
+				~DescribeInstanceAmortizedCostByAmortizationPeriodDateResult();
+				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_DESCRIBEINSTANCEAMORTIZEDCOSTBYAMORTIZATIONPERIODDATERESULT_H_

+ 36 - 0
bssopenapi/src/BssOpenApiClient.cc

@@ -627,6 +627,42 @@ BssOpenApiClient::DescribeInstanceAmortizedCostByAmortizationPeriodOutcomeCallab
 	return task->get_future();
 }
 
+BssOpenApiClient::DescribeInstanceAmortizedCostByAmortizationPeriodDateOutcome BssOpenApiClient::describeInstanceAmortizedCostByAmortizationPeriodDate(const DescribeInstanceAmortizedCostByAmortizationPeriodDateRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeInstanceAmortizedCostByAmortizationPeriodDateOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeInstanceAmortizedCostByAmortizationPeriodDateOutcome(DescribeInstanceAmortizedCostByAmortizationPeriodDateResult(outcome.result()));
+	else
+		return DescribeInstanceAmortizedCostByAmortizationPeriodDateOutcome(outcome.error());
+}
+
+void BssOpenApiClient::describeInstanceAmortizedCostByAmortizationPeriodDateAsync(const DescribeInstanceAmortizedCostByAmortizationPeriodDateRequest& request, const DescribeInstanceAmortizedCostByAmortizationPeriodDateAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeInstanceAmortizedCostByAmortizationPeriodDate(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+BssOpenApiClient::DescribeInstanceAmortizedCostByAmortizationPeriodDateOutcomeCallable BssOpenApiClient::describeInstanceAmortizedCostByAmortizationPeriodDateCallable(const DescribeInstanceAmortizedCostByAmortizationPeriodDateRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeInstanceAmortizedCostByAmortizationPeriodDateOutcome()>>(
+			[this, request]()
+			{
+			return this->describeInstanceAmortizedCostByAmortizationPeriodDate(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 BssOpenApiClient::DescribeInstanceAmortizedCostByConsumePeriodOutcome BssOpenApiClient::describeInstanceAmortizedCostByConsumePeriod(const DescribeInstanceAmortizedCostByConsumePeriodRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();

+ 132 - 0
bssopenapi/src/model/DescribeInstanceAmortizedCostByAmortizationPeriodDateRequest.cc

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

+ 209 - 0
bssopenapi/src/model/DescribeInstanceAmortizedCostByAmortizationPeriodDateResult.cc

@@ -0,0 +1,209 @@
+/*
+ * 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/DescribeInstanceAmortizedCostByAmortizationPeriodDateResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::BssOpenApi;
+using namespace AlibabaCloud::BssOpenApi::Model;
+
+DescribeInstanceAmortizedCostByAmortizationPeriodDateResult::DescribeInstanceAmortizedCostByAmortizationPeriodDateResult() :
+	ServiceResult()
+{}
+
+DescribeInstanceAmortizedCostByAmortizationPeriodDateResult::DescribeInstanceAmortizedCostByAmortizationPeriodDateResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeInstanceAmortizedCostByAmortizationPeriodDateResult::~DescribeInstanceAmortizedCostByAmortizationPeriodDateResult()
+{}
+
+void DescribeInstanceAmortizedCostByAmortizationPeriodDateResult::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());
+	if(!dataNode["HostId"].isNull())
+		data_.hostId = dataNode["HostId"].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["ConsumePeriodDay"].isNull())
+			itemObject.consumePeriodDay = dataNodeItemsItem["ConsumePeriodDay"].asString();
+		if(!dataNodeItemsItem["AmortizationStatus"].isNull())
+			itemObject.amortizationStatus = dataNodeItemsItem["AmortizationStatus"].asString();
+		if(!dataNodeItemsItem["AmortizationPeriod"].isNull())
+			itemObject.amortizationPeriod = dataNodeItemsItem["AmortizationPeriod"].asString();
+		if(!dataNodeItemsItem["AmortizationPeriodDay"].isNull())
+			itemObject.amortizationPeriodDay = dataNodeItemsItem["AmortizationPeriodDay"].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 DescribeInstanceAmortizedCostByAmortizationPeriodDateResult::getMessage()const
+{
+	return message_;
+}
+
+DescribeInstanceAmortizedCostByAmortizationPeriodDateResult::Data DescribeInstanceAmortizedCostByAmortizationPeriodDateResult::getData()const
+{
+	return data_;
+}
+
+std::string DescribeInstanceAmortizedCostByAmortizationPeriodDateResult::getCode()const
+{
+	return code_;
+}
+
+bool DescribeInstanceAmortizedCostByAmortizationPeriodDateResult::getSuccess()const
+{
+	return success_;
+}
+