Sfoglia il codice sorgente

Add GPUMemorySize to DescribeInstanceTypes api.

sdk-team 3 anni fa
parent
commit
894262087a
26 ha cambiato i file con 472 aggiunte e 1 eliminazioni
  1. 1 1
      VERSION
  2. 4 0
      ecs/CMakeLists.txt
  3. 8 0
      ecs/include/alibabacloud/ecs/EcsClient.h
  4. 3 0
      ecs/include/alibabacloud/ecs/model/CreateAutoProvisioningGroupRequest.h
  5. 2 0
      ecs/include/alibabacloud/ecs/model/DescribeCapacityReservationsResult.h
  6. 1 0
      ecs/include/alibabacloud/ecs/model/DescribeInstanceTypesResult.h
  7. 1 0
      ecs/include/alibabacloud/ecs/model/DescribeInvocationResultsResult.h
  8. 1 0
      ecs/include/alibabacloud/ecs/model/DescribeInvocationsResult.h
  9. 8 0
      ecs/include/alibabacloud/ecs/model/DescribePriceRequest.h
  10. 3 0
      ecs/include/alibabacloud/ecs/model/DescribeResourcesModificationRequest.h
  11. 3 0
      ecs/include/alibabacloud/ecs/model/InvokeCommandRequest.h
  12. 66 0
      ecs/include/alibabacloud/ecs/model/ListPluginStatusRequest.h
  13. 70 0
      ecs/include/alibabacloud/ecs/model/ListPluginStatusResult.h
  14. 3 0
      ecs/include/alibabacloud/ecs/model/RunCommandRequest.h
  15. 36 0
      ecs/src/EcsClient.cc
  16. 9 0
      ecs/src/model/CreateAutoProvisioningGroupRequest.cc
  17. 4 0
      ecs/src/model/DescribeCapacityReservationsResult.cc
  18. 2 0
      ecs/src/model/DescribeInstanceTypesResult.cc
  19. 2 0
      ecs/src/model/DescribeInvocationResultsResult.cc
  20. 2 0
      ecs/src/model/DescribeInvocationsResult.cc
  21. 15 0
      ecs/src/model/DescribePriceRequest.cc
  22. 9 0
      ecs/src/model/DescribeResourcesModificationRequest.cc
  23. 9 0
      ecs/src/model/InvokeCommandRequest.cc
  24. 107 0
      ecs/src/model/ListPluginStatusRequest.cc
  25. 94 0
      ecs/src/model/ListPluginStatusResult.cc
  26. 9 0
      ecs/src/model/RunCommandRequest.cc

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.36.1294
+1.36.1295

+ 4 - 0
ecs/CMakeLists.txt

@@ -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

+ 8 - 0
ecs/include/alibabacloud/ecs/EcsClient.h

@@ -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;

+ 3 - 0
ecs/include/alibabacloud/ecs/model/CreateAutoProvisioningGroupRequest.h

@@ -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_;

+ 2 - 0
ecs/include/alibabacloud/ecs/model/DescribeCapacityReservationsResult.h

@@ -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;
 				};

+ 1 - 0
ecs/include/alibabacloud/ecs/model/DescribeInstanceTypesResult.h

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

+ 1 - 0
ecs/include/alibabacloud/ecs/model/DescribeInvocationResultsResult.h

@@ -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;

+ 1 - 0
ecs/include/alibabacloud/ecs/model/DescribeInvocationsResult.h

@@ -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;

+ 8 - 0
ecs/include/alibabacloud/ecs/model/DescribePriceRequest.h

@@ -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_;

+ 3 - 0
ecs/include/alibabacloud/ecs/model/DescribeResourcesModificationRequest.h

@@ -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

+ 3 - 0
ecs/include/alibabacloud/ecs/model/InvokeCommandRequest.h

@@ -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_;

+ 66 - 0
ecs/include/alibabacloud/ecs/model/ListPluginStatusRequest.h

@@ -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_

+ 70 - 0
ecs/include/alibabacloud/ecs/model/ListPluginStatusResult.h

@@ -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_

+ 3 - 0
ecs/include/alibabacloud/ecs/model/RunCommandRequest.h

@@ -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_;

+ 36 - 0
ecs/src/EcsClient.cc

@@ -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();

+ 9 - 0
ecs/src/model/CreateAutoProvisioningGroupRequest.cc

@@ -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_;
 }

+ 4 - 0
ecs/src/model/DescribeCapacityReservationsResult.cc

@@ -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)
 		{

+ 2 - 0
ecs/src/model/DescribeInstanceTypesResult.cc

@@ -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())

+ 2 - 0
ecs/src/model/DescribeInvocationResultsResult.cc

@@ -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)
 		{

+ 2 - 0
ecs/src/model/DescribeInvocationsResult.cc

@@ -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)
 		{

+ 15 - 0
ecs/src/model/DescribePriceRequest.cc

@@ -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_;
 }

+ 9 - 0
ecs/src/model/DescribeResourcesModificationRequest.cc

@@ -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);
+}
+

+ 9 - 0
ecs/src/model/InvokeCommandRequest.cc

@@ -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_;
 }

+ 107 - 0
ecs/src/model/ListPluginStatusRequest.cc

@@ -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);
+}
+

+ 94 - 0
ecs/src/model/ListPluginStatusResult.cc

@@ -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_;
+}
+

+ 9 - 0
ecs/src/model/RunCommandRequest.cc

@@ -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_;
 }