From 8ef1e983c19c030ca9035f969f1a7ad12b59fe4f Mon Sep 17 00:00:00 2001 From: sdk-team Date: Thu, 22 Oct 2020 10:57:52 +0000 Subject: [PATCH] Update data API. --- CHANGELOG | 3 + dcdn/CMakeLists.txt | 8 ++ dcdn/include/alibabacloud/dcdn/DcdnClient.h | 16 ++++ ...ribeDcdnDomainRealTimeTrafficDataRequest.h | 57 ++++++++++++ ...cribeDcdnDomainRealTimeTrafficDataResult.h | 64 ++++++++++++++ .../DescribeDcdnUserBillHistoryRequest.h | 54 ++++++++++++ .../model/DescribeDcdnUserBillHistoryResult.h | 66 ++++++++++++++ dcdn/src/DcdnClient.cc | 72 +++++++++++++++ ...ibeDcdnDomainRealTimeTrafficDataRequest.cc | 73 ++++++++++++++++ ...ribeDcdnDomainRealTimeTrafficDataResult.cc | 87 +++++++++++++++++++ .../DescribeDcdnUserBillHistoryRequest.cc | 62 +++++++++++++ .../DescribeDcdnUserBillHistoryResult.cc | 77 ++++++++++++++++ 12 files changed, 639 insertions(+) create mode 100644 dcdn/include/alibabacloud/dcdn/model/DescribeDcdnDomainRealTimeTrafficDataRequest.h create mode 100644 dcdn/include/alibabacloud/dcdn/model/DescribeDcdnDomainRealTimeTrafficDataResult.h create mode 100644 dcdn/include/alibabacloud/dcdn/model/DescribeDcdnUserBillHistoryRequest.h create mode 100644 dcdn/include/alibabacloud/dcdn/model/DescribeDcdnUserBillHistoryResult.h create mode 100644 dcdn/src/model/DescribeDcdnDomainRealTimeTrafficDataRequest.cc create mode 100644 dcdn/src/model/DescribeDcdnDomainRealTimeTrafficDataResult.cc create mode 100644 dcdn/src/model/DescribeDcdnUserBillHistoryRequest.cc create mode 100644 dcdn/src/model/DescribeDcdnUserBillHistoryResult.cc diff --git a/CHANGELOG b/CHANGELOG index 81ba3808d..9b2b889ed 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,6 @@ +2020-10-22 Version: patch +- Update data API. + 2020-10-21 Version: patch - DescribeAvailableResource support AcceptLanguage. diff --git a/dcdn/CMakeLists.txt b/dcdn/CMakeLists.txt index 7b2c365f4..57a1edeb1 100644 --- a/dcdn/CMakeLists.txt +++ b/dcdn/CMakeLists.txt @@ -113,6 +113,8 @@ set(dcdn_public_header_model include/alibabacloud/dcdn/model/DescribeDcdnDomainRealTimeSrcHttpCodeDataResult.h include/alibabacloud/dcdn/model/DescribeDcdnDomainRealTimeSrcTrafficDataRequest.h include/alibabacloud/dcdn/model/DescribeDcdnDomainRealTimeSrcTrafficDataResult.h + include/alibabacloud/dcdn/model/DescribeDcdnDomainRealTimeTrafficDataRequest.h + include/alibabacloud/dcdn/model/DescribeDcdnDomainRealTimeTrafficDataResult.h include/alibabacloud/dcdn/model/DescribeDcdnDomainRegionDataRequest.h include/alibabacloud/dcdn/model/DescribeDcdnDomainRegionDataResult.h include/alibabacloud/dcdn/model/DescribeDcdnDomainStagingConfigRequest.h @@ -155,6 +157,8 @@ set(dcdn_public_header_model include/alibabacloud/dcdn/model/DescribeDcdnTagResourcesResult.h include/alibabacloud/dcdn/model/DescribeDcdnTopDomainsByFlowRequest.h include/alibabacloud/dcdn/model/DescribeDcdnTopDomainsByFlowResult.h + include/alibabacloud/dcdn/model/DescribeDcdnUserBillHistoryRequest.h + include/alibabacloud/dcdn/model/DescribeDcdnUserBillHistoryResult.h include/alibabacloud/dcdn/model/DescribeDcdnUserBillTypeRequest.h include/alibabacloud/dcdn/model/DescribeDcdnUserBillTypeResult.h include/alibabacloud/dcdn/model/DescribeDcdnUserDomainsRequest.h @@ -302,6 +306,8 @@ set(dcdn_src src/model/DescribeDcdnDomainRealTimeSrcHttpCodeDataResult.cc src/model/DescribeDcdnDomainRealTimeSrcTrafficDataRequest.cc src/model/DescribeDcdnDomainRealTimeSrcTrafficDataResult.cc + src/model/DescribeDcdnDomainRealTimeTrafficDataRequest.cc + src/model/DescribeDcdnDomainRealTimeTrafficDataResult.cc src/model/DescribeDcdnDomainRegionDataRequest.cc src/model/DescribeDcdnDomainRegionDataResult.cc src/model/DescribeDcdnDomainStagingConfigRequest.cc @@ -344,6 +350,8 @@ set(dcdn_src src/model/DescribeDcdnTagResourcesResult.cc src/model/DescribeDcdnTopDomainsByFlowRequest.cc src/model/DescribeDcdnTopDomainsByFlowResult.cc + src/model/DescribeDcdnUserBillHistoryRequest.cc + src/model/DescribeDcdnUserBillHistoryResult.cc src/model/DescribeDcdnUserBillTypeRequest.cc src/model/DescribeDcdnUserBillTypeResult.cc src/model/DescribeDcdnUserDomainsRequest.cc diff --git a/dcdn/include/alibabacloud/dcdn/DcdnClient.h b/dcdn/include/alibabacloud/dcdn/DcdnClient.h index 039d2d19e..d2bcaf27b 100644 --- a/dcdn/include/alibabacloud/dcdn/DcdnClient.h +++ b/dcdn/include/alibabacloud/dcdn/DcdnClient.h @@ -114,6 +114,8 @@ #include "model/DescribeDcdnDomainRealTimeSrcHttpCodeDataResult.h" #include "model/DescribeDcdnDomainRealTimeSrcTrafficDataRequest.h" #include "model/DescribeDcdnDomainRealTimeSrcTrafficDataResult.h" +#include "model/DescribeDcdnDomainRealTimeTrafficDataRequest.h" +#include "model/DescribeDcdnDomainRealTimeTrafficDataResult.h" #include "model/DescribeDcdnDomainRegionDataRequest.h" #include "model/DescribeDcdnDomainRegionDataResult.h" #include "model/DescribeDcdnDomainStagingConfigRequest.h" @@ -156,6 +158,8 @@ #include "model/DescribeDcdnTagResourcesResult.h" #include "model/DescribeDcdnTopDomainsByFlowRequest.h" #include "model/DescribeDcdnTopDomainsByFlowResult.h" +#include "model/DescribeDcdnUserBillHistoryRequest.h" +#include "model/DescribeDcdnUserBillHistoryResult.h" #include "model/DescribeDcdnUserBillTypeRequest.h" #include "model/DescribeDcdnUserBillTypeResult.h" #include "model/DescribeDcdnUserDomainsRequest.h" @@ -355,6 +359,9 @@ namespace AlibabaCloud typedef Outcome DescribeDcdnDomainRealTimeSrcTrafficDataOutcome; typedef std::future DescribeDcdnDomainRealTimeSrcTrafficDataOutcomeCallable; typedef std::function&)> DescribeDcdnDomainRealTimeSrcTrafficDataAsyncHandler; + typedef Outcome DescribeDcdnDomainRealTimeTrafficDataOutcome; + typedef std::future DescribeDcdnDomainRealTimeTrafficDataOutcomeCallable; + typedef std::function&)> DescribeDcdnDomainRealTimeTrafficDataAsyncHandler; typedef Outcome DescribeDcdnDomainRegionDataOutcome; typedef std::future DescribeDcdnDomainRegionDataOutcomeCallable; typedef std::function&)> DescribeDcdnDomainRegionDataAsyncHandler; @@ -418,6 +425,9 @@ namespace AlibabaCloud typedef Outcome DescribeDcdnTopDomainsByFlowOutcome; typedef std::future DescribeDcdnTopDomainsByFlowOutcomeCallable; typedef std::function&)> DescribeDcdnTopDomainsByFlowAsyncHandler; + typedef Outcome DescribeDcdnUserBillHistoryOutcome; + typedef std::future DescribeDcdnUserBillHistoryOutcomeCallable; + typedef std::function&)> DescribeDcdnUserBillHistoryAsyncHandler; typedef Outcome DescribeDcdnUserBillTypeOutcome; typedef std::future DescribeDcdnUserBillTypeOutcomeCallable; typedef std::function&)> DescribeDcdnUserBillTypeAsyncHandler; @@ -639,6 +649,9 @@ namespace AlibabaCloud DescribeDcdnDomainRealTimeSrcTrafficDataOutcome describeDcdnDomainRealTimeSrcTrafficData(const Model::DescribeDcdnDomainRealTimeSrcTrafficDataRequest &request)const; void describeDcdnDomainRealTimeSrcTrafficDataAsync(const Model::DescribeDcdnDomainRealTimeSrcTrafficDataRequest& request, const DescribeDcdnDomainRealTimeSrcTrafficDataAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; DescribeDcdnDomainRealTimeSrcTrafficDataOutcomeCallable describeDcdnDomainRealTimeSrcTrafficDataCallable(const Model::DescribeDcdnDomainRealTimeSrcTrafficDataRequest& request) const; + DescribeDcdnDomainRealTimeTrafficDataOutcome describeDcdnDomainRealTimeTrafficData(const Model::DescribeDcdnDomainRealTimeTrafficDataRequest &request)const; + void describeDcdnDomainRealTimeTrafficDataAsync(const Model::DescribeDcdnDomainRealTimeTrafficDataRequest& request, const DescribeDcdnDomainRealTimeTrafficDataAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; + DescribeDcdnDomainRealTimeTrafficDataOutcomeCallable describeDcdnDomainRealTimeTrafficDataCallable(const Model::DescribeDcdnDomainRealTimeTrafficDataRequest& request) const; DescribeDcdnDomainRegionDataOutcome describeDcdnDomainRegionData(const Model::DescribeDcdnDomainRegionDataRequest &request)const; void describeDcdnDomainRegionDataAsync(const Model::DescribeDcdnDomainRegionDataRequest& request, const DescribeDcdnDomainRegionDataAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; DescribeDcdnDomainRegionDataOutcomeCallable describeDcdnDomainRegionDataCallable(const Model::DescribeDcdnDomainRegionDataRequest& request) const; @@ -702,6 +715,9 @@ namespace AlibabaCloud DescribeDcdnTopDomainsByFlowOutcome describeDcdnTopDomainsByFlow(const Model::DescribeDcdnTopDomainsByFlowRequest &request)const; void describeDcdnTopDomainsByFlowAsync(const Model::DescribeDcdnTopDomainsByFlowRequest& request, const DescribeDcdnTopDomainsByFlowAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; DescribeDcdnTopDomainsByFlowOutcomeCallable describeDcdnTopDomainsByFlowCallable(const Model::DescribeDcdnTopDomainsByFlowRequest& request) const; + DescribeDcdnUserBillHistoryOutcome describeDcdnUserBillHistory(const Model::DescribeDcdnUserBillHistoryRequest &request)const; + void describeDcdnUserBillHistoryAsync(const Model::DescribeDcdnUserBillHistoryRequest& request, const DescribeDcdnUserBillHistoryAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; + DescribeDcdnUserBillHistoryOutcomeCallable describeDcdnUserBillHistoryCallable(const Model::DescribeDcdnUserBillHistoryRequest& request) const; DescribeDcdnUserBillTypeOutcome describeDcdnUserBillType(const Model::DescribeDcdnUserBillTypeRequest &request)const; void describeDcdnUserBillTypeAsync(const Model::DescribeDcdnUserBillTypeRequest& request, const DescribeDcdnUserBillTypeAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; DescribeDcdnUserBillTypeOutcomeCallable describeDcdnUserBillTypeCallable(const Model::DescribeDcdnUserBillTypeRequest& request) const; diff --git a/dcdn/include/alibabacloud/dcdn/model/DescribeDcdnDomainRealTimeTrafficDataRequest.h b/dcdn/include/alibabacloud/dcdn/model/DescribeDcdnDomainRealTimeTrafficDataRequest.h new file mode 100644 index 000000000..720ae01cb --- /dev/null +++ b/dcdn/include/alibabacloud/dcdn/model/DescribeDcdnDomainRealTimeTrafficDataRequest.h @@ -0,0 +1,57 @@ +/* + * 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_DCDN_MODEL_DESCRIBEDCDNDOMAINREALTIMETRAFFICDATAREQUEST_H_ +#define ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNDOMAINREALTIMETRAFFICDATAREQUEST_H_ + +#include +#include +#include +#include + +namespace AlibabaCloud +{ + namespace Dcdn + { + namespace Model + { + class ALIBABACLOUD_DCDN_EXPORT DescribeDcdnDomainRealTimeTrafficDataRequest : public RpcServiceRequest + { + + public: + DescribeDcdnDomainRealTimeTrafficDataRequest(); + ~DescribeDcdnDomainRealTimeTrafficDataRequest(); + + std::string getStartTime()const; + void setStartTime(const std::string& startTime); + std::string getDomainName()const; + void setDomainName(const std::string& domainName); + std::string getEndTime()const; + void setEndTime(const std::string& endTime); + long getOwnerId()const; + void setOwnerId(long ownerId); + + private: + std::string startTime_; + std::string domainName_; + std::string endTime_; + long ownerId_; + + }; + } + } +} +#endif // !ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNDOMAINREALTIMETRAFFICDATAREQUEST_H_ \ No newline at end of file diff --git a/dcdn/include/alibabacloud/dcdn/model/DescribeDcdnDomainRealTimeTrafficDataResult.h b/dcdn/include/alibabacloud/dcdn/model/DescribeDcdnDomainRealTimeTrafficDataResult.h new file mode 100644 index 000000000..7d9f32ab0 --- /dev/null +++ b/dcdn/include/alibabacloud/dcdn/model/DescribeDcdnDomainRealTimeTrafficDataResult.h @@ -0,0 +1,64 @@ +/* + * 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_DCDN_MODEL_DESCRIBEDCDNDOMAINREALTIMETRAFFICDATARESULT_H_ +#define ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNDOMAINREALTIMETRAFFICDATARESULT_H_ + +#include +#include +#include +#include +#include + +namespace AlibabaCloud +{ + namespace Dcdn + { + namespace Model + { + class ALIBABACLOUD_DCDN_EXPORT DescribeDcdnDomainRealTimeTrafficDataResult : public ServiceResult + { + public: + struct DataModule + { + std::string value; + std::string timeStamp; + }; + + + DescribeDcdnDomainRealTimeTrafficDataResult(); + explicit DescribeDcdnDomainRealTimeTrafficDataResult(const std::string &payload); + ~DescribeDcdnDomainRealTimeTrafficDataResult(); + std::string getEndTime()const; + std::vector getRealTimeTrafficDataPerInterval()const; + std::string getDomainName()const; + std::string getStartTime()const; + std::string getDataInterval()const; + + protected: + void parse(const std::string &payload); + private: + std::string endTime_; + std::vector realTimeTrafficDataPerInterval_; + std::string domainName_; + std::string startTime_; + std::string dataInterval_; + + }; + } + } +} +#endif // !ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNDOMAINREALTIMETRAFFICDATARESULT_H_ \ No newline at end of file diff --git a/dcdn/include/alibabacloud/dcdn/model/DescribeDcdnUserBillHistoryRequest.h b/dcdn/include/alibabacloud/dcdn/model/DescribeDcdnUserBillHistoryRequest.h new file mode 100644 index 000000000..0993fb67f --- /dev/null +++ b/dcdn/include/alibabacloud/dcdn/model/DescribeDcdnUserBillHistoryRequest.h @@ -0,0 +1,54 @@ +/* + * Copyright 2009-2017 Alibaba Cloud All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNUSERBILLHISTORYREQUEST_H_ +#define ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNUSERBILLHISTORYREQUEST_H_ + +#include +#include +#include +#include + +namespace AlibabaCloud +{ + namespace Dcdn + { + namespace Model + { + class ALIBABACLOUD_DCDN_EXPORT DescribeDcdnUserBillHistoryRequest : public RpcServiceRequest + { + + public: + DescribeDcdnUserBillHistoryRequest(); + ~DescribeDcdnUserBillHistoryRequest(); + + std::string getStartTime()const; + void setStartTime(const std::string& startTime); + std::string getEndTime()const; + void setEndTime(const std::string& endTime); + long getOwnerId()const; + void setOwnerId(long ownerId); + + private: + std::string startTime_; + std::string endTime_; + long ownerId_; + + }; + } + } +} +#endif // !ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNUSERBILLHISTORYREQUEST_H_ \ No newline at end of file diff --git a/dcdn/include/alibabacloud/dcdn/model/DescribeDcdnUserBillHistoryResult.h b/dcdn/include/alibabacloud/dcdn/model/DescribeDcdnUserBillHistoryResult.h new file mode 100644 index 000000000..a9b2262ae --- /dev/null +++ b/dcdn/include/alibabacloud/dcdn/model/DescribeDcdnUserBillHistoryResult.h @@ -0,0 +1,66 @@ +/* + * 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_DCDN_MODEL_DESCRIBEDCDNUSERBILLHISTORYRESULT_H_ +#define ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNUSERBILLHISTORYRESULT_H_ + +#include +#include +#include +#include +#include + +namespace AlibabaCloud +{ + namespace Dcdn + { + namespace Model + { + class ALIBABACLOUD_DCDN_EXPORT DescribeDcdnUserBillHistoryResult : public ServiceResult + { + public: + struct BillHistoryDataItem + { + struct BillingDataItem + { + std::string chargeType; + float bandwidth; + std::string cdnRegion; + float count; + float flow; + }; + std::string billType; + std::string billTime; + std::vector billingData; + std::string dimension; + }; + + + DescribeDcdnUserBillHistoryResult(); + explicit DescribeDcdnUserBillHistoryResult(const std::string &payload); + ~DescribeDcdnUserBillHistoryResult(); + std::vector getBillHistoryData()const; + + protected: + void parse(const std::string &payload); + private: + std::vector billHistoryData_; + + }; + } + } +} +#endif // !ALIBABACLOUD_DCDN_MODEL_DESCRIBEDCDNUSERBILLHISTORYRESULT_H_ \ No newline at end of file diff --git a/dcdn/src/DcdnClient.cc b/dcdn/src/DcdnClient.cc index 7a867327d..31dc8bb04 100644 --- a/dcdn/src/DcdnClient.cc +++ b/dcdn/src/DcdnClient.cc @@ -1707,6 +1707,42 @@ DcdnClient::DescribeDcdnDomainRealTimeSrcTrafficDataOutcomeCallable DcdnClient:: return task->get_future(); } +DcdnClient::DescribeDcdnDomainRealTimeTrafficDataOutcome DcdnClient::describeDcdnDomainRealTimeTrafficData(const DescribeDcdnDomainRealTimeTrafficDataRequest &request) const +{ + auto endpointOutcome = endpointProvider_->getEndpoint(); + if (!endpointOutcome.isSuccess()) + return DescribeDcdnDomainRealTimeTrafficDataOutcome(endpointOutcome.error()); + + auto outcome = makeRequest(endpointOutcome.result(), request); + + if (outcome.isSuccess()) + return DescribeDcdnDomainRealTimeTrafficDataOutcome(DescribeDcdnDomainRealTimeTrafficDataResult(outcome.result())); + else + return DescribeDcdnDomainRealTimeTrafficDataOutcome(outcome.error()); +} + +void DcdnClient::describeDcdnDomainRealTimeTrafficDataAsync(const DescribeDcdnDomainRealTimeTrafficDataRequest& request, const DescribeDcdnDomainRealTimeTrafficDataAsyncHandler& handler, const std::shared_ptr& context) const +{ + auto fn = [this, request, handler, context]() + { + handler(this, request, describeDcdnDomainRealTimeTrafficData(request), context); + }; + + asyncExecute(new Runnable(fn)); +} + +DcdnClient::DescribeDcdnDomainRealTimeTrafficDataOutcomeCallable DcdnClient::describeDcdnDomainRealTimeTrafficDataCallable(const DescribeDcdnDomainRealTimeTrafficDataRequest &request) const +{ + auto task = std::make_shared>( + [this, request]() + { + return this->describeDcdnDomainRealTimeTrafficData(request); + }); + + asyncExecute(new Runnable([task]() { (*task)(); })); + return task->get_future(); +} + DcdnClient::DescribeDcdnDomainRegionDataOutcome DcdnClient::describeDcdnDomainRegionData(const DescribeDcdnDomainRegionDataRequest &request) const { auto endpointOutcome = endpointProvider_->getEndpoint(); @@ -2463,6 +2499,42 @@ DcdnClient::DescribeDcdnTopDomainsByFlowOutcomeCallable DcdnClient::describeDcdn return task->get_future(); } +DcdnClient::DescribeDcdnUserBillHistoryOutcome DcdnClient::describeDcdnUserBillHistory(const DescribeDcdnUserBillHistoryRequest &request) const +{ + auto endpointOutcome = endpointProvider_->getEndpoint(); + if (!endpointOutcome.isSuccess()) + return DescribeDcdnUserBillHistoryOutcome(endpointOutcome.error()); + + auto outcome = makeRequest(endpointOutcome.result(), request); + + if (outcome.isSuccess()) + return DescribeDcdnUserBillHistoryOutcome(DescribeDcdnUserBillHistoryResult(outcome.result())); + else + return DescribeDcdnUserBillHistoryOutcome(outcome.error()); +} + +void DcdnClient::describeDcdnUserBillHistoryAsync(const DescribeDcdnUserBillHistoryRequest& request, const DescribeDcdnUserBillHistoryAsyncHandler& handler, const std::shared_ptr& context) const +{ + auto fn = [this, request, handler, context]() + { + handler(this, request, describeDcdnUserBillHistory(request), context); + }; + + asyncExecute(new Runnable(fn)); +} + +DcdnClient::DescribeDcdnUserBillHistoryOutcomeCallable DcdnClient::describeDcdnUserBillHistoryCallable(const DescribeDcdnUserBillHistoryRequest &request) const +{ + auto task = std::make_shared>( + [this, request]() + { + return this->describeDcdnUserBillHistory(request); + }); + + asyncExecute(new Runnable([task]() { (*task)(); })); + return task->get_future(); +} + DcdnClient::DescribeDcdnUserBillTypeOutcome DcdnClient::describeDcdnUserBillType(const DescribeDcdnUserBillTypeRequest &request) const { auto endpointOutcome = endpointProvider_->getEndpoint(); diff --git a/dcdn/src/model/DescribeDcdnDomainRealTimeTrafficDataRequest.cc b/dcdn/src/model/DescribeDcdnDomainRealTimeTrafficDataRequest.cc new file mode 100644 index 000000000..5bcb93c51 --- /dev/null +++ b/dcdn/src/model/DescribeDcdnDomainRealTimeTrafficDataRequest.cc @@ -0,0 +1,73 @@ +/* + * Copyright 2009-2017 Alibaba Cloud All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include + +using AlibabaCloud::Dcdn::Model::DescribeDcdnDomainRealTimeTrafficDataRequest; + +DescribeDcdnDomainRealTimeTrafficDataRequest::DescribeDcdnDomainRealTimeTrafficDataRequest() : + RpcServiceRequest("dcdn", "2018-01-15", "DescribeDcdnDomainRealTimeTrafficData") +{ + setMethod(HttpRequest::Method::Post); +} + +DescribeDcdnDomainRealTimeTrafficDataRequest::~DescribeDcdnDomainRealTimeTrafficDataRequest() +{} + +std::string DescribeDcdnDomainRealTimeTrafficDataRequest::getStartTime()const +{ + return startTime_; +} + +void DescribeDcdnDomainRealTimeTrafficDataRequest::setStartTime(const std::string& startTime) +{ + startTime_ = startTime; + setParameter("StartTime", startTime); +} + +std::string DescribeDcdnDomainRealTimeTrafficDataRequest::getDomainName()const +{ + return domainName_; +} + +void DescribeDcdnDomainRealTimeTrafficDataRequest::setDomainName(const std::string& domainName) +{ + domainName_ = domainName; + setParameter("DomainName", domainName); +} + +std::string DescribeDcdnDomainRealTimeTrafficDataRequest::getEndTime()const +{ + return endTime_; +} + +void DescribeDcdnDomainRealTimeTrafficDataRequest::setEndTime(const std::string& endTime) +{ + endTime_ = endTime; + setParameter("EndTime", endTime); +} + +long DescribeDcdnDomainRealTimeTrafficDataRequest::getOwnerId()const +{ + return ownerId_; +} + +void DescribeDcdnDomainRealTimeTrafficDataRequest::setOwnerId(long ownerId) +{ + ownerId_ = ownerId; + setParameter("OwnerId", std::to_string(ownerId)); +} + diff --git a/dcdn/src/model/DescribeDcdnDomainRealTimeTrafficDataResult.cc b/dcdn/src/model/DescribeDcdnDomainRealTimeTrafficDataResult.cc new file mode 100644 index 000000000..24452b1a0 --- /dev/null +++ b/dcdn/src/model/DescribeDcdnDomainRealTimeTrafficDataResult.cc @@ -0,0 +1,87 @@ +/* + * 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 +#include + +using namespace AlibabaCloud::Dcdn; +using namespace AlibabaCloud::Dcdn::Model; + +DescribeDcdnDomainRealTimeTrafficDataResult::DescribeDcdnDomainRealTimeTrafficDataResult() : + ServiceResult() +{} + +DescribeDcdnDomainRealTimeTrafficDataResult::DescribeDcdnDomainRealTimeTrafficDataResult(const std::string &payload) : + ServiceResult() +{ + parse(payload); +} + +DescribeDcdnDomainRealTimeTrafficDataResult::~DescribeDcdnDomainRealTimeTrafficDataResult() +{} + +void DescribeDcdnDomainRealTimeTrafficDataResult::parse(const std::string &payload) +{ + Json::Reader reader; + Json::Value value; + reader.parse(payload, value); + setRequestId(value["RequestId"].asString()); + auto allRealTimeTrafficDataPerIntervalNode = value["RealTimeTrafficDataPerInterval"]["DataModule"]; + for (auto valueRealTimeTrafficDataPerIntervalDataModule : allRealTimeTrafficDataPerIntervalNode) + { + DataModule realTimeTrafficDataPerIntervalObject; + if(!valueRealTimeTrafficDataPerIntervalDataModule["TimeStamp"].isNull()) + realTimeTrafficDataPerIntervalObject.timeStamp = valueRealTimeTrafficDataPerIntervalDataModule["TimeStamp"].asString(); + if(!valueRealTimeTrafficDataPerIntervalDataModule["Value"].isNull()) + realTimeTrafficDataPerIntervalObject.value = valueRealTimeTrafficDataPerIntervalDataModule["Value"].asString(); + realTimeTrafficDataPerInterval_.push_back(realTimeTrafficDataPerIntervalObject); + } + if(!value["DomainName"].isNull()) + domainName_ = value["DomainName"].asString(); + if(!value["StartTime"].isNull()) + startTime_ = value["StartTime"].asString(); + if(!value["EndTime"].isNull()) + endTime_ = value["EndTime"].asString(); + if(!value["DataInterval"].isNull()) + dataInterval_ = value["DataInterval"].asString(); + +} + +std::string DescribeDcdnDomainRealTimeTrafficDataResult::getEndTime()const +{ + return endTime_; +} + +std::vector DescribeDcdnDomainRealTimeTrafficDataResult::getRealTimeTrafficDataPerInterval()const +{ + return realTimeTrafficDataPerInterval_; +} + +std::string DescribeDcdnDomainRealTimeTrafficDataResult::getDomainName()const +{ + return domainName_; +} + +std::string DescribeDcdnDomainRealTimeTrafficDataResult::getStartTime()const +{ + return startTime_; +} + +std::string DescribeDcdnDomainRealTimeTrafficDataResult::getDataInterval()const +{ + return dataInterval_; +} + diff --git a/dcdn/src/model/DescribeDcdnUserBillHistoryRequest.cc b/dcdn/src/model/DescribeDcdnUserBillHistoryRequest.cc new file mode 100644 index 000000000..b37462f0e --- /dev/null +++ b/dcdn/src/model/DescribeDcdnUserBillHistoryRequest.cc @@ -0,0 +1,62 @@ +/* + * 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 + +using AlibabaCloud::Dcdn::Model::DescribeDcdnUserBillHistoryRequest; + +DescribeDcdnUserBillHistoryRequest::DescribeDcdnUserBillHistoryRequest() : + RpcServiceRequest("dcdn", "2018-01-15", "DescribeDcdnUserBillHistory") +{ + setMethod(HttpRequest::Method::Post); +} + +DescribeDcdnUserBillHistoryRequest::~DescribeDcdnUserBillHistoryRequest() +{} + +std::string DescribeDcdnUserBillHistoryRequest::getStartTime()const +{ + return startTime_; +} + +void DescribeDcdnUserBillHistoryRequest::setStartTime(const std::string& startTime) +{ + startTime_ = startTime; + setParameter("StartTime", startTime); +} + +std::string DescribeDcdnUserBillHistoryRequest::getEndTime()const +{ + return endTime_; +} + +void DescribeDcdnUserBillHistoryRequest::setEndTime(const std::string& endTime) +{ + endTime_ = endTime; + setParameter("EndTime", endTime); +} + +long DescribeDcdnUserBillHistoryRequest::getOwnerId()const +{ + return ownerId_; +} + +void DescribeDcdnUserBillHistoryRequest::setOwnerId(long ownerId) +{ + ownerId_ = ownerId; + setParameter("OwnerId", std::to_string(ownerId)); +} + diff --git a/dcdn/src/model/DescribeDcdnUserBillHistoryResult.cc b/dcdn/src/model/DescribeDcdnUserBillHistoryResult.cc new file mode 100644 index 000000000..1b57afafa --- /dev/null +++ b/dcdn/src/model/DescribeDcdnUserBillHistoryResult.cc @@ -0,0 +1,77 @@ +/* + * 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 +#include + +using namespace AlibabaCloud::Dcdn; +using namespace AlibabaCloud::Dcdn::Model; + +DescribeDcdnUserBillHistoryResult::DescribeDcdnUserBillHistoryResult() : + ServiceResult() +{} + +DescribeDcdnUserBillHistoryResult::DescribeDcdnUserBillHistoryResult(const std::string &payload) : + ServiceResult() +{ + parse(payload); +} + +DescribeDcdnUserBillHistoryResult::~DescribeDcdnUserBillHistoryResult() +{} + +void DescribeDcdnUserBillHistoryResult::parse(const std::string &payload) +{ + Json::Reader reader; + Json::Value value; + reader.parse(payload, value); + setRequestId(value["RequestId"].asString()); + auto allBillHistoryDataNode = value["BillHistoryData"]["BillHistoryDataItem"]; + for (auto valueBillHistoryDataBillHistoryDataItem : allBillHistoryDataNode) + { + BillHistoryDataItem billHistoryDataObject; + if(!valueBillHistoryDataBillHistoryDataItem["Dimension"].isNull()) + billHistoryDataObject.dimension = valueBillHistoryDataBillHistoryDataItem["Dimension"].asString(); + if(!valueBillHistoryDataBillHistoryDataItem["BillType"].isNull()) + billHistoryDataObject.billType = valueBillHistoryDataBillHistoryDataItem["BillType"].asString(); + if(!valueBillHistoryDataBillHistoryDataItem["BillTime"].isNull()) + billHistoryDataObject.billTime = valueBillHistoryDataBillHistoryDataItem["BillTime"].asString(); + auto allBillingDataNode = allBillHistoryDataNode["BillingData"]["BillingDataItem"]; + for (auto allBillHistoryDataNodeBillingDataBillingDataItem : allBillingDataNode) + { + BillHistoryDataItem::BillingDataItem billingDataObject; + if(!allBillHistoryDataNodeBillingDataBillingDataItem["ChargeType"].isNull()) + billingDataObject.chargeType = allBillHistoryDataNodeBillingDataBillingDataItem["ChargeType"].asString(); + if(!allBillHistoryDataNodeBillingDataBillingDataItem["CdnRegion"].isNull()) + billingDataObject.cdnRegion = allBillHistoryDataNodeBillingDataBillingDataItem["CdnRegion"].asString(); + if(!allBillHistoryDataNodeBillingDataBillingDataItem["Bandwidth"].isNull()) + billingDataObject.bandwidth = std::stof(allBillHistoryDataNodeBillingDataBillingDataItem["Bandwidth"].asString()); + if(!allBillHistoryDataNodeBillingDataBillingDataItem["Flow"].isNull()) + billingDataObject.flow = std::stof(allBillHistoryDataNodeBillingDataBillingDataItem["Flow"].asString()); + if(!allBillHistoryDataNodeBillingDataBillingDataItem["Count"].isNull()) + billingDataObject.count = std::stof(allBillHistoryDataNodeBillingDataBillingDataItem["Count"].asString()); + billHistoryDataObject.billingData.push_back(billingDataObject); + } + billHistoryData_.push_back(billHistoryDataObject); + } + +} + +std::vector DescribeDcdnUserBillHistoryResult::getBillHistoryData()const +{ + return billHistoryData_; +} +