DescribeInstanceAmortizedCostByAmortizationPeriodDate

This commit is contained in:
sdk-team
2023-05-19 01:13:25 +00:00
parent 7a56454f4a
commit 5d8069b2ae
8 changed files with 595 additions and 1 deletions

View File

@@ -1 +1 @@
1.36.1577
1.36.1578

View File

@@ -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

View File

@@ -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;

View File

@@ -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_

View File

@@ -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_

View File

@@ -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();

View File

@@ -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));
}

View File

@@ -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_;
}