Add GPUMemorySize to DescribeInstanceTypes api.

This commit is contained in:
sdk-team
2022-10-14 11:36:37 +00:00
parent b0e8e978fc
commit 894262087a
26 changed files with 472 additions and 1 deletions

View File

@@ -499,6 +499,8 @@ set(ecs_public_header_model
include/alibabacloud/ecs/model/JoinSecurityGroupResult.h
include/alibabacloud/ecs/model/LeaveSecurityGroupRequest.h
include/alibabacloud/ecs/model/LeaveSecurityGroupResult.h
include/alibabacloud/ecs/model/ListPluginStatusRequest.h
include/alibabacloud/ecs/model/ListPluginStatusResult.h
include/alibabacloud/ecs/model/ListTagResourcesRequest.h
include/alibabacloud/ecs/model/ListTagResourcesResult.h
include/alibabacloud/ecs/model/ModifyAutoProvisioningGroupRequest.h
@@ -1190,6 +1192,8 @@ set(ecs_src
src/model/JoinSecurityGroupResult.cc
src/model/LeaveSecurityGroupRequest.cc
src/model/LeaveSecurityGroupResult.cc
src/model/ListPluginStatusRequest.cc
src/model/ListPluginStatusResult.cc
src/model/ListTagResourcesRequest.cc
src/model/ListTagResourcesResult.cc
src/model/ModifyAutoProvisioningGroupRequest.cc

View File

@@ -500,6 +500,8 @@
#include "model/JoinSecurityGroupResult.h"
#include "model/LeaveSecurityGroupRequest.h"
#include "model/LeaveSecurityGroupResult.h"
#include "model/ListPluginStatusRequest.h"
#include "model/ListPluginStatusResult.h"
#include "model/ListTagResourcesRequest.h"
#include "model/ListTagResourcesResult.h"
#include "model/ModifyAutoProvisioningGroupRequest.h"
@@ -1436,6 +1438,9 @@ namespace AlibabaCloud
typedef Outcome<Error, Model::LeaveSecurityGroupResult> LeaveSecurityGroupOutcome;
typedef std::future<LeaveSecurityGroupOutcome> LeaveSecurityGroupOutcomeCallable;
typedef std::function<void(const EcsClient*, const Model::LeaveSecurityGroupRequest&, const LeaveSecurityGroupOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> LeaveSecurityGroupAsyncHandler;
typedef Outcome<Error, Model::ListPluginStatusResult> ListPluginStatusOutcome;
typedef std::future<ListPluginStatusOutcome> ListPluginStatusOutcomeCallable;
typedef std::function<void(const EcsClient*, const Model::ListPluginStatusRequest&, const ListPluginStatusOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListPluginStatusAsyncHandler;
typedef Outcome<Error, Model::ListTagResourcesResult> ListTagResourcesOutcome;
typedef std::future<ListTagResourcesOutcome> ListTagResourcesOutcomeCallable;
typedef std::function<void(const EcsClient*, const Model::ListTagResourcesRequest&, const ListTagResourcesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListTagResourcesAsyncHandler;
@@ -2473,6 +2478,9 @@ namespace AlibabaCloud
LeaveSecurityGroupOutcome leaveSecurityGroup(const Model::LeaveSecurityGroupRequest &request)const;
void leaveSecurityGroupAsync(const Model::LeaveSecurityGroupRequest& request, const LeaveSecurityGroupAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
LeaveSecurityGroupOutcomeCallable leaveSecurityGroupCallable(const Model::LeaveSecurityGroupRequest& request) const;
ListPluginStatusOutcome listPluginStatus(const Model::ListPluginStatusRequest &request)const;
void listPluginStatusAsync(const Model::ListPluginStatusRequest& request, const ListPluginStatusAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
ListPluginStatusOutcomeCallable listPluginStatusCallable(const Model::ListPluginStatusRequest& request) const;
ListTagResourcesOutcome listTagResources(const Model::ListTagResourcesRequest &request)const;
void listTagResourcesAsync(const Model::ListTagResourcesRequest& request, const ListTagResourcesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
ListTagResourcesOutcomeCallable listTagResourcesCallable(const Model::ListTagResourcesRequest& request) const;

View File

@@ -179,6 +179,8 @@ public:
void setLaunchConfigurationIoOptimized(const std::string &launchConfigurationIoOptimized);
std::string getPayAsYouGoTargetCapacity() const;
void setPayAsYouGoTargetCapacity(const std::string &payAsYouGoTargetCapacity);
bool getHibernationOptionsConfigured() const;
void setHibernationOptionsConfigured(bool hibernationOptionsConfigured);
std::string getTotalTargetCapacity() const;
void setTotalTargetCapacity(const std::string &totalTargetCapacity);
std::string getSpotTargetCapacity() const;
@@ -244,6 +246,7 @@ private:
std::string launchTemplateVersion_;
std::string launchConfigurationIoOptimized_;
std::string payAsYouGoTargetCapacity_;
bool hibernationOptionsConfigured_;
std::string totalTargetCapacity_;
std::string spotTargetCapacity_;
std::string validFrom_;

View File

@@ -57,9 +57,11 @@ namespace AlibabaCloud
std::string startTimeType;
std::string privatePoolOptionsMatchCriteria;
std::string timeSlot;
std::string savingPlanId;
std::vector<CapacityReservationItem::AllocatedResource> allocatedResources;
std::string privatePoolOptionsId;
std::string endTimeType;
std::string reservedInstanceId;
std::string regionId;
std::vector<CapacityReservationItem::Tag> tags;
};

View File

@@ -56,6 +56,7 @@ namespace AlibabaCloud
float memorySize;
int maximumQueueNumberPerEni;
int eniIpv6AddressQuantity;
float gPUMemorySize;
int eniTotalQuantity;
int cpuCoreCount;
int initialCredit;

View File

@@ -52,6 +52,7 @@ namespace AlibabaCloud
std::string finishedTime;
std::string username;
std::string containerId;
std::string containerName;
std::string output;
std::string commandId;
std::string errorCode;

View File

@@ -70,6 +70,7 @@ namespace AlibabaCloud
std::string commandType;
std::string username;
std::string containerId;
std::string containerName;
std::string creationTime;
std::string frequency;
std::string commandId;

View File

@@ -28,6 +28,11 @@ namespace Ecs {
namespace Model {
class ALIBABACLOUD_ECS_EXPORT DescribePriceRequest : public RpcServiceRequest {
public:
struct DataDisk {
long size;
std::string performanceLevel;
std::string category;
};
DescribePriceRequest();
~DescribePriceRequest();
int getDataDisk3Size() const;
@@ -108,6 +113,8 @@ public:
void setSpotDuration(int spotDuration);
std::string getResourceType() const;
void setResourceType(const std::string &resourceType);
std::vector<DataDisk> getDataDisk() const;
void setDataDisk(const std::vector<DataDisk> &dataDisk);
std::string getDataDisk1Category() const;
void setDataDisk1Category(const std::string &dataDisk1Category);
std::string getDataDisk2PerformanceLevel() const;
@@ -157,6 +164,7 @@ private:
int dataDisk2Size_;
int spotDuration_;
std::string resourceType_;
std::vector<DataDisk> dataDisk_;
std::string dataDisk1Category_;
std::string dataDisk2PerformanceLevel_;
int systemDiskSize_;

View File

@@ -54,6 +54,8 @@ public:
void setOwnerId(long ownerId);
std::string getDestinationResource() const;
void setDestinationResource(const std::string &destinationResource);
std::string getZoneId() const;
void setZoneId(const std::string &zoneId);
private:
long resourceOwnerId_;
@@ -68,6 +70,7 @@ private:
std::string operationType_;
long ownerId_;
std::string destinationResource_;
std::string zoneId_;
};
} // namespace Model
} // namespace Ecs

View File

@@ -32,6 +32,8 @@ public:
~InvokeCommandRequest();
long getResourceOwnerId() const;
void setResourceOwnerId(long resourceOwnerId);
std::string getContainerName() const;
void setContainerName(const std::string &containerName);
std::string getCommandId() const;
void setCommandId(const std::string &commandId);
std::string getFrequency() const;
@@ -61,6 +63,7 @@ public:
private:
long resourceOwnerId_;
std::string containerName_;
std::string commandId_;
std::string frequency_;
std::string regionId_;

View File

@@ -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_ECS_MODEL_LISTPLUGINSTATUSREQUEST_H_
#define ALIBABACLOUD_ECS_MODEL_LISTPLUGINSTATUSREQUEST_H_
#include <alibabacloud/ecs/EcsExport.h>
#include <alibabacloud/core/RpcServiceRequest.h>
#include <string>
#include <vector>
#include <map>
namespace AlibabaCloud {
namespace Ecs {
namespace Model {
class ALIBABACLOUD_ECS_EXPORT ListPluginStatusRequest : public RpcServiceRequest {
public:
ListPluginStatusRequest();
~ListPluginStatusRequest();
long getResourceOwnerId() const;
void setResourceOwnerId(long resourceOwnerId);
long getPageNumber() const;
void setPageNumber(long pageNumber);
std::string getRegionId() const;
void setRegionId(const std::string &regionId);
long getPageSize() const;
void setPageSize(long pageSize);
std::string getResourceOwnerAccount() const;
void setResourceOwnerAccount(const std::string &resourceOwnerAccount);
std::string getOwnerAccount() const;
void setOwnerAccount(const std::string &ownerAccount);
long getOwnerId() const;
void setOwnerId(long ownerId);
std::vector<std::string> getInstanceId() const;
void setInstanceId(const std::vector<std::string> &instanceId);
std::string getName() const;
void setName(const std::string &name);
private:
long resourceOwnerId_;
long pageNumber_;
std::string regionId_;
long pageSize_;
std::string resourceOwnerAccount_;
std::string ownerAccount_;
long ownerId_;
std::vector<std::string> instanceId_;
std::string name_;
};
} // namespace Model
} // namespace Ecs
} // namespace AlibabaCloud
#endif // !ALIBABACLOUD_ECS_MODEL_LISTPLUGINSTATUSREQUEST_H_

View File

@@ -0,0 +1,70 @@
/*
* 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_ECS_MODEL_LISTPLUGINSTATUSRESULT_H_
#define ALIBABACLOUD_ECS_MODEL_LISTPLUGINSTATUSRESULT_H_
#include <string>
#include <vector>
#include <utility>
#include <alibabacloud/core/ServiceResult.h>
#include <alibabacloud/ecs/EcsExport.h>
namespace AlibabaCloud
{
namespace Ecs
{
namespace Model
{
class ALIBABACLOUD_ECS_EXPORT ListPluginStatusResult : public ServiceResult
{
public:
struct InstancePluginStatus
{
struct PluginStatus
{
std::string pluginStatus;
std::string pluginVersion;
std::string pluginName;
std::string firstHeartbeatTime;
std::string lastHeartbeatTime;
};
std::string instanceId;
std::vector<InstancePluginStatus::PluginStatus> pluginStatusSet;
};
ListPluginStatusResult();
explicit ListPluginStatusResult(const std::string &payload);
~ListPluginStatusResult();
std::vector<InstancePluginStatus> getInstancePluginStatusSet()const;
long getTotalCount()const;
long getPageSize()const;
long getPageNumber()const;
protected:
void parse(const std::string &payload);
private:
std::vector<InstancePluginStatus> instancePluginStatusSet_;
long totalCount_;
long pageSize_;
long pageNumber_;
};
}
}
}
#endif // !ALIBABACLOUD_ECS_MODEL_LISTPLUGINSTATUSRESULT_H_

View File

@@ -36,6 +36,8 @@ public:
~RunCommandRequest();
long getResourceOwnerId() const;
void setResourceOwnerId(long resourceOwnerId);
std::string getContainerName() const;
void setContainerName(const std::string &containerName);
std::string getWorkingDir() const;
void setWorkingDir(const std::string &workingDir);
std::string getDescription() const;
@@ -83,6 +85,7 @@ public:
private:
long resourceOwnerId_;
std::string containerName_;
std::string workingDir_;
std::string description_;
std::string type_;

View File

@@ -8655,6 +8655,42 @@ EcsClient::LeaveSecurityGroupOutcomeCallable EcsClient::leaveSecurityGroupCallab
return task->get_future();
}
EcsClient::ListPluginStatusOutcome EcsClient::listPluginStatus(const ListPluginStatusRequest &request) const
{
auto endpointOutcome = endpointProvider_->getEndpoint();
if (!endpointOutcome.isSuccess())
return ListPluginStatusOutcome(endpointOutcome.error());
auto outcome = makeRequest(endpointOutcome.result(), request);
if (outcome.isSuccess())
return ListPluginStatusOutcome(ListPluginStatusResult(outcome.result()));
else
return ListPluginStatusOutcome(outcome.error());
}
void EcsClient::listPluginStatusAsync(const ListPluginStatusRequest& request, const ListPluginStatusAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
{
auto fn = [this, request, handler, context]()
{
handler(this, request, listPluginStatus(request), context);
};
asyncExecute(new Runnable(fn));
}
EcsClient::ListPluginStatusOutcomeCallable EcsClient::listPluginStatusCallable(const ListPluginStatusRequest &request) const
{
auto task = std::make_shared<std::packaged_task<ListPluginStatusOutcome()>>(
[this, request]()
{
return this->listPluginStatus(request);
});
asyncExecute(new Runnable([task]() { (*task)(); }));
return task->get_future();
}
EcsClient::ListTagResourcesOutcome EcsClient::listTagResources(const ListTagResourcesRequest &request) const
{
auto endpointOutcome = endpointProvider_->getEndpoint();

View File

@@ -560,6 +560,15 @@ void CreateAutoProvisioningGroupRequest::setPayAsYouGoTargetCapacity(const std::
setParameter(std::string("PayAsYouGoTargetCapacity"), payAsYouGoTargetCapacity);
}
bool CreateAutoProvisioningGroupRequest::getHibernationOptionsConfigured() const {
return hibernationOptionsConfigured_;
}
void CreateAutoProvisioningGroupRequest::setHibernationOptionsConfigured(bool hibernationOptionsConfigured) {
hibernationOptionsConfigured_ = hibernationOptionsConfigured;
setParameter(std::string("HibernationOptionsConfigured"), hibernationOptionsConfigured ? "true" : "false");
}
std::string CreateAutoProvisioningGroupRequest::getTotalTargetCapacity() const {
return totalTargetCapacity_;
}

View File

@@ -71,6 +71,10 @@ void DescribeCapacityReservationsResult::parse(const std::string &payload)
capacityReservationSetObject.platform = valueCapacityReservationSetCapacityReservationItem["Platform"].asString();
if(!valueCapacityReservationSetCapacityReservationItem["StartTimeType"].isNull())
capacityReservationSetObject.startTimeType = valueCapacityReservationSetCapacityReservationItem["StartTimeType"].asString();
if(!valueCapacityReservationSetCapacityReservationItem["SavingPlanId"].isNull())
capacityReservationSetObject.savingPlanId = valueCapacityReservationSetCapacityReservationItem["SavingPlanId"].asString();
if(!valueCapacityReservationSetCapacityReservationItem["ReservedInstanceId"].isNull())
capacityReservationSetObject.reservedInstanceId = valueCapacityReservationSetCapacityReservationItem["ReservedInstanceId"].asString();
auto allAllocatedResourcesNode = valueCapacityReservationSetCapacityReservationItem["AllocatedResources"]["AllocatedResource"];
for (auto valueCapacityReservationSetCapacityReservationItemAllocatedResourcesAllocatedResource : allAllocatedResourcesNode)
{

View File

@@ -113,6 +113,8 @@ void DescribeInstanceTypesResult::parse(const std::string &payload)
instanceTypesObject.instanceCategory = valueInstanceTypesInstanceType["InstanceCategory"].asString();
if(!valueInstanceTypesInstanceType["CpuArchitecture"].isNull())
instanceTypesObject.cpuArchitecture = valueInstanceTypesInstanceType["CpuArchitecture"].asString();
if(!valueInstanceTypesInstanceType["GPUMemorySize"].isNull())
instanceTypesObject.gPUMemorySize = std::stof(valueInstanceTypesInstanceType["GPUMemorySize"].asString());
instanceTypes_.push_back(instanceTypesObject);
}
if(!value["NextToken"].isNull())

View File

@@ -82,6 +82,8 @@ void DescribeInvocationResultsResult::parse(const std::string &payload)
invocationResultObject.username = invocationNodeInvocationResultsInvocationResult["Username"].asString();
if(!invocationNodeInvocationResultsInvocationResult["ContainerId"].isNull())
invocationResultObject.containerId = invocationNodeInvocationResultsInvocationResult["ContainerId"].asString();
if(!invocationNodeInvocationResultsInvocationResult["ContainerName"].isNull())
invocationResultObject.containerName = invocationNodeInvocationResultsInvocationResult["ContainerName"].asString();
auto allTagsNode = invocationNodeInvocationResultsInvocationResult["Tags"]["Tag"];
for (auto invocationNodeInvocationResultsInvocationResultTagsTag : allTagsNode)
{

View File

@@ -77,6 +77,8 @@ void DescribeInvocationsResult::parse(const std::string &payload)
invocationsObject.timeout = std::stol(valueInvocationsInvocation["Timeout"].asString());
if(!valueInvocationsInvocation["ContainerId"].isNull())
invocationsObject.containerId = valueInvocationsInvocation["ContainerId"].asString();
if(!valueInvocationsInvocation["ContainerName"].isNull())
invocationsObject.containerName = valueInvocationsInvocation["ContainerName"].asString();
auto allInvokeInstancesNode = valueInvocationsInvocation["InvokeInstances"]["InvokeInstance"];
for (auto valueInvocationsInvocationInvokeInstancesInvokeInstance : allInvokeInstancesNode)
{

View File

@@ -375,6 +375,21 @@ void DescribePriceRequest::setResourceType(const std::string &resourceType) {
setParameter(std::string("ResourceType"), resourceType);
}
std::vector<DescribePriceRequest::DataDisk> DescribePriceRequest::getDataDisk() const {
return dataDisk_;
}
void DescribePriceRequest::setDataDisk(const std::vector<DescribePriceRequest::DataDisk> &dataDisk) {
dataDisk_ = dataDisk;
for(int dep1 = 0; dep1 != dataDisk.size(); dep1++) {
auto dataDiskObj = dataDisk.at(dep1);
std::string dataDiskObjStr = std::string("DataDisk") + "." + std::to_string(dep1 + 1);
setParameter(dataDiskObjStr + ".Size", std::to_string(dataDiskObj.size));
setParameter(dataDiskObjStr + ".PerformanceLevel", dataDiskObj.performanceLevel);
setParameter(dataDiskObjStr + ".Category", dataDiskObj.category);
}
}
std::string DescribePriceRequest::getDataDisk1Category() const {
return dataDisk1Category_;
}

View File

@@ -133,3 +133,12 @@ void DescribeResourcesModificationRequest::setDestinationResource(const std::str
setParameter(std::string("DestinationResource"), destinationResource);
}
std::string DescribeResourcesModificationRequest::getZoneId() const {
return zoneId_;
}
void DescribeResourcesModificationRequest::setZoneId(const std::string &zoneId) {
zoneId_ = zoneId;
setParameter(std::string("ZoneId"), zoneId);
}

View File

@@ -34,6 +34,15 @@ void InvokeCommandRequest::setResourceOwnerId(long resourceOwnerId) {
setParameter(std::string("ResourceOwnerId"), std::to_string(resourceOwnerId));
}
std::string InvokeCommandRequest::getContainerName() const {
return containerName_;
}
void InvokeCommandRequest::setContainerName(const std::string &containerName) {
containerName_ = containerName;
setParameter(std::string("ContainerName"), containerName);
}
std::string InvokeCommandRequest::getCommandId() const {
return commandId_;
}

View File

@@ -0,0 +1,107 @@
/*
* 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/ListPluginStatusRequest.h>
using AlibabaCloud::Ecs::Model::ListPluginStatusRequest;
ListPluginStatusRequest::ListPluginStatusRequest()
: RpcServiceRequest("ecs", "2014-05-26", "ListPluginStatus") {
setMethod(HttpRequest::Method::Post);
}
ListPluginStatusRequest::~ListPluginStatusRequest() {}
long ListPluginStatusRequest::getResourceOwnerId() const {
return resourceOwnerId_;
}
void ListPluginStatusRequest::setResourceOwnerId(long resourceOwnerId) {
resourceOwnerId_ = resourceOwnerId;
setParameter(std::string("ResourceOwnerId"), std::to_string(resourceOwnerId));
}
long ListPluginStatusRequest::getPageNumber() const {
return pageNumber_;
}
void ListPluginStatusRequest::setPageNumber(long pageNumber) {
pageNumber_ = pageNumber;
setParameter(std::string("PageNumber"), std::to_string(pageNumber));
}
std::string ListPluginStatusRequest::getRegionId() const {
return regionId_;
}
void ListPluginStatusRequest::setRegionId(const std::string &regionId) {
regionId_ = regionId;
setParameter(std::string("RegionId"), regionId);
}
long ListPluginStatusRequest::getPageSize() const {
return pageSize_;
}
void ListPluginStatusRequest::setPageSize(long pageSize) {
pageSize_ = pageSize;
setParameter(std::string("PageSize"), std::to_string(pageSize));
}
std::string ListPluginStatusRequest::getResourceOwnerAccount() const {
return resourceOwnerAccount_;
}
void ListPluginStatusRequest::setResourceOwnerAccount(const std::string &resourceOwnerAccount) {
resourceOwnerAccount_ = resourceOwnerAccount;
setParameter(std::string("ResourceOwnerAccount"), resourceOwnerAccount);
}
std::string ListPluginStatusRequest::getOwnerAccount() const {
return ownerAccount_;
}
void ListPluginStatusRequest::setOwnerAccount(const std::string &ownerAccount) {
ownerAccount_ = ownerAccount;
setParameter(std::string("OwnerAccount"), ownerAccount);
}
long ListPluginStatusRequest::getOwnerId() const {
return ownerId_;
}
void ListPluginStatusRequest::setOwnerId(long ownerId) {
ownerId_ = ownerId;
setParameter(std::string("OwnerId"), std::to_string(ownerId));
}
std::vector<std::string> ListPluginStatusRequest::getInstanceId() const {
return instanceId_;
}
void ListPluginStatusRequest::setInstanceId(const std::vector<std::string> &instanceId) {
instanceId_ = instanceId;
}
std::string ListPluginStatusRequest::getName() const {
return name_;
}
void ListPluginStatusRequest::setName(const std::string &name) {
name_ = name;
setParameter(std::string("Name"), name);
}

View File

@@ -0,0 +1,94 @@
/*
* 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/ListPluginStatusResult.h>
#include <json/json.h>
using namespace AlibabaCloud::Ecs;
using namespace AlibabaCloud::Ecs::Model;
ListPluginStatusResult::ListPluginStatusResult() :
ServiceResult()
{}
ListPluginStatusResult::ListPluginStatusResult(const std::string &payload) :
ServiceResult()
{
parse(payload);
}
ListPluginStatusResult::~ListPluginStatusResult()
{}
void ListPluginStatusResult::parse(const std::string &payload)
{
Json::Reader reader;
Json::Value value;
reader.parse(payload, value);
setRequestId(value["RequestId"].asString());
auto allInstancePluginStatusSetNode = value["InstancePluginStatusSet"]["InstancePluginStatus"];
for (auto valueInstancePluginStatusSetInstancePluginStatus : allInstancePluginStatusSetNode)
{
InstancePluginStatus instancePluginStatusSetObject;
if(!valueInstancePluginStatusSetInstancePluginStatus["InstanceId"].isNull())
instancePluginStatusSetObject.instanceId = valueInstancePluginStatusSetInstancePluginStatus["InstanceId"].asString();
auto allPluginStatusSetNode = valueInstancePluginStatusSetInstancePluginStatus["PluginStatusSet"]["PluginStatus"];
for (auto valueInstancePluginStatusSetInstancePluginStatusPluginStatusSetPluginStatus : allPluginStatusSetNode)
{
InstancePluginStatus::PluginStatus pluginStatusSetObject;
if(!valueInstancePluginStatusSetInstancePluginStatusPluginStatusSetPluginStatus["PluginVersion"].isNull())
pluginStatusSetObject.pluginVersion = valueInstancePluginStatusSetInstancePluginStatusPluginStatusSetPluginStatus["PluginVersion"].asString();
if(!valueInstancePluginStatusSetInstancePluginStatusPluginStatusSetPluginStatus["PluginName"].isNull())
pluginStatusSetObject.pluginName = valueInstancePluginStatusSetInstancePluginStatusPluginStatusSetPluginStatus["PluginName"].asString();
if(!valueInstancePluginStatusSetInstancePluginStatusPluginStatusSetPluginStatus["FirstHeartbeatTime"].isNull())
pluginStatusSetObject.firstHeartbeatTime = valueInstancePluginStatusSetInstancePluginStatusPluginStatusSetPluginStatus["FirstHeartbeatTime"].asString();
if(!valueInstancePluginStatusSetInstancePluginStatusPluginStatusSetPluginStatus["LastHeartbeatTime"].isNull())
pluginStatusSetObject.lastHeartbeatTime = valueInstancePluginStatusSetInstancePluginStatusPluginStatusSetPluginStatus["LastHeartbeatTime"].asString();
if(!valueInstancePluginStatusSetInstancePluginStatusPluginStatusSetPluginStatus["PluginStatus"].isNull())
pluginStatusSetObject.pluginStatus = valueInstancePluginStatusSetInstancePluginStatusPluginStatusSetPluginStatus["PluginStatus"].asString();
instancePluginStatusSetObject.pluginStatusSet.push_back(pluginStatusSetObject);
}
instancePluginStatusSet_.push_back(instancePluginStatusSetObject);
}
if(!value["PageSize"].isNull())
pageSize_ = std::stol(value["PageSize"].asString());
if(!value["PageNumber"].isNull())
pageNumber_ = std::stol(value["PageNumber"].asString());
if(!value["TotalCount"].isNull())
totalCount_ = std::stol(value["TotalCount"].asString());
}
std::vector<ListPluginStatusResult::InstancePluginStatus> ListPluginStatusResult::getInstancePluginStatusSet()const
{
return instancePluginStatusSet_;
}
long ListPluginStatusResult::getTotalCount()const
{
return totalCount_;
}
long ListPluginStatusResult::getPageSize()const
{
return pageSize_;
}
long ListPluginStatusResult::getPageNumber()const
{
return pageNumber_;
}

View File

@@ -34,6 +34,15 @@ void RunCommandRequest::setResourceOwnerId(long resourceOwnerId) {
setParameter(std::string("ResourceOwnerId"), std::to_string(resourceOwnerId));
}
std::string RunCommandRequest::getContainerName() const {
return containerName_;
}
void RunCommandRequest::setContainerName(const std::string &containerName) {
containerName_ = containerName;
setParameter(std::string("ContainerName"), containerName);
}
std::string RunCommandRequest::getWorkingDir() const {
return workingDir_;
}