ReportInstancesStatus OpenAPI supports IssueCategory parameter.

This commit is contained in:
sdk-team
2020-12-04 04:23:53 +00:00
parent b409d3d613
commit 990c6f8efd
18 changed files with 491 additions and 7 deletions

View File

@@ -31,21 +31,21 @@ EcsClient::EcsClient(const Credentials &credentials, const ClientConfiguration &
RpcServiceClient(SERVICE_NAME, std::make_shared<SimpleCredentialsProvider>(credentials), configuration)
{
auto locationClient = std::make_shared<LocationClient>(credentials, configuration);
endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "ecs");
endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "");
}
EcsClient::EcsClient(const std::shared_ptr<CredentialsProvider>& credentialsProvider, const ClientConfiguration & configuration) :
RpcServiceClient(SERVICE_NAME, credentialsProvider, configuration)
{
auto locationClient = std::make_shared<LocationClient>(credentialsProvider, configuration);
endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "ecs");
endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "");
}
EcsClient::EcsClient(const std::string & accessKeyId, const std::string & accessKeySecret, const ClientConfiguration & configuration) :
RpcServiceClient(SERVICE_NAME, std::make_shared<SimpleCredentialsProvider>(accessKeyId, accessKeySecret), configuration)
{
auto locationClient = std::make_shared<LocationClient>(accessKeyId, accessKeySecret, configuration);
endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "ecs");
endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "");
}
EcsClient::~EcsClient()
@@ -6171,6 +6171,42 @@ EcsClient::DescribeSnapshotsUsageOutcomeCallable EcsClient::describeSnapshotsUsa
return task->get_future();
}
EcsClient::DescribeSpotAdviceOutcome EcsClient::describeSpotAdvice(const DescribeSpotAdviceRequest &request) const
{
auto endpointOutcome = endpointProvider_->getEndpoint();
if (!endpointOutcome.isSuccess())
return DescribeSpotAdviceOutcome(endpointOutcome.error());
auto outcome = makeRequest(endpointOutcome.result(), request);
if (outcome.isSuccess())
return DescribeSpotAdviceOutcome(DescribeSpotAdviceResult(outcome.result()));
else
return DescribeSpotAdviceOutcome(outcome.error());
}
void EcsClient::describeSpotAdviceAsync(const DescribeSpotAdviceRequest& request, const DescribeSpotAdviceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
{
auto fn = [this, request, handler, context]()
{
handler(this, request, describeSpotAdvice(request), context);
};
asyncExecute(new Runnable(fn));
}
EcsClient::DescribeSpotAdviceOutcomeCallable EcsClient::describeSpotAdviceCallable(const DescribeSpotAdviceRequest &request) const
{
auto task = std::make_shared<std::packaged_task<DescribeSpotAdviceOutcome()>>(
[this, request]()
{
return this->describeSpotAdvice(request);
});
asyncExecute(new Runnable([task]() { (*task)(); }));
return task->get_future();
}
EcsClient::DescribeSpotPriceHistoryOutcome EcsClient::describeSpotPriceHistory(const DescribeSpotPriceHistoryRequest &request) const
{
auto endpointOutcome = endpointProvider_->getEndpoint();

View File

@@ -78,6 +78,8 @@ void DescribeInvocationResultsResult::parse(const std::string &payload)
invocationResultObject.errorCode = invocationNodeInvocationResultsInvocationResult["ErrorCode"].asString();
if(!invocationNodeInvocationResultsInvocationResult["ErrorInfo"].isNull())
invocationResultObject.errorInfo = invocationNodeInvocationResultsInvocationResult["ErrorInfo"].asString();
if(!invocationNodeInvocationResultsInvocationResult["Username"].isNull())
invocationResultObject.username = invocationNodeInvocationResultsInvocationResult["Username"].asString();
invocation_.invocationResults.push_back(invocationResultObject);
}

View File

@@ -65,6 +65,8 @@ void DescribeInvocationsResult::parse(const std::string &payload)
invocationsObject.invocationStatus = valueInvocationsInvocation["InvocationStatus"].asString();
if(!valueInvocationsInvocation["Parameters"].isNull())
invocationsObject.parameters = valueInvocationsInvocation["Parameters"].asString();
if(!valueInvocationsInvocation["Username"].isNull())
invocationsObject.username = valueInvocationsInvocation["Username"].asString();
auto allInvokeInstancesNode = valueInvocationsInvocation["InvokeInstances"]["InvokeInstance"];
for (auto valueInvocationsInvocationInvokeInstancesInvokeInstance : allInvokeInstancesNode)
{

View File

@@ -0,0 +1,161 @@
/*
* 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/ecs/model/DescribeSpotAdviceRequest.h>
using AlibabaCloud::Ecs::Model::DescribeSpotAdviceRequest;
DescribeSpotAdviceRequest::DescribeSpotAdviceRequest() :
RpcServiceRequest("ecs", "2014-05-26", "DescribeSpotAdvice")
{
setMethod(HttpRequest::Method::Post);
}
DescribeSpotAdviceRequest::~DescribeSpotAdviceRequest()
{}
long DescribeSpotAdviceRequest::getResourceOwnerId()const
{
return resourceOwnerId_;
}
void DescribeSpotAdviceRequest::setResourceOwnerId(long resourceOwnerId)
{
resourceOwnerId_ = resourceOwnerId;
setParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
}
float DescribeSpotAdviceRequest::getMemory()const
{
return memory_;
}
void DescribeSpotAdviceRequest::setMemory(float memory)
{
memory_ = memory;
setParameter("Memory", std::to_string(memory));
}
std::string DescribeSpotAdviceRequest::getIoOptimized()const
{
return ioOptimized_;
}
void DescribeSpotAdviceRequest::setIoOptimized(const std::string& ioOptimized)
{
ioOptimized_ = ioOptimized;
setParameter("IoOptimized", ioOptimized);
}
int DescribeSpotAdviceRequest::getMinCores()const
{
return minCores_;
}
void DescribeSpotAdviceRequest::setMinCores(int minCores)
{
minCores_ = minCores;
setParameter("MinCores", std::to_string(minCores));
}
std::string DescribeSpotAdviceRequest::getNetworkType()const
{
return networkType_;
}
void DescribeSpotAdviceRequest::setNetworkType(const std::string& networkType)
{
networkType_ = networkType;
setParameter("NetworkType", networkType);
}
int DescribeSpotAdviceRequest::getCores()const
{
return cores_;
}
void DescribeSpotAdviceRequest::setCores(int cores)
{
cores_ = cores;
setParameter("Cores", std::to_string(cores));
}
std::string DescribeSpotAdviceRequest::getRegionId()const
{
return regionId_;
}
void DescribeSpotAdviceRequest::setRegionId(const std::string& regionId)
{
regionId_ = regionId;
setParameter("RegionId", regionId);
}
std::string DescribeSpotAdviceRequest::getResourceOwnerAccount()const
{
return resourceOwnerAccount_;
}
void DescribeSpotAdviceRequest::setResourceOwnerAccount(const std::string& resourceOwnerAccount)
{
resourceOwnerAccount_ = resourceOwnerAccount;
setParameter("ResourceOwnerAccount", resourceOwnerAccount);
}
std::string DescribeSpotAdviceRequest::getOwnerAccount()const
{
return ownerAccount_;
}
void DescribeSpotAdviceRequest::setOwnerAccount(const std::string& ownerAccount)
{
ownerAccount_ = ownerAccount;
setParameter("OwnerAccount", ownerAccount);
}
long DescribeSpotAdviceRequest::getOwnerId()const
{
return ownerId_;
}
void DescribeSpotAdviceRequest::setOwnerId(long ownerId)
{
ownerId_ = ownerId;
setParameter("OwnerId", std::to_string(ownerId));
}
std::string DescribeSpotAdviceRequest::getZoneId()const
{
return zoneId_;
}
void DescribeSpotAdviceRequest::setZoneId(const std::string& zoneId)
{
zoneId_ = zoneId;
setParameter("ZoneId", zoneId);
}
float DescribeSpotAdviceRequest::getMinMemory()const
{
return minMemory_;
}
void DescribeSpotAdviceRequest::setMinMemory(float minMemory)
{
minMemory_ = minMemory;
setParameter("MinMemory", std::to_string(minMemory));
}

View File

@@ -0,0 +1,78 @@
/*
* 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/ecs/model/DescribeSpotAdviceResult.h>
#include <json/json.h>
using namespace AlibabaCloud::Ecs;
using namespace AlibabaCloud::Ecs::Model;
DescribeSpotAdviceResult::DescribeSpotAdviceResult() :
ServiceResult()
{}
DescribeSpotAdviceResult::DescribeSpotAdviceResult(const std::string &payload) :
ServiceResult()
{
parse(payload);
}
DescribeSpotAdviceResult::~DescribeSpotAdviceResult()
{}
void DescribeSpotAdviceResult::parse(const std::string &payload)
{
Json::Reader reader;
Json::Value value;
reader.parse(payload, value);
setRequestId(value["RequestId"].asString());
auto allAvailableSpotZonesNode = value["AvailableSpotZones"]["AvailableSpotZone"];
for (auto valueAvailableSpotZonesAvailableSpotZone : allAvailableSpotZonesNode)
{
AvailableSpotZone availableSpotZonesObject;
if(!valueAvailableSpotZonesAvailableSpotZone["ZoneId"].isNull())
availableSpotZonesObject.zoneId = valueAvailableSpotZonesAvailableSpotZone["ZoneId"].asString();
auto allAvailableSpotResourcesNode = valueAvailableSpotZonesAvailableSpotZone["AvailableSpotResources"]["AvailableSpotResource"];
for (auto valueAvailableSpotZonesAvailableSpotZoneAvailableSpotResourcesAvailableSpotResource : allAvailableSpotResourcesNode)
{
AvailableSpotZone::AvailableSpotResource availableSpotResourcesObject;
if(!valueAvailableSpotZonesAvailableSpotZoneAvailableSpotResourcesAvailableSpotResource["InstanceType"].isNull())
availableSpotResourcesObject.instanceType = valueAvailableSpotZonesAvailableSpotZoneAvailableSpotResourcesAvailableSpotResource["InstanceType"].asString();
if(!valueAvailableSpotZonesAvailableSpotZoneAvailableSpotResourcesAvailableSpotResource["InterruptionRate"].isNull())
availableSpotResourcesObject.interruptionRate = std::stof(valueAvailableSpotZonesAvailableSpotZoneAvailableSpotResourcesAvailableSpotResource["InterruptionRate"].asString());
if(!valueAvailableSpotZonesAvailableSpotZoneAvailableSpotResourcesAvailableSpotResource["InterruptRateDesc"].isNull())
availableSpotResourcesObject.interruptRateDesc = valueAvailableSpotZonesAvailableSpotZoneAvailableSpotResourcesAvailableSpotResource["InterruptRateDesc"].asString();
if(!valueAvailableSpotZonesAvailableSpotZoneAvailableSpotResourcesAvailableSpotResource["AverageSpotDiscount"].isNull())
availableSpotResourcesObject.averageSpotDiscount = std::stoi(valueAvailableSpotZonesAvailableSpotZoneAvailableSpotResourcesAvailableSpotResource["AverageSpotDiscount"].asString());
availableSpotZonesObject.availableSpotResources.push_back(availableSpotResourcesObject);
}
availableSpotZones_.push_back(availableSpotZonesObject);
}
if(!value["RegionId"].isNull())
regionId_ = value["RegionId"].asString();
}
std::vector<DescribeSpotAdviceResult::AvailableSpotZone> DescribeSpotAdviceResult::getAvailableSpotZones()const
{
return availableSpotZones_;
}
std::string DescribeSpotAdviceResult::getRegionId()const
{
return regionId_;
}

View File

@@ -139,3 +139,14 @@ void InvokeCommandRequest::setParameters(const std::map<std::string, std::string
setJsonParameters("Parameters", parameters);
}
std::string InvokeCommandRequest::getUsername()const
{
return username_;
}
void InvokeCommandRequest::setUsername(const std::string& username)
{
username_ = username;
setParameter("Username", username);
}

View File

@@ -71,6 +71,17 @@ void ReportInstancesStatusRequest::setStartTime(const std::string& startTime)
setParameter("StartTime", startTime);
}
std::string ReportInstancesStatusRequest::getIssueCategory()const
{
return issueCategory_;
}
void ReportInstancesStatusRequest::setIssueCategory(const std::string& issueCategory)
{
issueCategory_ = issueCategory;
setParameter("IssueCategory", issueCategory);
}
std::string ReportInstancesStatusRequest::getRegionId()const
{
return regionId_;

View File

@@ -227,3 +227,14 @@ void RunCommandRequest::setEnableParameter(bool enableParameter)
setParameter("EnableParameter", enableParameter ? "true" : "false");
}
std::string RunCommandRequest::getUsername()const
{
return username_;
}
void RunCommandRequest::setUsername(const std::string& username)
{
username_ = username;
setParameter("Username", username);
}