Add DescribePrice API.

This commit is contained in:
sdk-team
2020-04-09 11:12:46 +08:00
parent 85daa7c446
commit 093332279d
11 changed files with 528 additions and 1 deletions

View File

@@ -1,3 +1,6 @@
2020-04-09 Version: 1.36.346
- Add DescribePrice API.
2020-04-09 Version: 1.36.345
- WAF OpenApi SDK Release.

View File

@@ -1 +1 @@
1.36.345
1.36.346

View File

@@ -95,6 +95,8 @@ set(dds_public_header_model
include/alibabacloud/dds/model/DescribeParameterTemplatesResult.h
include/alibabacloud/dds/model/DescribeParametersRequest.h
include/alibabacloud/dds/model/DescribeParametersResult.h
include/alibabacloud/dds/model/DescribePriceRequest.h
include/alibabacloud/dds/model/DescribePriceResult.h
include/alibabacloud/dds/model/DescribeRegionsRequest.h
include/alibabacloud/dds/model/DescribeRegionsResult.h
include/alibabacloud/dds/model/DescribeRenewalPriceRequest.h
@@ -264,6 +266,8 @@ set(dds_src
src/model/DescribeParameterTemplatesResult.cc
src/model/DescribeParametersRequest.cc
src/model/DescribeParametersResult.cc
src/model/DescribePriceRequest.cc
src/model/DescribePriceResult.cc
src/model/DescribeRegionsRequest.cc
src/model/DescribeRegionsResult.cc
src/model/DescribeRenewalPriceRequest.cc

View File

@@ -96,6 +96,8 @@
#include "model/DescribeParameterTemplatesResult.h"
#include "model/DescribeParametersRequest.h"
#include "model/DescribeParametersResult.h"
#include "model/DescribePriceRequest.h"
#include "model/DescribePriceResult.h"
#include "model/DescribeRegionsRequest.h"
#include "model/DescribeRegionsResult.h"
#include "model/DescribeRenewalPriceRequest.h"
@@ -308,6 +310,9 @@ namespace AlibabaCloud
typedef Outcome<Error, Model::DescribeParametersResult> DescribeParametersOutcome;
typedef std::future<DescribeParametersOutcome> DescribeParametersOutcomeCallable;
typedef std::function<void(const DdsClient*, const Model::DescribeParametersRequest&, const DescribeParametersOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeParametersAsyncHandler;
typedef Outcome<Error, Model::DescribePriceResult> DescribePriceOutcome;
typedef std::future<DescribePriceOutcome> DescribePriceOutcomeCallable;
typedef std::function<void(const DdsClient*, const Model::DescribePriceRequest&, const DescribePriceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribePriceAsyncHandler;
typedef Outcome<Error, Model::DescribeRegionsResult> DescribeRegionsOutcome;
typedef std::future<DescribeRegionsOutcome> DescribeRegionsOutcomeCallable;
typedef std::function<void(const DdsClient*, const Model::DescribeRegionsRequest&, const DescribeRegionsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeRegionsAsyncHandler;
@@ -562,6 +567,9 @@ namespace AlibabaCloud
DescribeParametersOutcome describeParameters(const Model::DescribeParametersRequest &request)const;
void describeParametersAsync(const Model::DescribeParametersRequest& request, const DescribeParametersAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
DescribeParametersOutcomeCallable describeParametersCallable(const Model::DescribeParametersRequest& request) const;
DescribePriceOutcome describePrice(const Model::DescribePriceRequest &request)const;
void describePriceAsync(const Model::DescribePriceRequest& request, const DescribePriceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
DescribePriceOutcomeCallable describePriceCallable(const Model::DescribePriceRequest& request) const;
DescribeRegionsOutcome describeRegions(const Model::DescribeRegionsRequest &request)const;
void describeRegionsAsync(const Model::DescribeRegionsRequest& request, const DescribeRegionsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
DescribeRegionsOutcomeCallable describeRegionsCallable(const Model::DescribeRegionsRequest& request) const;

View File

@@ -115,6 +115,7 @@ namespace AlibabaCloud
int maxIOPS;
std::string chargeType;
std::string currentKernelVersion;
std::string protocolType;
std::string vpcAuthMode;
std::string creationTime;
std::vector<DBInstance::ConfigserverAttribute> configserverList;

View File

@@ -0,0 +1,84 @@
/*
* 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_DDS_MODEL_DESCRIBEPRICEREQUEST_H_
#define ALIBABACLOUD_DDS_MODEL_DESCRIBEPRICEREQUEST_H_
#include <string>
#include <vector>
#include <alibabacloud/core/RpcServiceRequest.h>
#include <alibabacloud/dds/DdsExport.h>
namespace AlibabaCloud
{
namespace Dds
{
namespace Model
{
class ALIBABACLOUD_DDS_EXPORT DescribePriceRequest : public RpcServiceRequest
{
public:
DescribePriceRequest();
~DescribePriceRequest();
long getResourceOwnerId()const;
void setResourceOwnerId(long resourceOwnerId);
std::string getProductCode()const;
void setProductCode(const std::string& productCode);
std::string getCouponNo()const;
void setCouponNo(const std::string& couponNo);
std::string getAccessKeyId()const;
void setAccessKeyId(const std::string& accessKeyId);
std::string getSecurityToken()const;
void setSecurityToken(const std::string& securityToken);
std::string getBusinessInfo()const;
void setBusinessInfo(const std::string& businessInfo);
std::string getResourceOwnerAccount()const;
void setResourceOwnerAccount(const std::string& resourceOwnerAccount);
std::string getOwnerAccount()const;
void setOwnerAccount(const std::string& ownerAccount);
std::string getOrderParamOut()const;
void setOrderParamOut(const std::string& orderParamOut);
std::string getCommodityCode()const;
void setCommodityCode(const std::string& commodityCode);
long getOwnerId()const;
void setOwnerId(long ownerId);
std::string getDBInstances()const;
void setDBInstances(const std::string& dBInstances);
std::string getOrderType()const;
void setOrderType(const std::string& orderType);
private:
long resourceOwnerId_;
std::string productCode_;
std::string couponNo_;
std::string accessKeyId_;
std::string securityToken_;
std::string businessInfo_;
std::string resourceOwnerAccount_;
std::string ownerAccount_;
std::string orderParamOut_;
std::string commodityCode_;
long ownerId_;
std::string dBInstances_;
std::string orderType_;
};
}
}
}
#endif // !ALIBABACLOUD_DDS_MODEL_DESCRIBEPRICEREQUEST_H_

View File

@@ -0,0 +1,89 @@
/*
* 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_DDS_MODEL_DESCRIBEPRICERESULT_H_
#define ALIBABACLOUD_DDS_MODEL_DESCRIBEPRICERESULT_H_
#include <string>
#include <vector>
#include <utility>
#include <alibabacloud/core/ServiceResult.h>
#include <alibabacloud/dds/DdsExport.h>
namespace AlibabaCloud
{
namespace Dds
{
namespace Model
{
class ALIBABACLOUD_DDS_EXPORT DescribePriceResult : public ServiceResult
{
public:
struct Order
{
struct Coupon
{
std::string couponNo;
std::string description;
std::string isSelected;
std::string name;
};
std::vector<std::string> ruleIds1;
std::string currency;
float tradeAmount;
std::vector<Coupon> coupons;
float originalAmount;
float discountAmount;
};
struct Rule
{
long ruleDescId;
std::string title;
std::string name;
};
struct SubOrder
{
std::string instanceId;
std::vector<std::string> ruleIds;
float tradeAmount;
float originalAmount;
float discountAmount;
};
DescribePriceResult();
explicit DescribePriceResult(const std::string &payload);
~DescribePriceResult();
Order getOrder()const;
std::vector<SubOrder> getSubOrders()const;
std::string getTraceId()const;
std::string getOrderParams()const;
std::vector<Rule> getRules()const;
protected:
void parse(const std::string &payload);
private:
Order order_;
std::vector<SubOrder> subOrders_;
std::string traceId_;
std::string orderParams_;
std::vector<Rule> rules_;
};
}
}
}
#endif // !ALIBABACLOUD_DDS_MODEL_DESCRIBEPRICERESULT_H_

View File

@@ -1383,6 +1383,42 @@ DdsClient::DescribeParametersOutcomeCallable DdsClient::describeParametersCallab
return task->get_future();
}
DdsClient::DescribePriceOutcome DdsClient::describePrice(const DescribePriceRequest &request) const
{
auto endpointOutcome = endpointProvider_->getEndpoint();
if (!endpointOutcome.isSuccess())
return DescribePriceOutcome(endpointOutcome.error());
auto outcome = makeRequest(endpointOutcome.result(), request);
if (outcome.isSuccess())
return DescribePriceOutcome(DescribePriceResult(outcome.result()));
else
return DescribePriceOutcome(outcome.error());
}
void DdsClient::describePriceAsync(const DescribePriceRequest& request, const DescribePriceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
{
auto fn = [this, request, handler, context]()
{
handler(this, request, describePrice(request), context);
};
asyncExecute(new Runnable(fn));
}
DdsClient::DescribePriceOutcomeCallable DdsClient::describePriceCallable(const DescribePriceRequest &request) const
{
auto task = std::make_shared<std::packaged_task<DescribePriceOutcome()>>(
[this, request]()
{
return this->describePrice(request);
});
asyncExecute(new Runnable([task]() { (*task)(); }));
return task->get_future();
}
DdsClient::DescribeRegionsOutcome DdsClient::describeRegions(const DescribeRegionsRequest &request) const
{
auto endpointOutcome = endpointProvider_->getEndpoint();

View File

@@ -103,6 +103,8 @@ void DescribeDBInstanceAttributeResult::parse(const std::string &payload)
dBInstancesObject.maxConnections = std::stoi(valueDBInstancesDBInstance["MaxConnections"].asString());
if(!valueDBInstancesDBInstance["CurrentKernelVersion"].isNull())
dBInstancesObject.currentKernelVersion = valueDBInstancesDBInstance["CurrentKernelVersion"].asString();
if(!valueDBInstancesDBInstance["ProtocolType"].isNull())
dBInstancesObject.protocolType = valueDBInstancesDBInstance["ProtocolType"].asString();
if(!valueDBInstancesDBInstance["VpcAuthMode"].isNull())
dBInstancesObject.vpcAuthMode = valueDBInstancesDBInstance["VpcAuthMode"].asString();
auto allMongosListNode = allDBInstancesNode["MongosList"]["MongosAttribute"];

View File

@@ -0,0 +1,172 @@
/*
* 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/dds/model/DescribePriceRequest.h>
using AlibabaCloud::Dds::Model::DescribePriceRequest;
DescribePriceRequest::DescribePriceRequest() :
RpcServiceRequest("dds", "2015-12-01", "DescribePrice")
{
setMethod(HttpRequest::Method::Post);
}
DescribePriceRequest::~DescribePriceRequest()
{}
long DescribePriceRequest::getResourceOwnerId()const
{
return resourceOwnerId_;
}
void DescribePriceRequest::setResourceOwnerId(long resourceOwnerId)
{
resourceOwnerId_ = resourceOwnerId;
setParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
}
std::string DescribePriceRequest::getProductCode()const
{
return productCode_;
}
void DescribePriceRequest::setProductCode(const std::string& productCode)
{
productCode_ = productCode;
setParameter("ProductCode", productCode);
}
std::string DescribePriceRequest::getCouponNo()const
{
return couponNo_;
}
void DescribePriceRequest::setCouponNo(const std::string& couponNo)
{
couponNo_ = couponNo;
setParameter("CouponNo", couponNo);
}
std::string DescribePriceRequest::getAccessKeyId()const
{
return accessKeyId_;
}
void DescribePriceRequest::setAccessKeyId(const std::string& accessKeyId)
{
accessKeyId_ = accessKeyId;
setParameter("AccessKeyId", accessKeyId);
}
std::string DescribePriceRequest::getSecurityToken()const
{
return securityToken_;
}
void DescribePriceRequest::setSecurityToken(const std::string& securityToken)
{
securityToken_ = securityToken;
setParameter("SecurityToken", securityToken);
}
std::string DescribePriceRequest::getBusinessInfo()const
{
return businessInfo_;
}
void DescribePriceRequest::setBusinessInfo(const std::string& businessInfo)
{
businessInfo_ = businessInfo;
setParameter("BusinessInfo", businessInfo);
}
std::string DescribePriceRequest::getResourceOwnerAccount()const
{
return resourceOwnerAccount_;
}
void DescribePriceRequest::setResourceOwnerAccount(const std::string& resourceOwnerAccount)
{
resourceOwnerAccount_ = resourceOwnerAccount;
setParameter("ResourceOwnerAccount", resourceOwnerAccount);
}
std::string DescribePriceRequest::getOwnerAccount()const
{
return ownerAccount_;
}
void DescribePriceRequest::setOwnerAccount(const std::string& ownerAccount)
{
ownerAccount_ = ownerAccount;
setParameter("OwnerAccount", ownerAccount);
}
std::string DescribePriceRequest::getOrderParamOut()const
{
return orderParamOut_;
}
void DescribePriceRequest::setOrderParamOut(const std::string& orderParamOut)
{
orderParamOut_ = orderParamOut;
setParameter("OrderParamOut", orderParamOut);
}
std::string DescribePriceRequest::getCommodityCode()const
{
return commodityCode_;
}
void DescribePriceRequest::setCommodityCode(const std::string& commodityCode)
{
commodityCode_ = commodityCode;
setParameter("CommodityCode", commodityCode);
}
long DescribePriceRequest::getOwnerId()const
{
return ownerId_;
}
void DescribePriceRequest::setOwnerId(long ownerId)
{
ownerId_ = ownerId;
setParameter("OwnerId", std::to_string(ownerId));
}
std::string DescribePriceRequest::getDBInstances()const
{
return dBInstances_;
}
void DescribePriceRequest::setDBInstances(const std::string& dBInstances)
{
dBInstances_ = dBInstances;
setParameter("DBInstances", dBInstances);
}
std::string DescribePriceRequest::getOrderType()const
{
return orderType_;
}
void DescribePriceRequest::setOrderType(const std::string& orderType)
{
orderType_ = orderType;
setParameter("OrderType", orderType);
}

View File

@@ -0,0 +1,128 @@
/*
* 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/dds/model/DescribePriceResult.h>
#include <json/json.h>
using namespace AlibabaCloud::Dds;
using namespace AlibabaCloud::Dds::Model;
DescribePriceResult::DescribePriceResult() :
ServiceResult()
{}
DescribePriceResult::DescribePriceResult(const std::string &payload) :
ServiceResult()
{
parse(payload);
}
DescribePriceResult::~DescribePriceResult()
{}
void DescribePriceResult::parse(const std::string &payload)
{
Json::Reader reader;
Json::Value value;
reader.parse(payload, value);
setRequestId(value["RequestId"].asString());
auto allRulesNode = value["Rules"]["Rule"];
for (auto valueRulesRule : allRulesNode)
{
Rule rulesObject;
if(!valueRulesRule["RuleDescId"].isNull())
rulesObject.ruleDescId = std::stol(valueRulesRule["RuleDescId"].asString());
if(!valueRulesRule["Name"].isNull())
rulesObject.name = valueRulesRule["Name"].asString();
if(!valueRulesRule["Title"].isNull())
rulesObject.title = valueRulesRule["Title"].asString();
rules_.push_back(rulesObject);
}
auto allSubOrdersNode = value["SubOrders"]["SubOrder"];
for (auto valueSubOrdersSubOrder : allSubOrdersNode)
{
SubOrder subOrdersObject;
if(!valueSubOrdersSubOrder["OriginalAmount"].isNull())
subOrdersObject.originalAmount = std::stof(valueSubOrdersSubOrder["OriginalAmount"].asString());
if(!valueSubOrdersSubOrder["TradeAmount"].isNull())
subOrdersObject.tradeAmount = std::stof(valueSubOrdersSubOrder["TradeAmount"].asString());
if(!valueSubOrdersSubOrder["DiscountAmount"].isNull())
subOrdersObject.discountAmount = std::stof(valueSubOrdersSubOrder["DiscountAmount"].asString());
if(!valueSubOrdersSubOrder["InstanceId"].isNull())
subOrdersObject.instanceId = valueSubOrdersSubOrder["InstanceId"].asString();
auto allRuleIds = value["RuleIds"]["RuleId"];
for (auto value : allRuleIds)
subOrdersObject.ruleIds.push_back(value.asString());
subOrders_.push_back(subOrdersObject);
}
auto orderNode = value["Order"];
if(!orderNode["OriginalAmount"].isNull())
order_.originalAmount = std::stof(orderNode["OriginalAmount"].asString());
if(!orderNode["TradeAmount"].isNull())
order_.tradeAmount = std::stof(orderNode["TradeAmount"].asString());
if(!orderNode["DiscountAmount"].isNull())
order_.discountAmount = std::stof(orderNode["DiscountAmount"].asString());
if(!orderNode["Currency"].isNull())
order_.currency = orderNode["Currency"].asString();
auto allCouponsNode = orderNode["Coupons"]["Coupon"];
for (auto orderNodeCouponsCoupon : allCouponsNode)
{
Order::Coupon couponObject;
if(!orderNodeCouponsCoupon["CouponNo"].isNull())
couponObject.couponNo = orderNodeCouponsCoupon["CouponNo"].asString();
if(!orderNodeCouponsCoupon["Name"].isNull())
couponObject.name = orderNodeCouponsCoupon["Name"].asString();
if(!orderNodeCouponsCoupon["Description"].isNull())
couponObject.description = orderNodeCouponsCoupon["Description"].asString();
if(!orderNodeCouponsCoupon["IsSelected"].isNull())
couponObject.isSelected = orderNodeCouponsCoupon["IsSelected"].asString();
order_.coupons.push_back(couponObject);
}
auto allRuleIds1 = orderNode["RuleIds"]["RuleId"];
for (auto value : allRuleIds1)
order_.ruleIds1.push_back(value.asString());
if(!value["TraceId"].isNull())
traceId_ = value["TraceId"].asString();
if(!value["OrderParams"].isNull())
orderParams_ = value["OrderParams"].asString();
}
DescribePriceResult::Order DescribePriceResult::getOrder()const
{
return order_;
}
std::vector<DescribePriceResult::SubOrder> DescribePriceResult::getSubOrders()const
{
return subOrders_;
}
std::string DescribePriceResult::getTraceId()const
{
return traceId_;
}
std::string DescribePriceResult::getOrderParams()const
{
return orderParams_;
}
std::vector<DescribePriceResult::Rule> DescribePriceResult::getRules()const
{
return rules_;
}