Kaynağa Gözat

Eni Supports Multi-SecurityGroup.

sdk-team 6 yıl önce
ebeveyn
işleme
55ccde8b7c
29 değiştirilmiş dosya ile 1401 ekleme ve 1 silme
  1. 3 0
      CHANGELOG
  2. 1 1
      VERSION
  3. 16 0
      ecs/CMakeLists.txt
  4. 32 0
      ecs/include/alibabacloud/ecs/EcsClient.h
  5. 72 0
      ecs/include/alibabacloud/ecs/model/CreateMaintenancePropertyRequest.h
  6. 49 0
      ecs/include/alibabacloud/ecs/model/CreateMaintenancePropertyResult.h
  7. 3 0
      ecs/include/alibabacloud/ecs/model/CreateNetworkInterfaceRequest.h
  8. 63 0
      ecs/include/alibabacloud/ecs/model/DeleteMaintenancePropertyRequest.h
  9. 49 0
      ecs/include/alibabacloud/ecs/model/DeleteMaintenancePropertyResult.h
  10. 1 0
      ecs/include/alibabacloud/ecs/model/DescribeDemandsResult.h
  11. 69 0
      ecs/include/alibabacloud/ecs/model/DescribeMaintenancePropertyRequest.h
  12. 64 0
      ecs/include/alibabacloud/ecs/model/DescribeMaintenancePropertyResult.h
  13. 1 0
      ecs/include/alibabacloud/ecs/model/DescribeSnapshotsResult.h
  14. 72 0
      ecs/include/alibabacloud/ecs/model/ModifyMaintenancePropertyRequest.h
  15. 49 0
      ecs/include/alibabacloud/ecs/model/ModifyMaintenancePropertyResult.h
  16. 1 0
      ecs/include/alibabacloud/ecs/model/RunInstancesRequest.h
  17. 144 0
      ecs/src/EcsClient.cc
  18. 130 0
      ecs/src/model/CreateMaintenancePropertyRequest.cc
  19. 44 0
      ecs/src/model/CreateMaintenancePropertyResult.cc
  20. 13 0
      ecs/src/model/CreateNetworkInterfaceRequest.cc
  21. 97 0
      ecs/src/model/DeleteMaintenancePropertyRequest.cc
  22. 44 0
      ecs/src/model/DeleteMaintenancePropertyResult.cc
  23. 2 0
      ecs/src/model/DescribeDemandsResult.cc
  24. 119 0
      ecs/src/model/DescribeMaintenancePropertyRequest.cc
  25. 84 0
      ecs/src/model/DescribeMaintenancePropertyResult.cc
  26. 2 0
      ecs/src/model/DescribeSnapshotsResult.cc
  27. 130 0
      ecs/src/model/ModifyMaintenancePropertyRequest.cc
  28. 44 0
      ecs/src/model/ModifyMaintenancePropertyResult.cc
  29. 3 0
      ecs/src/model/RunInstancesRequest.cc

+ 3 - 0
CHANGELOG

@@ -1,3 +1,6 @@
+2019-11-28 Version 1.36.201
+- Eni Supports Multi-SecurityGroup.
+
 2019-11-27 Version 1.36.200
 - CreateReplicationJob API supports the specified instance type.
 

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.36.200
+1.36.201

+ 16 - 0
ecs/CMakeLists.txt

@@ -103,6 +103,8 @@ set(ecs_public_header_model
 	include/alibabacloud/ecs/model/CreateLaunchTemplateResult.h
 	include/alibabacloud/ecs/model/CreateLaunchTemplateVersionRequest.h
 	include/alibabacloud/ecs/model/CreateLaunchTemplateVersionResult.h
+	include/alibabacloud/ecs/model/CreateMaintenancePropertyRequest.h
+	include/alibabacloud/ecs/model/CreateMaintenancePropertyResult.h
 	include/alibabacloud/ecs/model/CreateNatGatewayRequest.h
 	include/alibabacloud/ecs/model/CreateNatGatewayResult.h
 	include/alibabacloud/ecs/model/CreateNetworkInterfaceRequest.h
@@ -163,6 +165,8 @@ set(ecs_public_header_model
 	include/alibabacloud/ecs/model/DeleteLaunchTemplateResult.h
 	include/alibabacloud/ecs/model/DeleteLaunchTemplateVersionRequest.h
 	include/alibabacloud/ecs/model/DeleteLaunchTemplateVersionResult.h
+	include/alibabacloud/ecs/model/DeleteMaintenancePropertyRequest.h
+	include/alibabacloud/ecs/model/DeleteMaintenancePropertyResult.h
 	include/alibabacloud/ecs/model/DeleteNatGatewayRequest.h
 	include/alibabacloud/ecs/model/DeleteNatGatewayResult.h
 	include/alibabacloud/ecs/model/DeleteNetworkInterfaceRequest.h
@@ -285,6 +289,8 @@ set(ecs_public_header_model
 	include/alibabacloud/ecs/model/DescribeLaunchTemplatesResult.h
 	include/alibabacloud/ecs/model/DescribeLimitationRequest.h
 	include/alibabacloud/ecs/model/DescribeLimitationResult.h
+	include/alibabacloud/ecs/model/DescribeMaintenancePropertyRequest.h
+	include/alibabacloud/ecs/model/DescribeMaintenancePropertyResult.h
 	include/alibabacloud/ecs/model/DescribeNatGatewaysRequest.h
 	include/alibabacloud/ecs/model/DescribeNatGatewaysResult.h
 	include/alibabacloud/ecs/model/DescribeNetworkInterfacePermissionsRequest.h
@@ -461,6 +467,8 @@ set(ecs_public_header_model
 	include/alibabacloud/ecs/model/ModifyInstanceVpcAttributeResult.h
 	include/alibabacloud/ecs/model/ModifyLaunchTemplateDefaultVersionRequest.h
 	include/alibabacloud/ecs/model/ModifyLaunchTemplateDefaultVersionResult.h
+	include/alibabacloud/ecs/model/ModifyMaintenancePropertyRequest.h
+	include/alibabacloud/ecs/model/ModifyMaintenancePropertyResult.h
 	include/alibabacloud/ecs/model/ModifyNetworkInterfaceAttributeRequest.h
 	include/alibabacloud/ecs/model/ModifyNetworkInterfaceAttributeResult.h
 	include/alibabacloud/ecs/model/ModifyPhysicalConnectionAttributeRequest.h
@@ -646,6 +654,8 @@ set(ecs_src
 	src/model/CreateLaunchTemplateResult.cc
 	src/model/CreateLaunchTemplateVersionRequest.cc
 	src/model/CreateLaunchTemplateVersionResult.cc
+	src/model/CreateMaintenancePropertyRequest.cc
+	src/model/CreateMaintenancePropertyResult.cc
 	src/model/CreateNatGatewayRequest.cc
 	src/model/CreateNatGatewayResult.cc
 	src/model/CreateNetworkInterfaceRequest.cc
@@ -706,6 +716,8 @@ set(ecs_src
 	src/model/DeleteLaunchTemplateResult.cc
 	src/model/DeleteLaunchTemplateVersionRequest.cc
 	src/model/DeleteLaunchTemplateVersionResult.cc
+	src/model/DeleteMaintenancePropertyRequest.cc
+	src/model/DeleteMaintenancePropertyResult.cc
 	src/model/DeleteNatGatewayRequest.cc
 	src/model/DeleteNatGatewayResult.cc
 	src/model/DeleteNetworkInterfaceRequest.cc
@@ -828,6 +840,8 @@ set(ecs_src
 	src/model/DescribeLaunchTemplatesResult.cc
 	src/model/DescribeLimitationRequest.cc
 	src/model/DescribeLimitationResult.cc
+	src/model/DescribeMaintenancePropertyRequest.cc
+	src/model/DescribeMaintenancePropertyResult.cc
 	src/model/DescribeNatGatewaysRequest.cc
 	src/model/DescribeNatGatewaysResult.cc
 	src/model/DescribeNetworkInterfacePermissionsRequest.cc
@@ -1004,6 +1018,8 @@ set(ecs_src
 	src/model/ModifyInstanceVpcAttributeResult.cc
 	src/model/ModifyLaunchTemplateDefaultVersionRequest.cc
 	src/model/ModifyLaunchTemplateDefaultVersionResult.cc
+	src/model/ModifyMaintenancePropertyRequest.cc
+	src/model/ModifyMaintenancePropertyResult.cc
 	src/model/ModifyNetworkInterfaceAttributeRequest.cc
 	src/model/ModifyNetworkInterfaceAttributeResult.cc
 	src/model/ModifyPhysicalConnectionAttributeRequest.cc

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

@@ -104,6 +104,8 @@
 #include "model/CreateLaunchTemplateResult.h"
 #include "model/CreateLaunchTemplateVersionRequest.h"
 #include "model/CreateLaunchTemplateVersionResult.h"
+#include "model/CreateMaintenancePropertyRequest.h"
+#include "model/CreateMaintenancePropertyResult.h"
 #include "model/CreateNatGatewayRequest.h"
 #include "model/CreateNatGatewayResult.h"
 #include "model/CreateNetworkInterfaceRequest.h"
@@ -164,6 +166,8 @@
 #include "model/DeleteLaunchTemplateResult.h"
 #include "model/DeleteLaunchTemplateVersionRequest.h"
 #include "model/DeleteLaunchTemplateVersionResult.h"
+#include "model/DeleteMaintenancePropertyRequest.h"
+#include "model/DeleteMaintenancePropertyResult.h"
 #include "model/DeleteNatGatewayRequest.h"
 #include "model/DeleteNatGatewayResult.h"
 #include "model/DeleteNetworkInterfaceRequest.h"
@@ -286,6 +290,8 @@
 #include "model/DescribeLaunchTemplatesResult.h"
 #include "model/DescribeLimitationRequest.h"
 #include "model/DescribeLimitationResult.h"
+#include "model/DescribeMaintenancePropertyRequest.h"
+#include "model/DescribeMaintenancePropertyResult.h"
 #include "model/DescribeNatGatewaysRequest.h"
 #include "model/DescribeNatGatewaysResult.h"
 #include "model/DescribeNetworkInterfacePermissionsRequest.h"
@@ -462,6 +468,8 @@
 #include "model/ModifyInstanceVpcAttributeResult.h"
 #include "model/ModifyLaunchTemplateDefaultVersionRequest.h"
 #include "model/ModifyLaunchTemplateDefaultVersionResult.h"
+#include "model/ModifyMaintenancePropertyRequest.h"
+#include "model/ModifyMaintenancePropertyResult.h"
 #include "model/ModifyNetworkInterfaceAttributeRequest.h"
 #include "model/ModifyNetworkInterfaceAttributeResult.h"
 #include "model/ModifyPhysicalConnectionAttributeRequest.h"
@@ -694,6 +702,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::CreateLaunchTemplateVersionResult> CreateLaunchTemplateVersionOutcome;
 			typedef std::future<CreateLaunchTemplateVersionOutcome> CreateLaunchTemplateVersionOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::CreateLaunchTemplateVersionRequest&, const CreateLaunchTemplateVersionOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateLaunchTemplateVersionAsyncHandler;
+			typedef Outcome<Error, Model::CreateMaintenancePropertyResult> CreateMaintenancePropertyOutcome;
+			typedef std::future<CreateMaintenancePropertyOutcome> CreateMaintenancePropertyOutcomeCallable;
+			typedef std::function<void(const EcsClient*, const Model::CreateMaintenancePropertyRequest&, const CreateMaintenancePropertyOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateMaintenancePropertyAsyncHandler;
 			typedef Outcome<Error, Model::CreateNatGatewayResult> CreateNatGatewayOutcome;
 			typedef std::future<CreateNatGatewayOutcome> CreateNatGatewayOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::CreateNatGatewayRequest&, const CreateNatGatewayOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateNatGatewayAsyncHandler;
@@ -784,6 +795,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DeleteLaunchTemplateVersionResult> DeleteLaunchTemplateVersionOutcome;
 			typedef std::future<DeleteLaunchTemplateVersionOutcome> DeleteLaunchTemplateVersionOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::DeleteLaunchTemplateVersionRequest&, const DeleteLaunchTemplateVersionOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteLaunchTemplateVersionAsyncHandler;
+			typedef Outcome<Error, Model::DeleteMaintenancePropertyResult> DeleteMaintenancePropertyOutcome;
+			typedef std::future<DeleteMaintenancePropertyOutcome> DeleteMaintenancePropertyOutcomeCallable;
+			typedef std::function<void(const EcsClient*, const Model::DeleteMaintenancePropertyRequest&, const DeleteMaintenancePropertyOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteMaintenancePropertyAsyncHandler;
 			typedef Outcome<Error, Model::DeleteNatGatewayResult> DeleteNatGatewayOutcome;
 			typedef std::future<DeleteNatGatewayOutcome> DeleteNatGatewayOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::DeleteNatGatewayRequest&, const DeleteNatGatewayOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteNatGatewayAsyncHandler;
@@ -967,6 +981,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DescribeLimitationResult> DescribeLimitationOutcome;
 			typedef std::future<DescribeLimitationOutcome> DescribeLimitationOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::DescribeLimitationRequest&, const DescribeLimitationOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeLimitationAsyncHandler;
+			typedef Outcome<Error, Model::DescribeMaintenancePropertyResult> DescribeMaintenancePropertyOutcome;
+			typedef std::future<DescribeMaintenancePropertyOutcome> DescribeMaintenancePropertyOutcomeCallable;
+			typedef std::function<void(const EcsClient*, const Model::DescribeMaintenancePropertyRequest&, const DescribeMaintenancePropertyOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeMaintenancePropertyAsyncHandler;
 			typedef Outcome<Error, Model::DescribeNatGatewaysResult> DescribeNatGatewaysOutcome;
 			typedef std::future<DescribeNatGatewaysOutcome> DescribeNatGatewaysOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::DescribeNatGatewaysRequest&, const DescribeNatGatewaysOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeNatGatewaysAsyncHandler;
@@ -1231,6 +1248,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::ModifyLaunchTemplateDefaultVersionResult> ModifyLaunchTemplateDefaultVersionOutcome;
 			typedef std::future<ModifyLaunchTemplateDefaultVersionOutcome> ModifyLaunchTemplateDefaultVersionOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::ModifyLaunchTemplateDefaultVersionRequest&, const ModifyLaunchTemplateDefaultVersionOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyLaunchTemplateDefaultVersionAsyncHandler;
+			typedef Outcome<Error, Model::ModifyMaintenancePropertyResult> ModifyMaintenancePropertyOutcome;
+			typedef std::future<ModifyMaintenancePropertyOutcome> ModifyMaintenancePropertyOutcomeCallable;
+			typedef std::function<void(const EcsClient*, const Model::ModifyMaintenancePropertyRequest&, const ModifyMaintenancePropertyOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyMaintenancePropertyAsyncHandler;
 			typedef Outcome<Error, Model::ModifyNetworkInterfaceAttributeResult> ModifyNetworkInterfaceAttributeOutcome;
 			typedef std::future<ModifyNetworkInterfaceAttributeOutcome> ModifyNetworkInterfaceAttributeOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::ModifyNetworkInterfaceAttributeRequest&, const ModifyNetworkInterfaceAttributeOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyNetworkInterfaceAttributeAsyncHandler;
@@ -1509,6 +1529,9 @@ namespace AlibabaCloud
 			CreateLaunchTemplateVersionOutcome createLaunchTemplateVersion(const Model::CreateLaunchTemplateVersionRequest &request)const;
 			void createLaunchTemplateVersionAsync(const Model::CreateLaunchTemplateVersionRequest& request, const CreateLaunchTemplateVersionAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CreateLaunchTemplateVersionOutcomeCallable createLaunchTemplateVersionCallable(const Model::CreateLaunchTemplateVersionRequest& request) const;
+			CreateMaintenancePropertyOutcome createMaintenanceProperty(const Model::CreateMaintenancePropertyRequest &request)const;
+			void createMaintenancePropertyAsync(const Model::CreateMaintenancePropertyRequest& request, const CreateMaintenancePropertyAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateMaintenancePropertyOutcomeCallable createMaintenancePropertyCallable(const Model::CreateMaintenancePropertyRequest& request) const;
 			CreateNatGatewayOutcome createNatGateway(const Model::CreateNatGatewayRequest &request)const;
 			void createNatGatewayAsync(const Model::CreateNatGatewayRequest& request, const CreateNatGatewayAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CreateNatGatewayOutcomeCallable createNatGatewayCallable(const Model::CreateNatGatewayRequest& request) const;
@@ -1599,6 +1622,9 @@ namespace AlibabaCloud
 			DeleteLaunchTemplateVersionOutcome deleteLaunchTemplateVersion(const Model::DeleteLaunchTemplateVersionRequest &request)const;
 			void deleteLaunchTemplateVersionAsync(const Model::DeleteLaunchTemplateVersionRequest& request, const DeleteLaunchTemplateVersionAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeleteLaunchTemplateVersionOutcomeCallable deleteLaunchTemplateVersionCallable(const Model::DeleteLaunchTemplateVersionRequest& request) const;
+			DeleteMaintenancePropertyOutcome deleteMaintenanceProperty(const Model::DeleteMaintenancePropertyRequest &request)const;
+			void deleteMaintenancePropertyAsync(const Model::DeleteMaintenancePropertyRequest& request, const DeleteMaintenancePropertyAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteMaintenancePropertyOutcomeCallable deleteMaintenancePropertyCallable(const Model::DeleteMaintenancePropertyRequest& request) const;
 			DeleteNatGatewayOutcome deleteNatGateway(const Model::DeleteNatGatewayRequest &request)const;
 			void deleteNatGatewayAsync(const Model::DeleteNatGatewayRequest& request, const DeleteNatGatewayAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeleteNatGatewayOutcomeCallable deleteNatGatewayCallable(const Model::DeleteNatGatewayRequest& request) const;
@@ -1782,6 +1808,9 @@ namespace AlibabaCloud
 			DescribeLimitationOutcome describeLimitation(const Model::DescribeLimitationRequest &request)const;
 			void describeLimitationAsync(const Model::DescribeLimitationRequest& request, const DescribeLimitationAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeLimitationOutcomeCallable describeLimitationCallable(const Model::DescribeLimitationRequest& request) const;
+			DescribeMaintenancePropertyOutcome describeMaintenanceProperty(const Model::DescribeMaintenancePropertyRequest &request)const;
+			void describeMaintenancePropertyAsync(const Model::DescribeMaintenancePropertyRequest& request, const DescribeMaintenancePropertyAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeMaintenancePropertyOutcomeCallable describeMaintenancePropertyCallable(const Model::DescribeMaintenancePropertyRequest& request) const;
 			DescribeNatGatewaysOutcome describeNatGateways(const Model::DescribeNatGatewaysRequest &request)const;
 			void describeNatGatewaysAsync(const Model::DescribeNatGatewaysRequest& request, const DescribeNatGatewaysAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeNatGatewaysOutcomeCallable describeNatGatewaysCallable(const Model::DescribeNatGatewaysRequest& request) const;
@@ -2046,6 +2075,9 @@ namespace AlibabaCloud
 			ModifyLaunchTemplateDefaultVersionOutcome modifyLaunchTemplateDefaultVersion(const Model::ModifyLaunchTemplateDefaultVersionRequest &request)const;
 			void modifyLaunchTemplateDefaultVersionAsync(const Model::ModifyLaunchTemplateDefaultVersionRequest& request, const ModifyLaunchTemplateDefaultVersionAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ModifyLaunchTemplateDefaultVersionOutcomeCallable modifyLaunchTemplateDefaultVersionCallable(const Model::ModifyLaunchTemplateDefaultVersionRequest& request) const;
+			ModifyMaintenancePropertyOutcome modifyMaintenanceProperty(const Model::ModifyMaintenancePropertyRequest &request)const;
+			void modifyMaintenancePropertyAsync(const Model::ModifyMaintenancePropertyRequest& request, const ModifyMaintenancePropertyAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ModifyMaintenancePropertyOutcomeCallable modifyMaintenancePropertyCallable(const Model::ModifyMaintenancePropertyRequest& request) const;
 			ModifyNetworkInterfaceAttributeOutcome modifyNetworkInterfaceAttribute(const Model::ModifyNetworkInterfaceAttributeRequest &request)const;
 			void modifyNetworkInterfaceAttributeAsync(const Model::ModifyNetworkInterfaceAttributeRequest& request, const ModifyNetworkInterfaceAttributeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ModifyNetworkInterfaceAttributeOutcomeCallable modifyNetworkInterfaceAttributeCallable(const Model::ModifyNetworkInterfaceAttributeRequest& request) const;

+ 72 - 0
ecs/include/alibabacloud/ecs/model/CreateMaintenancePropertyRequest.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_CREATEMAINTENANCEPROPERTYREQUEST_H_
+#define ALIBABACLOUD_ECS_MODEL_CREATEMAINTENANCEPROPERTYREQUEST_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 CreateMaintenancePropertyRequest : public RpcServiceRequest
+			{
+
+			public:
+				CreateMaintenancePropertyRequest();
+				~CreateMaintenancePropertyRequest();
+
+				long getResourceOwnerId()const;
+				void setResourceOwnerId(long resourceOwnerId);
+				std::string getStartTime()const;
+				void setStartTime(const std::string& startTime);
+				std::string getRegionId()const;
+				void setRegionId(const std::string& regionId);
+				std::string getActionOnMaintenance()const;
+				void setActionOnMaintenance(const std::string& actionOnMaintenance);
+				std::string getResourceOwnerAccount()const;
+				void setResourceOwnerAccount(const std::string& resourceOwnerAccount);
+				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::vector<std::string> getInstanceId()const;
+				void setInstanceId(const std::vector<std::string>& instanceId);
+
+            private:
+				long resourceOwnerId_;
+				std::string startTime_;
+				std::string regionId_;
+				std::string actionOnMaintenance_;
+				std::string resourceOwnerAccount_;
+				std::string ownerAccount_;
+				std::string endTime_;
+				long ownerId_;
+				std::vector<std::string> instanceId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_CREATEMAINTENANCEPROPERTYREQUEST_H_

+ 49 - 0
ecs/include/alibabacloud/ecs/model/CreateMaintenancePropertyResult.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_CREATEMAINTENANCEPROPERTYRESULT_H_
+#define ALIBABACLOUD_ECS_MODEL_CREATEMAINTENANCEPROPERTYRESULT_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 CreateMaintenancePropertyResult : public ServiceResult
+			{
+			public:
+
+
+				CreateMaintenancePropertyResult();
+				explicit CreateMaintenancePropertyResult(const std::string &payload);
+				~CreateMaintenancePropertyResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_CREATEMAINTENANCEPROPERTYRESULT_H_

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

@@ -66,6 +66,8 @@ namespace AlibabaCloud
 				void setOwnerAccount(const std::string& ownerAccount);
 				long getOwnerId()const;
 				void setOwnerId(long ownerId);
+				std::vector<std::string> getSecurityGroupIds()const;
+				void setSecurityGroupIds(const std::vector<std::string>& securityGroupIds);
 				std::string getVSwitchId()const;
 				void setVSwitchId(const std::string& vSwitchId);
 				std::string getPrimaryIpAddress()const;
@@ -85,6 +87,7 @@ namespace AlibabaCloud
 				std::string resourceOwnerAccount_;
 				std::string ownerAccount_;
 				long ownerId_;
+				std::vector<std::string> securityGroupIds_;
 				std::string vSwitchId_;
 				std::string primaryIpAddress_;
 

+ 63 - 0
ecs/include/alibabacloud/ecs/model/DeleteMaintenancePropertyRequest.h

@@ -0,0 +1,63 @@
+/*
+ * 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_DELETEMAINTENANCEPROPERTYREQUEST_H_
+#define ALIBABACLOUD_ECS_MODEL_DELETEMAINTENANCEPROPERTYREQUEST_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 DeleteMaintenancePropertyRequest : public RpcServiceRequest
+			{
+
+			public:
+				DeleteMaintenancePropertyRequest();
+				~DeleteMaintenancePropertyRequest();
+
+				long getResourceOwnerId()const;
+				void setResourceOwnerId(long resourceOwnerId);
+				std::string getRegionId()const;
+				void setRegionId(const std::string& regionId);
+				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);
+
+            private:
+				long resourceOwnerId_;
+				std::string regionId_;
+				std::string resourceOwnerAccount_;
+				std::string ownerAccount_;
+				long ownerId_;
+				std::vector<std::string> instanceId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_DELETEMAINTENANCEPROPERTYREQUEST_H_

+ 49 - 0
ecs/include/alibabacloud/ecs/model/DeleteMaintenancePropertyResult.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_DELETEMAINTENANCEPROPERTYRESULT_H_
+#define ALIBABACLOUD_ECS_MODEL_DELETEMAINTENANCEPROPERTYRESULT_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 DeleteMaintenancePropertyResult : public ServiceResult
+			{
+			public:
+
+
+				DeleteMaintenancePropertyResult();
+				explicit DeleteMaintenancePropertyResult(const std::string &payload);
+				~DeleteMaintenancePropertyResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_DELETEMAINTENANCEPROPERTYRESULT_H_

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

@@ -42,6 +42,7 @@ namespace AlibabaCloud
 						std::string supplyEndTime;
 					};
 					std::string demandDescription;
+					std::string comment;
 					std::string zoneId;
 					std::string demandTime;
 					std::string endTime;

+ 69 - 0
ecs/include/alibabacloud/ecs/model/DescribeMaintenancePropertyRequest.h

@@ -0,0 +1,69 @@
+/*
+ * 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_DESCRIBEMAINTENANCEPROPERTYREQUEST_H_
+#define ALIBABACLOUD_ECS_MODEL_DESCRIBEMAINTENANCEPROPERTYREQUEST_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 DescribeMaintenancePropertyRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeMaintenancePropertyRequest();
+				~DescribeMaintenancePropertyRequest();
+
+				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);
+
+            private:
+				long resourceOwnerId_;
+				long pageNumber_;
+				std::string regionId_;
+				long pageSize_;
+				std::string resourceOwnerAccount_;
+				std::string ownerAccount_;
+				long ownerId_;
+				std::vector<std::string> instanceId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_DESCRIBEMAINTENANCEPROPERTYREQUEST_H_

+ 64 - 0
ecs/include/alibabacloud/ecs/model/DescribeMaintenancePropertyResult.h

@@ -0,0 +1,64 @@
+/*
+ * 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_DESCRIBEMAINTENANCEPROPERTYRESULT_H_
+#define ALIBABACLOUD_ECS_MODEL_DESCRIBEMAINTENANCEPROPERTYRESULT_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 DescribeMaintenancePropertyResult : public ServiceResult
+			{
+			public:
+				struct MaintenanceProperty
+				{
+					std::string endTime;
+					std::string instanceId;
+					std::string startTime;
+					std::string actionOnMaintenance;
+				};
+
+
+				DescribeMaintenancePropertyResult();
+				explicit DescribeMaintenancePropertyResult(const std::string &payload);
+				~DescribeMaintenancePropertyResult();
+				int getTotalCount()const;
+				int getPageSize()const;
+				int getPageNumber()const;
+				std::vector<MaintenanceProperty> getMaintenancePropertySet()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				int totalCount_;
+				int pageSize_;
+				int pageNumber_;
+				std::vector<MaintenanceProperty> maintenancePropertySet_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_DESCRIBEMAINTENANCEPROPERTYRESULT_H_

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

@@ -52,6 +52,7 @@ namespace AlibabaCloud
 					std::string sourceDiskId;
 					std::string sourceStorageType;
 					std::string snapshotId;
+					std::string snapshotSN;
 					std::string sourceDiskSize;
 					std::string creationTime;
 					std::string lastModifiedTime;

+ 72 - 0
ecs/include/alibabacloud/ecs/model/ModifyMaintenancePropertyRequest.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_MODIFYMAINTENANCEPROPERTYREQUEST_H_
+#define ALIBABACLOUD_ECS_MODEL_MODIFYMAINTENANCEPROPERTYREQUEST_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 ModifyMaintenancePropertyRequest : public RpcServiceRequest
+			{
+
+			public:
+				ModifyMaintenancePropertyRequest();
+				~ModifyMaintenancePropertyRequest();
+
+				long getResourceOwnerId()const;
+				void setResourceOwnerId(long resourceOwnerId);
+				std::string getStartTime()const;
+				void setStartTime(const std::string& startTime);
+				std::string getRegionId()const;
+				void setRegionId(const std::string& regionId);
+				std::string getActionOnMaintenance()const;
+				void setActionOnMaintenance(const std::string& actionOnMaintenance);
+				std::string getResourceOwnerAccount()const;
+				void setResourceOwnerAccount(const std::string& resourceOwnerAccount);
+				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::vector<std::string> getInstanceId()const;
+				void setInstanceId(const std::vector<std::string>& instanceId);
+
+            private:
+				long resourceOwnerId_;
+				std::string startTime_;
+				std::string regionId_;
+				std::string actionOnMaintenance_;
+				std::string resourceOwnerAccount_;
+				std::string ownerAccount_;
+				std::string endTime_;
+				long ownerId_;
+				std::vector<std::string> instanceId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_MODIFYMAINTENANCEPROPERTYREQUEST_H_

+ 49 - 0
ecs/include/alibabacloud/ecs/model/ModifyMaintenancePropertyResult.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_MODIFYMAINTENANCEPROPERTYRESULT_H_
+#define ALIBABACLOUD_ECS_MODEL_MODIFYMAINTENANCEPROPERTYRESULT_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 ModifyMaintenancePropertyResult : public ServiceResult
+			{
+			public:
+
+
+				ModifyMaintenancePropertyResult();
+				explicit ModifyMaintenancePropertyResult(const std::string &payload);
+				~ModifyMaintenancePropertyResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_MODIFYMAINTENANCEPROPERTYRESULT_H_

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

@@ -40,6 +40,7 @@ namespace AlibabaCloud
 					std::string primaryIpAddress;
 					std::string vSwitchId;
 					std::string securityGroupId;
+					std::vector<std::string> securityGroupIds;
 					std::string networkInterfaceName;
 					std::string description;
 				};

+ 144 - 0
ecs/src/EcsClient.cc

@@ -1527,6 +1527,42 @@ EcsClient::CreateLaunchTemplateVersionOutcomeCallable EcsClient::createLaunchTem
 	return task->get_future();
 }
 
+EcsClient::CreateMaintenancePropertyOutcome EcsClient::createMaintenanceProperty(const CreateMaintenancePropertyRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return CreateMaintenancePropertyOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return CreateMaintenancePropertyOutcome(CreateMaintenancePropertyResult(outcome.result()));
+	else
+		return CreateMaintenancePropertyOutcome(outcome.error());
+}
+
+void EcsClient::createMaintenancePropertyAsync(const CreateMaintenancePropertyRequest& request, const CreateMaintenancePropertyAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, createMaintenanceProperty(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+EcsClient::CreateMaintenancePropertyOutcomeCallable EcsClient::createMaintenancePropertyCallable(const CreateMaintenancePropertyRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<CreateMaintenancePropertyOutcome()>>(
+			[this, request]()
+			{
+			return this->createMaintenanceProperty(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 EcsClient::CreateNatGatewayOutcome EcsClient::createNatGateway(const CreateNatGatewayRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -2607,6 +2643,42 @@ EcsClient::DeleteLaunchTemplateVersionOutcomeCallable EcsClient::deleteLaunchTem
 	return task->get_future();
 }
 
+EcsClient::DeleteMaintenancePropertyOutcome EcsClient::deleteMaintenanceProperty(const DeleteMaintenancePropertyRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DeleteMaintenancePropertyOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DeleteMaintenancePropertyOutcome(DeleteMaintenancePropertyResult(outcome.result()));
+	else
+		return DeleteMaintenancePropertyOutcome(outcome.error());
+}
+
+void EcsClient::deleteMaintenancePropertyAsync(const DeleteMaintenancePropertyRequest& request, const DeleteMaintenancePropertyAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, deleteMaintenanceProperty(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+EcsClient::DeleteMaintenancePropertyOutcomeCallable EcsClient::deleteMaintenancePropertyCallable(const DeleteMaintenancePropertyRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DeleteMaintenancePropertyOutcome()>>(
+			[this, request]()
+			{
+			return this->deleteMaintenanceProperty(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 EcsClient::DeleteNatGatewayOutcome EcsClient::deleteNatGateway(const DeleteNatGatewayRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -4803,6 +4875,42 @@ EcsClient::DescribeLimitationOutcomeCallable EcsClient::describeLimitationCallab
 	return task->get_future();
 }
 
+EcsClient::DescribeMaintenancePropertyOutcome EcsClient::describeMaintenanceProperty(const DescribeMaintenancePropertyRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeMaintenancePropertyOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeMaintenancePropertyOutcome(DescribeMaintenancePropertyResult(outcome.result()));
+	else
+		return DescribeMaintenancePropertyOutcome(outcome.error());
+}
+
+void EcsClient::describeMaintenancePropertyAsync(const DescribeMaintenancePropertyRequest& request, const DescribeMaintenancePropertyAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeMaintenanceProperty(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+EcsClient::DescribeMaintenancePropertyOutcomeCallable EcsClient::describeMaintenancePropertyCallable(const DescribeMaintenancePropertyRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeMaintenancePropertyOutcome()>>(
+			[this, request]()
+			{
+			return this->describeMaintenanceProperty(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 EcsClient::DescribeNatGatewaysOutcome EcsClient::describeNatGateways(const DescribeNatGatewaysRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -7971,6 +8079,42 @@ EcsClient::ModifyLaunchTemplateDefaultVersionOutcomeCallable EcsClient::modifyLa
 	return task->get_future();
 }
 
+EcsClient::ModifyMaintenancePropertyOutcome EcsClient::modifyMaintenanceProperty(const ModifyMaintenancePropertyRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ModifyMaintenancePropertyOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ModifyMaintenancePropertyOutcome(ModifyMaintenancePropertyResult(outcome.result()));
+	else
+		return ModifyMaintenancePropertyOutcome(outcome.error());
+}
+
+void EcsClient::modifyMaintenancePropertyAsync(const ModifyMaintenancePropertyRequest& request, const ModifyMaintenancePropertyAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, modifyMaintenanceProperty(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+EcsClient::ModifyMaintenancePropertyOutcomeCallable EcsClient::modifyMaintenancePropertyCallable(const ModifyMaintenancePropertyRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ModifyMaintenancePropertyOutcome()>>(
+			[this, request]()
+			{
+			return this->modifyMaintenanceProperty(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 EcsClient::ModifyNetworkInterfaceAttributeOutcome EcsClient::modifyNetworkInterfaceAttribute(const ModifyNetworkInterfaceAttributeRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();

+ 130 - 0
ecs/src/model/CreateMaintenancePropertyRequest.cc

@@ -0,0 +1,130 @@
+/*
+ * 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/CreateMaintenancePropertyRequest.h>
+
+using AlibabaCloud::Ecs::Model::CreateMaintenancePropertyRequest;
+
+CreateMaintenancePropertyRequest::CreateMaintenancePropertyRequest() :
+	RpcServiceRequest("ecs", "2014-05-26", "CreateMaintenanceProperty")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+CreateMaintenancePropertyRequest::~CreateMaintenancePropertyRequest()
+{}
+
+long CreateMaintenancePropertyRequest::getResourceOwnerId()const
+{
+	return resourceOwnerId_;
+}
+
+void CreateMaintenancePropertyRequest::setResourceOwnerId(long resourceOwnerId)
+{
+	resourceOwnerId_ = resourceOwnerId;
+	setCoreParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
+}
+
+std::string CreateMaintenancePropertyRequest::getStartTime()const
+{
+	return startTime_;
+}
+
+void CreateMaintenancePropertyRequest::setStartTime(const std::string& startTime)
+{
+	startTime_ = startTime;
+	setCoreParameter("StartTime", startTime);
+}
+
+std::string CreateMaintenancePropertyRequest::getRegionId()const
+{
+	return regionId_;
+}
+
+void CreateMaintenancePropertyRequest::setRegionId(const std::string& regionId)
+{
+	regionId_ = regionId;
+	setCoreParameter("RegionId", regionId);
+}
+
+std::string CreateMaintenancePropertyRequest::getActionOnMaintenance()const
+{
+	return actionOnMaintenance_;
+}
+
+void CreateMaintenancePropertyRequest::setActionOnMaintenance(const std::string& actionOnMaintenance)
+{
+	actionOnMaintenance_ = actionOnMaintenance;
+	setCoreParameter("ActionOnMaintenance", actionOnMaintenance);
+}
+
+std::string CreateMaintenancePropertyRequest::getResourceOwnerAccount()const
+{
+	return resourceOwnerAccount_;
+}
+
+void CreateMaintenancePropertyRequest::setResourceOwnerAccount(const std::string& resourceOwnerAccount)
+{
+	resourceOwnerAccount_ = resourceOwnerAccount;
+	setCoreParameter("ResourceOwnerAccount", resourceOwnerAccount);
+}
+
+std::string CreateMaintenancePropertyRequest::getOwnerAccount()const
+{
+	return ownerAccount_;
+}
+
+void CreateMaintenancePropertyRequest::setOwnerAccount(const std::string& ownerAccount)
+{
+	ownerAccount_ = ownerAccount;
+	setCoreParameter("OwnerAccount", ownerAccount);
+}
+
+std::string CreateMaintenancePropertyRequest::getEndTime()const
+{
+	return endTime_;
+}
+
+void CreateMaintenancePropertyRequest::setEndTime(const std::string& endTime)
+{
+	endTime_ = endTime;
+	setCoreParameter("EndTime", endTime);
+}
+
+long CreateMaintenancePropertyRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void CreateMaintenancePropertyRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setCoreParameter("OwnerId", std::to_string(ownerId));
+}
+
+std::vector<std::string> CreateMaintenancePropertyRequest::getInstanceId()const
+{
+	return instanceId_;
+}
+
+void CreateMaintenancePropertyRequest::setInstanceId(const std::vector<std::string>& instanceId)
+{
+	instanceId_ = instanceId;
+	for(int dep1 = 0; dep1!= instanceId.size(); dep1++) {
+		setCoreParameter("InstanceId."+ std::to_string(dep1), instanceId.at(dep1));
+	}
+}
+

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

+ 13 - 0
ecs/src/model/CreateNetworkInterfaceRequest.cc

@@ -175,6 +175,19 @@ void CreateNetworkInterfaceRequest::setOwnerId(long ownerId)
 	setCoreParameter("OwnerId", std::to_string(ownerId));
 }
 
+std::vector<std::string> CreateNetworkInterfaceRequest::getSecurityGroupIds()const
+{
+	return securityGroupIds_;
+}
+
+void CreateNetworkInterfaceRequest::setSecurityGroupIds(const std::vector<std::string>& securityGroupIds)
+{
+	securityGroupIds_ = securityGroupIds;
+	for(int dep1 = 0; dep1!= securityGroupIds.size(); dep1++) {
+		setCoreParameter("SecurityGroupIds."+ std::to_string(dep1), securityGroupIds.at(dep1));
+	}
+}
+
 std::string CreateNetworkInterfaceRequest::getVSwitchId()const
 {
 	return vSwitchId_;

+ 97 - 0
ecs/src/model/DeleteMaintenancePropertyRequest.cc

@@ -0,0 +1,97 @@
+/*
+ * 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/DeleteMaintenancePropertyRequest.h>
+
+using AlibabaCloud::Ecs::Model::DeleteMaintenancePropertyRequest;
+
+DeleteMaintenancePropertyRequest::DeleteMaintenancePropertyRequest() :
+	RpcServiceRequest("ecs", "2014-05-26", "DeleteMaintenanceProperty")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+DeleteMaintenancePropertyRequest::~DeleteMaintenancePropertyRequest()
+{}
+
+long DeleteMaintenancePropertyRequest::getResourceOwnerId()const
+{
+	return resourceOwnerId_;
+}
+
+void DeleteMaintenancePropertyRequest::setResourceOwnerId(long resourceOwnerId)
+{
+	resourceOwnerId_ = resourceOwnerId;
+	setCoreParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
+}
+
+std::string DeleteMaintenancePropertyRequest::getRegionId()const
+{
+	return regionId_;
+}
+
+void DeleteMaintenancePropertyRequest::setRegionId(const std::string& regionId)
+{
+	regionId_ = regionId;
+	setCoreParameter("RegionId", regionId);
+}
+
+std::string DeleteMaintenancePropertyRequest::getResourceOwnerAccount()const
+{
+	return resourceOwnerAccount_;
+}
+
+void DeleteMaintenancePropertyRequest::setResourceOwnerAccount(const std::string& resourceOwnerAccount)
+{
+	resourceOwnerAccount_ = resourceOwnerAccount;
+	setCoreParameter("ResourceOwnerAccount", resourceOwnerAccount);
+}
+
+std::string DeleteMaintenancePropertyRequest::getOwnerAccount()const
+{
+	return ownerAccount_;
+}
+
+void DeleteMaintenancePropertyRequest::setOwnerAccount(const std::string& ownerAccount)
+{
+	ownerAccount_ = ownerAccount;
+	setCoreParameter("OwnerAccount", ownerAccount);
+}
+
+long DeleteMaintenancePropertyRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void DeleteMaintenancePropertyRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setCoreParameter("OwnerId", std::to_string(ownerId));
+}
+
+std::vector<std::string> DeleteMaintenancePropertyRequest::getInstanceId()const
+{
+	return instanceId_;
+}
+
+void DeleteMaintenancePropertyRequest::setInstanceId(const std::vector<std::string>& instanceId)
+{
+	instanceId_ = instanceId;
+	for(int dep1 = 0; dep1!= instanceId.size(); dep1++) {
+		setCoreParameter("InstanceId."+ std::to_string(dep1), instanceId.at(dep1));
+	}
+}
+

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

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

@@ -53,6 +53,8 @@ void DescribeDemandsResult::parse(const std::string &payload)
 			demandsObject.demandId = valueDemandsDemand["DemandId"].asString();
 		if(!valueDemandsDemand["DemandName"].isNull())
 			demandsObject.demandName = valueDemandsDemand["DemandName"].asString();
+		if(!valueDemandsDemand["Comment"].isNull())
+			demandsObject.comment = valueDemandsDemand["Comment"].asString();
 		if(!valueDemandsDemand["DemandDescription"].isNull())
 			demandsObject.demandDescription = valueDemandsDemand["DemandDescription"].asString();
 		if(!valueDemandsDemand["InstanceType"].isNull())

+ 119 - 0
ecs/src/model/DescribeMaintenancePropertyRequest.cc

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

+ 84 - 0
ecs/src/model/DescribeMaintenancePropertyResult.cc

@@ -0,0 +1,84 @@
+/*
+ * 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/DescribeMaintenancePropertyResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Ecs;
+using namespace AlibabaCloud::Ecs::Model;
+
+DescribeMaintenancePropertyResult::DescribeMaintenancePropertyResult() :
+	ServiceResult()
+{}
+
+DescribeMaintenancePropertyResult::DescribeMaintenancePropertyResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeMaintenancePropertyResult::~DescribeMaintenancePropertyResult()
+{}
+
+void DescribeMaintenancePropertyResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allMaintenancePropertySetNode = value["MaintenancePropertySet"]["MaintenanceProperty"];
+	for (auto valueMaintenancePropertySetMaintenanceProperty : allMaintenancePropertySetNode)
+	{
+		MaintenanceProperty maintenancePropertySetObject;
+		if(!valueMaintenancePropertySetMaintenanceProperty["InstanceId"].isNull())
+			maintenancePropertySetObject.instanceId = valueMaintenancePropertySetMaintenanceProperty["InstanceId"].asString();
+		if(!valueMaintenancePropertySetMaintenanceProperty["StartTime"].isNull())
+			maintenancePropertySetObject.startTime = valueMaintenancePropertySetMaintenanceProperty["StartTime"].asString();
+		if(!valueMaintenancePropertySetMaintenanceProperty["EndTime"].isNull())
+			maintenancePropertySetObject.endTime = valueMaintenancePropertySetMaintenanceProperty["EndTime"].asString();
+		if(!valueMaintenancePropertySetMaintenanceProperty["ActionOnMaintenance"].isNull())
+			maintenancePropertySetObject.actionOnMaintenance = valueMaintenancePropertySetMaintenanceProperty["ActionOnMaintenance"].asString();
+		maintenancePropertySet_.push_back(maintenancePropertySetObject);
+	}
+	if(!value["TotalCount"].isNull())
+		totalCount_ = std::stoi(value["TotalCount"].asString());
+	if(!value["PageNumber"].isNull())
+		pageNumber_ = std::stoi(value["PageNumber"].asString());
+	if(!value["PageSize"].isNull())
+		pageSize_ = std::stoi(value["PageSize"].asString());
+
+}
+
+int DescribeMaintenancePropertyResult::getTotalCount()const
+{
+	return totalCount_;
+}
+
+int DescribeMaintenancePropertyResult::getPageSize()const
+{
+	return pageSize_;
+}
+
+int DescribeMaintenancePropertyResult::getPageNumber()const
+{
+	return pageNumber_;
+}
+
+std::vector<DescribeMaintenancePropertyResult::MaintenanceProperty> DescribeMaintenancePropertyResult::getMaintenancePropertySet()const
+{
+	return maintenancePropertySet_;
+}
+

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

@@ -45,6 +45,8 @@ void DescribeSnapshotsResult::parse(const std::string &payload)
 		Snapshot snapshotsObject;
 		if(!valueSnapshotsSnapshot["SnapshotId"].isNull())
 			snapshotsObject.snapshotId = valueSnapshotsSnapshot["SnapshotId"].asString();
+		if(!valueSnapshotsSnapshot["SnapshotSN"].isNull())
+			snapshotsObject.snapshotSN = valueSnapshotsSnapshot["SnapshotSN"].asString();
 		if(!valueSnapshotsSnapshot["SnapshotName"].isNull())
 			snapshotsObject.snapshotName = valueSnapshotsSnapshot["SnapshotName"].asString();
 		if(!valueSnapshotsSnapshot["Progress"].isNull())

+ 130 - 0
ecs/src/model/ModifyMaintenancePropertyRequest.cc

@@ -0,0 +1,130 @@
+/*
+ * 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/ModifyMaintenancePropertyRequest.h>
+
+using AlibabaCloud::Ecs::Model::ModifyMaintenancePropertyRequest;
+
+ModifyMaintenancePropertyRequest::ModifyMaintenancePropertyRequest() :
+	RpcServiceRequest("ecs", "2014-05-26", "ModifyMaintenanceProperty")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+ModifyMaintenancePropertyRequest::~ModifyMaintenancePropertyRequest()
+{}
+
+long ModifyMaintenancePropertyRequest::getResourceOwnerId()const
+{
+	return resourceOwnerId_;
+}
+
+void ModifyMaintenancePropertyRequest::setResourceOwnerId(long resourceOwnerId)
+{
+	resourceOwnerId_ = resourceOwnerId;
+	setCoreParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
+}
+
+std::string ModifyMaintenancePropertyRequest::getStartTime()const
+{
+	return startTime_;
+}
+
+void ModifyMaintenancePropertyRequest::setStartTime(const std::string& startTime)
+{
+	startTime_ = startTime;
+	setCoreParameter("StartTime", startTime);
+}
+
+std::string ModifyMaintenancePropertyRequest::getRegionId()const
+{
+	return regionId_;
+}
+
+void ModifyMaintenancePropertyRequest::setRegionId(const std::string& regionId)
+{
+	regionId_ = regionId;
+	setCoreParameter("RegionId", regionId);
+}
+
+std::string ModifyMaintenancePropertyRequest::getActionOnMaintenance()const
+{
+	return actionOnMaintenance_;
+}
+
+void ModifyMaintenancePropertyRequest::setActionOnMaintenance(const std::string& actionOnMaintenance)
+{
+	actionOnMaintenance_ = actionOnMaintenance;
+	setCoreParameter("ActionOnMaintenance", actionOnMaintenance);
+}
+
+std::string ModifyMaintenancePropertyRequest::getResourceOwnerAccount()const
+{
+	return resourceOwnerAccount_;
+}
+
+void ModifyMaintenancePropertyRequest::setResourceOwnerAccount(const std::string& resourceOwnerAccount)
+{
+	resourceOwnerAccount_ = resourceOwnerAccount;
+	setCoreParameter("ResourceOwnerAccount", resourceOwnerAccount);
+}
+
+std::string ModifyMaintenancePropertyRequest::getOwnerAccount()const
+{
+	return ownerAccount_;
+}
+
+void ModifyMaintenancePropertyRequest::setOwnerAccount(const std::string& ownerAccount)
+{
+	ownerAccount_ = ownerAccount;
+	setCoreParameter("OwnerAccount", ownerAccount);
+}
+
+std::string ModifyMaintenancePropertyRequest::getEndTime()const
+{
+	return endTime_;
+}
+
+void ModifyMaintenancePropertyRequest::setEndTime(const std::string& endTime)
+{
+	endTime_ = endTime;
+	setCoreParameter("EndTime", endTime);
+}
+
+long ModifyMaintenancePropertyRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void ModifyMaintenancePropertyRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setCoreParameter("OwnerId", std::to_string(ownerId));
+}
+
+std::vector<std::string> ModifyMaintenancePropertyRequest::getInstanceId()const
+{
+	return instanceId_;
+}
+
+void ModifyMaintenancePropertyRequest::setInstanceId(const std::vector<std::string>& instanceId)
+{
+	instanceId_ = instanceId;
+	for(int dep1 = 0; dep1!= instanceId.size(); dep1++) {
+		setCoreParameter("InstanceId."+ std::to_string(dep1), instanceId.at(dep1));
+	}
+}
+

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

+ 3 - 0
ecs/src/model/RunInstancesRequest.cc

@@ -620,6 +620,9 @@ void RunInstancesRequest::setNetworkInterface(const std::vector<NetworkInterface
 		setCoreParameter(networkInterfaceObjStr + ".PrimaryIpAddress", networkInterfaceObj.primaryIpAddress);
 		setCoreParameter(networkInterfaceObjStr + ".VSwitchId", networkInterfaceObj.vSwitchId);
 		setCoreParameter(networkInterfaceObjStr + ".SecurityGroupId", networkInterfaceObj.securityGroupId);
+		for(int dep2 = 0; dep2!= networkInterfaceObj.securityGroupIds.size(); dep2++) {
+			setCoreParameter(networkInterfaceObjStr + ".SecurityGroupIds."+ std::to_string(dep2), networkInterfaceObj.securityGroupIds.at(dep2));
+		}
 		setCoreParameter(networkInterfaceObjStr + ".NetworkInterfaceName", networkInterfaceObj.networkInterfaceName);
 		setCoreParameter(networkInterfaceObjStr + ".Description", networkInterfaceObj.description);
 	}