From 7bf9e855c8e35469ce8296e9e5efc83175b2cab1 Mon Sep 17 00:00:00 2001 From: "haowei.yao" Date: Thu, 15 Mar 2018 11:32:52 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=B1=E8=8D=A3=E6=97=B8=E5=8F=91=E8=B5=B7?= =?UTF-8?q?=E7=9A=84TESLAMAXCOMPUTE=20SDK=E8=87=AA=E5=8A=A8=E5=8F=91?= =?UTF-8?q?=E5=B8=83,=20BUILD=5FID=3D329,=20=E7=89=88=E6=9C=AC=E5=8F=B7?= =?UTF-8?q?=EF=BC=9A1.2.10?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: haowei.yao --- CHANGELOG | 3 + VERSION | 2 +- teslamaxcompute/CMakeLists.txt | 4 + .../teslamaxcompute/TeslaMaxComputeClient.h | 88 ++++++++------- .../model/QueryCustomerSaleInfoRequest.h | 48 ++++++++ .../model/QueryCustomerSaleInfoResult.h | 77 +++++++++++++ teslamaxcompute/src/TeslaMaxComputeClient.cc | 50 +++++++-- .../src/model/QueryCustomerSaleInfoRequest.cc | 38 +++++++ .../src/model/QueryCustomerSaleInfoResult.cc | 104 ++++++++++++++++++ 9 files changed, 366 insertions(+), 48 deletions(-) create mode 100644 teslamaxcompute/include/alibabacloud/teslamaxcompute/model/QueryCustomerSaleInfoRequest.h create mode 100644 teslamaxcompute/include/alibabacloud/teslamaxcompute/model/QueryCustomerSaleInfoResult.h create mode 100644 teslamaxcompute/src/model/QueryCustomerSaleInfoRequest.cc create mode 100644 teslamaxcompute/src/model/QueryCustomerSaleInfoResult.cc diff --git a/CHANGELOG b/CHANGELOG index 38bca1ade..e0432ebc0 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,6 @@ +2018-03-15 Version: 1.2.10 +1, Add QueryCustomerSaleInfo API. + 2018-03-14 Version: 1.2.9 1, Support predefine endpoints parse diff --git a/VERSION b/VERSION index 434dcac4f..732aa7d7d 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.2.9 \ No newline at end of file +1.2.10 \ No newline at end of file diff --git a/teslamaxcompute/CMakeLists.txt b/teslamaxcompute/CMakeLists.txt index 3eddfeef6..5517293da 100644 --- a/teslamaxcompute/CMakeLists.txt +++ b/teslamaxcompute/CMakeLists.txt @@ -31,6 +31,8 @@ set(teslamaxcompute_public_header_model include/alibabacloud/teslamaxcompute/model/QueryTopologyResult.h include/alibabacloud/teslamaxcompute/model/GetInstancesStatusCountRequest.h include/alibabacloud/teslamaxcompute/model/GetInstancesStatusCountResult.h + include/alibabacloud/teslamaxcompute/model/QueryCustomerSaleInfoRequest.h + include/alibabacloud/teslamaxcompute/model/QueryCustomerSaleInfoResult.h include/alibabacloud/teslamaxcompute/model/GetQuotaInstanceRequest.h include/alibabacloud/teslamaxcompute/model/GetQuotaInstanceResult.h include/alibabacloud/teslamaxcompute/model/GetClusterInstanceRequest.h @@ -50,6 +52,8 @@ set(teslamaxcompute_src src/model/QueryTopologyResult.cc src/model/GetInstancesStatusCountRequest.cc src/model/GetInstancesStatusCountResult.cc + src/model/QueryCustomerSaleInfoRequest.cc + src/model/QueryCustomerSaleInfoResult.cc src/model/GetQuotaInstanceRequest.cc src/model/GetQuotaInstanceResult.cc src/model/GetClusterInstanceRequest.cc diff --git a/teslamaxcompute/include/alibabacloud/teslamaxcompute/TeslaMaxComputeClient.h b/teslamaxcompute/include/alibabacloud/teslamaxcompute/TeslaMaxComputeClient.h index 0f1e35ada..d84dae81c 100644 --- a/teslamaxcompute/include/alibabacloud/teslamaxcompute/TeslaMaxComputeClient.h +++ b/teslamaxcompute/include/alibabacloud/teslamaxcompute/TeslaMaxComputeClient.h @@ -32,6 +32,8 @@ #include "model/QueryTopologyResult.h" #include "model/GetInstancesStatusCountRequest.h" #include "model/GetInstancesStatusCountResult.h" +#include "model/QueryCustomerSaleInfoRequest.h" +#include "model/QueryCustomerSaleInfoResult.h" #include "model/GetQuotaInstanceRequest.h" #include "model/GetQuotaInstanceResult.h" #include "model/GetClusterInstanceRequest.h" @@ -47,59 +49,65 @@ namespace AlibabaCloud class ALIBABACLOUD_TESLAMAXCOMPUTE_EXPORT TeslaMaxComputeClient : public RpcServiceClient { public: - typedef Outcome GetUserInstanceOutcome; - typedef std::future GetUserInstanceOutcomeCallable; + typedef Outcome GetUserInstanceOutcome; + typedef std::future GetUserInstanceOutcomeCallable; typedef std::function&)> GetUserInstanceAsyncHandler; - typedef Outcome GetProjectInstanceOutcome; - typedef std::future GetProjectInstanceOutcomeCallable; + typedef Outcome GetProjectInstanceOutcome; + typedef std::future GetProjectInstanceOutcomeCallable; typedef std::function&)> GetProjectInstanceAsyncHandler; - typedef Outcome QueryResourceInventoryOutcome; - typedef std::future QueryResourceInventoryOutcomeCallable; + typedef Outcome QueryResourceInventoryOutcome; + typedef std::future QueryResourceInventoryOutcomeCallable; typedef std::function&)> QueryResourceInventoryAsyncHandler; - typedef Outcome QueryTopologyOutcome; - typedef std::future QueryTopologyOutcomeCallable; + typedef Outcome QueryTopologyOutcome; + typedef std::future QueryTopologyOutcomeCallable; typedef std::function&)> QueryTopologyAsyncHandler; - typedef Outcome GetInstancesStatusCountOutcome; - typedef std::future GetInstancesStatusCountOutcomeCallable; + typedef Outcome GetInstancesStatusCountOutcome; + typedef std::future GetInstancesStatusCountOutcomeCallable; typedef std::function&)> GetInstancesStatusCountAsyncHandler; - typedef Outcome GetQuotaInstanceOutcome; - typedef std::future GetQuotaInstanceOutcomeCallable; + typedef Outcome QueryCustomerSaleInfoOutcome; + typedef std::future QueryCustomerSaleInfoOutcomeCallable; + typedef std::function&)> QueryCustomerSaleInfoAsyncHandler; + typedef Outcome GetQuotaInstanceOutcome; + typedef std::future GetQuotaInstanceOutcomeCallable; typedef std::function&)> GetQuotaInstanceAsyncHandler; - typedef Outcome GetClusterInstanceOutcome; - typedef std::future GetClusterInstanceOutcomeCallable; + typedef Outcome GetClusterInstanceOutcome; + typedef std::future GetClusterInstanceOutcomeCallable; typedef std::function&)> GetClusterInstanceAsyncHandler; - typedef Outcome GetQuotaHistoryInfoOutcome; - typedef std::future GetQuotaHistoryInfoOutcomeCallable; + typedef Outcome GetQuotaHistoryInfoOutcome; + typedef std::future GetQuotaHistoryInfoOutcomeCallable; typedef std::function&)> GetQuotaHistoryInfoAsyncHandler; TeslaMaxComputeClient(const Credentials &credentials, const ClientConfiguration &configuration); TeslaMaxComputeClient(const std::shared_ptr &credentialsProvider, const ClientConfiguration &configuration); TeslaMaxComputeClient(const std::string &accessKeyId, const std::string &accessKeySecret, const ClientConfiguration &configuration); ~TeslaMaxComputeClient(); - GetUserInstanceOutcome getUserInstance(const Model::GetUserInstanceRequest &request)const; - void getUserInstanceAsync(const Model::GetUserInstanceRequest& request, const GetUserInstanceAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; - GetUserInstanceOutcomeCallable getUserInstanceCallable(const Model::GetUserInstanceRequest& request) const; - GetProjectInstanceOutcome getProjectInstance(const Model::GetProjectInstanceRequest &request)const; - void getProjectInstanceAsync(const Model::GetProjectInstanceRequest& request, const GetProjectInstanceAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; - GetProjectInstanceOutcomeCallable getProjectInstanceCallable(const Model::GetProjectInstanceRequest& request) const; - QueryResourceInventoryOutcome queryResourceInventory(const Model::QueryResourceInventoryRequest &request)const; - void queryResourceInventoryAsync(const Model::QueryResourceInventoryRequest& request, const QueryResourceInventoryAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; - QueryResourceInventoryOutcomeCallable queryResourceInventoryCallable(const Model::QueryResourceInventoryRequest& request) const; - QueryTopologyOutcome queryTopology(const Model::QueryTopologyRequest &request)const; - void queryTopologyAsync(const Model::QueryTopologyRequest& request, const QueryTopologyAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; - QueryTopologyOutcomeCallable queryTopologyCallable(const Model::QueryTopologyRequest& request) const; - GetInstancesStatusCountOutcome getInstancesStatusCount(const Model::GetInstancesStatusCountRequest &request)const; - void getInstancesStatusCountAsync(const Model::GetInstancesStatusCountRequest& request, const GetInstancesStatusCountAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; - GetInstancesStatusCountOutcomeCallable getInstancesStatusCountCallable(const Model::GetInstancesStatusCountRequest& request) const; - GetQuotaInstanceOutcome getQuotaInstance(const Model::GetQuotaInstanceRequest &request)const; - void getQuotaInstanceAsync(const Model::GetQuotaInstanceRequest& request, const GetQuotaInstanceAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; - GetQuotaInstanceOutcomeCallable getQuotaInstanceCallable(const Model::GetQuotaInstanceRequest& request) const; - GetClusterInstanceOutcome getClusterInstance(const Model::GetClusterInstanceRequest &request)const; - void getClusterInstanceAsync(const Model::GetClusterInstanceRequest& request, const GetClusterInstanceAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; - GetClusterInstanceOutcomeCallable getClusterInstanceCallable(const Model::GetClusterInstanceRequest& request) const; - GetQuotaHistoryInfoOutcome getQuotaHistoryInfo(const Model::GetQuotaHistoryInfoRequest &request)const; - void getQuotaHistoryInfoAsync(const Model::GetQuotaHistoryInfoRequest& request, const GetQuotaHistoryInfoAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; - GetQuotaHistoryInfoOutcomeCallable getQuotaHistoryInfoCallable(const Model::GetQuotaHistoryInfoRequest& request) const; + GetUserInstanceOutcome getUserInstance(const Model::GetUserInstanceRequest &request)const; + void getUserInstanceAsync(const Model::GetUserInstanceRequest& request, const GetUserInstanceAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; + GetUserInstanceOutcomeCallable getUserInstanceCallable(const Model::GetUserInstanceRequest& request) const; + GetProjectInstanceOutcome getProjectInstance(const Model::GetProjectInstanceRequest &request)const; + void getProjectInstanceAsync(const Model::GetProjectInstanceRequest& request, const GetProjectInstanceAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; + GetProjectInstanceOutcomeCallable getProjectInstanceCallable(const Model::GetProjectInstanceRequest& request) const; + QueryResourceInventoryOutcome queryResourceInventory(const Model::QueryResourceInventoryRequest &request)const; + void queryResourceInventoryAsync(const Model::QueryResourceInventoryRequest& request, const QueryResourceInventoryAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; + QueryResourceInventoryOutcomeCallable queryResourceInventoryCallable(const Model::QueryResourceInventoryRequest& request) const; + QueryTopologyOutcome queryTopology(const Model::QueryTopologyRequest &request)const; + void queryTopologyAsync(const Model::QueryTopologyRequest& request, const QueryTopologyAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; + QueryTopologyOutcomeCallable queryTopologyCallable(const Model::QueryTopologyRequest& request) const; + GetInstancesStatusCountOutcome getInstancesStatusCount(const Model::GetInstancesStatusCountRequest &request)const; + void getInstancesStatusCountAsync(const Model::GetInstancesStatusCountRequest& request, const GetInstancesStatusCountAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; + GetInstancesStatusCountOutcomeCallable getInstancesStatusCountCallable(const Model::GetInstancesStatusCountRequest& request) const; + QueryCustomerSaleInfoOutcome queryCustomerSaleInfo(const Model::QueryCustomerSaleInfoRequest &request)const; + void queryCustomerSaleInfoAsync(const Model::QueryCustomerSaleInfoRequest& request, const QueryCustomerSaleInfoAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; + QueryCustomerSaleInfoOutcomeCallable queryCustomerSaleInfoCallable(const Model::QueryCustomerSaleInfoRequest& request) const; + GetQuotaInstanceOutcome getQuotaInstance(const Model::GetQuotaInstanceRequest &request)const; + void getQuotaInstanceAsync(const Model::GetQuotaInstanceRequest& request, const GetQuotaInstanceAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; + GetQuotaInstanceOutcomeCallable getQuotaInstanceCallable(const Model::GetQuotaInstanceRequest& request) const; + GetClusterInstanceOutcome getClusterInstance(const Model::GetClusterInstanceRequest &request)const; + void getClusterInstanceAsync(const Model::GetClusterInstanceRequest& request, const GetClusterInstanceAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; + GetClusterInstanceOutcomeCallable getClusterInstanceCallable(const Model::GetClusterInstanceRequest& request) const; + GetQuotaHistoryInfoOutcome getQuotaHistoryInfo(const Model::GetQuotaHistoryInfoRequest &request)const; + void getQuotaHistoryInfoAsync(const Model::GetQuotaHistoryInfoRequest& request, const GetQuotaHistoryInfoAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; + GetQuotaHistoryInfoOutcomeCallable getQuotaHistoryInfoCallable(const Model::GetQuotaHistoryInfoRequest& request) const; private: std::shared_ptr endpointProvider_; diff --git a/teslamaxcompute/include/alibabacloud/teslamaxcompute/model/QueryCustomerSaleInfoRequest.h b/teslamaxcompute/include/alibabacloud/teslamaxcompute/model/QueryCustomerSaleInfoRequest.h new file mode 100644 index 000000000..a02939680 --- /dev/null +++ b/teslamaxcompute/include/alibabacloud/teslamaxcompute/model/QueryCustomerSaleInfoRequest.h @@ -0,0 +1,48 @@ +/* + * 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_TESLAMAXCOMPUTE_MODEL_QUERYCUSTOMERSALEINFOREQUEST_H_ +#define ALIBABACLOUD_TESLAMAXCOMPUTE_MODEL_QUERYCUSTOMERSALEINFOREQUEST_H_ + +#include +#include +#include +#include + +namespace AlibabaCloud +{ + namespace TeslaMaxCompute + { + namespace Model + { + class ALIBABACLOUD_TESLAMAXCOMPUTE_EXPORT QueryCustomerSaleInfoRequest : public RpcServiceRequest + { + + public: + QueryCustomerSaleInfoRequest(); + ~QueryCustomerSaleInfoRequest(); + + std::string getRegion()const; + void setRegion(const std::string& region); + + private: + std::string region_; + + }; + } + } +} +#endif // !ALIBABACLOUD_TESLAMAXCOMPUTE_MODEL_QUERYCUSTOMERSALEINFOREQUEST_H_ \ No newline at end of file diff --git a/teslamaxcompute/include/alibabacloud/teslamaxcompute/model/QueryCustomerSaleInfoResult.h b/teslamaxcompute/include/alibabacloud/teslamaxcompute/model/QueryCustomerSaleInfoResult.h new file mode 100644 index 000000000..d13522889 --- /dev/null +++ b/teslamaxcompute/include/alibabacloud/teslamaxcompute/model/QueryCustomerSaleInfoResult.h @@ -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. + */ + +#ifndef ALIBABACLOUD_TESLAMAXCOMPUTE_MODEL_QUERYCUSTOMERSALEINFORESULT_H_ +#define ALIBABACLOUD_TESLAMAXCOMPUTE_MODEL_QUERYCUSTOMERSALEINFORESULT_H_ + +#include +#include +#include +#include +#include + +namespace AlibabaCloud +{ + namespace TeslaMaxCompute + { + namespace Model + { + class ALIBABACLOUD_TESLAMAXCOMPUTE_EXPORT QueryCustomerSaleInfoResult : public ServiceResult + { + public: + struct Data + { + struct Cluster + { + struct SaleInfo + { + std::string uid; + std::string queryDate; + std::string owner; + long mem; + std::string saleMode; + long cpu; + std::string bizCategory; + }; + std::string cluster; + std::string region; + std::vector saleInfos; + std::string machineRoom; + }; + std::string lastUpdate; + std::vector clusters; + }; + + + QueryCustomerSaleInfoResult(); + explicit QueryCustomerSaleInfoResult(const std::string &payload); + ~QueryCustomerSaleInfoResult(); + std::string getMessage()const; + std::vector getData()const; + int getCode()const; + + protected: + void parse(const std::string &payload); + private: + std::string message_; + std::vector data_; + int code_; + + }; + } + } +} +#endif // !ALIBABACLOUD_TESLAMAXCOMPUTE_MODEL_QUERYCUSTOMERSALEINFORESULT_H_ \ No newline at end of file diff --git a/teslamaxcompute/src/TeslaMaxComputeClient.cc b/teslamaxcompute/src/TeslaMaxComputeClient.cc index 4899fadbe..436b2b6d4 100644 --- a/teslamaxcompute/src/TeslaMaxComputeClient.cc +++ b/teslamaxcompute/src/TeslaMaxComputeClient.cc @@ -86,7 +86,7 @@ TeslaMaxComputeClient::GetUserInstanceOutcomeCallable TeslaMaxComputeClient::get asyncExecute(new Runnable([task]() { (*task)(); })); return task->get_future(); } - + TeslaMaxComputeClient::GetProjectInstanceOutcome TeslaMaxComputeClient::getProjectInstance(const GetProjectInstanceRequest &request) const { auto endpointOutcome = endpointProvider_->getEndpoint(); @@ -122,7 +122,7 @@ TeslaMaxComputeClient::GetProjectInstanceOutcomeCallable TeslaMaxComputeClient:: asyncExecute(new Runnable([task]() { (*task)(); })); return task->get_future(); } - + TeslaMaxComputeClient::QueryResourceInventoryOutcome TeslaMaxComputeClient::queryResourceInventory(const QueryResourceInventoryRequest &request) const { auto endpointOutcome = endpointProvider_->getEndpoint(); @@ -158,7 +158,7 @@ TeslaMaxComputeClient::QueryResourceInventoryOutcomeCallable TeslaMaxComputeClie asyncExecute(new Runnable([task]() { (*task)(); })); return task->get_future(); } - + TeslaMaxComputeClient::QueryTopologyOutcome TeslaMaxComputeClient::queryTopology(const QueryTopologyRequest &request) const { auto endpointOutcome = endpointProvider_->getEndpoint(); @@ -194,7 +194,7 @@ TeslaMaxComputeClient::QueryTopologyOutcomeCallable TeslaMaxComputeClient::query asyncExecute(new Runnable([task]() { (*task)(); })); return task->get_future(); } - + TeslaMaxComputeClient::GetInstancesStatusCountOutcome TeslaMaxComputeClient::getInstancesStatusCount(const GetInstancesStatusCountRequest &request) const { auto endpointOutcome = endpointProvider_->getEndpoint(); @@ -230,7 +230,43 @@ TeslaMaxComputeClient::GetInstancesStatusCountOutcomeCallable TeslaMaxComputeCli asyncExecute(new Runnable([task]() { (*task)(); })); return task->get_future(); } + +TeslaMaxComputeClient::QueryCustomerSaleInfoOutcome TeslaMaxComputeClient::queryCustomerSaleInfo(const QueryCustomerSaleInfoRequest &request) const +{ + auto endpointOutcome = endpointProvider_->getEndpoint(); + if (!endpointOutcome.isSuccess()) + return QueryCustomerSaleInfoOutcome(endpointOutcome.error()); + auto outcome = makeRequest(endpointOutcome.result(), request); + + if (outcome.isSuccess()) + return QueryCustomerSaleInfoOutcome(QueryCustomerSaleInfoResult(outcome.result())); + else + return QueryCustomerSaleInfoOutcome(outcome.error()); +} + +void TeslaMaxComputeClient::queryCustomerSaleInfoAsync(const QueryCustomerSaleInfoRequest& request, const QueryCustomerSaleInfoAsyncHandler& handler, const std::shared_ptr& context) const +{ + auto fn = [this, request, handler, context]() + { + handler(this, request, queryCustomerSaleInfo(request), context); + }; + + asyncExecute(new Runnable(fn)); +} + +TeslaMaxComputeClient::QueryCustomerSaleInfoOutcomeCallable TeslaMaxComputeClient::queryCustomerSaleInfoCallable(const QueryCustomerSaleInfoRequest &request) const +{ + auto task = std::make_shared>( + [this, request]() + { + return this->queryCustomerSaleInfo(request); + }); + + asyncExecute(new Runnable([task]() { (*task)(); })); + return task->get_future(); +} + TeslaMaxComputeClient::GetQuotaInstanceOutcome TeslaMaxComputeClient::getQuotaInstance(const GetQuotaInstanceRequest &request) const { auto endpointOutcome = endpointProvider_->getEndpoint(); @@ -266,7 +302,7 @@ TeslaMaxComputeClient::GetQuotaInstanceOutcomeCallable TeslaMaxComputeClient::ge asyncExecute(new Runnable([task]() { (*task)(); })); return task->get_future(); } - + TeslaMaxComputeClient::GetClusterInstanceOutcome TeslaMaxComputeClient::getClusterInstance(const GetClusterInstanceRequest &request) const { auto endpointOutcome = endpointProvider_->getEndpoint(); @@ -302,7 +338,7 @@ TeslaMaxComputeClient::GetClusterInstanceOutcomeCallable TeslaMaxComputeClient:: asyncExecute(new Runnable([task]() { (*task)(); })); return task->get_future(); } - + TeslaMaxComputeClient::GetQuotaHistoryInfoOutcome TeslaMaxComputeClient::getQuotaHistoryInfo(const GetQuotaHistoryInfoRequest &request) const { auto endpointOutcome = endpointProvider_->getEndpoint(); @@ -338,4 +374,4 @@ TeslaMaxComputeClient::GetQuotaHistoryInfoOutcomeCallable TeslaMaxComputeClient: asyncExecute(new Runnable([task]() { (*task)(); })); return task->get_future(); } - + diff --git a/teslamaxcompute/src/model/QueryCustomerSaleInfoRequest.cc b/teslamaxcompute/src/model/QueryCustomerSaleInfoRequest.cc new file mode 100644 index 000000000..9f1ed968e --- /dev/null +++ b/teslamaxcompute/src/model/QueryCustomerSaleInfoRequest.cc @@ -0,0 +1,38 @@ +/* + * 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::TeslaMaxCompute::Model::QueryCustomerSaleInfoRequest; + +QueryCustomerSaleInfoRequest::QueryCustomerSaleInfoRequest() : + RpcServiceRequest("teslamaxcompute", "2018-01-04", "QueryCustomerSaleInfo") +{} + +QueryCustomerSaleInfoRequest::~QueryCustomerSaleInfoRequest() +{} + +std::string QueryCustomerSaleInfoRequest::getRegion()const +{ + return region_; +} + +void QueryCustomerSaleInfoRequest::setRegion(const std::string& region) +{ + region_ = region; + setParameter("Region", region); +} + diff --git a/teslamaxcompute/src/model/QueryCustomerSaleInfoResult.cc b/teslamaxcompute/src/model/QueryCustomerSaleInfoResult.cc new file mode 100644 index 000000000..90b078b64 --- /dev/null +++ b/teslamaxcompute/src/model/QueryCustomerSaleInfoResult.cc @@ -0,0 +1,104 @@ +/* + * 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::TeslaMaxCompute; +using namespace AlibabaCloud::TeslaMaxCompute::Model; + +QueryCustomerSaleInfoResult::QueryCustomerSaleInfoResult() : + ServiceResult() +{} + +QueryCustomerSaleInfoResult::QueryCustomerSaleInfoResult(const std::string &payload) : + ServiceResult() +{ + parse(payload); +} + +QueryCustomerSaleInfoResult::~QueryCustomerSaleInfoResult() +{} + +void QueryCustomerSaleInfoResult::parse(const std::string &payload) +{ + Json::Reader reader; + Json::Value value; + reader.parse(payload, value); + + setRequestId(value["RequestId"].asString()); + auto allData = value["Data"]; + for (auto value : allData) + { + Data dataObject; + if(!value["LastUpdate"].isNull()) + dataObject.lastUpdate = value["LastUpdate"].asString(); + auto allClusters = value["Clusters"]["cluster"]; + for (auto value : allClusters) + { + Data::Cluster clusterObject; + if(!value["Cluster"].isNull()) + clusterObject.cluster = value["Cluster"].asString(); + if(!value["Region"].isNull()) + clusterObject.region = value["Region"].asString(); + if(!value["MachineRoom"].isNull()) + clusterObject.machineRoom = value["MachineRoom"].asString(); + auto allSaleInfos = value["SaleInfos"]["saleInfo"]; + for (auto value : allSaleInfos) + { + Data::Cluster::SaleInfo saleInfosObject; + if(!value["SaleMode"].isNull()) + saleInfosObject.saleMode = value["SaleMode"].asString(); + if(!value["Uid"].isNull()) + saleInfosObject.uid = value["Uid"].asString(); + if(!value["Mem"].isNull()) + saleInfosObject.mem = std::stol(value["Mem"].asString()); + if(!value["Cpu"].isNull()) + saleInfosObject.cpu = std::stol(value["Cpu"].asString()); + if(!value["BizCategory"].isNull()) + saleInfosObject.bizCategory = value["BizCategory"].asString(); + if(!value["Owner"].isNull()) + saleInfosObject.owner = value["Owner"].asString(); + if(!value["QueryDate"].isNull()) + saleInfosObject.queryDate = value["QueryDate"].asString(); + clusterObject.saleInfos.push_back(saleInfosObject); + } + dataObject.clusters.push_back(clusterObject); + } + data_.push_back(dataObject); + } + if(!value["Code"].isNull()) + code_ = std::stoi(value["Code"].asString()); + if(!value["Message"].isNull()) + message_ = value["Message"].asString(); + +} + +std::string QueryCustomerSaleInfoResult::getMessage()const +{ + return message_; +} + +std::vector QueryCustomerSaleInfoResult::getData()const +{ + return data_; +} + +int QueryCustomerSaleInfoResult::getCode()const +{ + return code_; +} +