Browse Source

Supported InstanceMaintenanceAtrributes for maintening the attributes of instances.

sdk-team 6 years ago
parent
commit
c4b8a5b9de
27 changed files with 690 additions and 982 deletions
  1. 5 0
      CHANGELOG
  2. 1 1
      VERSION
  3. 12 16
      ecs/CMakeLists.txt
  4. 24 32
      ecs/include/alibabacloud/ecs/EcsClient.h
  5. 6 0
      ecs/include/alibabacloud/ecs/model/CreateNetworkInterfaceRequest.h
  6. 0 49
      ecs/include/alibabacloud/ecs/model/DeleteMaintenancePropertyResult.h
  7. 6 6
      ecs/include/alibabacloud/ecs/model/DescribeInstanceMaintenanceAttributesRequest.h
  8. 23 13
      ecs/include/alibabacloud/ecs/model/DescribeInstanceMaintenanceAttributesResult.h
  9. 14 12
      ecs/include/alibabacloud/ecs/model/ModifyInstanceMaintenanceAttributesRequest.h
  10. 7 7
      ecs/include/alibabacloud/ecs/model/ModifyInstanceMaintenanceAttributesResult.h
  11. 0 72
      ecs/include/alibabacloud/ecs/model/ModifyMaintenancePropertyRequest.h
  12. 9 9
      ecs/include/alibabacloud/ecs/model/RedeployDedicatedHostRequest.h
  13. 7 7
      ecs/include/alibabacloud/ecs/model/RedeployDedicatedHostResult.h
  14. 108 144
      ecs/src/EcsClient.cc
  15. 0 130
      ecs/src/model/CreateMaintenancePropertyRequest.cc
  16. 24 0
      ecs/src/model/CreateNetworkInterfaceRequest.cc
  17. 0 97
      ecs/src/model/DeleteMaintenancePropertyRequest.cc
  18. 119 0
      ecs/src/model/DescribeInstanceMaintenanceAttributesRequest.cc
  19. 96 0
      ecs/src/model/DescribeInstanceMaintenanceAttributesResult.cc
  20. 0 119
      ecs/src/model/DescribeMaintenancePropertyRequest.cc
  21. 0 84
      ecs/src/model/DescribeMaintenancePropertyResult.cc
  22. 124 0
      ecs/src/model/ModifyInstanceMaintenanceAttributesRequest.cc
  23. 5 5
      ecs/src/model/ModifyInstanceMaintenanceAttributesResult.cc
  24. 0 130
      ecs/src/model/ModifyMaintenancePropertyRequest.cc
  25. 0 44
      ecs/src/model/ModifyMaintenancePropertyResult.cc
  26. 95 0
      ecs/src/model/RedeployDedicatedHostRequest.cc
  27. 5 5
      ecs/src/model/RedeployDedicatedHostResult.cc

+ 5 - 0
CHANGELOG

@@ -1,3 +1,8 @@
+2020-01-13 Version 1.36.238
+- Supported InstanceMaintenanceAtrributes for maintening the attributes of instances.
+- Deleted MaintenanceProperty.
+- Supported RedeployDedicatedHost for redeploying dedicated host in under-assessment status.
+
 2020-01-10 Version 1.36.237
 - Return `ConsistentTime` for DescribeBackups.
 - Return `DBNodeIds` for CreateDBNodes.

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.36.237
+1.36.238

+ 12 - 16
ecs/CMakeLists.txt

@@ -103,8 +103,6 @@ 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
@@ -165,8 +163,6 @@ 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
@@ -257,6 +253,8 @@ set(ecs_public_header_model
 	include/alibabacloud/ecs/model/DescribeInstanceAutoRenewAttributeResult.h
 	include/alibabacloud/ecs/model/DescribeInstanceHistoryEventsRequest.h
 	include/alibabacloud/ecs/model/DescribeInstanceHistoryEventsResult.h
+	include/alibabacloud/ecs/model/DescribeInstanceMaintenanceAttributesRequest.h
+	include/alibabacloud/ecs/model/DescribeInstanceMaintenanceAttributesResult.h
 	include/alibabacloud/ecs/model/DescribeInstanceMonitorDataRequest.h
 	include/alibabacloud/ecs/model/DescribeInstanceMonitorDataResult.h
 	include/alibabacloud/ecs/model/DescribeInstanceRamRoleRequest.h
@@ -289,8 +287,6 @@ 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
@@ -457,6 +453,8 @@ set(ecs_public_header_model
 	include/alibabacloud/ecs/model/ModifyInstanceChargeTypeResult.h
 	include/alibabacloud/ecs/model/ModifyInstanceDeploymentRequest.h
 	include/alibabacloud/ecs/model/ModifyInstanceDeploymentResult.h
+	include/alibabacloud/ecs/model/ModifyInstanceMaintenanceAttributesRequest.h
+	include/alibabacloud/ecs/model/ModifyInstanceMaintenanceAttributesResult.h
 	include/alibabacloud/ecs/model/ModifyInstanceNetworkSpecRequest.h
 	include/alibabacloud/ecs/model/ModifyInstanceNetworkSpecResult.h
 	include/alibabacloud/ecs/model/ModifyInstanceSpecRequest.h
@@ -467,8 +465,6 @@ 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
@@ -515,6 +511,8 @@ set(ecs_public_header_model
 	include/alibabacloud/ecs/model/RebootInstanceResult.h
 	include/alibabacloud/ecs/model/RecoverVirtualBorderRouterRequest.h
 	include/alibabacloud/ecs/model/RecoverVirtualBorderRouterResult.h
+	include/alibabacloud/ecs/model/RedeployDedicatedHostRequest.h
+	include/alibabacloud/ecs/model/RedeployDedicatedHostResult.h
 	include/alibabacloud/ecs/model/RedeployInstanceRequest.h
 	include/alibabacloud/ecs/model/RedeployInstanceResult.h
 	include/alibabacloud/ecs/model/ReleaseDedicatedHostRequest.h
@@ -654,8 +652,6 @@ 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
@@ -716,8 +712,6 @@ 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
@@ -808,6 +802,8 @@ set(ecs_src
 	src/model/DescribeInstanceAutoRenewAttributeResult.cc
 	src/model/DescribeInstanceHistoryEventsRequest.cc
 	src/model/DescribeInstanceHistoryEventsResult.cc
+	src/model/DescribeInstanceMaintenanceAttributesRequest.cc
+	src/model/DescribeInstanceMaintenanceAttributesResult.cc
 	src/model/DescribeInstanceMonitorDataRequest.cc
 	src/model/DescribeInstanceMonitorDataResult.cc
 	src/model/DescribeInstanceRamRoleRequest.cc
@@ -840,8 +836,6 @@ 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
@@ -1008,6 +1002,8 @@ set(ecs_src
 	src/model/ModifyInstanceChargeTypeResult.cc
 	src/model/ModifyInstanceDeploymentRequest.cc
 	src/model/ModifyInstanceDeploymentResult.cc
+	src/model/ModifyInstanceMaintenanceAttributesRequest.cc
+	src/model/ModifyInstanceMaintenanceAttributesResult.cc
 	src/model/ModifyInstanceNetworkSpecRequest.cc
 	src/model/ModifyInstanceNetworkSpecResult.cc
 	src/model/ModifyInstanceSpecRequest.cc
@@ -1018,8 +1014,6 @@ 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
@@ -1066,6 +1060,8 @@ set(ecs_src
 	src/model/RebootInstanceResult.cc
 	src/model/RecoverVirtualBorderRouterRequest.cc
 	src/model/RecoverVirtualBorderRouterResult.cc
+	src/model/RedeployDedicatedHostRequest.cc
+	src/model/RedeployDedicatedHostResult.cc
 	src/model/RedeployInstanceRequest.cc
 	src/model/RedeployInstanceResult.cc
 	src/model/ReleaseDedicatedHostRequest.cc

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

@@ -104,8 +104,6 @@
 #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"
@@ -166,8 +164,6 @@
 #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"
@@ -258,6 +254,8 @@
 #include "model/DescribeInstanceAutoRenewAttributeResult.h"
 #include "model/DescribeInstanceHistoryEventsRequest.h"
 #include "model/DescribeInstanceHistoryEventsResult.h"
+#include "model/DescribeInstanceMaintenanceAttributesRequest.h"
+#include "model/DescribeInstanceMaintenanceAttributesResult.h"
 #include "model/DescribeInstanceMonitorDataRequest.h"
 #include "model/DescribeInstanceMonitorDataResult.h"
 #include "model/DescribeInstanceRamRoleRequest.h"
@@ -290,8 +288,6 @@
 #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"
@@ -458,6 +454,8 @@
 #include "model/ModifyInstanceChargeTypeResult.h"
 #include "model/ModifyInstanceDeploymentRequest.h"
 #include "model/ModifyInstanceDeploymentResult.h"
+#include "model/ModifyInstanceMaintenanceAttributesRequest.h"
+#include "model/ModifyInstanceMaintenanceAttributesResult.h"
 #include "model/ModifyInstanceNetworkSpecRequest.h"
 #include "model/ModifyInstanceNetworkSpecResult.h"
 #include "model/ModifyInstanceSpecRequest.h"
@@ -468,8 +466,6 @@
 #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"
@@ -516,6 +512,8 @@
 #include "model/RebootInstanceResult.h"
 #include "model/RecoverVirtualBorderRouterRequest.h"
 #include "model/RecoverVirtualBorderRouterResult.h"
+#include "model/RedeployDedicatedHostRequest.h"
+#include "model/RedeployDedicatedHostResult.h"
 #include "model/RedeployInstanceRequest.h"
 #include "model/RedeployInstanceResult.h"
 #include "model/ReleaseDedicatedHostRequest.h"
@@ -702,9 +700,6 @@ 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;
@@ -795,9 +790,6 @@ 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;
@@ -933,6 +925,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DescribeInstanceHistoryEventsResult> DescribeInstanceHistoryEventsOutcome;
 			typedef std::future<DescribeInstanceHistoryEventsOutcome> DescribeInstanceHistoryEventsOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::DescribeInstanceHistoryEventsRequest&, const DescribeInstanceHistoryEventsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeInstanceHistoryEventsAsyncHandler;
+			typedef Outcome<Error, Model::DescribeInstanceMaintenanceAttributesResult> DescribeInstanceMaintenanceAttributesOutcome;
+			typedef std::future<DescribeInstanceMaintenanceAttributesOutcome> DescribeInstanceMaintenanceAttributesOutcomeCallable;
+			typedef std::function<void(const EcsClient*, const Model::DescribeInstanceMaintenanceAttributesRequest&, const DescribeInstanceMaintenanceAttributesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeInstanceMaintenanceAttributesAsyncHandler;
 			typedef Outcome<Error, Model::DescribeInstanceMonitorDataResult> DescribeInstanceMonitorDataOutcome;
 			typedef std::future<DescribeInstanceMonitorDataOutcome> DescribeInstanceMonitorDataOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::DescribeInstanceMonitorDataRequest&, const DescribeInstanceMonitorDataOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeInstanceMonitorDataAsyncHandler;
@@ -981,9 +976,6 @@ 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;
@@ -1233,6 +1225,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::ModifyInstanceDeploymentResult> ModifyInstanceDeploymentOutcome;
 			typedef std::future<ModifyInstanceDeploymentOutcome> ModifyInstanceDeploymentOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::ModifyInstanceDeploymentRequest&, const ModifyInstanceDeploymentOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyInstanceDeploymentAsyncHandler;
+			typedef Outcome<Error, Model::ModifyInstanceMaintenanceAttributesResult> ModifyInstanceMaintenanceAttributesOutcome;
+			typedef std::future<ModifyInstanceMaintenanceAttributesOutcome> ModifyInstanceMaintenanceAttributesOutcomeCallable;
+			typedef std::function<void(const EcsClient*, const Model::ModifyInstanceMaintenanceAttributesRequest&, const ModifyInstanceMaintenanceAttributesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyInstanceMaintenanceAttributesAsyncHandler;
 			typedef Outcome<Error, Model::ModifyInstanceNetworkSpecResult> ModifyInstanceNetworkSpecOutcome;
 			typedef std::future<ModifyInstanceNetworkSpecOutcome> ModifyInstanceNetworkSpecOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::ModifyInstanceNetworkSpecRequest&, const ModifyInstanceNetworkSpecOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyInstanceNetworkSpecAsyncHandler;
@@ -1248,9 +1243,6 @@ 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;
@@ -1320,6 +1312,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::RecoverVirtualBorderRouterResult> RecoverVirtualBorderRouterOutcome;
 			typedef std::future<RecoverVirtualBorderRouterOutcome> RecoverVirtualBorderRouterOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::RecoverVirtualBorderRouterRequest&, const RecoverVirtualBorderRouterOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> RecoverVirtualBorderRouterAsyncHandler;
+			typedef Outcome<Error, Model::RedeployDedicatedHostResult> RedeployDedicatedHostOutcome;
+			typedef std::future<RedeployDedicatedHostOutcome> RedeployDedicatedHostOutcomeCallable;
+			typedef std::function<void(const EcsClient*, const Model::RedeployDedicatedHostRequest&, const RedeployDedicatedHostOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> RedeployDedicatedHostAsyncHandler;
 			typedef Outcome<Error, Model::RedeployInstanceResult> RedeployInstanceOutcome;
 			typedef std::future<RedeployInstanceOutcome> RedeployInstanceOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::RedeployInstanceRequest&, const RedeployInstanceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> RedeployInstanceAsyncHandler;
@@ -1529,9 +1524,6 @@ 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;
@@ -1622,9 +1614,6 @@ 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;
@@ -1760,6 +1749,9 @@ namespace AlibabaCloud
 			DescribeInstanceHistoryEventsOutcome describeInstanceHistoryEvents(const Model::DescribeInstanceHistoryEventsRequest &request)const;
 			void describeInstanceHistoryEventsAsync(const Model::DescribeInstanceHistoryEventsRequest& request, const DescribeInstanceHistoryEventsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeInstanceHistoryEventsOutcomeCallable describeInstanceHistoryEventsCallable(const Model::DescribeInstanceHistoryEventsRequest& request) const;
+			DescribeInstanceMaintenanceAttributesOutcome describeInstanceMaintenanceAttributes(const Model::DescribeInstanceMaintenanceAttributesRequest &request)const;
+			void describeInstanceMaintenanceAttributesAsync(const Model::DescribeInstanceMaintenanceAttributesRequest& request, const DescribeInstanceMaintenanceAttributesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeInstanceMaintenanceAttributesOutcomeCallable describeInstanceMaintenanceAttributesCallable(const Model::DescribeInstanceMaintenanceAttributesRequest& request) const;
 			DescribeInstanceMonitorDataOutcome describeInstanceMonitorData(const Model::DescribeInstanceMonitorDataRequest &request)const;
 			void describeInstanceMonitorDataAsync(const Model::DescribeInstanceMonitorDataRequest& request, const DescribeInstanceMonitorDataAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeInstanceMonitorDataOutcomeCallable describeInstanceMonitorDataCallable(const Model::DescribeInstanceMonitorDataRequest& request) const;
@@ -1808,9 +1800,6 @@ 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;
@@ -2060,6 +2049,9 @@ namespace AlibabaCloud
 			ModifyInstanceDeploymentOutcome modifyInstanceDeployment(const Model::ModifyInstanceDeploymentRequest &request)const;
 			void modifyInstanceDeploymentAsync(const Model::ModifyInstanceDeploymentRequest& request, const ModifyInstanceDeploymentAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ModifyInstanceDeploymentOutcomeCallable modifyInstanceDeploymentCallable(const Model::ModifyInstanceDeploymentRequest& request) const;
+			ModifyInstanceMaintenanceAttributesOutcome modifyInstanceMaintenanceAttributes(const Model::ModifyInstanceMaintenanceAttributesRequest &request)const;
+			void modifyInstanceMaintenanceAttributesAsync(const Model::ModifyInstanceMaintenanceAttributesRequest& request, const ModifyInstanceMaintenanceAttributesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ModifyInstanceMaintenanceAttributesOutcomeCallable modifyInstanceMaintenanceAttributesCallable(const Model::ModifyInstanceMaintenanceAttributesRequest& request) const;
 			ModifyInstanceNetworkSpecOutcome modifyInstanceNetworkSpec(const Model::ModifyInstanceNetworkSpecRequest &request)const;
 			void modifyInstanceNetworkSpecAsync(const Model::ModifyInstanceNetworkSpecRequest& request, const ModifyInstanceNetworkSpecAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ModifyInstanceNetworkSpecOutcomeCallable modifyInstanceNetworkSpecCallable(const Model::ModifyInstanceNetworkSpecRequest& request) const;
@@ -2075,9 +2067,6 @@ 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;
@@ -2147,6 +2136,9 @@ namespace AlibabaCloud
 			RecoverVirtualBorderRouterOutcome recoverVirtualBorderRouter(const Model::RecoverVirtualBorderRouterRequest &request)const;
 			void recoverVirtualBorderRouterAsync(const Model::RecoverVirtualBorderRouterRequest& request, const RecoverVirtualBorderRouterAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			RecoverVirtualBorderRouterOutcomeCallable recoverVirtualBorderRouterCallable(const Model::RecoverVirtualBorderRouterRequest& request) const;
+			RedeployDedicatedHostOutcome redeployDedicatedHost(const Model::RedeployDedicatedHostRequest &request)const;
+			void redeployDedicatedHostAsync(const Model::RedeployDedicatedHostRequest& request, const RedeployDedicatedHostAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			RedeployDedicatedHostOutcomeCallable redeployDedicatedHostCallable(const Model::RedeployDedicatedHostRequest& request) const;
 			RedeployInstanceOutcome redeployInstance(const Model::RedeployInstanceRequest &request)const;
 			void redeployInstanceAsync(const Model::RedeployInstanceRequest& request, const RedeployInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			RedeployInstanceOutcomeCallable redeployInstanceCallable(const Model::RedeployInstanceRequest& request) const;

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

@@ -48,6 +48,8 @@ namespace AlibabaCloud
 				void setSecurityGroupId(const std::string& securityGroupId);
 				std::string getDescription()const;
 				void setDescription(const std::string& description);
+				int getSecondaryPrivateIpAddressCount()const;
+				void setSecondaryPrivateIpAddressCount(int secondaryPrivateIpAddressCount);
 				std::string getBusinessType()const;
 				void setBusinessType(const std::string& businessType);
 				std::string getResourceGroupId()const;
@@ -70,6 +72,8 @@ namespace AlibabaCloud
 				void setSecurityGroupIds(const std::vector<std::string>& securityGroupIds);
 				std::string getVSwitchId()const;
 				void setVSwitchId(const std::string& vSwitchId);
+				std::vector<std::string> getPrivateIpAddress()const;
+				void setPrivateIpAddress(const std::vector<std::string>& privateIpAddress);
 				std::string getPrimaryIpAddress()const;
 				void setPrimaryIpAddress(const std::string& primaryIpAddress);
 
@@ -78,6 +82,7 @@ namespace AlibabaCloud
 				std::string clientToken_;
 				std::string securityGroupId_;
 				std::string description_;
+				int secondaryPrivateIpAddressCount_;
 				std::string businessType_;
 				std::string resourceGroupId_;
 				std::string regionId_;
@@ -89,6 +94,7 @@ namespace AlibabaCloud
 				long ownerId_;
 				std::vector<std::string> securityGroupIds_;
 				std::string vSwitchId_;
+				std::vector<std::string> privateIpAddress_;
 				std::string primaryIpAddress_;
 
 			};

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

@@ -1,49 +0,0 @@
-/*
- * 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_

+ 6 - 6
ecs/include/alibabacloud/ecs/model/DescribeMaintenancePropertyRequest.h → ecs/include/alibabacloud/ecs/model/DescribeInstanceMaintenanceAttributesRequest.h

@@ -14,8 +14,8 @@
  * limitations under the License.
  */
 
-#ifndef ALIBABACLOUD_ECS_MODEL_DESCRIBEMAINTENANCEPROPERTYREQUEST_H_
-#define ALIBABACLOUD_ECS_MODEL_DESCRIBEMAINTENANCEPROPERTYREQUEST_H_
+#ifndef ALIBABACLOUD_ECS_MODEL_DESCRIBEINSTANCEMAINTENANCEATTRIBUTESREQUEST_H_
+#define ALIBABACLOUD_ECS_MODEL_DESCRIBEINSTANCEMAINTENANCEATTRIBUTESREQUEST_H_
 
 #include <string>
 #include <vector>
@@ -28,12 +28,12 @@ namespace AlibabaCloud
 	{
 		namespace Model
 		{
-			class ALIBABACLOUD_ECS_EXPORT DescribeMaintenancePropertyRequest : public RpcServiceRequest
+			class ALIBABACLOUD_ECS_EXPORT DescribeInstanceMaintenanceAttributesRequest : public RpcServiceRequest
 			{
 
 			public:
-				DescribeMaintenancePropertyRequest();
-				~DescribeMaintenancePropertyRequest();
+				DescribeInstanceMaintenanceAttributesRequest();
+				~DescribeInstanceMaintenanceAttributesRequest();
 
 				long getResourceOwnerId()const;
 				void setResourceOwnerId(long resourceOwnerId);
@@ -66,4 +66,4 @@ namespace AlibabaCloud
 		}
 	}
 }
-#endif // !ALIBABACLOUD_ECS_MODEL_DESCRIBEMAINTENANCEPROPERTYREQUEST_H_
+#endif // !ALIBABACLOUD_ECS_MODEL_DESCRIBEINSTANCEMAINTENANCEATTRIBUTESREQUEST_H_

+ 23 - 13
ecs/include/alibabacloud/ecs/model/DescribeMaintenancePropertyResult.h → ecs/include/alibabacloud/ecs/model/DescribeInstanceMaintenanceAttributesResult.h

@@ -14,8 +14,8 @@
  * limitations under the License.
  */
 
-#ifndef ALIBABACLOUD_ECS_MODEL_DESCRIBEMAINTENANCEPROPERTYRESULT_H_
-#define ALIBABACLOUD_ECS_MODEL_DESCRIBEMAINTENANCEPROPERTYRESULT_H_
+#ifndef ALIBABACLOUD_ECS_MODEL_DESCRIBEINSTANCEMAINTENANCEATTRIBUTESRESULT_H_
+#define ALIBABACLOUD_ECS_MODEL_DESCRIBEINSTANCEMAINTENANCEATTRIBUTESRESULT_H_
 
 #include <string>
 #include <vector>
@@ -29,25 +29,35 @@ namespace AlibabaCloud
 	{
 		namespace Model
 		{
-			class ALIBABACLOUD_ECS_EXPORT DescribeMaintenancePropertyResult : public ServiceResult
+			class ALIBABACLOUD_ECS_EXPORT DescribeInstanceMaintenanceAttributesResult : public ServiceResult
 			{
 			public:
-				struct MaintenanceProperty
+				struct MaintenanceAttribute
 				{
-					std::string endTime;
+					struct ActionOnMaintenance
+					{
+						std::string defaultValue;
+						std::string value;
+						std::vector<std::string> supportedValues;
+					};
+					struct MaintenanceWindow
+					{
+						std::string endTime;
+						std::string startTime;
+					};
 					std::string instanceId;
-					std::string startTime;
-					std::string actionOnMaintenance;
+					ActionOnMaintenance actionOnMaintenance;
+					std::vector<MaintenanceAttribute::MaintenanceWindow> maintenanceWindows;
 				};
 
 
-				DescribeMaintenancePropertyResult();
-				explicit DescribeMaintenancePropertyResult(const std::string &payload);
-				~DescribeMaintenancePropertyResult();
+				DescribeInstanceMaintenanceAttributesResult();
+				explicit DescribeInstanceMaintenanceAttributesResult(const std::string &payload);
+				~DescribeInstanceMaintenanceAttributesResult();
 				int getTotalCount()const;
 				int getPageSize()const;
 				int getPageNumber()const;
-				std::vector<MaintenanceProperty> getMaintenancePropertySet()const;
+				std::vector<MaintenanceAttribute> getMaintenanceAttributes()const;
 
 			protected:
 				void parse(const std::string &payload);
@@ -55,10 +65,10 @@ namespace AlibabaCloud
 				int totalCount_;
 				int pageSize_;
 				int pageNumber_;
-				std::vector<MaintenanceProperty> maintenancePropertySet_;
+				std::vector<MaintenanceAttribute> maintenanceAttributes_;
 
 			};
 		}
 	}
 }
-#endif // !ALIBABACLOUD_ECS_MODEL_DESCRIBEMAINTENANCEPROPERTYRESULT_H_
+#endif // !ALIBABACLOUD_ECS_MODEL_DESCRIBEINSTANCEMAINTENANCEATTRIBUTESRESULT_H_

+ 14 - 12
ecs/include/alibabacloud/ecs/model/CreateMaintenancePropertyRequest.h → ecs/include/alibabacloud/ecs/model/ModifyInstanceMaintenanceAttributesRequest.h

@@ -14,8 +14,8 @@
  * limitations under the License.
  */
 
-#ifndef ALIBABACLOUD_ECS_MODEL_CREATEMAINTENANCEPROPERTYREQUEST_H_
-#define ALIBABACLOUD_ECS_MODEL_CREATEMAINTENANCEPROPERTYREQUEST_H_
+#ifndef ALIBABACLOUD_ECS_MODEL_MODIFYINSTANCEMAINTENANCEATTRIBUTESREQUEST_H_
+#define ALIBABACLOUD_ECS_MODEL_MODIFYINSTANCEMAINTENANCEATTRIBUTESREQUEST_H_
 
 #include <string>
 #include <vector>
@@ -28,17 +28,22 @@ namespace AlibabaCloud
 	{
 		namespace Model
 		{
-			class ALIBABACLOUD_ECS_EXPORT CreateMaintenancePropertyRequest : public RpcServiceRequest
+			class ALIBABACLOUD_ECS_EXPORT ModifyInstanceMaintenanceAttributesRequest : public RpcServiceRequest
 			{
+				struct MaintenanceWindow
+				{
+					std::string startTime;
+					std::string endTime;
+				};
 
 			public:
-				CreateMaintenancePropertyRequest();
-				~CreateMaintenancePropertyRequest();
+				ModifyInstanceMaintenanceAttributesRequest();
+				~ModifyInstanceMaintenanceAttributesRequest();
 
 				long getResourceOwnerId()const;
 				void setResourceOwnerId(long resourceOwnerId);
-				std::string getStartTime()const;
-				void setStartTime(const std::string& startTime);
+				std::vector<MaintenanceWindow> getMaintenanceWindow()const;
+				void setMaintenanceWindow(const std::vector<MaintenanceWindow>& maintenanceWindow);
 				std::string getRegionId()const;
 				void setRegionId(const std::string& regionId);
 				std::string getActionOnMaintenance()const;
@@ -47,8 +52,6 @@ namespace AlibabaCloud
 				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;
@@ -56,12 +59,11 @@ namespace AlibabaCloud
 
             private:
 				long resourceOwnerId_;
-				std::string startTime_;
+				std::vector<MaintenanceWindow> maintenanceWindow_;
 				std::string regionId_;
 				std::string actionOnMaintenance_;
 				std::string resourceOwnerAccount_;
 				std::string ownerAccount_;
-				std::string endTime_;
 				long ownerId_;
 				std::vector<std::string> instanceId_;
 
@@ -69,4 +71,4 @@ namespace AlibabaCloud
 		}
 	}
 }
-#endif // !ALIBABACLOUD_ECS_MODEL_CREATEMAINTENANCEPROPERTYREQUEST_H_
+#endif // !ALIBABACLOUD_ECS_MODEL_MODIFYINSTANCEMAINTENANCEATTRIBUTESREQUEST_H_

+ 7 - 7
ecs/include/alibabacloud/ecs/model/ModifyMaintenancePropertyResult.h → ecs/include/alibabacloud/ecs/model/ModifyInstanceMaintenanceAttributesResult.h

@@ -14,8 +14,8 @@
  * limitations under the License.
  */
 
-#ifndef ALIBABACLOUD_ECS_MODEL_MODIFYMAINTENANCEPROPERTYRESULT_H_
-#define ALIBABACLOUD_ECS_MODEL_MODIFYMAINTENANCEPROPERTYRESULT_H_
+#ifndef ALIBABACLOUD_ECS_MODEL_MODIFYINSTANCEMAINTENANCEATTRIBUTESRESULT_H_
+#define ALIBABACLOUD_ECS_MODEL_MODIFYINSTANCEMAINTENANCEATTRIBUTESRESULT_H_
 
 #include <string>
 #include <vector>
@@ -29,14 +29,14 @@ namespace AlibabaCloud
 	{
 		namespace Model
 		{
-			class ALIBABACLOUD_ECS_EXPORT ModifyMaintenancePropertyResult : public ServiceResult
+			class ALIBABACLOUD_ECS_EXPORT ModifyInstanceMaintenanceAttributesResult : public ServiceResult
 			{
 			public:
 
 
-				ModifyMaintenancePropertyResult();
-				explicit ModifyMaintenancePropertyResult(const std::string &payload);
-				~ModifyMaintenancePropertyResult();
+				ModifyInstanceMaintenanceAttributesResult();
+				explicit ModifyInstanceMaintenanceAttributesResult(const std::string &payload);
+				~ModifyInstanceMaintenanceAttributesResult();
 
 			protected:
 				void parse(const std::string &payload);
@@ -46,4 +46,4 @@ namespace AlibabaCloud
 		}
 	}
 }
-#endif // !ALIBABACLOUD_ECS_MODEL_MODIFYMAINTENANCEPROPERTYRESULT_H_
+#endif // !ALIBABACLOUD_ECS_MODEL_MODIFYINSTANCEMAINTENANCEATTRIBUTESRESULT_H_

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

@@ -1,72 +0,0 @@
-/*
- * 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_

+ 9 - 9
ecs/include/alibabacloud/ecs/model/DeleteMaintenancePropertyRequest.h → ecs/include/alibabacloud/ecs/model/RedeployDedicatedHostRequest.h

@@ -14,8 +14,8 @@
  * limitations under the License.
  */
 
-#ifndef ALIBABACLOUD_ECS_MODEL_DELETEMAINTENANCEPROPERTYREQUEST_H_
-#define ALIBABACLOUD_ECS_MODEL_DELETEMAINTENANCEPROPERTYREQUEST_H_
+#ifndef ALIBABACLOUD_ECS_MODEL_REDEPLOYDEDICATEDHOSTREQUEST_H_
+#define ALIBABACLOUD_ECS_MODEL_REDEPLOYDEDICATEDHOSTREQUEST_H_
 
 #include <string>
 #include <vector>
@@ -28,12 +28,12 @@ namespace AlibabaCloud
 	{
 		namespace Model
 		{
-			class ALIBABACLOUD_ECS_EXPORT DeleteMaintenancePropertyRequest : public RpcServiceRequest
+			class ALIBABACLOUD_ECS_EXPORT RedeployDedicatedHostRequest : public RpcServiceRequest
 			{
 
 			public:
-				DeleteMaintenancePropertyRequest();
-				~DeleteMaintenancePropertyRequest();
+				RedeployDedicatedHostRequest();
+				~RedeployDedicatedHostRequest();
 
 				long getResourceOwnerId()const;
 				void setResourceOwnerId(long resourceOwnerId);
@@ -43,21 +43,21 @@ namespace AlibabaCloud
 				void setResourceOwnerAccount(const std::string& resourceOwnerAccount);
 				std::string getOwnerAccount()const;
 				void setOwnerAccount(const std::string& ownerAccount);
+				std::string getDedicatedHostId()const;
+				void setDedicatedHostId(const std::string& dedicatedHostId);
 				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_;
+				std::string dedicatedHostId_;
 				long ownerId_;
-				std::vector<std::string> instanceId_;
 
 			};
 		}
 	}
 }
-#endif // !ALIBABACLOUD_ECS_MODEL_DELETEMAINTENANCEPROPERTYREQUEST_H_
+#endif // !ALIBABACLOUD_ECS_MODEL_REDEPLOYDEDICATEDHOSTREQUEST_H_

+ 7 - 7
ecs/include/alibabacloud/ecs/model/CreateMaintenancePropertyResult.h → ecs/include/alibabacloud/ecs/model/RedeployDedicatedHostResult.h

@@ -14,8 +14,8 @@
  * limitations under the License.
  */
 
-#ifndef ALIBABACLOUD_ECS_MODEL_CREATEMAINTENANCEPROPERTYRESULT_H_
-#define ALIBABACLOUD_ECS_MODEL_CREATEMAINTENANCEPROPERTYRESULT_H_
+#ifndef ALIBABACLOUD_ECS_MODEL_REDEPLOYDEDICATEDHOSTRESULT_H_
+#define ALIBABACLOUD_ECS_MODEL_REDEPLOYDEDICATEDHOSTRESULT_H_
 
 #include <string>
 #include <vector>
@@ -29,14 +29,14 @@ namespace AlibabaCloud
 	{
 		namespace Model
 		{
-			class ALIBABACLOUD_ECS_EXPORT CreateMaintenancePropertyResult : public ServiceResult
+			class ALIBABACLOUD_ECS_EXPORT RedeployDedicatedHostResult : public ServiceResult
 			{
 			public:
 
 
-				CreateMaintenancePropertyResult();
-				explicit CreateMaintenancePropertyResult(const std::string &payload);
-				~CreateMaintenancePropertyResult();
+				RedeployDedicatedHostResult();
+				explicit RedeployDedicatedHostResult(const std::string &payload);
+				~RedeployDedicatedHostResult();
 
 			protected:
 				void parse(const std::string &payload);
@@ -46,4 +46,4 @@ namespace AlibabaCloud
 		}
 	}
 }
-#endif // !ALIBABACLOUD_ECS_MODEL_CREATEMAINTENANCEPROPERTYRESULT_H_
+#endif // !ALIBABACLOUD_ECS_MODEL_REDEPLOYDEDICATEDHOSTRESULT_H_

+ 108 - 144
ecs/src/EcsClient.cc

@@ -1527,42 +1527,6 @@ 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();
@@ -2643,42 +2607,6 @@ 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();
@@ -4299,6 +4227,42 @@ EcsClient::DescribeInstanceHistoryEventsOutcomeCallable EcsClient::describeInsta
 	return task->get_future();
 }
 
+EcsClient::DescribeInstanceMaintenanceAttributesOutcome EcsClient::describeInstanceMaintenanceAttributes(const DescribeInstanceMaintenanceAttributesRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeInstanceMaintenanceAttributesOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeInstanceMaintenanceAttributesOutcome(DescribeInstanceMaintenanceAttributesResult(outcome.result()));
+	else
+		return DescribeInstanceMaintenanceAttributesOutcome(outcome.error());
+}
+
+void EcsClient::describeInstanceMaintenanceAttributesAsync(const DescribeInstanceMaintenanceAttributesRequest& request, const DescribeInstanceMaintenanceAttributesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeInstanceMaintenanceAttributes(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+EcsClient::DescribeInstanceMaintenanceAttributesOutcomeCallable EcsClient::describeInstanceMaintenanceAttributesCallable(const DescribeInstanceMaintenanceAttributesRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeInstanceMaintenanceAttributesOutcome()>>(
+			[this, request]()
+			{
+			return this->describeInstanceMaintenanceAttributes(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 EcsClient::DescribeInstanceMonitorDataOutcome EcsClient::describeInstanceMonitorData(const DescribeInstanceMonitorDataRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -4875,42 +4839,6 @@ 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();
@@ -7899,6 +7827,42 @@ EcsClient::ModifyInstanceDeploymentOutcomeCallable EcsClient::modifyInstanceDepl
 	return task->get_future();
 }
 
+EcsClient::ModifyInstanceMaintenanceAttributesOutcome EcsClient::modifyInstanceMaintenanceAttributes(const ModifyInstanceMaintenanceAttributesRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ModifyInstanceMaintenanceAttributesOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ModifyInstanceMaintenanceAttributesOutcome(ModifyInstanceMaintenanceAttributesResult(outcome.result()));
+	else
+		return ModifyInstanceMaintenanceAttributesOutcome(outcome.error());
+}
+
+void EcsClient::modifyInstanceMaintenanceAttributesAsync(const ModifyInstanceMaintenanceAttributesRequest& request, const ModifyInstanceMaintenanceAttributesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, modifyInstanceMaintenanceAttributes(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+EcsClient::ModifyInstanceMaintenanceAttributesOutcomeCallable EcsClient::modifyInstanceMaintenanceAttributesCallable(const ModifyInstanceMaintenanceAttributesRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ModifyInstanceMaintenanceAttributesOutcome()>>(
+			[this, request]()
+			{
+			return this->modifyInstanceMaintenanceAttributes(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 EcsClient::ModifyInstanceNetworkSpecOutcome EcsClient::modifyInstanceNetworkSpec(const ModifyInstanceNetworkSpecRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -8079,42 +8043,6 @@ 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();
@@ -8943,6 +8871,42 @@ EcsClient::RecoverVirtualBorderRouterOutcomeCallable EcsClient::recoverVirtualBo
 	return task->get_future();
 }
 
+EcsClient::RedeployDedicatedHostOutcome EcsClient::redeployDedicatedHost(const RedeployDedicatedHostRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return RedeployDedicatedHostOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return RedeployDedicatedHostOutcome(RedeployDedicatedHostResult(outcome.result()));
+	else
+		return RedeployDedicatedHostOutcome(outcome.error());
+}
+
+void EcsClient::redeployDedicatedHostAsync(const RedeployDedicatedHostRequest& request, const RedeployDedicatedHostAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, redeployDedicatedHost(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+EcsClient::RedeployDedicatedHostOutcomeCallable EcsClient::redeployDedicatedHostCallable(const RedeployDedicatedHostRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<RedeployDedicatedHostOutcome()>>(
+			[this, request]()
+			{
+			return this->redeployDedicatedHost(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 EcsClient::RedeployInstanceOutcome EcsClient::redeployInstance(const RedeployInstanceRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();

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

@@ -1,130 +0,0 @@
-/*
- * 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));
-	}
-}
-

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

@@ -71,6 +71,17 @@ void CreateNetworkInterfaceRequest::setDescription(const std::string& descriptio
 	setCoreParameter("Description", description);
 }
 
+int CreateNetworkInterfaceRequest::getSecondaryPrivateIpAddressCount()const
+{
+	return secondaryPrivateIpAddressCount_;
+}
+
+void CreateNetworkInterfaceRequest::setSecondaryPrivateIpAddressCount(int secondaryPrivateIpAddressCount)
+{
+	secondaryPrivateIpAddressCount_ = secondaryPrivateIpAddressCount;
+	setCoreParameter("SecondaryPrivateIpAddressCount", std::to_string(secondaryPrivateIpAddressCount));
+}
+
 std::string CreateNetworkInterfaceRequest::getBusinessType()const
 {
 	return businessType_;
@@ -199,6 +210,19 @@ void CreateNetworkInterfaceRequest::setVSwitchId(const std::string& vSwitchId)
 	setCoreParameter("VSwitchId", vSwitchId);
 }
 
+std::vector<std::string> CreateNetworkInterfaceRequest::getPrivateIpAddress()const
+{
+	return privateIpAddress_;
+}
+
+void CreateNetworkInterfaceRequest::setPrivateIpAddress(const std::vector<std::string>& privateIpAddress)
+{
+	privateIpAddress_ = privateIpAddress;
+	for(int dep1 = 0; dep1!= privateIpAddress.size(); dep1++) {
+		setCoreParameter("PrivateIpAddress."+ std::to_string(dep1), privateIpAddress.at(dep1));
+	}
+}
+
 std::string CreateNetworkInterfaceRequest::getPrimaryIpAddress()const
 {
 	return primaryIpAddress_;

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

@@ -1,97 +0,0 @@
-/*
- * 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));
-	}
-}
-

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

+ 96 - 0
ecs/src/model/DescribeInstanceMaintenanceAttributesResult.cc

@@ -0,0 +1,96 @@
+/*
+ * 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/DescribeInstanceMaintenanceAttributesResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Ecs;
+using namespace AlibabaCloud::Ecs::Model;
+
+DescribeInstanceMaintenanceAttributesResult::DescribeInstanceMaintenanceAttributesResult() :
+	ServiceResult()
+{}
+
+DescribeInstanceMaintenanceAttributesResult::DescribeInstanceMaintenanceAttributesResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeInstanceMaintenanceAttributesResult::~DescribeInstanceMaintenanceAttributesResult()
+{}
+
+void DescribeInstanceMaintenanceAttributesResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allMaintenanceAttributesNode = value["MaintenanceAttributes"]["MaintenanceAttribute"];
+	for (auto valueMaintenanceAttributesMaintenanceAttribute : allMaintenanceAttributesNode)
+	{
+		MaintenanceAttribute maintenanceAttributesObject;
+		if(!valueMaintenanceAttributesMaintenanceAttribute["InstanceId"].isNull())
+			maintenanceAttributesObject.instanceId = valueMaintenanceAttributesMaintenanceAttribute["InstanceId"].asString();
+		auto allMaintenanceWindowsNode = allMaintenanceAttributesNode["MaintenanceWindows"]["MaintenanceWindow"];
+		for (auto allMaintenanceAttributesNodeMaintenanceWindowsMaintenanceWindow : allMaintenanceWindowsNode)
+		{
+			MaintenanceAttribute::MaintenanceWindow maintenanceWindowsObject;
+			if(!allMaintenanceAttributesNodeMaintenanceWindowsMaintenanceWindow["StartTime"].isNull())
+				maintenanceWindowsObject.startTime = allMaintenanceAttributesNodeMaintenanceWindowsMaintenanceWindow["StartTime"].asString();
+			if(!allMaintenanceAttributesNodeMaintenanceWindowsMaintenanceWindow["EndTime"].isNull())
+				maintenanceWindowsObject.endTime = allMaintenanceAttributesNodeMaintenanceWindowsMaintenanceWindow["EndTime"].asString();
+			maintenanceAttributesObject.maintenanceWindows.push_back(maintenanceWindowsObject);
+		}
+		auto actionOnMaintenanceNode = value["ActionOnMaintenance"];
+		if(!actionOnMaintenanceNode["Value"].isNull())
+			maintenanceAttributesObject.actionOnMaintenance.value = actionOnMaintenanceNode["Value"].asString();
+		if(!actionOnMaintenanceNode["DefaultValue"].isNull())
+			maintenanceAttributesObject.actionOnMaintenance.defaultValue = actionOnMaintenanceNode["DefaultValue"].asString();
+			auto allSupportedValues = actionOnMaintenanceNode["SupportedValues"]["SupportedValue"];
+			for (auto value : allSupportedValues)
+				maintenanceAttributesObject.actionOnMaintenance.supportedValues.push_back(value.asString());
+		maintenanceAttributes_.push_back(maintenanceAttributesObject);
+	}
+	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 DescribeInstanceMaintenanceAttributesResult::getTotalCount()const
+{
+	return totalCount_;
+}
+
+int DescribeInstanceMaintenanceAttributesResult::getPageSize()const
+{
+	return pageSize_;
+}
+
+int DescribeInstanceMaintenanceAttributesResult::getPageNumber()const
+{
+	return pageNumber_;
+}
+
+std::vector<DescribeInstanceMaintenanceAttributesResult::MaintenanceAttribute> DescribeInstanceMaintenanceAttributesResult::getMaintenanceAttributes()const
+{
+	return maintenanceAttributes_;
+}
+

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

@@ -1,119 +0,0 @@
-/*
- * 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));
-	}
-}
-

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

@@ -1,84 +0,0 @@
-/*
- * 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_;
-}
-

+ 124 - 0
ecs/src/model/ModifyInstanceMaintenanceAttributesRequest.cc

@@ -0,0 +1,124 @@
+/*
+ * 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/ModifyInstanceMaintenanceAttributesRequest.h>
+
+using AlibabaCloud::Ecs::Model::ModifyInstanceMaintenanceAttributesRequest;
+
+ModifyInstanceMaintenanceAttributesRequest::ModifyInstanceMaintenanceAttributesRequest() :
+	RpcServiceRequest("ecs", "2014-05-26", "ModifyInstanceMaintenanceAttributes")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+ModifyInstanceMaintenanceAttributesRequest::~ModifyInstanceMaintenanceAttributesRequest()
+{}
+
+long ModifyInstanceMaintenanceAttributesRequest::getResourceOwnerId()const
+{
+	return resourceOwnerId_;
+}
+
+void ModifyInstanceMaintenanceAttributesRequest::setResourceOwnerId(long resourceOwnerId)
+{
+	resourceOwnerId_ = resourceOwnerId;
+	setCoreParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
+}
+
+std::vector<ModifyInstanceMaintenanceAttributesRequest::MaintenanceWindow> ModifyInstanceMaintenanceAttributesRequest::getMaintenanceWindow()const
+{
+	return maintenanceWindow_;
+}
+
+void ModifyInstanceMaintenanceAttributesRequest::setMaintenanceWindow(const std::vector<MaintenanceWindow>& maintenanceWindow)
+{
+	maintenanceWindow_ = maintenanceWindow;
+	for(int dep1 = 0; dep1!= maintenanceWindow.size(); dep1++) {
+		auto maintenanceWindowObj = maintenanceWindow.at(dep1);
+		std::string maintenanceWindowObjStr = "MaintenanceWindow." + std::to_string(dep1);
+		setCoreParameter(maintenanceWindowObjStr + ".StartTime", maintenanceWindowObj.startTime);
+		setCoreParameter(maintenanceWindowObjStr + ".EndTime", maintenanceWindowObj.endTime);
+	}
+}
+
+std::string ModifyInstanceMaintenanceAttributesRequest::getRegionId()const
+{
+	return regionId_;
+}
+
+void ModifyInstanceMaintenanceAttributesRequest::setRegionId(const std::string& regionId)
+{
+	regionId_ = regionId;
+	setCoreParameter("RegionId", regionId);
+}
+
+std::string ModifyInstanceMaintenanceAttributesRequest::getActionOnMaintenance()const
+{
+	return actionOnMaintenance_;
+}
+
+void ModifyInstanceMaintenanceAttributesRequest::setActionOnMaintenance(const std::string& actionOnMaintenance)
+{
+	actionOnMaintenance_ = actionOnMaintenance;
+	setCoreParameter("ActionOnMaintenance", actionOnMaintenance);
+}
+
+std::string ModifyInstanceMaintenanceAttributesRequest::getResourceOwnerAccount()const
+{
+	return resourceOwnerAccount_;
+}
+
+void ModifyInstanceMaintenanceAttributesRequest::setResourceOwnerAccount(const std::string& resourceOwnerAccount)
+{
+	resourceOwnerAccount_ = resourceOwnerAccount;
+	setCoreParameter("ResourceOwnerAccount", resourceOwnerAccount);
+}
+
+std::string ModifyInstanceMaintenanceAttributesRequest::getOwnerAccount()const
+{
+	return ownerAccount_;
+}
+
+void ModifyInstanceMaintenanceAttributesRequest::setOwnerAccount(const std::string& ownerAccount)
+{
+	ownerAccount_ = ownerAccount;
+	setCoreParameter("OwnerAccount", ownerAccount);
+}
+
+long ModifyInstanceMaintenanceAttributesRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void ModifyInstanceMaintenanceAttributesRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setCoreParameter("OwnerId", std::to_string(ownerId));
+}
+
+std::vector<std::string> ModifyInstanceMaintenanceAttributesRequest::getInstanceId()const
+{
+	return instanceId_;
+}
+
+void ModifyInstanceMaintenanceAttributesRequest::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));
+	}
+}
+

+ 5 - 5
ecs/src/model/DeleteMaintenancePropertyResult.cc → ecs/src/model/ModifyInstanceMaintenanceAttributesResult.cc

@@ -14,26 +14,26 @@
  * limitations under the License.
  */
 
-#include <alibabacloud/ecs/model/DeleteMaintenancePropertyResult.h>
+#include <alibabacloud/ecs/model/ModifyInstanceMaintenanceAttributesResult.h>
 #include <json/json.h>
 
 using namespace AlibabaCloud::Ecs;
 using namespace AlibabaCloud::Ecs::Model;
 
-DeleteMaintenancePropertyResult::DeleteMaintenancePropertyResult() :
+ModifyInstanceMaintenanceAttributesResult::ModifyInstanceMaintenanceAttributesResult() :
 	ServiceResult()
 {}
 
-DeleteMaintenancePropertyResult::DeleteMaintenancePropertyResult(const std::string &payload) :
+ModifyInstanceMaintenanceAttributesResult::ModifyInstanceMaintenanceAttributesResult(const std::string &payload) :
 	ServiceResult()
 {
 	parse(payload);
 }
 
-DeleteMaintenancePropertyResult::~DeleteMaintenancePropertyResult()
+ModifyInstanceMaintenanceAttributesResult::~ModifyInstanceMaintenanceAttributesResult()
 {}
 
-void DeleteMaintenancePropertyResult::parse(const std::string &payload)
+void ModifyInstanceMaintenanceAttributesResult::parse(const std::string &payload)
 {
 	Json::Reader reader;
 	Json::Value value;

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

@@ -1,130 +0,0 @@
-/*
- * 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));
-	}
-}
-

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

@@ -1,44 +0,0 @@
-/*
- * 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());
-
-}
-

+ 95 - 0
ecs/src/model/RedeployDedicatedHostRequest.cc

@@ -0,0 +1,95 @@
+/*
+ * 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/RedeployDedicatedHostRequest.h>
+
+using AlibabaCloud::Ecs::Model::RedeployDedicatedHostRequest;
+
+RedeployDedicatedHostRequest::RedeployDedicatedHostRequest() :
+	RpcServiceRequest("ecs", "2014-05-26", "RedeployDedicatedHost")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+RedeployDedicatedHostRequest::~RedeployDedicatedHostRequest()
+{}
+
+long RedeployDedicatedHostRequest::getResourceOwnerId()const
+{
+	return resourceOwnerId_;
+}
+
+void RedeployDedicatedHostRequest::setResourceOwnerId(long resourceOwnerId)
+{
+	resourceOwnerId_ = resourceOwnerId;
+	setCoreParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
+}
+
+std::string RedeployDedicatedHostRequest::getRegionId()const
+{
+	return regionId_;
+}
+
+void RedeployDedicatedHostRequest::setRegionId(const std::string& regionId)
+{
+	regionId_ = regionId;
+	setCoreParameter("RegionId", regionId);
+}
+
+std::string RedeployDedicatedHostRequest::getResourceOwnerAccount()const
+{
+	return resourceOwnerAccount_;
+}
+
+void RedeployDedicatedHostRequest::setResourceOwnerAccount(const std::string& resourceOwnerAccount)
+{
+	resourceOwnerAccount_ = resourceOwnerAccount;
+	setCoreParameter("ResourceOwnerAccount", resourceOwnerAccount);
+}
+
+std::string RedeployDedicatedHostRequest::getOwnerAccount()const
+{
+	return ownerAccount_;
+}
+
+void RedeployDedicatedHostRequest::setOwnerAccount(const std::string& ownerAccount)
+{
+	ownerAccount_ = ownerAccount;
+	setCoreParameter("OwnerAccount", ownerAccount);
+}
+
+std::string RedeployDedicatedHostRequest::getDedicatedHostId()const
+{
+	return dedicatedHostId_;
+}
+
+void RedeployDedicatedHostRequest::setDedicatedHostId(const std::string& dedicatedHostId)
+{
+	dedicatedHostId_ = dedicatedHostId;
+	setCoreParameter("DedicatedHostId", dedicatedHostId);
+}
+
+long RedeployDedicatedHostRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void RedeployDedicatedHostRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setCoreParameter("OwnerId", std::to_string(ownerId));
+}
+

+ 5 - 5
ecs/src/model/CreateMaintenancePropertyResult.cc → ecs/src/model/RedeployDedicatedHostResult.cc

@@ -14,26 +14,26 @@
  * limitations under the License.
  */
 
-#include <alibabacloud/ecs/model/CreateMaintenancePropertyResult.h>
+#include <alibabacloud/ecs/model/RedeployDedicatedHostResult.h>
 #include <json/json.h>
 
 using namespace AlibabaCloud::Ecs;
 using namespace AlibabaCloud::Ecs::Model;
 
-CreateMaintenancePropertyResult::CreateMaintenancePropertyResult() :
+RedeployDedicatedHostResult::RedeployDedicatedHostResult() :
 	ServiceResult()
 {}
 
-CreateMaintenancePropertyResult::CreateMaintenancePropertyResult(const std::string &payload) :
+RedeployDedicatedHostResult::RedeployDedicatedHostResult(const std::string &payload) :
 	ServiceResult()
 {
 	parse(payload);
 }
 
-CreateMaintenancePropertyResult::~CreateMaintenancePropertyResult()
+RedeployDedicatedHostResult::~RedeployDedicatedHostResult()
 {}
 
-void CreateMaintenancePropertyResult::parse(const std::string &payload)
+void RedeployDedicatedHostResult::parse(const std::string &payload)
 {
 	Json::Reader reader;
 	Json::Value value;