sdk-team 5 лет назад
Родитель
Сommit
7443b8a1e7
24 измененных файлов с 935 добавлено и 0 удалено
  1. 3 0
      CHANGELOG
  2. 8 0
      ecs/CMakeLists.txt
  3. 16 0
      ecs/include/alibabacloud/ecs/EcsClient.h
  4. 3 0
      ecs/include/alibabacloud/ecs/model/AttachInstanceRamRoleRequest.h
  5. 2 0
      ecs/include/alibabacloud/ecs/model/CreateInstanceResult.h
  6. 14 0
      ecs/include/alibabacloud/ecs/model/CreateLaunchTemplateRequest.h
  7. 14 0
      ecs/include/alibabacloud/ecs/model/CreateLaunchTemplateVersionRequest.h
  8. 6 0
      ecs/include/alibabacloud/ecs/model/DescribeLaunchTemplateVersionsResult.h
  9. 87 0
      ecs/include/alibabacloud/ecs/model/ModifyCapacityReservationRequest.h
  10. 49 0
      ecs/include/alibabacloud/ecs/model/ModifyCapacityReservationResult.h
  11. 72 0
      ecs/include/alibabacloud/ecs/model/ModifyElasticityAssuranceRequest.h
  12. 49 0
      ecs/include/alibabacloud/ecs/model/ModifyElasticityAssuranceResult.h
  13. 2 0
      ecs/include/alibabacloud/ecs/model/RenewInstanceResult.h
  14. 72 0
      ecs/src/EcsClient.cc
  15. 11 0
      ecs/src/model/AttachInstanceRamRoleRequest.cc
  16. 7 0
      ecs/src/model/CreateInstanceResult.cc
  17. 50 0
      ecs/src/model/CreateLaunchTemplateRequest.cc
  18. 50 0
      ecs/src/model/CreateLaunchTemplateVersionRequest.cc
  19. 14 0
      ecs/src/model/DescribeLaunchTemplateVersionsResult.cc
  20. 183 0
      ecs/src/model/ModifyCapacityReservationRequest.cc
  21. 44 0
      ecs/src/model/ModifyCapacityReservationResult.cc
  22. 128 0
      ecs/src/model/ModifyElasticityAssuranceRequest.cc
  23. 44 0
      ecs/src/model/ModifyElasticityAssuranceResult.cc
  24. 7 0
      ecs/src/model/RenewInstanceResult.cc

+ 3 - 0
CHANGELOG

@@ -1,3 +1,6 @@
+2021-01-04 Version: patch
+- Generated 2014-05-26 for `Ecs`.
+
 2021-01-04 Version: patch
 - Supported API for GTM.
 

+ 8 - 0
ecs/CMakeLists.txt

@@ -445,6 +445,8 @@ set(ecs_public_header_model
 	include/alibabacloud/ecs/model/ModifyAutoSnapshotPolicyExResult.h
 	include/alibabacloud/ecs/model/ModifyBandwidthPackageSpecRequest.h
 	include/alibabacloud/ecs/model/ModifyBandwidthPackageSpecResult.h
+	include/alibabacloud/ecs/model/ModifyCapacityReservationRequest.h
+	include/alibabacloud/ecs/model/ModifyCapacityReservationResult.h
 	include/alibabacloud/ecs/model/ModifyCommandRequest.h
 	include/alibabacloud/ecs/model/ModifyCommandResult.h
 	include/alibabacloud/ecs/model/ModifyDedicatedHostAttributeRequest.h
@@ -469,6 +471,8 @@ set(ecs_public_header_model
 	include/alibabacloud/ecs/model/ModifyDiskSpecResult.h
 	include/alibabacloud/ecs/model/ModifyEipAddressAttributeRequest.h
 	include/alibabacloud/ecs/model/ModifyEipAddressAttributeResult.h
+	include/alibabacloud/ecs/model/ModifyElasticityAssuranceRequest.h
+	include/alibabacloud/ecs/model/ModifyElasticityAssuranceResult.h
 	include/alibabacloud/ecs/model/ModifyForwardEntryRequest.h
 	include/alibabacloud/ecs/model/ModifyForwardEntryResult.h
 	include/alibabacloud/ecs/model/ModifyHaVipAttributeRequest.h
@@ -1052,6 +1056,8 @@ set(ecs_src
 	src/model/ModifyAutoSnapshotPolicyExResult.cc
 	src/model/ModifyBandwidthPackageSpecRequest.cc
 	src/model/ModifyBandwidthPackageSpecResult.cc
+	src/model/ModifyCapacityReservationRequest.cc
+	src/model/ModifyCapacityReservationResult.cc
 	src/model/ModifyCommandRequest.cc
 	src/model/ModifyCommandResult.cc
 	src/model/ModifyDedicatedHostAttributeRequest.cc
@@ -1076,6 +1082,8 @@ set(ecs_src
 	src/model/ModifyDiskSpecResult.cc
 	src/model/ModifyEipAddressAttributeRequest.cc
 	src/model/ModifyEipAddressAttributeResult.cc
+	src/model/ModifyElasticityAssuranceRequest.cc
+	src/model/ModifyElasticityAssuranceResult.cc
 	src/model/ModifyForwardEntryRequest.cc
 	src/model/ModifyForwardEntryResult.cc
 	src/model/ModifyHaVipAttributeRequest.cc

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

@@ -446,6 +446,8 @@
 #include "model/ModifyAutoSnapshotPolicyExResult.h"
 #include "model/ModifyBandwidthPackageSpecRequest.h"
 #include "model/ModifyBandwidthPackageSpecResult.h"
+#include "model/ModifyCapacityReservationRequest.h"
+#include "model/ModifyCapacityReservationResult.h"
 #include "model/ModifyCommandRequest.h"
 #include "model/ModifyCommandResult.h"
 #include "model/ModifyDedicatedHostAttributeRequest.h"
@@ -470,6 +472,8 @@
 #include "model/ModifyDiskSpecResult.h"
 #include "model/ModifyEipAddressAttributeRequest.h"
 #include "model/ModifyEipAddressAttributeResult.h"
+#include "model/ModifyElasticityAssuranceRequest.h"
+#include "model/ModifyElasticityAssuranceResult.h"
 #include "model/ModifyForwardEntryRequest.h"
 #include "model/ModifyForwardEntryResult.h"
 #include "model/ModifyHaVipAttributeRequest.h"
@@ -1271,6 +1275,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::ModifyBandwidthPackageSpecResult> ModifyBandwidthPackageSpecOutcome;
 			typedef std::future<ModifyBandwidthPackageSpecOutcome> ModifyBandwidthPackageSpecOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::ModifyBandwidthPackageSpecRequest&, const ModifyBandwidthPackageSpecOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyBandwidthPackageSpecAsyncHandler;
+			typedef Outcome<Error, Model::ModifyCapacityReservationResult> ModifyCapacityReservationOutcome;
+			typedef std::future<ModifyCapacityReservationOutcome> ModifyCapacityReservationOutcomeCallable;
+			typedef std::function<void(const EcsClient*, const Model::ModifyCapacityReservationRequest&, const ModifyCapacityReservationOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyCapacityReservationAsyncHandler;
 			typedef Outcome<Error, Model::ModifyCommandResult> ModifyCommandOutcome;
 			typedef std::future<ModifyCommandOutcome> ModifyCommandOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::ModifyCommandRequest&, const ModifyCommandOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyCommandAsyncHandler;
@@ -1307,6 +1314,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::ModifyEipAddressAttributeResult> ModifyEipAddressAttributeOutcome;
 			typedef std::future<ModifyEipAddressAttributeOutcome> ModifyEipAddressAttributeOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::ModifyEipAddressAttributeRequest&, const ModifyEipAddressAttributeOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyEipAddressAttributeAsyncHandler;
+			typedef Outcome<Error, Model::ModifyElasticityAssuranceResult> ModifyElasticityAssuranceOutcome;
+			typedef std::future<ModifyElasticityAssuranceOutcome> ModifyElasticityAssuranceOutcomeCallable;
+			typedef std::function<void(const EcsClient*, const Model::ModifyElasticityAssuranceRequest&, const ModifyElasticityAssuranceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyElasticityAssuranceAsyncHandler;
 			typedef Outcome<Error, Model::ModifyForwardEntryResult> ModifyForwardEntryOutcome;
 			typedef std::future<ModifyForwardEntryOutcome> ModifyForwardEntryOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::ModifyForwardEntryRequest&, const ModifyForwardEntryOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyForwardEntryAsyncHandler;
@@ -2182,6 +2192,9 @@ namespace AlibabaCloud
 			ModifyBandwidthPackageSpecOutcome modifyBandwidthPackageSpec(const Model::ModifyBandwidthPackageSpecRequest &request)const;
 			void modifyBandwidthPackageSpecAsync(const Model::ModifyBandwidthPackageSpecRequest& request, const ModifyBandwidthPackageSpecAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ModifyBandwidthPackageSpecOutcomeCallable modifyBandwidthPackageSpecCallable(const Model::ModifyBandwidthPackageSpecRequest& request) const;
+			ModifyCapacityReservationOutcome modifyCapacityReservation(const Model::ModifyCapacityReservationRequest &request)const;
+			void modifyCapacityReservationAsync(const Model::ModifyCapacityReservationRequest& request, const ModifyCapacityReservationAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ModifyCapacityReservationOutcomeCallable modifyCapacityReservationCallable(const Model::ModifyCapacityReservationRequest& request) const;
 			ModifyCommandOutcome modifyCommand(const Model::ModifyCommandRequest &request)const;
 			void modifyCommandAsync(const Model::ModifyCommandRequest& request, const ModifyCommandAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ModifyCommandOutcomeCallable modifyCommandCallable(const Model::ModifyCommandRequest& request) const;
@@ -2218,6 +2231,9 @@ namespace AlibabaCloud
 			ModifyEipAddressAttributeOutcome modifyEipAddressAttribute(const Model::ModifyEipAddressAttributeRequest &request)const;
 			void modifyEipAddressAttributeAsync(const Model::ModifyEipAddressAttributeRequest& request, const ModifyEipAddressAttributeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ModifyEipAddressAttributeOutcomeCallable modifyEipAddressAttributeCallable(const Model::ModifyEipAddressAttributeRequest& request) const;
+			ModifyElasticityAssuranceOutcome modifyElasticityAssurance(const Model::ModifyElasticityAssuranceRequest &request)const;
+			void modifyElasticityAssuranceAsync(const Model::ModifyElasticityAssuranceRequest& request, const ModifyElasticityAssuranceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ModifyElasticityAssuranceOutcomeCallable modifyElasticityAssuranceCallable(const Model::ModifyElasticityAssuranceRequest& request) const;
 			ModifyForwardEntryOutcome modifyForwardEntry(const Model::ModifyForwardEntryRequest &request)const;
 			void modifyForwardEntryAsync(const Model::ModifyForwardEntryRequest& request, const ModifyForwardEntryAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ModifyForwardEntryOutcomeCallable modifyForwardEntryCallable(const Model::ModifyForwardEntryRequest& request) const;

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

@@ -39,6 +39,8 @@ namespace AlibabaCloud
 				void setResourceOwnerId(long resourceOwnerId);
 				std::string getRegionId()const;
 				void setRegionId(const std::string& regionId);
+				std::string getPolicy()const;
+				void setPolicy(const std::string& policy);
 				std::string getResourceOwnerAccount()const;
 				void setResourceOwnerAccount(const std::string& resourceOwnerAccount);
 				std::string getRamRoleName()const;
@@ -51,6 +53,7 @@ namespace AlibabaCloud
             private:
 				long resourceOwnerId_;
 				std::string regionId_;
+				std::string policy_;
 				std::string resourceOwnerAccount_;
 				std::string ramRoleName_;
 				long ownerId_;

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

@@ -39,12 +39,14 @@ namespace AlibabaCloud
 				~CreateInstanceResult();
 				std::string getInstanceId()const;
 				float getTradePrice()const;
+				std::string getOrderId()const;
 
 			protected:
 				void parse(const std::string &payload);
 			private:
 				std::string instanceId_;
 				float tradePrice_;
+				std::string orderId_;
 
 			};
 		}

+ 14 - 0
ecs/include/alibabacloud/ecs/model/CreateLaunchTemplateRequest.h

@@ -48,6 +48,7 @@ namespace AlibabaCloud
 					std::string securityGroupId;
 					std::string networkInterfaceName;
 					std::string description;
+					std::vector<std::string> securityGroupIds;
 				};
 				struct DataDisk
 				{
@@ -59,6 +60,7 @@ namespace AlibabaCloud
 					std::string description;
 					bool deleteWithInstance;
 					std::string device;
+					std::string performanceLevel;
 				};
 
 			public:
@@ -99,6 +101,8 @@ namespace AlibabaCloud
 				void setVSwitchId(const std::string& vSwitchId);
 				std::string getSpotStrategy()const;
 				void setSpotStrategy(const std::string& spotStrategy);
+				std::string getPrivateIpAddress()const;
+				void setPrivateIpAddress(const std::string& privateIpAddress);
 				std::string getInstanceName()const;
 				void setInstanceName(const std::string& instanceName);
 				std::string getInternetChargeType()const;
@@ -109,6 +113,8 @@ namespace AlibabaCloud
 				void setInternetMaxBandwidthIn(int internetMaxBandwidthIn);
 				std::string getVersionDescription()const;
 				void setVersionDescription(const std::string& versionDescription);
+				bool getSystemDiskDeleteWithInstance()const;
+				void setSystemDiskDeleteWithInstance(bool systemDiskDeleteWithInstance);
 				std::string getImageId()const;
 				void setImageId(const std::string& imageId);
 				std::string getIoOptimized()const;
@@ -121,6 +127,8 @@ namespace AlibabaCloud
 				void setDescription(const std::string& description);
 				std::string getSystemDiskCategory()const;
 				void setSystemDiskCategory(const std::string& systemDiskCategory);
+				std::string getSystemDiskPerformanceLevel()const;
+				void setSystemDiskPerformanceLevel(const std::string& systemDiskPerformanceLevel);
 				std::string getUserData()const;
 				void setUserData(const std::string& userData);
 				bool getPasswordInherit()const;
@@ -147,6 +155,8 @@ namespace AlibabaCloud
 				void setAutoReleaseTime(const std::string& autoReleaseTime);
 				int getSpotDuration()const;
 				void setSpotDuration(int spotDuration);
+				std::vector<std::string> getSecurityGroupIds()const;
+				void setSecurityGroupIds(const std::vector<std::string>& securityGroupIds);
 				std::vector<DataDisk> getDataDisk()const;
 				void setDataDisk(const std::vector<DataDisk>& dataDisk);
 				int getSystemDiskSize()const;
@@ -174,17 +184,20 @@ namespace AlibabaCloud
 				long ownerId_;
 				std::string vSwitchId_;
 				std::string spotStrategy_;
+				std::string privateIpAddress_;
 				std::string instanceName_;
 				std::string internetChargeType_;
 				std::string zoneId_;
 				int internetMaxBandwidthIn_;
 				std::string versionDescription_;
+				bool systemDiskDeleteWithInstance_;
 				std::string imageId_;
 				std::string ioOptimized_;
 				std::string securityGroupId_;
 				int internetMaxBandwidthOut_;
 				std::string description_;
 				std::string systemDiskCategory_;
+				std::string systemDiskPerformanceLevel_;
 				std::string userData_;
 				bool passwordInherit_;
 				std::string regionId_;
@@ -198,6 +211,7 @@ namespace AlibabaCloud
 				std::string ramRoleName_;
 				std::string autoReleaseTime_;
 				int spotDuration_;
+				std::vector<std::string> securityGroupIds_;
 				std::vector<DataDisk> dataDisk_;
 				int systemDiskSize_;
 				std::string vpcId_;

+ 14 - 0
ecs/include/alibabacloud/ecs/model/CreateLaunchTemplateVersionRequest.h

@@ -43,6 +43,7 @@ namespace AlibabaCloud
 					std::string securityGroupId;
 					std::string networkInterfaceName;
 					std::string description;
+					std::vector<std::string> securityGroupIds;
 				};
 				struct DataDisk
 				{
@@ -54,6 +55,7 @@ namespace AlibabaCloud
 					std::string description;
 					bool deleteWithInstance;
 					std::string device;
+					std::string performanceLevel;
 				};
 
 			public:
@@ -92,6 +94,8 @@ namespace AlibabaCloud
 				void setVSwitchId(const std::string& vSwitchId);
 				std::string getSpotStrategy()const;
 				void setSpotStrategy(const std::string& spotStrategy);
+				std::string getPrivateIpAddress()const;
+				void setPrivateIpAddress(const std::string& privateIpAddress);
 				std::string getInstanceName()const;
 				void setInstanceName(const std::string& instanceName);
 				std::string getInternetChargeType()const;
@@ -102,6 +106,8 @@ namespace AlibabaCloud
 				void setInternetMaxBandwidthIn(int internetMaxBandwidthIn);
 				std::string getVersionDescription()const;
 				void setVersionDescription(const std::string& versionDescription);
+				bool getSystemDiskDeleteWithInstance()const;
+				void setSystemDiskDeleteWithInstance(bool systemDiskDeleteWithInstance);
 				std::string getImageId()const;
 				void setImageId(const std::string& imageId);
 				std::string getIoOptimized()const;
@@ -114,6 +120,8 @@ namespace AlibabaCloud
 				void setDescription(const std::string& description);
 				std::string getSystemDiskCategory()const;
 				void setSystemDiskCategory(const std::string& systemDiskCategory);
+				std::string getSystemDiskPerformanceLevel()const;
+				void setSystemDiskPerformanceLevel(const std::string& systemDiskPerformanceLevel);
 				std::string getUserData()const;
 				void setUserData(const std::string& userData);
 				bool getPasswordInherit()const;
@@ -140,6 +148,8 @@ namespace AlibabaCloud
 				void setAutoReleaseTime(const std::string& autoReleaseTime);
 				int getSpotDuration()const;
 				void setSpotDuration(int spotDuration);
+				std::vector<std::string> getSecurityGroupIds()const;
+				void setSecurityGroupIds(const std::vector<std::string>& securityGroupIds);
 				std::vector<DataDisk> getDataDisk()const;
 				void setDataDisk(const std::vector<DataDisk>& dataDisk);
 				int getSystemDiskSize()const;
@@ -166,17 +176,20 @@ namespace AlibabaCloud
 				long ownerId_;
 				std::string vSwitchId_;
 				std::string spotStrategy_;
+				std::string privateIpAddress_;
 				std::string instanceName_;
 				std::string internetChargeType_;
 				std::string zoneId_;
 				int internetMaxBandwidthIn_;
 				std::string versionDescription_;
+				bool systemDiskDeleteWithInstance_;
 				std::string imageId_;
 				std::string ioOptimized_;
 				std::string securityGroupId_;
 				int internetMaxBandwidthOut_;
 				std::string description_;
 				std::string systemDiskCategory_;
+				std::string systemDiskPerformanceLevel_;
 				std::string userData_;
 				bool passwordInherit_;
 				std::string regionId_;
@@ -190,6 +203,7 @@ namespace AlibabaCloud
 				std::string ramRoleName_;
 				std::string autoReleaseTime_;
 				int spotDuration_;
+				std::vector<std::string> securityGroupIds_;
 				std::vector<DataDisk> dataDisk_;
 				int systemDiskSize_;
 				std::string vpcId_;

+ 6 - 0
ecs/include/alibabacloud/ecs/model/DescribeLaunchTemplateVersionsResult.h

@@ -44,12 +44,14 @@ namespace AlibabaCloud
 							int size;
 							std::string encrypted;
 							std::string device;
+							std::string performanceLevel;
 							bool deleteWithInstance;
 							std::string diskName;
 						};
 						struct NetworkInterface
 						{
 							std::string description;
+							std::vector<std::string> securityGroupIds1;
 							std::string vSwitchId;
 							std::string securityGroupId;
 							std::string networkInterfaceName;
@@ -62,6 +64,7 @@ namespace AlibabaCloud
 						};
 						std::string imageOwnerAlias;
 						std::string description;
+						std::string privateIpAddress;
 						std::vector<DataDisk> dataDisks;
 						std::string resourceGroupId;
 						int systemDiskSize;
@@ -70,6 +73,7 @@ namespace AlibabaCloud
 						std::string instanceChargeType;
 						int spotDuration;
 						std::string ramRoleName;
+						std::string systemDiskPerformanceLevel;
 						std::string networkType;
 						std::vector<NetworkInterface> networkInterfaces;
 						std::string imageId;
@@ -86,9 +90,11 @@ namespace AlibabaCloud
 						std::string securityGroupId;
 						std::string vSwitchId;
 						int period;
+						std::vector<std::string> securityGroupIds;
 						std::string systemDiskCategory;
 						std::string internetChargeType;
 						std::string instanceName;
+						bool systemDiskDeleteWithInstance;
 						int internetMaxBandwidthOut;
 						bool enableVmOsConfig;
 						std::string vpcId;

+ 87 - 0
ecs/include/alibabacloud/ecs/model/ModifyCapacityReservationRequest.h

@@ -0,0 +1,87 @@
+/*
+ * 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_MODIFYCAPACITYRESERVATIONREQUEST_H_
+#define ALIBABACLOUD_ECS_MODEL_MODIFYCAPACITYRESERVATIONREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/ecs/EcsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Ecs
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ECS_EXPORT ModifyCapacityReservationRequest : public RpcServiceRequest
+			{
+
+			public:
+				ModifyCapacityReservationRequest();
+				~ModifyCapacityReservationRequest();
+
+				long getResourceOwnerId()const;
+				void setResourceOwnerId(long resourceOwnerId);
+				std::string getDescription()const;
+				void setDescription(const std::string& description);
+				std::string getStartTime()const;
+				void setStartTime(const std::string& startTime);
+				std::string getPlatform()const;
+				void setPlatform(const std::string& platform);
+				std::string getRegionId()const;
+				void setRegionId(const std::string& regionId);
+				std::string getPrivatePoolOptionsId()const;
+				void setPrivatePoolOptionsId(const std::string& privatePoolOptionsId);
+				std::string getEndTimeType()const;
+				void setEndTimeType(const std::string& endTimeType);
+				std::string getResourceOwnerAccount()const;
+				void setResourceOwnerAccount(const std::string& resourceOwnerAccount);
+				std::string getPrivatePoolOptionsName()const;
+				void setPrivatePoolOptionsName(const std::string& privatePoolOptionsName);
+				std::string getOwnerAccount()const;
+				void setOwnerAccount(const std::string& ownerAccount);
+				std::string getEndTime()const;
+				void setEndTime(const std::string& endTime);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				std::string getPackageType()const;
+				void setPackageType(const std::string& packageType);
+				int getInstanceAmount()const;
+				void setInstanceAmount(int instanceAmount);
+
+            private:
+				long resourceOwnerId_;
+				std::string description_;
+				std::string startTime_;
+				std::string platform_;
+				std::string regionId_;
+				std::string privatePoolOptionsId_;
+				std::string endTimeType_;
+				std::string resourceOwnerAccount_;
+				std::string privatePoolOptionsName_;
+				std::string ownerAccount_;
+				std::string endTime_;
+				long ownerId_;
+				std::string packageType_;
+				int instanceAmount_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_MODIFYCAPACITYRESERVATIONREQUEST_H_

+ 49 - 0
ecs/include/alibabacloud/ecs/model/ModifyCapacityReservationResult.h

@@ -0,0 +1,49 @@
+/*
+ * 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_MODIFYCAPACITYRESERVATIONRESULT_H_
+#define ALIBABACLOUD_ECS_MODEL_MODIFYCAPACITYRESERVATIONRESULT_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 ModifyCapacityReservationResult : public ServiceResult
+			{
+			public:
+
+
+				ModifyCapacityReservationResult();
+				explicit ModifyCapacityReservationResult(const std::string &payload);
+				~ModifyCapacityReservationResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_MODIFYCAPACITYRESERVATIONRESULT_H_

+ 72 - 0
ecs/include/alibabacloud/ecs/model/ModifyElasticityAssuranceRequest.h

@@ -0,0 +1,72 @@
+/*
+ * 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_MODIFYELASTICITYASSURANCEREQUEST_H_
+#define ALIBABACLOUD_ECS_MODEL_MODIFYELASTICITYASSURANCEREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/ecs/EcsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Ecs
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ECS_EXPORT ModifyElasticityAssuranceRequest : public RpcServiceRequest
+			{
+
+			public:
+				ModifyElasticityAssuranceRequest();
+				~ModifyElasticityAssuranceRequest();
+
+				long getResourceOwnerId()const;
+				void setResourceOwnerId(long resourceOwnerId);
+				std::string getDescription()const;
+				void setDescription(const std::string& description);
+				std::string getRegionId()const;
+				void setRegionId(const std::string& regionId);
+				std::string getPrivatePoolOptionsId()const;
+				void setPrivatePoolOptionsId(const std::string& privatePoolOptionsId);
+				std::string getResourceOwnerAccount()const;
+				void setResourceOwnerAccount(const std::string& resourceOwnerAccount);
+				std::string getPrivatePoolOptionsName()const;
+				void setPrivatePoolOptionsName(const std::string& privatePoolOptionsName);
+				std::string getOwnerAccount()const;
+				void setOwnerAccount(const std::string& ownerAccount);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				std::string getPackageType()const;
+				void setPackageType(const std::string& packageType);
+
+            private:
+				long resourceOwnerId_;
+				std::string description_;
+				std::string regionId_;
+				std::string privatePoolOptionsId_;
+				std::string resourceOwnerAccount_;
+				std::string privatePoolOptionsName_;
+				std::string ownerAccount_;
+				long ownerId_;
+				std::string packageType_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_MODIFYELASTICITYASSURANCEREQUEST_H_

+ 49 - 0
ecs/include/alibabacloud/ecs/model/ModifyElasticityAssuranceResult.h

@@ -0,0 +1,49 @@
+/*
+ * 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_MODIFYELASTICITYASSURANCERESULT_H_
+#define ALIBABACLOUD_ECS_MODEL_MODIFYELASTICITYASSURANCERESULT_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 ModifyElasticityAssuranceResult : public ServiceResult
+			{
+			public:
+
+
+				ModifyElasticityAssuranceResult();
+				explicit ModifyElasticityAssuranceResult(const std::string &payload);
+				~ModifyElasticityAssuranceResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_MODIFYELASTICITYASSURANCERESULT_H_

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

@@ -37,10 +37,12 @@ namespace AlibabaCloud
 				RenewInstanceResult();
 				explicit RenewInstanceResult(const std::string &payload);
 				~RenewInstanceResult();
+				std::string getOrderId()const;
 
 			protected:
 				void parse(const std::string &payload);
 			private:
+				std::string orderId_;
 
 			};
 		}

+ 72 - 0
ecs/src/EcsClient.cc

@@ -7683,6 +7683,42 @@ EcsClient::ModifyBandwidthPackageSpecOutcomeCallable EcsClient::modifyBandwidthP
 	return task->get_future();
 }
 
+EcsClient::ModifyCapacityReservationOutcome EcsClient::modifyCapacityReservation(const ModifyCapacityReservationRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ModifyCapacityReservationOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ModifyCapacityReservationOutcome(ModifyCapacityReservationResult(outcome.result()));
+	else
+		return ModifyCapacityReservationOutcome(outcome.error());
+}
+
+void EcsClient::modifyCapacityReservationAsync(const ModifyCapacityReservationRequest& request, const ModifyCapacityReservationAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, modifyCapacityReservation(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+EcsClient::ModifyCapacityReservationOutcomeCallable EcsClient::modifyCapacityReservationCallable(const ModifyCapacityReservationRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ModifyCapacityReservationOutcome()>>(
+			[this, request]()
+			{
+			return this->modifyCapacityReservation(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 EcsClient::ModifyCommandOutcome EcsClient::modifyCommand(const ModifyCommandRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -8115,6 +8151,42 @@ EcsClient::ModifyEipAddressAttributeOutcomeCallable EcsClient::modifyEipAddressA
 	return task->get_future();
 }
 
+EcsClient::ModifyElasticityAssuranceOutcome EcsClient::modifyElasticityAssurance(const ModifyElasticityAssuranceRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ModifyElasticityAssuranceOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ModifyElasticityAssuranceOutcome(ModifyElasticityAssuranceResult(outcome.result()));
+	else
+		return ModifyElasticityAssuranceOutcome(outcome.error());
+}
+
+void EcsClient::modifyElasticityAssuranceAsync(const ModifyElasticityAssuranceRequest& request, const ModifyElasticityAssuranceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, modifyElasticityAssurance(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+EcsClient::ModifyElasticityAssuranceOutcomeCallable EcsClient::modifyElasticityAssuranceCallable(const ModifyElasticityAssuranceRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ModifyElasticityAssuranceOutcome()>>(
+			[this, request]()
+			{
+			return this->modifyElasticityAssurance(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 EcsClient::ModifyForwardEntryOutcome EcsClient::modifyForwardEntry(const ModifyForwardEntryRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();

+ 11 - 0
ecs/src/model/AttachInstanceRamRoleRequest.cc

@@ -49,6 +49,17 @@ void AttachInstanceRamRoleRequest::setRegionId(const std::string& regionId)
 	setParameter("RegionId", regionId);
 }
 
+std::string AttachInstanceRamRoleRequest::getPolicy()const
+{
+	return policy_;
+}
+
+void AttachInstanceRamRoleRequest::setPolicy(const std::string& policy)
+{
+	policy_ = policy;
+	setParameter("Policy", policy);
+}
+
 std::string AttachInstanceRamRoleRequest::getResourceOwnerAccount()const
 {
 	return resourceOwnerAccount_;

+ 7 - 0
ecs/src/model/CreateInstanceResult.cc

@@ -43,6 +43,8 @@ void CreateInstanceResult::parse(const std::string &payload)
 		instanceId_ = value["InstanceId"].asString();
 	if(!value["TradePrice"].isNull())
 		tradePrice_ = std::stof(value["TradePrice"].asString());
+	if(!value["OrderId"].isNull())
+		orderId_ = value["OrderId"].asString();
 
 }
 
@@ -56,3 +58,8 @@ float CreateInstanceResult::getTradePrice()const
 	return tradePrice_;
 }
 
+std::string CreateInstanceResult::getOrderId()const
+{
+	return orderId_;
+}
+

+ 50 - 0
ecs/src/model/CreateLaunchTemplateRequest.cc

@@ -224,6 +224,17 @@ void CreateLaunchTemplateRequest::setSpotStrategy(const std::string& spotStrateg
 	setParameter("SpotStrategy", spotStrategy);
 }
 
+std::string CreateLaunchTemplateRequest::getPrivateIpAddress()const
+{
+	return privateIpAddress_;
+}
+
+void CreateLaunchTemplateRequest::setPrivateIpAddress(const std::string& privateIpAddress)
+{
+	privateIpAddress_ = privateIpAddress;
+	setParameter("PrivateIpAddress", privateIpAddress);
+}
+
 std::string CreateLaunchTemplateRequest::getInstanceName()const
 {
 	return instanceName_;
@@ -279,6 +290,17 @@ void CreateLaunchTemplateRequest::setVersionDescription(const std::string& versi
 	setParameter("VersionDescription", versionDescription);
 }
 
+bool CreateLaunchTemplateRequest::getSystemDiskDeleteWithInstance()const
+{
+	return systemDiskDeleteWithInstance_;
+}
+
+void CreateLaunchTemplateRequest::setSystemDiskDeleteWithInstance(bool systemDiskDeleteWithInstance)
+{
+	systemDiskDeleteWithInstance_ = systemDiskDeleteWithInstance;
+	setParameter("SystemDiskDeleteWithInstance", systemDiskDeleteWithInstance ? "true" : "false");
+}
+
 std::string CreateLaunchTemplateRequest::getImageId()const
 {
 	return imageId_;
@@ -345,6 +367,17 @@ void CreateLaunchTemplateRequest::setSystemDiskCategory(const std::string& syste
 	setParameter("SystemDiskCategory", systemDiskCategory);
 }
 
+std::string CreateLaunchTemplateRequest::getSystemDiskPerformanceLevel()const
+{
+	return systemDiskPerformanceLevel_;
+}
+
+void CreateLaunchTemplateRequest::setSystemDiskPerformanceLevel(const std::string& systemDiskPerformanceLevel)
+{
+	systemDiskPerformanceLevel_ = systemDiskPerformanceLevel;
+	setParameter("SystemDiskPerformanceLevel", systemDiskPerformanceLevel);
+}
+
 std::string CreateLaunchTemplateRequest::getUserData()const
 {
 	return userData_;
@@ -427,6 +460,9 @@ void CreateLaunchTemplateRequest::setNetworkInterface(const std::vector<NetworkI
 		setParameter(networkInterfaceObjStr + ".SecurityGroupId", networkInterfaceObj.securityGroupId);
 		setParameter(networkInterfaceObjStr + ".NetworkInterfaceName", networkInterfaceObj.networkInterfaceName);
 		setParameter(networkInterfaceObjStr + ".Description", networkInterfaceObj.description);
+		for(int dep2 = 0; dep2!= networkInterfaceObj.securityGroupIds.size(); dep2++) {
+			setParameter(networkInterfaceObjStr + ".SecurityGroupIds."+ std::to_string(dep2), networkInterfaceObj.securityGroupIds.at(dep2));
+		}
 	}
 }
 
@@ -496,6 +532,19 @@ void CreateLaunchTemplateRequest::setSpotDuration(int spotDuration)
 	setParameter("SpotDuration", std::to_string(spotDuration));
 }
 
+std::vector<std::string> CreateLaunchTemplateRequest::getSecurityGroupIds()const
+{
+	return securityGroupIds_;
+}
+
+void CreateLaunchTemplateRequest::setSecurityGroupIds(const std::vector<std::string>& securityGroupIds)
+{
+	securityGroupIds_ = securityGroupIds;
+	for(int dep1 = 0; dep1!= securityGroupIds.size(); dep1++) {
+		setParameter("SecurityGroupIds."+ std::to_string(dep1), securityGroupIds.at(dep1));
+	}
+}
+
 std::vector<CreateLaunchTemplateRequest::DataDisk> CreateLaunchTemplateRequest::getDataDisk()const
 {
 	return dataDisk_;
@@ -515,6 +564,7 @@ void CreateLaunchTemplateRequest::setDataDisk(const std::vector<DataDisk>& dataD
 		setParameter(dataDiskObjStr + ".Description", dataDiskObj.description);
 		setParameter(dataDiskObjStr + ".DeleteWithInstance", dataDiskObj.deleteWithInstance ? "true" : "false");
 		setParameter(dataDiskObjStr + ".Device", dataDiskObj.device);
+		setParameter(dataDiskObjStr + ".PerformanceLevel", dataDiskObj.performanceLevel);
 	}
 }
 

+ 50 - 0
ecs/src/model/CreateLaunchTemplateVersionRequest.cc

@@ -208,6 +208,17 @@ void CreateLaunchTemplateVersionRequest::setSpotStrategy(const std::string& spot
 	setParameter("SpotStrategy", spotStrategy);
 }
 
+std::string CreateLaunchTemplateVersionRequest::getPrivateIpAddress()const
+{
+	return privateIpAddress_;
+}
+
+void CreateLaunchTemplateVersionRequest::setPrivateIpAddress(const std::string& privateIpAddress)
+{
+	privateIpAddress_ = privateIpAddress;
+	setParameter("PrivateIpAddress", privateIpAddress);
+}
+
 std::string CreateLaunchTemplateVersionRequest::getInstanceName()const
 {
 	return instanceName_;
@@ -263,6 +274,17 @@ void CreateLaunchTemplateVersionRequest::setVersionDescription(const std::string
 	setParameter("VersionDescription", versionDescription);
 }
 
+bool CreateLaunchTemplateVersionRequest::getSystemDiskDeleteWithInstance()const
+{
+	return systemDiskDeleteWithInstance_;
+}
+
+void CreateLaunchTemplateVersionRequest::setSystemDiskDeleteWithInstance(bool systemDiskDeleteWithInstance)
+{
+	systemDiskDeleteWithInstance_ = systemDiskDeleteWithInstance;
+	setParameter("SystemDiskDeleteWithInstance", systemDiskDeleteWithInstance ? "true" : "false");
+}
+
 std::string CreateLaunchTemplateVersionRequest::getImageId()const
 {
 	return imageId_;
@@ -329,6 +351,17 @@ void CreateLaunchTemplateVersionRequest::setSystemDiskCategory(const std::string
 	setParameter("SystemDiskCategory", systemDiskCategory);
 }
 
+std::string CreateLaunchTemplateVersionRequest::getSystemDiskPerformanceLevel()const
+{
+	return systemDiskPerformanceLevel_;
+}
+
+void CreateLaunchTemplateVersionRequest::setSystemDiskPerformanceLevel(const std::string& systemDiskPerformanceLevel)
+{
+	systemDiskPerformanceLevel_ = systemDiskPerformanceLevel;
+	setParameter("SystemDiskPerformanceLevel", systemDiskPerformanceLevel);
+}
+
 std::string CreateLaunchTemplateVersionRequest::getUserData()const
 {
 	return userData_;
@@ -411,6 +444,9 @@ void CreateLaunchTemplateVersionRequest::setNetworkInterface(const std::vector<N
 		setParameter(networkInterfaceObjStr + ".SecurityGroupId", networkInterfaceObj.securityGroupId);
 		setParameter(networkInterfaceObjStr + ".NetworkInterfaceName", networkInterfaceObj.networkInterfaceName);
 		setParameter(networkInterfaceObjStr + ".Description", networkInterfaceObj.description);
+		for(int dep2 = 0; dep2!= networkInterfaceObj.securityGroupIds.size(); dep2++) {
+			setParameter(networkInterfaceObjStr + ".SecurityGroupIds."+ std::to_string(dep2), networkInterfaceObj.securityGroupIds.at(dep2));
+		}
 	}
 }
 
@@ -480,6 +516,19 @@ void CreateLaunchTemplateVersionRequest::setSpotDuration(int spotDuration)
 	setParameter("SpotDuration", std::to_string(spotDuration));
 }
 
+std::vector<std::string> CreateLaunchTemplateVersionRequest::getSecurityGroupIds()const
+{
+	return securityGroupIds_;
+}
+
+void CreateLaunchTemplateVersionRequest::setSecurityGroupIds(const std::vector<std::string>& securityGroupIds)
+{
+	securityGroupIds_ = securityGroupIds;
+	for(int dep1 = 0; dep1!= securityGroupIds.size(); dep1++) {
+		setParameter("SecurityGroupIds."+ std::to_string(dep1), securityGroupIds.at(dep1));
+	}
+}
+
 std::vector<CreateLaunchTemplateVersionRequest::DataDisk> CreateLaunchTemplateVersionRequest::getDataDisk()const
 {
 	return dataDisk_;
@@ -499,6 +548,7 @@ void CreateLaunchTemplateVersionRequest::setDataDisk(const std::vector<DataDisk>
 		setParameter(dataDiskObjStr + ".Description", dataDiskObj.description);
 		setParameter(dataDiskObjStr + ".DeleteWithInstance", dataDiskObj.deleteWithInstance ? "true" : "false");
 		setParameter(dataDiskObjStr + ".Device", dataDiskObj.device);
+		setParameter(dataDiskObjStr + ".PerformanceLevel", dataDiskObj.performanceLevel);
 	}
 }
 

+ 14 - 0
ecs/src/model/DescribeLaunchTemplateVersionsResult.cc

@@ -96,6 +96,10 @@ void DescribeLaunchTemplateVersionsResult::parse(const std::string &payload)
 			launchTemplateVersionSetsObject.launchTemplateData.systemDiskDescription = launchTemplateDataNode["SystemDisk.Description"].asString();
 		if(!launchTemplateDataNode["SystemDisk.Iops"].isNull())
 			launchTemplateVersionSetsObject.launchTemplateData.systemDiskIops = std::stoi(launchTemplateDataNode["SystemDisk.Iops"].asString());
+		if(!launchTemplateDataNode["SystemDisk.PerformanceLevel"].isNull())
+			launchTemplateVersionSetsObject.launchTemplateData.systemDiskPerformanceLevel = launchTemplateDataNode["SystemDisk.PerformanceLevel"].asString();
+		if(!launchTemplateDataNode["SystemDisk.DeleteWithInstance"].isNull())
+			launchTemplateVersionSetsObject.launchTemplateData.systemDiskDeleteWithInstance = launchTemplateDataNode["SystemDisk.DeleteWithInstance"].asString() == "true";
 		if(!launchTemplateDataNode["IoOptimized"].isNull())
 			launchTemplateVersionSetsObject.launchTemplateData.ioOptimized = launchTemplateDataNode["IoOptimized"].asString();
 		if(!launchTemplateDataNode["InstanceChargeType"].isNull())
@@ -126,6 +130,8 @@ void DescribeLaunchTemplateVersionsResult::parse(const std::string &payload)
 			launchTemplateVersionSetsObject.launchTemplateData.resourceGroupId = launchTemplateDataNode["ResourceGroupId"].asString();
 		if(!launchTemplateDataNode["SecurityEnhancementStrategy"].isNull())
 			launchTemplateVersionSetsObject.launchTemplateData.securityEnhancementStrategy = launchTemplateDataNode["SecurityEnhancementStrategy"].asString();
+		if(!launchTemplateDataNode["PrivateIpAddress"].isNull())
+			launchTemplateVersionSetsObject.launchTemplateData.privateIpAddress = launchTemplateDataNode["PrivateIpAddress"].asString();
 		auto allDataDisksNode = launchTemplateDataNode["DataDisks"]["DataDisk"];
 		for (auto launchTemplateDataNodeDataDisksDataDisk : allDataDisksNode)
 		{
@@ -146,6 +152,8 @@ void DescribeLaunchTemplateVersionsResult::parse(const std::string &payload)
 				dataDiskObject.deleteWithInstance = launchTemplateDataNodeDataDisksDataDisk["DeleteWithInstance"].asString() == "true";
 			if(!launchTemplateDataNodeDataDisksDataDisk["Device"].isNull())
 				dataDiskObject.device = launchTemplateDataNodeDataDisksDataDisk["Device"].asString();
+			if(!launchTemplateDataNodeDataDisksDataDisk["PerformanceLevel"].isNull())
+				dataDiskObject.performanceLevel = launchTemplateDataNodeDataDisksDataDisk["PerformanceLevel"].asString();
 			launchTemplateVersionSetsObject.launchTemplateData.dataDisks.push_back(dataDiskObject);
 		}
 		auto allNetworkInterfacesNode = launchTemplateDataNode["NetworkInterfaces"]["NetworkInterface"];
@@ -162,6 +170,9 @@ void DescribeLaunchTemplateVersionsResult::parse(const std::string &payload)
 				networkInterfaceObject.networkInterfaceName = launchTemplateDataNodeNetworkInterfacesNetworkInterface["NetworkInterfaceName"].asString();
 			if(!launchTemplateDataNodeNetworkInterfacesNetworkInterface["Description"].isNull())
 				networkInterfaceObject.description = launchTemplateDataNodeNetworkInterfacesNetworkInterface["Description"].asString();
+			auto allSecurityGroupIds1 = value["SecurityGroupIds"]["SecurityGroupId"];
+			for (auto value : allSecurityGroupIds1)
+				networkInterfaceObject.securityGroupIds1.push_back(value.asString());
 			launchTemplateVersionSetsObject.launchTemplateData.networkInterfaces.push_back(networkInterfaceObject);
 		}
 		auto allTagsNode = launchTemplateDataNode["Tags"]["InstanceTag"];
@@ -174,6 +185,9 @@ void DescribeLaunchTemplateVersionsResult::parse(const std::string &payload)
 				instanceTagObject.value = launchTemplateDataNodeTagsInstanceTag["Value"].asString();
 			launchTemplateVersionSetsObject.launchTemplateData.tags.push_back(instanceTagObject);
 		}
+			auto allSecurityGroupIds = launchTemplateDataNode["SecurityGroupIds"]["SecurityGroupId"];
+			for (auto value : allSecurityGroupIds)
+				launchTemplateVersionSetsObject.launchTemplateData.securityGroupIds.push_back(value.asString());
 		launchTemplateVersionSets_.push_back(launchTemplateVersionSetsObject);
 	}
 	if(!value["TotalCount"].isNull())

+ 183 - 0
ecs/src/model/ModifyCapacityReservationRequest.cc

@@ -0,0 +1,183 @@
+/*
+ * 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/ModifyCapacityReservationRequest.h>
+
+using AlibabaCloud::Ecs::Model::ModifyCapacityReservationRequest;
+
+ModifyCapacityReservationRequest::ModifyCapacityReservationRequest() :
+	RpcServiceRequest("ecs", "2014-05-26", "ModifyCapacityReservation")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+ModifyCapacityReservationRequest::~ModifyCapacityReservationRequest()
+{}
+
+long ModifyCapacityReservationRequest::getResourceOwnerId()const
+{
+	return resourceOwnerId_;
+}
+
+void ModifyCapacityReservationRequest::setResourceOwnerId(long resourceOwnerId)
+{
+	resourceOwnerId_ = resourceOwnerId;
+	setParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
+}
+
+std::string ModifyCapacityReservationRequest::getDescription()const
+{
+	return description_;
+}
+
+void ModifyCapacityReservationRequest::setDescription(const std::string& description)
+{
+	description_ = description;
+	setParameter("Description", description);
+}
+
+std::string ModifyCapacityReservationRequest::getStartTime()const
+{
+	return startTime_;
+}
+
+void ModifyCapacityReservationRequest::setStartTime(const std::string& startTime)
+{
+	startTime_ = startTime;
+	setParameter("StartTime", startTime);
+}
+
+std::string ModifyCapacityReservationRequest::getPlatform()const
+{
+	return platform_;
+}
+
+void ModifyCapacityReservationRequest::setPlatform(const std::string& platform)
+{
+	platform_ = platform;
+	setParameter("Platform", platform);
+}
+
+std::string ModifyCapacityReservationRequest::getRegionId()const
+{
+	return regionId_;
+}
+
+void ModifyCapacityReservationRequest::setRegionId(const std::string& regionId)
+{
+	regionId_ = regionId;
+	setParameter("RegionId", regionId);
+}
+
+std::string ModifyCapacityReservationRequest::getPrivatePoolOptionsId()const
+{
+	return privatePoolOptionsId_;
+}
+
+void ModifyCapacityReservationRequest::setPrivatePoolOptionsId(const std::string& privatePoolOptionsId)
+{
+	privatePoolOptionsId_ = privatePoolOptionsId;
+	setParameter("PrivatePoolOptionsId", privatePoolOptionsId);
+}
+
+std::string ModifyCapacityReservationRequest::getEndTimeType()const
+{
+	return endTimeType_;
+}
+
+void ModifyCapacityReservationRequest::setEndTimeType(const std::string& endTimeType)
+{
+	endTimeType_ = endTimeType;
+	setParameter("EndTimeType", endTimeType);
+}
+
+std::string ModifyCapacityReservationRequest::getResourceOwnerAccount()const
+{
+	return resourceOwnerAccount_;
+}
+
+void ModifyCapacityReservationRequest::setResourceOwnerAccount(const std::string& resourceOwnerAccount)
+{
+	resourceOwnerAccount_ = resourceOwnerAccount;
+	setParameter("ResourceOwnerAccount", resourceOwnerAccount);
+}
+
+std::string ModifyCapacityReservationRequest::getPrivatePoolOptionsName()const
+{
+	return privatePoolOptionsName_;
+}
+
+void ModifyCapacityReservationRequest::setPrivatePoolOptionsName(const std::string& privatePoolOptionsName)
+{
+	privatePoolOptionsName_ = privatePoolOptionsName;
+	setParameter("PrivatePoolOptionsName", privatePoolOptionsName);
+}
+
+std::string ModifyCapacityReservationRequest::getOwnerAccount()const
+{
+	return ownerAccount_;
+}
+
+void ModifyCapacityReservationRequest::setOwnerAccount(const std::string& ownerAccount)
+{
+	ownerAccount_ = ownerAccount;
+	setParameter("OwnerAccount", ownerAccount);
+}
+
+std::string ModifyCapacityReservationRequest::getEndTime()const
+{
+	return endTime_;
+}
+
+void ModifyCapacityReservationRequest::setEndTime(const std::string& endTime)
+{
+	endTime_ = endTime;
+	setParameter("EndTime", endTime);
+}
+
+long ModifyCapacityReservationRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void ModifyCapacityReservationRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+
+std::string ModifyCapacityReservationRequest::getPackageType()const
+{
+	return packageType_;
+}
+
+void ModifyCapacityReservationRequest::setPackageType(const std::string& packageType)
+{
+	packageType_ = packageType;
+	setParameter("PackageType", packageType);
+}
+
+int ModifyCapacityReservationRequest::getInstanceAmount()const
+{
+	return instanceAmount_;
+}
+
+void ModifyCapacityReservationRequest::setInstanceAmount(int instanceAmount)
+{
+	instanceAmount_ = instanceAmount;
+	setParameter("InstanceAmount", std::to_string(instanceAmount));
+}
+

+ 44 - 0
ecs/src/model/ModifyCapacityReservationResult.cc

@@ -0,0 +1,44 @@
+/*
+ * 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/ModifyCapacityReservationResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Ecs;
+using namespace AlibabaCloud::Ecs::Model;
+
+ModifyCapacityReservationResult::ModifyCapacityReservationResult() :
+	ServiceResult()
+{}
+
+ModifyCapacityReservationResult::ModifyCapacityReservationResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ModifyCapacityReservationResult::~ModifyCapacityReservationResult()
+{}
+
+void ModifyCapacityReservationResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+
+}
+

+ 128 - 0
ecs/src/model/ModifyElasticityAssuranceRequest.cc

@@ -0,0 +1,128 @@
+/*
+ * 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/ModifyElasticityAssuranceRequest.h>
+
+using AlibabaCloud::Ecs::Model::ModifyElasticityAssuranceRequest;
+
+ModifyElasticityAssuranceRequest::ModifyElasticityAssuranceRequest() :
+	RpcServiceRequest("ecs", "2014-05-26", "ModifyElasticityAssurance")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+ModifyElasticityAssuranceRequest::~ModifyElasticityAssuranceRequest()
+{}
+
+long ModifyElasticityAssuranceRequest::getResourceOwnerId()const
+{
+	return resourceOwnerId_;
+}
+
+void ModifyElasticityAssuranceRequest::setResourceOwnerId(long resourceOwnerId)
+{
+	resourceOwnerId_ = resourceOwnerId;
+	setParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
+}
+
+std::string ModifyElasticityAssuranceRequest::getDescription()const
+{
+	return description_;
+}
+
+void ModifyElasticityAssuranceRequest::setDescription(const std::string& description)
+{
+	description_ = description;
+	setParameter("Description", description);
+}
+
+std::string ModifyElasticityAssuranceRequest::getRegionId()const
+{
+	return regionId_;
+}
+
+void ModifyElasticityAssuranceRequest::setRegionId(const std::string& regionId)
+{
+	regionId_ = regionId;
+	setParameter("RegionId", regionId);
+}
+
+std::string ModifyElasticityAssuranceRequest::getPrivatePoolOptionsId()const
+{
+	return privatePoolOptionsId_;
+}
+
+void ModifyElasticityAssuranceRequest::setPrivatePoolOptionsId(const std::string& privatePoolOptionsId)
+{
+	privatePoolOptionsId_ = privatePoolOptionsId;
+	setParameter("PrivatePoolOptionsId", privatePoolOptionsId);
+}
+
+std::string ModifyElasticityAssuranceRequest::getResourceOwnerAccount()const
+{
+	return resourceOwnerAccount_;
+}
+
+void ModifyElasticityAssuranceRequest::setResourceOwnerAccount(const std::string& resourceOwnerAccount)
+{
+	resourceOwnerAccount_ = resourceOwnerAccount;
+	setParameter("ResourceOwnerAccount", resourceOwnerAccount);
+}
+
+std::string ModifyElasticityAssuranceRequest::getPrivatePoolOptionsName()const
+{
+	return privatePoolOptionsName_;
+}
+
+void ModifyElasticityAssuranceRequest::setPrivatePoolOptionsName(const std::string& privatePoolOptionsName)
+{
+	privatePoolOptionsName_ = privatePoolOptionsName;
+	setParameter("PrivatePoolOptionsName", privatePoolOptionsName);
+}
+
+std::string ModifyElasticityAssuranceRequest::getOwnerAccount()const
+{
+	return ownerAccount_;
+}
+
+void ModifyElasticityAssuranceRequest::setOwnerAccount(const std::string& ownerAccount)
+{
+	ownerAccount_ = ownerAccount;
+	setParameter("OwnerAccount", ownerAccount);
+}
+
+long ModifyElasticityAssuranceRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void ModifyElasticityAssuranceRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+
+std::string ModifyElasticityAssuranceRequest::getPackageType()const
+{
+	return packageType_;
+}
+
+void ModifyElasticityAssuranceRequest::setPackageType(const std::string& packageType)
+{
+	packageType_ = packageType;
+	setParameter("PackageType", packageType);
+}
+

+ 44 - 0
ecs/src/model/ModifyElasticityAssuranceResult.cc

@@ -0,0 +1,44 @@
+/*
+ * 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/ModifyElasticityAssuranceResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Ecs;
+using namespace AlibabaCloud::Ecs::Model;
+
+ModifyElasticityAssuranceResult::ModifyElasticityAssuranceResult() :
+	ServiceResult()
+{}
+
+ModifyElasticityAssuranceResult::ModifyElasticityAssuranceResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ModifyElasticityAssuranceResult::~ModifyElasticityAssuranceResult()
+{}
+
+void ModifyElasticityAssuranceResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+
+}
+

+ 7 - 0
ecs/src/model/RenewInstanceResult.cc

@@ -39,6 +39,13 @@ void RenewInstanceResult::parse(const std::string &payload)
 	Json::Value value;
 	reader.parse(payload, value);
 	setRequestId(value["RequestId"].asString());
+	if(!value["OrderId"].isNull())
+		orderId_ = value["OrderId"].asString();
 
 }
 
+std::string RenewInstanceResult::getOrderId()const
+{
+	return orderId_;
+}
+