由荣旸发起的TESLAMAXCOMPUTE SDK自动发布, BUILD_ID=329, 版本号:1.2.10

Signed-off-by: haowei.yao <haowei.yao@alibaba-inc.com>
This commit is contained in:
haowei.yao
2018-03-15 11:32:52 +08:00
parent b87f210c4c
commit 7bf9e855c8
9 changed files with 366 additions and 48 deletions

View File

@@ -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<const AsyncCallerContext>& 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<std::packaged_task<QueryCustomerSaleInfoOutcome()>>(
[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();
}

View File

@@ -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 <alibabacloud/teslamaxcompute/model/QueryCustomerSaleInfoRequest.h>
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);
}

View File

@@ -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 <alibabacloud/teslamaxcompute/model/QueryCustomerSaleInfoResult.h>
#include <json/json.h>
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::Data> QueryCustomerSaleInfoResult::getData()const
{
return data_;
}
int QueryCustomerSaleInfoResult::getCode()const
{
return code_;
}