Add ListResourceExecutionStatus API.

This commit is contained in:
sdk-team
2020-07-03 14:56:50 +08:00
parent 4b39c98f5a
commit 8d0bff56a9
15 changed files with 375 additions and 4 deletions

View File

@@ -31,21 +31,21 @@ OosClient::OosClient(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, "oos");
endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "");
}
OosClient::OosClient(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, "oos");
endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "");
}
OosClient::OosClient(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, "oos");
endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "");
}
OosClient::~OosClient()
@@ -519,6 +519,42 @@ OosClient::ListExecutionsOutcomeCallable OosClient::listExecutionsCallable(const
return task->get_future();
}
OosClient::ListResourceExecutionStatusOutcome OosClient::listResourceExecutionStatus(const ListResourceExecutionStatusRequest &request) const
{
auto endpointOutcome = endpointProvider_->getEndpoint();
if (!endpointOutcome.isSuccess())
return ListResourceExecutionStatusOutcome(endpointOutcome.error());
auto outcome = makeRequest(endpointOutcome.result(), request);
if (outcome.isSuccess())
return ListResourceExecutionStatusOutcome(ListResourceExecutionStatusResult(outcome.result()));
else
return ListResourceExecutionStatusOutcome(outcome.error());
}
void OosClient::listResourceExecutionStatusAsync(const ListResourceExecutionStatusRequest& request, const ListResourceExecutionStatusAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
{
auto fn = [this, request, handler, context]()
{
handler(this, request, listResourceExecutionStatus(request), context);
};
asyncExecute(new Runnable(fn));
}
OosClient::ListResourceExecutionStatusOutcomeCallable OosClient::listResourceExecutionStatusCallable(const ListResourceExecutionStatusRequest &request) const
{
auto task = std::make_shared<std::packaged_task<ListResourceExecutionStatusOutcome()>>(
[this, request]()
{
return this->listResourceExecutionStatus(request);
});
asyncExecute(new Runnable([task]() { (*task)(); }));
return task->get_future();
}
OosClient::ListTagKeysOutcome OosClient::listTagKeys(const ListTagKeysRequest &request) const
{
auto endpointOutcome = endpointProvider_->getEndpoint();

View File

@@ -68,6 +68,8 @@ void GetTemplateResult::parse(const std::string &payload)
_template_.tags = _templateNode["Tags"].asString();
if(!_templateNode["TemplateType"].isNull())
_template_.templateType = _templateNode["TemplateType"].asString();
if(!_templateNode["VersionName"].isNull())
_template_.versionName = _templateNode["VersionName"].asString();
if(!value["Content"].isNull())
content_ = value["Content"].asString();

View File

@@ -137,6 +137,17 @@ void ListExecutionsRequest::setSortOrder(const std::string& sortOrder)
setParameter("SortOrder", sortOrder);
}
std::string ListExecutionsRequest::getResourceId()const
{
return resourceId_;
}
void ListExecutionsRequest::setResourceId(const std::string& resourceId)
{
resourceId_ = resourceId;
setParameter("ResourceId", resourceId);
}
std::string ListExecutionsRequest::getStartDateAfter()const
{
return startDateAfter_;
@@ -225,6 +236,17 @@ void ListExecutionsRequest::setCategory(const std::string& category)
setParameter("Category", category);
}
std::string ListExecutionsRequest::getResourceTemplateName()const
{
return resourceTemplateName_;
}
void ListExecutionsRequest::setResourceTemplateName(const std::string& resourceTemplateName)
{
resourceTemplateName_ = resourceTemplateName;
setParameter("ResourceTemplateName", resourceTemplateName);
}
std::string ListExecutionsRequest::getStatus()const
{
return status_;

View File

@@ -91,6 +91,16 @@ void ListExecutionsResult::parse(const std::string &payload)
executionsObject.tags = valueExecutionsExecution["Tags"].asString();
if(!valueExecutionsExecution["Description"].isNull())
executionsObject.description = valueExecutionsExecution["Description"].asString();
if(!valueExecutionsExecution["Targets"].isNull())
executionsObject.targets = valueExecutionsExecution["Targets"].asString();
if(!valueExecutionsExecution["LastTriggerTime"].isNull())
executionsObject.lastTriggerTime = valueExecutionsExecution["LastTriggerTime"].asString();
if(!valueExecutionsExecution["LastTriggerStatus"].isNull())
executionsObject.lastTriggerStatus = valueExecutionsExecution["LastTriggerStatus"].asString();
if(!valueExecutionsExecution["LastSuccessfulTriggerTime"].isNull())
executionsObject.lastSuccessfulTriggerTime = valueExecutionsExecution["LastSuccessfulTriggerTime"].asString();
if(!valueExecutionsExecution["ResourceStatus"].isNull())
executionsObject.resourceStatus = valueExecutionsExecution["ResourceStatus"].asString();
auto allCurrentTasksNode = allExecutionsNode["CurrentTasks"]["CurrentTask"];
for (auto allExecutionsNodeCurrentTasksCurrentTask : allCurrentTasksNode)
{

View File

@@ -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 <alibabacloud/oos/model/ListResourceExecutionStatusRequest.h>
using AlibabaCloud::Oos::Model::ListResourceExecutionStatusRequest;
ListResourceExecutionStatusRequest::ListResourceExecutionStatusRequest() :
RpcServiceRequest("oos", "2019-06-01", "ListResourceExecutionStatus")
{
setMethod(HttpRequest::Method::Post);
}
ListResourceExecutionStatusRequest::~ListResourceExecutionStatusRequest()
{}
std::string ListResourceExecutionStatusRequest::getExecutionId()const
{
return executionId_;
}
void ListResourceExecutionStatusRequest::setExecutionId(const std::string& executionId)
{
executionId_ = executionId;
setParameter("ExecutionId", executionId);
}
std::string ListResourceExecutionStatusRequest::getRegionId()const
{
return regionId_;
}
void ListResourceExecutionStatusRequest::setRegionId(const std::string& regionId)
{
regionId_ = regionId;
setParameter("RegionId", regionId);
}
std::string ListResourceExecutionStatusRequest::getNextToken()const
{
return nextToken_;
}
void ListResourceExecutionStatusRequest::setNextToken(const std::string& nextToken)
{
nextToken_ = nextToken;
setParameter("NextToken", nextToken);
}
int ListResourceExecutionStatusRequest::getMaxResults()const
{
return maxResults_;
}
void ListResourceExecutionStatusRequest::setMaxResults(int maxResults)
{
maxResults_ = maxResults;
setParameter("MaxResults", std::to_string(maxResults));
}

View File

@@ -0,0 +1,79 @@
/*
* 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/oos/model/ListResourceExecutionStatusResult.h>
#include <json/json.h>
using namespace AlibabaCloud::Oos;
using namespace AlibabaCloud::Oos::Model;
ListResourceExecutionStatusResult::ListResourceExecutionStatusResult() :
ServiceResult()
{}
ListResourceExecutionStatusResult::ListResourceExecutionStatusResult(const std::string &payload) :
ServiceResult()
{
parse(payload);
}
ListResourceExecutionStatusResult::~ListResourceExecutionStatusResult()
{}
void ListResourceExecutionStatusResult::parse(const std::string &payload)
{
Json::Reader reader;
Json::Value value;
reader.parse(payload, value);
setRequestId(value["RequestId"].asString());
auto allResourceExecutionStatusNode = value["ResourceExecutionStatus"]["Status"];
for (auto valueResourceExecutionStatusStatus : allResourceExecutionStatusNode)
{
Status resourceExecutionStatusObject;
if(!valueResourceExecutionStatusStatus["ResourceId"].isNull())
resourceExecutionStatusObject.resourceId = valueResourceExecutionStatusStatus["ResourceId"].asString();
if(!valueResourceExecutionStatusStatus["ExecutionTime"].isNull())
resourceExecutionStatusObject.executionTime = valueResourceExecutionStatusStatus["ExecutionTime"].asString();
if(!valueResourceExecutionStatusStatus["Status"].isNull())
resourceExecutionStatusObject.status = valueResourceExecutionStatusStatus["Status"].asString();
if(!valueResourceExecutionStatusStatus["Outputs"].isNull())
resourceExecutionStatusObject.outputs = valueResourceExecutionStatusStatus["Outputs"].asString();
if(!valueResourceExecutionStatusStatus["ExecutionId"].isNull())
resourceExecutionStatusObject.executionId = valueResourceExecutionStatusStatus["ExecutionId"].asString();
resourceExecutionStatus_.push_back(resourceExecutionStatusObject);
}
if(!value["MaxResults"].isNull())
maxResults_ = std::stoi(value["MaxResults"].asString());
if(!value["NextToken"].isNull())
nextToken_ = value["NextToken"].asString();
}
std::string ListResourceExecutionStatusResult::getNextToken()const
{
return nextToken_;
}
std::vector<ListResourceExecutionStatusResult::Status> ListResourceExecutionStatusResult::getResourceExecutionStatus()const
{
return resourceExecutionStatus_;
}
int ListResourceExecutionStatusResult::getMaxResults()const
{
return maxResults_;
}