Browse Source

ECS SDK Auto Released By yuanping.wyp,Version:1.26.0

Signed-off-by: yixiong.jxy <yixiong.jxy@alibaba-inc.com>
yixiong.jxy 8 years ago
parent
commit
02d22470b7
53 changed files with 5899 additions and 53 deletions
  1. 3 0
      CHANGELOG
  2. 1 1
      VERSION
  3. 40 0
      ecs/CMakeLists.txt
  4. 80 0
      ecs/include/alibabacloud/ecs/EcsClient.h
  5. 170 0
      ecs/include/alibabacloud/ecs/model/AllocateDedicatedHostsRequest.h
  6. 51 0
      ecs/include/alibabacloud/ecs/model/AllocateDedicatedHostsResult.h
  7. 3 3
      ecs/include/alibabacloud/ecs/model/DescribeAvailableResourceRequest.h
  8. 63 0
      ecs/include/alibabacloud/ecs/model/DescribeDedicatedHostAutoRenewRequest.h
  9. 59 0
      ecs/include/alibabacloud/ecs/model/DescribeDedicatedHostAutoRenewResult.h
  10. 120 0
      ecs/include/alibabacloud/ecs/model/DescribeDedicatedHostTypesRequest.h
  11. 63 0
      ecs/include/alibabacloud/ecs/model/DescribeDedicatedHostTypesResult.h
  12. 95 0
      ecs/include/alibabacloud/ecs/model/DescribeDedicatedHostsRequest.h
  13. 112 0
      ecs/include/alibabacloud/ecs/model/DescribeDedicatedHostsResult.h
  14. 60 6
      ecs/include/alibabacloud/ecs/model/DescribeDiskMonitorDataRequest.h
  15. 60 6
      ecs/include/alibabacloud/ecs/model/DescribeInstanceMonitorDataRequest.h
  16. 3 3
      ecs/include/alibabacloud/ecs/model/DescribeResourcesModificationRequest.h
  17. 132 0
      ecs/include/alibabacloud/ecs/model/ModifyDedicatedHostAttributeRequest.h
  18. 49 0
      ecs/include/alibabacloud/ecs/model/ModifyDedicatedHostAttributeResult.h
  19. 66 0
      ecs/include/alibabacloud/ecs/model/ModifyDedicatedHostAutoReleaseTimeRequest.h
  20. 49 0
      ecs/include/alibabacloud/ecs/model/ModifyDedicatedHostAutoReleaseTimeResult.h
  21. 75 0
      ecs/include/alibabacloud/ecs/model/ModifyDedicatedHostAutoRenewAttributeRequest.h
  22. 49 0
      ecs/include/alibabacloud/ecs/model/ModifyDedicatedHostAutoRenewAttributeResult.h
  23. 120 0
      ecs/include/alibabacloud/ecs/model/ModifyInstanceDeploymentRequest.h
  24. 49 0
      ecs/include/alibabacloud/ecs/model/ModifyInstanceDeploymentResult.h
  25. 117 0
      ecs/include/alibabacloud/ecs/model/ReleaseDedicatedHostRequest.h
  26. 49 0
      ecs/include/alibabacloud/ecs/model/ReleaseDedicatedHostResult.h
  27. 126 0
      ecs/include/alibabacloud/ecs/model/RenewDedicatedHostsRequest.h
  28. 49 0
      ecs/include/alibabacloud/ecs/model/RenewDedicatedHostsResult.h
  29. 360 0
      ecs/src/EcsClient.cc
  30. 473 0
      ecs/src/model/AllocateDedicatedHostsRequest.cc
  31. 53 0
      ecs/src/model/AllocateDedicatedHostsResult.cc
  32. 2 2
      ecs/src/model/DescribeAvailableResourceRequest.cc
  33. 93 0
      ecs/src/model/DescribeDedicatedHostAutoRenewRequest.cc
  34. 66 0
      ecs/src/model/DescribeDedicatedHostAutoRenewResult.cc
  35. 302 0
      ecs/src/model/DescribeDedicatedHostTypesRequest.cc
  36. 75 0
      ecs/src/model/DescribeDedicatedHostTypesResult.cc
  37. 198 0
      ecs/src/model/DescribeDedicatedHostsRequest.cc
  38. 162 0
      ecs/src/model/DescribeDedicatedHostsResult.cc
  39. 213 15
      ecs/src/model/DescribeDiskMonitorDataRequest.cc
  40. 213 15
      ecs/src/model/DescribeInstanceMonitorDataRequest.cc
  41. 2 2
      ecs/src/model/DescribeResourcesModificationRequest.cc
  42. 346 0
      ecs/src/model/ModifyDedicatedHostAttributeRequest.cc
  43. 45 0
      ecs/src/model/ModifyDedicatedHostAttributeResult.cc
  44. 104 0
      ecs/src/model/ModifyDedicatedHostAutoReleaseTimeRequest.cc
  45. 45 0
      ecs/src/model/ModifyDedicatedHostAutoReleaseTimeResult.cc
  46. 137 0
      ecs/src/model/ModifyDedicatedHostAutoRenewAttributeRequest.cc
  47. 45 0
      ecs/src/model/ModifyDedicatedHostAutoRenewAttributeResult.cc
  48. 302 0
      ecs/src/model/ModifyInstanceDeploymentRequest.cc
  49. 45 0
      ecs/src/model/ModifyInstanceDeploymentResult.cc
  50. 291 0
      ecs/src/model/ReleaseDedicatedHostRequest.cc
  51. 45 0
      ecs/src/model/ReleaseDedicatedHostResult.cc
  52. 324 0
      ecs/src/model/RenewDedicatedHostsRequest.cc
  53. 45 0
      ecs/src/model/RenewDedicatedHostsResult.cc

+ 3 - 0
CHANGELOG

@@ -1,3 +1,6 @@
+2018-09-14 Version: 1.26.0
+1, Add DedicatedHost Feature
+
 2018-09-13 Version: 1.25.3
 1, Add CreateChannelToken.
 

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.25.3
+1.26.0

+ 40 - 0
ecs/CMakeLists.txt

@@ -25,6 +25,8 @@ set(ecs_public_header_model
 	include/alibabacloud/ecs/model/ModifySnapshotAttributeResult.h
 	include/alibabacloud/ecs/model/JoinSecurityGroupRequest.h
 	include/alibabacloud/ecs/model/JoinSecurityGroupResult.h
+	include/alibabacloud/ecs/model/DescribeDedicatedHostTypesRequest.h
+	include/alibabacloud/ecs/model/DescribeDedicatedHostTypesResult.h
 	include/alibabacloud/ecs/model/DescribeSnapshotsRequest.h
 	include/alibabacloud/ecs/model/DescribeSnapshotsResult.h
 	include/alibabacloud/ecs/model/ModifyBandwidthPackageSpecRequest.h
@@ -77,12 +79,16 @@ set(ecs_public_header_model
 	include/alibabacloud/ecs/model/DescribeInstancesResult.h
 	include/alibabacloud/ecs/model/DescribeSecurityGroupReferencesRequest.h
 	include/alibabacloud/ecs/model/DescribeSecurityGroupReferencesResult.h
+	include/alibabacloud/ecs/model/AllocateDedicatedHostsRequest.h
+	include/alibabacloud/ecs/model/AllocateDedicatedHostsResult.h
 	include/alibabacloud/ecs/model/DeleteRouterInterfaceRequest.h
 	include/alibabacloud/ecs/model/DeleteRouterInterfaceResult.h
 	include/alibabacloud/ecs/model/DetachInstanceRamRoleRequest.h
 	include/alibabacloud/ecs/model/DetachInstanceRamRoleResult.h
 	include/alibabacloud/ecs/model/AllocatePublicIpAddressRequest.h
 	include/alibabacloud/ecs/model/AllocatePublicIpAddressResult.h
+	include/alibabacloud/ecs/model/ModifyDedicatedHostAutoRenewAttributeRequest.h
+	include/alibabacloud/ecs/model/ModifyDedicatedHostAutoRenewAttributeResult.h
 	include/alibabacloud/ecs/model/DescribeEipMonitorDataRequest.h
 	include/alibabacloud/ecs/model/DescribeEipMonitorDataResult.h
 	include/alibabacloud/ecs/model/CancelAutoSnapshotPolicyRequest.h
@@ -129,6 +135,8 @@ set(ecs_public_header_model
 	include/alibabacloud/ecs/model/DescribeSecurityGroupsResult.h
 	include/alibabacloud/ecs/model/ResizeDiskRequest.h
 	include/alibabacloud/ecs/model/ResizeDiskResult.h
+	include/alibabacloud/ecs/model/ModifyDedicatedHostAttributeRequest.h
+	include/alibabacloud/ecs/model/ModifyDedicatedHostAttributeResult.h
 	include/alibabacloud/ecs/model/CreateRouteEntryRequest.h
 	include/alibabacloud/ecs/model/CreateRouteEntryResult.h
 	include/alibabacloud/ecs/model/DescribeInvocationsRequest.h
@@ -149,6 +157,8 @@ set(ecs_public_header_model
 	include/alibabacloud/ecs/model/StopInvocationResult.h
 	include/alibabacloud/ecs/model/ModifyInstanceNetworkSpecRequest.h
 	include/alibabacloud/ecs/model/ModifyInstanceNetworkSpecResult.h
+	include/alibabacloud/ecs/model/ModifyInstanceDeploymentRequest.h
+	include/alibabacloud/ecs/model/ModifyInstanceDeploymentResult.h
 	include/alibabacloud/ecs/model/ModifyDiskAttributeRequest.h
 	include/alibabacloud/ecs/model/ModifyDiskAttributeResult.h
 	include/alibabacloud/ecs/model/CreateVSwitchRequest.h
@@ -161,6 +171,8 @@ set(ecs_public_header_model
 	include/alibabacloud/ecs/model/RemoveTagsResult.h
 	include/alibabacloud/ecs/model/ModifySecurityGroupAttributeRequest.h
 	include/alibabacloud/ecs/model/ModifySecurityGroupAttributeResult.h
+	include/alibabacloud/ecs/model/RenewDedicatedHostsRequest.h
+	include/alibabacloud/ecs/model/RenewDedicatedHostsResult.h
 	include/alibabacloud/ecs/model/CancelSimulatedSystemEventsRequest.h
 	include/alibabacloud/ecs/model/CancelSimulatedSystemEventsResult.h
 	include/alibabacloud/ecs/model/ModifyInstanceAutoReleaseTimeRequest.h
@@ -179,6 +191,8 @@ set(ecs_public_header_model
 	include/alibabacloud/ecs/model/CreateCommandResult.h
 	include/alibabacloud/ecs/model/DescribeInstancesFullStatusRequest.h
 	include/alibabacloud/ecs/model/DescribeInstancesFullStatusResult.h
+	include/alibabacloud/ecs/model/DescribeDedicatedHostsRequest.h
+	include/alibabacloud/ecs/model/DescribeDedicatedHostsResult.h
 	include/alibabacloud/ecs/model/ReleaseEipAddressRequest.h
 	include/alibabacloud/ecs/model/ReleaseEipAddressResult.h
 	include/alibabacloud/ecs/model/DetachClassicLinkVpcRequest.h
@@ -227,6 +241,8 @@ set(ecs_public_header_model
 	include/alibabacloud/ecs/model/ModifyInstanceAutoRenewAttributeResult.h
 	include/alibabacloud/ecs/model/DescribeVirtualBorderRoutersRequest.h
 	include/alibabacloud/ecs/model/DescribeVirtualBorderRoutersResult.h
+	include/alibabacloud/ecs/model/ModifyDedicatedHostAutoReleaseTimeRequest.h
+	include/alibabacloud/ecs/model/ModifyDedicatedHostAutoReleaseTimeResult.h
 	include/alibabacloud/ecs/model/ModifyHpcClusterAttributeRequest.h
 	include/alibabacloud/ecs/model/ModifyHpcClusterAttributeResult.h
 	include/alibabacloud/ecs/model/DescribeLimitationRequest.h
@@ -239,6 +255,8 @@ set(ecs_public_header_model
 	include/alibabacloud/ecs/model/DescribeDeploymentSetTopologyResult.h
 	include/alibabacloud/ecs/model/ModifyInstanceVpcAttributeRequest.h
 	include/alibabacloud/ecs/model/ModifyInstanceVpcAttributeResult.h
+	include/alibabacloud/ecs/model/ReleaseDedicatedHostRequest.h
+	include/alibabacloud/ecs/model/ReleaseDedicatedHostResult.h
 	include/alibabacloud/ecs/model/AddTagsRequest.h
 	include/alibabacloud/ecs/model/AddTagsResult.h
 	include/alibabacloud/ecs/model/CreateHpcClusterRequest.h
@@ -371,6 +389,8 @@ set(ecs_public_header_model
 	include/alibabacloud/ecs/model/DescribeRecommendInstanceTypeResult.h
 	include/alibabacloud/ecs/model/DescribeTagKeysRequest.h
 	include/alibabacloud/ecs/model/DescribeTagKeysResult.h
+	include/alibabacloud/ecs/model/DescribeDedicatedHostAutoRenewRequest.h
+	include/alibabacloud/ecs/model/DescribeDedicatedHostAutoRenewResult.h
 	include/alibabacloud/ecs/model/DeleteInstanceRequest.h
 	include/alibabacloud/ecs/model/DeleteInstanceResult.h
 	include/alibabacloud/ecs/model/CreateLaunchTemplateRequest.h
@@ -518,6 +538,8 @@ set(ecs_src
 	src/model/ModifySnapshotAttributeResult.cc
 	src/model/JoinSecurityGroupRequest.cc
 	src/model/JoinSecurityGroupResult.cc
+	src/model/DescribeDedicatedHostTypesRequest.cc
+	src/model/DescribeDedicatedHostTypesResult.cc
 	src/model/DescribeSnapshotsRequest.cc
 	src/model/DescribeSnapshotsResult.cc
 	src/model/ModifyBandwidthPackageSpecRequest.cc
@@ -570,12 +592,16 @@ set(ecs_src
 	src/model/DescribeInstancesResult.cc
 	src/model/DescribeSecurityGroupReferencesRequest.cc
 	src/model/DescribeSecurityGroupReferencesResult.cc
+	src/model/AllocateDedicatedHostsRequest.cc
+	src/model/AllocateDedicatedHostsResult.cc
 	src/model/DeleteRouterInterfaceRequest.cc
 	src/model/DeleteRouterInterfaceResult.cc
 	src/model/DetachInstanceRamRoleRequest.cc
 	src/model/DetachInstanceRamRoleResult.cc
 	src/model/AllocatePublicIpAddressRequest.cc
 	src/model/AllocatePublicIpAddressResult.cc
+	src/model/ModifyDedicatedHostAutoRenewAttributeRequest.cc
+	src/model/ModifyDedicatedHostAutoRenewAttributeResult.cc
 	src/model/DescribeEipMonitorDataRequest.cc
 	src/model/DescribeEipMonitorDataResult.cc
 	src/model/CancelAutoSnapshotPolicyRequest.cc
@@ -622,6 +648,8 @@ set(ecs_src
 	src/model/DescribeSecurityGroupsResult.cc
 	src/model/ResizeDiskRequest.cc
 	src/model/ResizeDiskResult.cc
+	src/model/ModifyDedicatedHostAttributeRequest.cc
+	src/model/ModifyDedicatedHostAttributeResult.cc
 	src/model/CreateRouteEntryRequest.cc
 	src/model/CreateRouteEntryResult.cc
 	src/model/DescribeInvocationsRequest.cc
@@ -642,6 +670,8 @@ set(ecs_src
 	src/model/StopInvocationResult.cc
 	src/model/ModifyInstanceNetworkSpecRequest.cc
 	src/model/ModifyInstanceNetworkSpecResult.cc
+	src/model/ModifyInstanceDeploymentRequest.cc
+	src/model/ModifyInstanceDeploymentResult.cc
 	src/model/ModifyDiskAttributeRequest.cc
 	src/model/ModifyDiskAttributeResult.cc
 	src/model/CreateVSwitchRequest.cc
@@ -654,6 +684,8 @@ set(ecs_src
 	src/model/RemoveTagsResult.cc
 	src/model/ModifySecurityGroupAttributeRequest.cc
 	src/model/ModifySecurityGroupAttributeResult.cc
+	src/model/RenewDedicatedHostsRequest.cc
+	src/model/RenewDedicatedHostsResult.cc
 	src/model/CancelSimulatedSystemEventsRequest.cc
 	src/model/CancelSimulatedSystemEventsResult.cc
 	src/model/ModifyInstanceAutoReleaseTimeRequest.cc
@@ -672,6 +704,8 @@ set(ecs_src
 	src/model/CreateCommandResult.cc
 	src/model/DescribeInstancesFullStatusRequest.cc
 	src/model/DescribeInstancesFullStatusResult.cc
+	src/model/DescribeDedicatedHostsRequest.cc
+	src/model/DescribeDedicatedHostsResult.cc
 	src/model/ReleaseEipAddressRequest.cc
 	src/model/ReleaseEipAddressResult.cc
 	src/model/DetachClassicLinkVpcRequest.cc
@@ -720,6 +754,8 @@ set(ecs_src
 	src/model/ModifyInstanceAutoRenewAttributeResult.cc
 	src/model/DescribeVirtualBorderRoutersRequest.cc
 	src/model/DescribeVirtualBorderRoutersResult.cc
+	src/model/ModifyDedicatedHostAutoReleaseTimeRequest.cc
+	src/model/ModifyDedicatedHostAutoReleaseTimeResult.cc
 	src/model/ModifyHpcClusterAttributeRequest.cc
 	src/model/ModifyHpcClusterAttributeResult.cc
 	src/model/DescribeLimitationRequest.cc
@@ -732,6 +768,8 @@ set(ecs_src
 	src/model/DescribeDeploymentSetTopologyResult.cc
 	src/model/ModifyInstanceVpcAttributeRequest.cc
 	src/model/ModifyInstanceVpcAttributeResult.cc
+	src/model/ReleaseDedicatedHostRequest.cc
+	src/model/ReleaseDedicatedHostResult.cc
 	src/model/AddTagsRequest.cc
 	src/model/AddTagsResult.cc
 	src/model/CreateHpcClusterRequest.cc
@@ -864,6 +902,8 @@ set(ecs_src
 	src/model/DescribeRecommendInstanceTypeResult.cc
 	src/model/DescribeTagKeysRequest.cc
 	src/model/DescribeTagKeysResult.cc
+	src/model/DescribeDedicatedHostAutoRenewRequest.cc
+	src/model/DescribeDedicatedHostAutoRenewResult.cc
 	src/model/DeleteInstanceRequest.cc
 	src/model/DeleteInstanceResult.cc
 	src/model/CreateLaunchTemplateRequest.cc

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

@@ -26,6 +26,8 @@
 #include "model/ModifySnapshotAttributeResult.h"
 #include "model/JoinSecurityGroupRequest.h"
 #include "model/JoinSecurityGroupResult.h"
+#include "model/DescribeDedicatedHostTypesRequest.h"
+#include "model/DescribeDedicatedHostTypesResult.h"
 #include "model/DescribeSnapshotsRequest.h"
 #include "model/DescribeSnapshotsResult.h"
 #include "model/ModifyBandwidthPackageSpecRequest.h"
@@ -78,12 +80,16 @@
 #include "model/DescribeInstancesResult.h"
 #include "model/DescribeSecurityGroupReferencesRequest.h"
 #include "model/DescribeSecurityGroupReferencesResult.h"
+#include "model/AllocateDedicatedHostsRequest.h"
+#include "model/AllocateDedicatedHostsResult.h"
 #include "model/DeleteRouterInterfaceRequest.h"
 #include "model/DeleteRouterInterfaceResult.h"
 #include "model/DetachInstanceRamRoleRequest.h"
 #include "model/DetachInstanceRamRoleResult.h"
 #include "model/AllocatePublicIpAddressRequest.h"
 #include "model/AllocatePublicIpAddressResult.h"
+#include "model/ModifyDedicatedHostAutoRenewAttributeRequest.h"
+#include "model/ModifyDedicatedHostAutoRenewAttributeResult.h"
 #include "model/DescribeEipMonitorDataRequest.h"
 #include "model/DescribeEipMonitorDataResult.h"
 #include "model/CancelAutoSnapshotPolicyRequest.h"
@@ -130,6 +136,8 @@
 #include "model/DescribeSecurityGroupsResult.h"
 #include "model/ResizeDiskRequest.h"
 #include "model/ResizeDiskResult.h"
+#include "model/ModifyDedicatedHostAttributeRequest.h"
+#include "model/ModifyDedicatedHostAttributeResult.h"
 #include "model/CreateRouteEntryRequest.h"
 #include "model/CreateRouteEntryResult.h"
 #include "model/DescribeInvocationsRequest.h"
@@ -150,6 +158,8 @@
 #include "model/StopInvocationResult.h"
 #include "model/ModifyInstanceNetworkSpecRequest.h"
 #include "model/ModifyInstanceNetworkSpecResult.h"
+#include "model/ModifyInstanceDeploymentRequest.h"
+#include "model/ModifyInstanceDeploymentResult.h"
 #include "model/ModifyDiskAttributeRequest.h"
 #include "model/ModifyDiskAttributeResult.h"
 #include "model/CreateVSwitchRequest.h"
@@ -162,6 +172,8 @@
 #include "model/RemoveTagsResult.h"
 #include "model/ModifySecurityGroupAttributeRequest.h"
 #include "model/ModifySecurityGroupAttributeResult.h"
+#include "model/RenewDedicatedHostsRequest.h"
+#include "model/RenewDedicatedHostsResult.h"
 #include "model/CancelSimulatedSystemEventsRequest.h"
 #include "model/CancelSimulatedSystemEventsResult.h"
 #include "model/ModifyInstanceAutoReleaseTimeRequest.h"
@@ -180,6 +192,8 @@
 #include "model/CreateCommandResult.h"
 #include "model/DescribeInstancesFullStatusRequest.h"
 #include "model/DescribeInstancesFullStatusResult.h"
+#include "model/DescribeDedicatedHostsRequest.h"
+#include "model/DescribeDedicatedHostsResult.h"
 #include "model/ReleaseEipAddressRequest.h"
 #include "model/ReleaseEipAddressResult.h"
 #include "model/DetachClassicLinkVpcRequest.h"
@@ -228,6 +242,8 @@
 #include "model/ModifyInstanceAutoRenewAttributeResult.h"
 #include "model/DescribeVirtualBorderRoutersRequest.h"
 #include "model/DescribeVirtualBorderRoutersResult.h"
+#include "model/ModifyDedicatedHostAutoReleaseTimeRequest.h"
+#include "model/ModifyDedicatedHostAutoReleaseTimeResult.h"
 #include "model/ModifyHpcClusterAttributeRequest.h"
 #include "model/ModifyHpcClusterAttributeResult.h"
 #include "model/DescribeLimitationRequest.h"
@@ -240,6 +256,8 @@
 #include "model/DescribeDeploymentSetTopologyResult.h"
 #include "model/ModifyInstanceVpcAttributeRequest.h"
 #include "model/ModifyInstanceVpcAttributeResult.h"
+#include "model/ReleaseDedicatedHostRequest.h"
+#include "model/ReleaseDedicatedHostResult.h"
 #include "model/AddTagsRequest.h"
 #include "model/AddTagsResult.h"
 #include "model/CreateHpcClusterRequest.h"
@@ -372,6 +390,8 @@
 #include "model/DescribeRecommendInstanceTypeResult.h"
 #include "model/DescribeTagKeysRequest.h"
 #include "model/DescribeTagKeysResult.h"
+#include "model/DescribeDedicatedHostAutoRenewRequest.h"
+#include "model/DescribeDedicatedHostAutoRenewResult.h"
 #include "model/DeleteInstanceRequest.h"
 #include "model/DeleteInstanceResult.h"
 #include "model/CreateLaunchTemplateRequest.h"
@@ -527,6 +547,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::JoinSecurityGroupResult> JoinSecurityGroupOutcome;
 			typedef std::future<JoinSecurityGroupOutcome> JoinSecurityGroupOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::JoinSecurityGroupRequest&, const JoinSecurityGroupOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> JoinSecurityGroupAsyncHandler;
+			typedef Outcome<Error, Model::DescribeDedicatedHostTypesResult> DescribeDedicatedHostTypesOutcome;
+			typedef std::future<DescribeDedicatedHostTypesOutcome> DescribeDedicatedHostTypesOutcomeCallable;
+			typedef std::function<void(const EcsClient*, const Model::DescribeDedicatedHostTypesRequest&, const DescribeDedicatedHostTypesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeDedicatedHostTypesAsyncHandler;
 			typedef Outcome<Error, Model::DescribeSnapshotsResult> DescribeSnapshotsOutcome;
 			typedef std::future<DescribeSnapshotsOutcome> DescribeSnapshotsOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::DescribeSnapshotsRequest&, const DescribeSnapshotsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeSnapshotsAsyncHandler;
@@ -605,6 +628,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DescribeSecurityGroupReferencesResult> DescribeSecurityGroupReferencesOutcome;
 			typedef std::future<DescribeSecurityGroupReferencesOutcome> DescribeSecurityGroupReferencesOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::DescribeSecurityGroupReferencesRequest&, const DescribeSecurityGroupReferencesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeSecurityGroupReferencesAsyncHandler;
+			typedef Outcome<Error, Model::AllocateDedicatedHostsResult> AllocateDedicatedHostsOutcome;
+			typedef std::future<AllocateDedicatedHostsOutcome> AllocateDedicatedHostsOutcomeCallable;
+			typedef std::function<void(const EcsClient*, const Model::AllocateDedicatedHostsRequest&, const AllocateDedicatedHostsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> AllocateDedicatedHostsAsyncHandler;
 			typedef Outcome<Error, Model::DeleteRouterInterfaceResult> DeleteRouterInterfaceOutcome;
 			typedef std::future<DeleteRouterInterfaceOutcome> DeleteRouterInterfaceOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::DeleteRouterInterfaceRequest&, const DeleteRouterInterfaceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteRouterInterfaceAsyncHandler;
@@ -614,6 +640,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::AllocatePublicIpAddressResult> AllocatePublicIpAddressOutcome;
 			typedef std::future<AllocatePublicIpAddressOutcome> AllocatePublicIpAddressOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::AllocatePublicIpAddressRequest&, const AllocatePublicIpAddressOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> AllocatePublicIpAddressAsyncHandler;
+			typedef Outcome<Error, Model::ModifyDedicatedHostAutoRenewAttributeResult> ModifyDedicatedHostAutoRenewAttributeOutcome;
+			typedef std::future<ModifyDedicatedHostAutoRenewAttributeOutcome> ModifyDedicatedHostAutoRenewAttributeOutcomeCallable;
+			typedef std::function<void(const EcsClient*, const Model::ModifyDedicatedHostAutoRenewAttributeRequest&, const ModifyDedicatedHostAutoRenewAttributeOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyDedicatedHostAutoRenewAttributeAsyncHandler;
 			typedef Outcome<Error, Model::DescribeEipMonitorDataResult> DescribeEipMonitorDataOutcome;
 			typedef std::future<DescribeEipMonitorDataOutcome> DescribeEipMonitorDataOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::DescribeEipMonitorDataRequest&, const DescribeEipMonitorDataOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeEipMonitorDataAsyncHandler;
@@ -683,6 +712,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::ResizeDiskResult> ResizeDiskOutcome;
 			typedef std::future<ResizeDiskOutcome> ResizeDiskOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::ResizeDiskRequest&, const ResizeDiskOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ResizeDiskAsyncHandler;
+			typedef Outcome<Error, Model::ModifyDedicatedHostAttributeResult> ModifyDedicatedHostAttributeOutcome;
+			typedef std::future<ModifyDedicatedHostAttributeOutcome> ModifyDedicatedHostAttributeOutcomeCallable;
+			typedef std::function<void(const EcsClient*, const Model::ModifyDedicatedHostAttributeRequest&, const ModifyDedicatedHostAttributeOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyDedicatedHostAttributeAsyncHandler;
 			typedef Outcome<Error, Model::CreateRouteEntryResult> CreateRouteEntryOutcome;
 			typedef std::future<CreateRouteEntryOutcome> CreateRouteEntryOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::CreateRouteEntryRequest&, const CreateRouteEntryOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateRouteEntryAsyncHandler;
@@ -713,6 +745,9 @@ namespace AlibabaCloud
 			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;
+			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::ModifyDiskAttributeResult> ModifyDiskAttributeOutcome;
 			typedef std::future<ModifyDiskAttributeOutcome> ModifyDiskAttributeOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::ModifyDiskAttributeRequest&, const ModifyDiskAttributeOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyDiskAttributeAsyncHandler;
@@ -731,6 +766,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::ModifySecurityGroupAttributeResult> ModifySecurityGroupAttributeOutcome;
 			typedef std::future<ModifySecurityGroupAttributeOutcome> ModifySecurityGroupAttributeOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::ModifySecurityGroupAttributeRequest&, const ModifySecurityGroupAttributeOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifySecurityGroupAttributeAsyncHandler;
+			typedef Outcome<Error, Model::RenewDedicatedHostsResult> RenewDedicatedHostsOutcome;
+			typedef std::future<RenewDedicatedHostsOutcome> RenewDedicatedHostsOutcomeCallable;
+			typedef std::function<void(const EcsClient*, const Model::RenewDedicatedHostsRequest&, const RenewDedicatedHostsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> RenewDedicatedHostsAsyncHandler;
 			typedef Outcome<Error, Model::CancelSimulatedSystemEventsResult> CancelSimulatedSystemEventsOutcome;
 			typedef std::future<CancelSimulatedSystemEventsOutcome> CancelSimulatedSystemEventsOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::CancelSimulatedSystemEventsRequest&, const CancelSimulatedSystemEventsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CancelSimulatedSystemEventsAsyncHandler;
@@ -758,6 +796,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DescribeInstancesFullStatusResult> DescribeInstancesFullStatusOutcome;
 			typedef std::future<DescribeInstancesFullStatusOutcome> DescribeInstancesFullStatusOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::DescribeInstancesFullStatusRequest&, const DescribeInstancesFullStatusOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeInstancesFullStatusAsyncHandler;
+			typedef Outcome<Error, Model::DescribeDedicatedHostsResult> DescribeDedicatedHostsOutcome;
+			typedef std::future<DescribeDedicatedHostsOutcome> DescribeDedicatedHostsOutcomeCallable;
+			typedef std::function<void(const EcsClient*, const Model::DescribeDedicatedHostsRequest&, const DescribeDedicatedHostsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeDedicatedHostsAsyncHandler;
 			typedef Outcome<Error, Model::ReleaseEipAddressResult> ReleaseEipAddressOutcome;
 			typedef std::future<ReleaseEipAddressOutcome> ReleaseEipAddressOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::ReleaseEipAddressRequest&, const ReleaseEipAddressOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ReleaseEipAddressAsyncHandler;
@@ -830,6 +871,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DescribeVirtualBorderRoutersResult> DescribeVirtualBorderRoutersOutcome;
 			typedef std::future<DescribeVirtualBorderRoutersOutcome> DescribeVirtualBorderRoutersOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::DescribeVirtualBorderRoutersRequest&, const DescribeVirtualBorderRoutersOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeVirtualBorderRoutersAsyncHandler;
+			typedef Outcome<Error, Model::ModifyDedicatedHostAutoReleaseTimeResult> ModifyDedicatedHostAutoReleaseTimeOutcome;
+			typedef std::future<ModifyDedicatedHostAutoReleaseTimeOutcome> ModifyDedicatedHostAutoReleaseTimeOutcomeCallable;
+			typedef std::function<void(const EcsClient*, const Model::ModifyDedicatedHostAutoReleaseTimeRequest&, const ModifyDedicatedHostAutoReleaseTimeOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyDedicatedHostAutoReleaseTimeAsyncHandler;
 			typedef Outcome<Error, Model::ModifyHpcClusterAttributeResult> ModifyHpcClusterAttributeOutcome;
 			typedef std::future<ModifyHpcClusterAttributeOutcome> ModifyHpcClusterAttributeOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::ModifyHpcClusterAttributeRequest&, const ModifyHpcClusterAttributeOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyHpcClusterAttributeAsyncHandler;
@@ -848,6 +892,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::ModifyInstanceVpcAttributeResult> ModifyInstanceVpcAttributeOutcome;
 			typedef std::future<ModifyInstanceVpcAttributeOutcome> ModifyInstanceVpcAttributeOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::ModifyInstanceVpcAttributeRequest&, const ModifyInstanceVpcAttributeOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyInstanceVpcAttributeAsyncHandler;
+			typedef Outcome<Error, Model::ReleaseDedicatedHostResult> ReleaseDedicatedHostOutcome;
+			typedef std::future<ReleaseDedicatedHostOutcome> ReleaseDedicatedHostOutcomeCallable;
+			typedef std::function<void(const EcsClient*, const Model::ReleaseDedicatedHostRequest&, const ReleaseDedicatedHostOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ReleaseDedicatedHostAsyncHandler;
 			typedef Outcome<Error, Model::AddTagsResult> AddTagsOutcome;
 			typedef std::future<AddTagsOutcome> AddTagsOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::AddTagsRequest&, const AddTagsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> AddTagsAsyncHandler;
@@ -1046,6 +1093,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DescribeTagKeysResult> DescribeTagKeysOutcome;
 			typedef std::future<DescribeTagKeysOutcome> DescribeTagKeysOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::DescribeTagKeysRequest&, const DescribeTagKeysOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeTagKeysAsyncHandler;
+			typedef Outcome<Error, Model::DescribeDedicatedHostAutoRenewResult> DescribeDedicatedHostAutoRenewOutcome;
+			typedef std::future<DescribeDedicatedHostAutoRenewOutcome> DescribeDedicatedHostAutoRenewOutcomeCallable;
+			typedef std::function<void(const EcsClient*, const Model::DescribeDedicatedHostAutoRenewRequest&, const DescribeDedicatedHostAutoRenewOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeDedicatedHostAutoRenewAsyncHandler;
 			typedef Outcome<Error, Model::DeleteInstanceResult> DeleteInstanceOutcome;
 			typedef std::future<DeleteInstanceOutcome> DeleteInstanceOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::DeleteInstanceRequest&, const DeleteInstanceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteInstanceAsyncHandler;
@@ -1267,6 +1317,9 @@ namespace AlibabaCloud
 			JoinSecurityGroupOutcome joinSecurityGroup(const Model::JoinSecurityGroupRequest &request)const;
 			void joinSecurityGroupAsync(const Model::JoinSecurityGroupRequest& request, const JoinSecurityGroupAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			JoinSecurityGroupOutcomeCallable joinSecurityGroupCallable(const Model::JoinSecurityGroupRequest& request) const;
+			DescribeDedicatedHostTypesOutcome describeDedicatedHostTypes(const Model::DescribeDedicatedHostTypesRequest &request)const;
+			void describeDedicatedHostTypesAsync(const Model::DescribeDedicatedHostTypesRequest& request, const DescribeDedicatedHostTypesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeDedicatedHostTypesOutcomeCallable describeDedicatedHostTypesCallable(const Model::DescribeDedicatedHostTypesRequest& request) const;
 			DescribeSnapshotsOutcome describeSnapshots(const Model::DescribeSnapshotsRequest &request)const;
 			void describeSnapshotsAsync(const Model::DescribeSnapshotsRequest& request, const DescribeSnapshotsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeSnapshotsOutcomeCallable describeSnapshotsCallable(const Model::DescribeSnapshotsRequest& request) const;
@@ -1345,6 +1398,9 @@ namespace AlibabaCloud
 			DescribeSecurityGroupReferencesOutcome describeSecurityGroupReferences(const Model::DescribeSecurityGroupReferencesRequest &request)const;
 			void describeSecurityGroupReferencesAsync(const Model::DescribeSecurityGroupReferencesRequest& request, const DescribeSecurityGroupReferencesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeSecurityGroupReferencesOutcomeCallable describeSecurityGroupReferencesCallable(const Model::DescribeSecurityGroupReferencesRequest& request) const;
+			AllocateDedicatedHostsOutcome allocateDedicatedHosts(const Model::AllocateDedicatedHostsRequest &request)const;
+			void allocateDedicatedHostsAsync(const Model::AllocateDedicatedHostsRequest& request, const AllocateDedicatedHostsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			AllocateDedicatedHostsOutcomeCallable allocateDedicatedHostsCallable(const Model::AllocateDedicatedHostsRequest& request) const;
 			DeleteRouterInterfaceOutcome deleteRouterInterface(const Model::DeleteRouterInterfaceRequest &request)const;
 			void deleteRouterInterfaceAsync(const Model::DeleteRouterInterfaceRequest& request, const DeleteRouterInterfaceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeleteRouterInterfaceOutcomeCallable deleteRouterInterfaceCallable(const Model::DeleteRouterInterfaceRequest& request) const;
@@ -1354,6 +1410,9 @@ namespace AlibabaCloud
 			AllocatePublicIpAddressOutcome allocatePublicIpAddress(const Model::AllocatePublicIpAddressRequest &request)const;
 			void allocatePublicIpAddressAsync(const Model::AllocatePublicIpAddressRequest& request, const AllocatePublicIpAddressAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			AllocatePublicIpAddressOutcomeCallable allocatePublicIpAddressCallable(const Model::AllocatePublicIpAddressRequest& request) const;
+			ModifyDedicatedHostAutoRenewAttributeOutcome modifyDedicatedHostAutoRenewAttribute(const Model::ModifyDedicatedHostAutoRenewAttributeRequest &request)const;
+			void modifyDedicatedHostAutoRenewAttributeAsync(const Model::ModifyDedicatedHostAutoRenewAttributeRequest& request, const ModifyDedicatedHostAutoRenewAttributeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ModifyDedicatedHostAutoRenewAttributeOutcomeCallable modifyDedicatedHostAutoRenewAttributeCallable(const Model::ModifyDedicatedHostAutoRenewAttributeRequest& request) const;
 			DescribeEipMonitorDataOutcome describeEipMonitorData(const Model::DescribeEipMonitorDataRequest &request)const;
 			void describeEipMonitorDataAsync(const Model::DescribeEipMonitorDataRequest& request, const DescribeEipMonitorDataAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeEipMonitorDataOutcomeCallable describeEipMonitorDataCallable(const Model::DescribeEipMonitorDataRequest& request) const;
@@ -1423,6 +1482,9 @@ namespace AlibabaCloud
 			ResizeDiskOutcome resizeDisk(const Model::ResizeDiskRequest &request)const;
 			void resizeDiskAsync(const Model::ResizeDiskRequest& request, const ResizeDiskAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ResizeDiskOutcomeCallable resizeDiskCallable(const Model::ResizeDiskRequest& request) const;
+			ModifyDedicatedHostAttributeOutcome modifyDedicatedHostAttribute(const Model::ModifyDedicatedHostAttributeRequest &request)const;
+			void modifyDedicatedHostAttributeAsync(const Model::ModifyDedicatedHostAttributeRequest& request, const ModifyDedicatedHostAttributeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ModifyDedicatedHostAttributeOutcomeCallable modifyDedicatedHostAttributeCallable(const Model::ModifyDedicatedHostAttributeRequest& request) const;
 			CreateRouteEntryOutcome createRouteEntry(const Model::CreateRouteEntryRequest &request)const;
 			void createRouteEntryAsync(const Model::CreateRouteEntryRequest& request, const CreateRouteEntryAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CreateRouteEntryOutcomeCallable createRouteEntryCallable(const Model::CreateRouteEntryRequest& request) const;
@@ -1453,6 +1515,9 @@ namespace AlibabaCloud
 			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;
+			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;
 			ModifyDiskAttributeOutcome modifyDiskAttribute(const Model::ModifyDiskAttributeRequest &request)const;
 			void modifyDiskAttributeAsync(const Model::ModifyDiskAttributeRequest& request, const ModifyDiskAttributeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ModifyDiskAttributeOutcomeCallable modifyDiskAttributeCallable(const Model::ModifyDiskAttributeRequest& request) const;
@@ -1471,6 +1536,9 @@ namespace AlibabaCloud
 			ModifySecurityGroupAttributeOutcome modifySecurityGroupAttribute(const Model::ModifySecurityGroupAttributeRequest &request)const;
 			void modifySecurityGroupAttributeAsync(const Model::ModifySecurityGroupAttributeRequest& request, const ModifySecurityGroupAttributeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ModifySecurityGroupAttributeOutcomeCallable modifySecurityGroupAttributeCallable(const Model::ModifySecurityGroupAttributeRequest& request) const;
+			RenewDedicatedHostsOutcome renewDedicatedHosts(const Model::RenewDedicatedHostsRequest &request)const;
+			void renewDedicatedHostsAsync(const Model::RenewDedicatedHostsRequest& request, const RenewDedicatedHostsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			RenewDedicatedHostsOutcomeCallable renewDedicatedHostsCallable(const Model::RenewDedicatedHostsRequest& request) const;
 			CancelSimulatedSystemEventsOutcome cancelSimulatedSystemEvents(const Model::CancelSimulatedSystemEventsRequest &request)const;
 			void cancelSimulatedSystemEventsAsync(const Model::CancelSimulatedSystemEventsRequest& request, const CancelSimulatedSystemEventsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CancelSimulatedSystemEventsOutcomeCallable cancelSimulatedSystemEventsCallable(const Model::CancelSimulatedSystemEventsRequest& request) const;
@@ -1498,6 +1566,9 @@ namespace AlibabaCloud
 			DescribeInstancesFullStatusOutcome describeInstancesFullStatus(const Model::DescribeInstancesFullStatusRequest &request)const;
 			void describeInstancesFullStatusAsync(const Model::DescribeInstancesFullStatusRequest& request, const DescribeInstancesFullStatusAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeInstancesFullStatusOutcomeCallable describeInstancesFullStatusCallable(const Model::DescribeInstancesFullStatusRequest& request) const;
+			DescribeDedicatedHostsOutcome describeDedicatedHosts(const Model::DescribeDedicatedHostsRequest &request)const;
+			void describeDedicatedHostsAsync(const Model::DescribeDedicatedHostsRequest& request, const DescribeDedicatedHostsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeDedicatedHostsOutcomeCallable describeDedicatedHostsCallable(const Model::DescribeDedicatedHostsRequest& request) const;
 			ReleaseEipAddressOutcome releaseEipAddress(const Model::ReleaseEipAddressRequest &request)const;
 			void releaseEipAddressAsync(const Model::ReleaseEipAddressRequest& request, const ReleaseEipAddressAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ReleaseEipAddressOutcomeCallable releaseEipAddressCallable(const Model::ReleaseEipAddressRequest& request) const;
@@ -1570,6 +1641,9 @@ namespace AlibabaCloud
 			DescribeVirtualBorderRoutersOutcome describeVirtualBorderRouters(const Model::DescribeVirtualBorderRoutersRequest &request)const;
 			void describeVirtualBorderRoutersAsync(const Model::DescribeVirtualBorderRoutersRequest& request, const DescribeVirtualBorderRoutersAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeVirtualBorderRoutersOutcomeCallable describeVirtualBorderRoutersCallable(const Model::DescribeVirtualBorderRoutersRequest& request) const;
+			ModifyDedicatedHostAutoReleaseTimeOutcome modifyDedicatedHostAutoReleaseTime(const Model::ModifyDedicatedHostAutoReleaseTimeRequest &request)const;
+			void modifyDedicatedHostAutoReleaseTimeAsync(const Model::ModifyDedicatedHostAutoReleaseTimeRequest& request, const ModifyDedicatedHostAutoReleaseTimeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ModifyDedicatedHostAutoReleaseTimeOutcomeCallable modifyDedicatedHostAutoReleaseTimeCallable(const Model::ModifyDedicatedHostAutoReleaseTimeRequest& request) const;
 			ModifyHpcClusterAttributeOutcome modifyHpcClusterAttribute(const Model::ModifyHpcClusterAttributeRequest &request)const;
 			void modifyHpcClusterAttributeAsync(const Model::ModifyHpcClusterAttributeRequest& request, const ModifyHpcClusterAttributeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ModifyHpcClusterAttributeOutcomeCallable modifyHpcClusterAttributeCallable(const Model::ModifyHpcClusterAttributeRequest& request) const;
@@ -1588,6 +1662,9 @@ namespace AlibabaCloud
 			ModifyInstanceVpcAttributeOutcome modifyInstanceVpcAttribute(const Model::ModifyInstanceVpcAttributeRequest &request)const;
 			void modifyInstanceVpcAttributeAsync(const Model::ModifyInstanceVpcAttributeRequest& request, const ModifyInstanceVpcAttributeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ModifyInstanceVpcAttributeOutcomeCallable modifyInstanceVpcAttributeCallable(const Model::ModifyInstanceVpcAttributeRequest& request) const;
+			ReleaseDedicatedHostOutcome releaseDedicatedHost(const Model::ReleaseDedicatedHostRequest &request)const;
+			void releaseDedicatedHostAsync(const Model::ReleaseDedicatedHostRequest& request, const ReleaseDedicatedHostAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ReleaseDedicatedHostOutcomeCallable releaseDedicatedHostCallable(const Model::ReleaseDedicatedHostRequest& request) const;
 			AddTagsOutcome addTags(const Model::AddTagsRequest &request)const;
 			void addTagsAsync(const Model::AddTagsRequest& request, const AddTagsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			AddTagsOutcomeCallable addTagsCallable(const Model::AddTagsRequest& request) const;
@@ -1786,6 +1863,9 @@ namespace AlibabaCloud
 			DescribeTagKeysOutcome describeTagKeys(const Model::DescribeTagKeysRequest &request)const;
 			void describeTagKeysAsync(const Model::DescribeTagKeysRequest& request, const DescribeTagKeysAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeTagKeysOutcomeCallable describeTagKeysCallable(const Model::DescribeTagKeysRequest& request) const;
+			DescribeDedicatedHostAutoRenewOutcome describeDedicatedHostAutoRenew(const Model::DescribeDedicatedHostAutoRenewRequest &request)const;
+			void describeDedicatedHostAutoRenewAsync(const Model::DescribeDedicatedHostAutoRenewRequest& request, const DescribeDedicatedHostAutoRenewAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeDedicatedHostAutoRenewOutcomeCallable describeDedicatedHostAutoRenewCallable(const Model::DescribeDedicatedHostAutoRenewRequest& request) const;
 			DeleteInstanceOutcome deleteInstance(const Model::DeleteInstanceRequest &request)const;
 			void deleteInstanceAsync(const Model::DeleteInstanceRequest& request, const DeleteInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeleteInstanceOutcomeCallable deleteInstanceCallable(const Model::DeleteInstanceRequest& request) const;

+ 170 - 0
ecs/include/alibabacloud/ecs/model/AllocateDedicatedHostsRequest.h

@@ -0,0 +1,170 @@
+/*
+ * 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_ALLOCATEDEDICATEDHOSTSREQUEST_H_
+#define ALIBABACLOUD_ECS_MODEL_ALLOCATEDEDICATEDHOSTSREQUEST_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 AllocateDedicatedHostsRequest : public RpcServiceRequest
+			{
+				struct Tag
+				{
+					std::string key;
+					std::string value;
+				};
+
+			public:
+				AllocateDedicatedHostsRequest();
+				~AllocateDedicatedHostsRequest();
+
+				long getResourceOwnerId()const;
+				void setResourceOwnerId(long resourceOwnerId);
+				std::string getClientToken()const;
+				void setClientToken(const std::string& clientToken);
+				long getCallerParentId()const;
+				void setCallerParentId(long callerParentId);
+				bool getProxy_original_security_transport()const;
+				void setProxy_original_security_transport(bool proxy_original_security_transport);
+				std::string getDescription()const;
+				void setDescription(const std::string& description);
+				std::string getProxy_original_source_ip()const;
+				void setProxy_original_source_ip(const std::string& proxy_original_source_ip);
+				std::string getOwnerIdLoginEmail()const;
+				void setOwnerIdLoginEmail(const std::string& ownerIdLoginEmail);
+				std::string getCallerType()const;
+				void setCallerType(const std::string& callerType);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+				std::string getResourceGroupId()const;
+				void setResourceGroupId(const std::string& resourceGroupId);
+				std::string getSecurityToken()const;
+				void setSecurityToken(const std::string& securityToken);
+				std::string getRegionId()const;
+				void setRegionId(const std::string& regionId);
+				bool getEnable()const;
+				void setEnable(bool enable);
+				std::string getRequestContent()const;
+				void setRequestContent(const std::string& requestContent);
+				std::string getActionOnMaintenance()const;
+				void setActionOnMaintenance(const std::string& actionOnMaintenance);
+				std::string getCallerBidEmail()const;
+				void setCallerBidEmail(const std::string& callerBidEmail);
+				std::vector<Tag> getTag()const;
+				void setTag(const std::vector<Tag>& tag);
+				std::string getDedicatedHostType()const;
+				void setDedicatedHostType(const std::string& dedicatedHostType);
+				std::string getCallerUidEmail()const;
+				void setCallerUidEmail(const std::string& callerUidEmail);
+				long getCallerUid()const;
+				void setCallerUid(long callerUid);
+				std::string getApp_ip()const;
+				void setApp_ip(const std::string& app_ip);
+				int getAutoRenewPeriod()const;
+				void setAutoRenewPeriod(int autoRenewPeriod);
+				int getPeriod()const;
+				void setPeriod(int period);
+				int getQuantity()const;
+				void setQuantity(int quantity);
+				std::string getDedicatedHostName()const;
+				void setDedicatedHostName(const std::string& dedicatedHostName);
+				std::string getResourceOwnerAccount()const;
+				void setResourceOwnerAccount(const std::string& resourceOwnerAccount);
+				std::string getOwnerAccount()const;
+				void setOwnerAccount(const std::string& ownerAccount);
+				std::string getAutoReleaseTime()const;
+				void setAutoReleaseTime(const std::string& autoReleaseTime);
+				std::string getCallerBid()const;
+				void setCallerBid(const std::string& callerBid);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				bool getProxy_trust_transport_info()const;
+				void setProxy_trust_transport_info(bool proxy_trust_transport_info);
+				bool getAk_mfa_present()const;
+				void setAk_mfa_present(bool ak_mfa_present);
+				bool getSecurity_transport()const;
+				void setSecurity_transport(bool security_transport);
+				std::string getPeriodUnit()const;
+				void setPeriodUnit(const std::string& periodUnit);
+				bool getAutoRenew()const;
+				void setAutoRenew(bool autoRenew);
+				std::string getRequestId()const;
+				void setRequestId(const std::string& requestId);
+				int getNetworkAttributesSlbUdpTimeout()const;
+				void setNetworkAttributesSlbUdpTimeout(int networkAttributesSlbUdpTimeout);
+				std::string getZoneId()const;
+				void setZoneId(const std::string& zoneId);
+				std::string getChargeType()const;
+				void setChargeType(const std::string& chargeType);
+				int getNetworkAttributesUdpTimeout()const;
+				void setNetworkAttributesUdpTimeout(int networkAttributesUdpTimeout);
+
+            private:
+				long resourceOwnerId_;
+				std::string clientToken_;
+				long callerParentId_;
+				bool proxy_original_security_transport_;
+				std::string description_;
+				std::string proxy_original_source_ip_;
+				std::string ownerIdLoginEmail_;
+				std::string callerType_;
+				std::string accessKeyId_;
+				std::string resourceGroupId_;
+				std::string securityToken_;
+				std::string regionId_;
+				bool enable_;
+				std::string requestContent_;
+				std::string actionOnMaintenance_;
+				std::string callerBidEmail_;
+				std::vector<Tag> tag_;
+				std::string dedicatedHostType_;
+				std::string callerUidEmail_;
+				long callerUid_;
+				std::string app_ip_;
+				int autoRenewPeriod_;
+				int period_;
+				int quantity_;
+				std::string dedicatedHostName_;
+				std::string resourceOwnerAccount_;
+				std::string ownerAccount_;
+				std::string autoReleaseTime_;
+				std::string callerBid_;
+				long ownerId_;
+				bool proxy_trust_transport_info_;
+				bool ak_mfa_present_;
+				bool security_transport_;
+				std::string periodUnit_;
+				bool autoRenew_;
+				std::string requestId_;
+				int networkAttributesSlbUdpTimeout_;
+				std::string zoneId_;
+				std::string chargeType_;
+				int networkAttributesUdpTimeout_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_ALLOCATEDEDICATEDHOSTSREQUEST_H_

+ 51 - 0
ecs/include/alibabacloud/ecs/model/AllocateDedicatedHostsResult.h

@@ -0,0 +1,51 @@
+/*
+ * 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_ALLOCATEDEDICATEDHOSTSRESULT_H_
+#define ALIBABACLOUD_ECS_MODEL_ALLOCATEDEDICATEDHOSTSRESULT_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 AllocateDedicatedHostsResult : public ServiceResult
+			{
+			public:
+
+
+				AllocateDedicatedHostsResult();
+				explicit AllocateDedicatedHostsResult(const std::string &payload);
+				~AllocateDedicatedHostsResult();
+				std::vector<std::string> getDedicatedHostIdSets()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<std::string> dedicatedHostIdSets_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_ALLOCATEDEDICATEDHOSTSRESULT_H_

+ 3 - 3
ecs/include/alibabacloud/ecs/model/DescribeAvailableResourceRequest.h

@@ -37,8 +37,8 @@ namespace AlibabaCloud
 
 				long getResourceOwnerId()const;
 				void setResourceOwnerId(long resourceOwnerId);
-				int getMemory()const;
-				void setMemory(int memory);
+				float getMemory()const;
+				void setMemory(float memory);
 				long getCallerParentId()const;
 				void setCallerParentId(long callerParentId);
 				std::string getIoOptimized()const;
@@ -110,7 +110,7 @@ namespace AlibabaCloud
 
             private:
 				long resourceOwnerId_;
-				int memory_;
+				float memory_;
 				long callerParentId_;
 				std::string ioOptimized_;
 				bool proxy_original_security_transport_;

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

@@ -0,0 +1,63 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_ECS_MODEL_DESCRIBEDEDICATEDHOSTAUTORENEWREQUEST_H_
+#define ALIBABACLOUD_ECS_MODEL_DESCRIBEDEDICATEDHOSTAUTORENEWREQUEST_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 DescribeDedicatedHostAutoRenewRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeDedicatedHostAutoRenewRequest();
+				~DescribeDedicatedHostAutoRenewRequest();
+
+				std::string getDedicatedHostIds()const;
+				void setDedicatedHostIds(const std::string& dedicatedHostIds);
+				long getResourceOwnerId()const;
+				void setResourceOwnerId(long resourceOwnerId);
+				std::string getResourceOwnerAccount()const;
+				void setResourceOwnerAccount(const std::string& resourceOwnerAccount);
+				std::string getRegionId()const;
+				void setRegionId(const std::string& regionId);
+				std::string getOwnerAccount()const;
+				void setOwnerAccount(const std::string& ownerAccount);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+
+            private:
+				std::string dedicatedHostIds_;
+				long resourceOwnerId_;
+				std::string resourceOwnerAccount_;
+				std::string regionId_;
+				std::string ownerAccount_;
+				long ownerId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_DESCRIBEDEDICATEDHOSTAUTORENEWREQUEST_H_

+ 59 - 0
ecs/include/alibabacloud/ecs/model/DescribeDedicatedHostAutoRenewResult.h

@@ -0,0 +1,59 @@
+/*
+ * 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_DESCRIBEDEDICATEDHOSTAUTORENEWRESULT_H_
+#define ALIBABACLOUD_ECS_MODEL_DESCRIBEDEDICATEDHOSTAUTORENEWRESULT_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 DescribeDedicatedHostAutoRenewResult : public ServiceResult
+			{
+			public:
+				struct DedicatedHostRenewAttribute
+				{
+					bool autoRenewEnabled;
+					std::string dedicatedHostId;
+					std::string renewalStatus;
+					int duration;
+					std::string periodUnit;
+				};
+
+
+				DescribeDedicatedHostAutoRenewResult();
+				explicit DescribeDedicatedHostAutoRenewResult(const std::string &payload);
+				~DescribeDedicatedHostAutoRenewResult();
+				std::vector<DedicatedHostRenewAttribute> getDedicatedHostRenewAttributes()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<DedicatedHostRenewAttribute> dedicatedHostRenewAttributes_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_DESCRIBEDEDICATEDHOSTAUTORENEWRESULT_H_

+ 120 - 0
ecs/include/alibabacloud/ecs/model/DescribeDedicatedHostTypesRequest.h

@@ -0,0 +1,120 @@
+/*
+ * 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_DESCRIBEDEDICATEDHOSTTYPESREQUEST_H_
+#define ALIBABACLOUD_ECS_MODEL_DESCRIBEDEDICATEDHOSTTYPESREQUEST_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 DescribeDedicatedHostTypesRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeDedicatedHostTypesRequest();
+				~DescribeDedicatedHostTypesRequest();
+
+				long getResourceOwnerId()const;
+				void setResourceOwnerId(long resourceOwnerId);
+				long getCallerParentId()const;
+				void setCallerParentId(long callerParentId);
+				bool getProxy_original_security_transport()const;
+				void setProxy_original_security_transport(bool proxy_original_security_transport);
+				std::string getProxy_original_source_ip()const;
+				void setProxy_original_source_ip(const std::string& proxy_original_source_ip);
+				std::string getSupportedInstanceTypeFamily()const;
+				void setSupportedInstanceTypeFamily(const std::string& supportedInstanceTypeFamily);
+				std::string getOwnerIdLoginEmail()const;
+				void setOwnerIdLoginEmail(const std::string& ownerIdLoginEmail);
+				std::string getCallerType()const;
+				void setCallerType(const std::string& callerType);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+				std::string getSecurityToken()const;
+				void setSecurityToken(const std::string& securityToken);
+				std::string getRegionId()const;
+				void setRegionId(const std::string& regionId);
+				bool getEnable()const;
+				void setEnable(bool enable);
+				std::string getRequestContent()const;
+				void setRequestContent(const std::string& requestContent);
+				std::string getCallerBidEmail()const;
+				void setCallerBidEmail(const std::string& callerBidEmail);
+				std::string getDedicatedHostType()const;
+				void setDedicatedHostType(const std::string& dedicatedHostType);
+				std::string getCallerUidEmail()const;
+				void setCallerUidEmail(const std::string& callerUidEmail);
+				long getCallerUid()const;
+				void setCallerUid(long callerUid);
+				std::string getApp_ip()const;
+				void setApp_ip(const std::string& app_ip);
+				std::string getResourceOwnerAccount()const;
+				void setResourceOwnerAccount(const std::string& resourceOwnerAccount);
+				std::string getOwnerAccount()const;
+				void setOwnerAccount(const std::string& ownerAccount);
+				std::string getCallerBid()const;
+				void setCallerBid(const std::string& callerBid);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				bool getProxy_trust_transport_info()const;
+				void setProxy_trust_transport_info(bool proxy_trust_transport_info);
+				bool getAk_mfa_present()const;
+				void setAk_mfa_present(bool ak_mfa_present);
+				bool getSecurity_transport()const;
+				void setSecurity_transport(bool security_transport);
+				std::string getRequestId()const;
+				void setRequestId(const std::string& requestId);
+
+            private:
+				long resourceOwnerId_;
+				long callerParentId_;
+				bool proxy_original_security_transport_;
+				std::string proxy_original_source_ip_;
+				std::string supportedInstanceTypeFamily_;
+				std::string ownerIdLoginEmail_;
+				std::string callerType_;
+				std::string accessKeyId_;
+				std::string securityToken_;
+				std::string regionId_;
+				bool enable_;
+				std::string requestContent_;
+				std::string callerBidEmail_;
+				std::string dedicatedHostType_;
+				std::string callerUidEmail_;
+				long callerUid_;
+				std::string app_ip_;
+				std::string resourceOwnerAccount_;
+				std::string ownerAccount_;
+				std::string callerBid_;
+				long ownerId_;
+				bool proxy_trust_transport_info_;
+				bool ak_mfa_present_;
+				bool security_transport_;
+				std::string requestId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_DESCRIBEDEDICATEDHOSTTYPESREQUEST_H_

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

@@ -0,0 +1,63 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_ECS_MODEL_DESCRIBEDEDICATEDHOSTTYPESRESULT_H_
+#define ALIBABACLOUD_ECS_MODEL_DESCRIBEDEDICATEDHOSTTYPESRESULT_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 DescribeDedicatedHostTypesResult : public ServiceResult
+			{
+			public:
+				struct DedicatedHostType
+				{
+					int cores;
+					float memorySize;
+					std::string localStorageCategory;
+					int sockets;
+					long localStorageCapacity;
+					std::vector<std::string> supportedInstanceTypeFamilies;
+					std::string dedicatedHostType;
+					int totalVcpus;
+					int localStorageAmount;
+				};
+
+
+				DescribeDedicatedHostTypesResult();
+				explicit DescribeDedicatedHostTypesResult(const std::string &payload);
+				~DescribeDedicatedHostTypesResult();
+				std::vector<DedicatedHostType> getDedicatedHostTypes()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<DedicatedHostType> dedicatedHostTypes_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_DESCRIBEDEDICATEDHOSTTYPESRESULT_H_

+ 95 - 0
ecs/include/alibabacloud/ecs/model/DescribeDedicatedHostsRequest.h

@@ -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.
+ */
+
+#ifndef ALIBABACLOUD_ECS_MODEL_DESCRIBEDEDICATEDHOSTSREQUEST_H_
+#define ALIBABACLOUD_ECS_MODEL_DESCRIBEDEDICATEDHOSTSREQUEST_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 DescribeDedicatedHostsRequest : public RpcServiceRequest
+			{
+				struct Tag
+				{
+					std::string value;
+					std::string key;
+				};
+
+			public:
+				DescribeDedicatedHostsRequest();
+				~DescribeDedicatedHostsRequest();
+
+				std::string getDedicatedHostIds()const;
+				void setDedicatedHostIds(const std::string& dedicatedHostIds);
+				long getResourceOwnerId()const;
+				void setResourceOwnerId(long resourceOwnerId);
+				std::string getDedicatedHostName()const;
+				void setDedicatedHostName(const std::string& dedicatedHostName);
+				std::string getResourceOwnerAccount()const;
+				void setResourceOwnerAccount(const std::string& resourceOwnerAccount);
+				std::string getOwnerAccount()const;
+				void setOwnerAccount(const std::string& ownerAccount);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				int getPageNumber()const;
+				void setPageNumber(int pageNumber);
+				std::string getResourceGroupId()const;
+				void setResourceGroupId(const std::string& resourceGroupId);
+				std::string getLockReason()const;
+				void setLockReason(const std::string& lockReason);
+				std::string getRegionId()const;
+				void setRegionId(const std::string& regionId);
+				int getPageSize()const;
+				void setPageSize(int pageSize);
+				std::string getZoneId()const;
+				void setZoneId(const std::string& zoneId);
+				std::string getDedicatedHostType()const;
+				void setDedicatedHostType(const std::string& dedicatedHostType);
+				std::vector<Tag> getTag()const;
+				void setTag(const std::vector<Tag>& tag);
+				std::string getStatus()const;
+				void setStatus(const std::string& status);
+
+            private:
+				std::string dedicatedHostIds_;
+				long resourceOwnerId_;
+				std::string dedicatedHostName_;
+				std::string resourceOwnerAccount_;
+				std::string ownerAccount_;
+				long ownerId_;
+				int pageNumber_;
+				std::string resourceGroupId_;
+				std::string lockReason_;
+				std::string regionId_;
+				int pageSize_;
+				std::string zoneId_;
+				std::string dedicatedHostType_;
+				std::vector<Tag> tag_;
+				std::string status_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_DESCRIBEDEDICATEDHOSTSREQUEST_H_

+ 112 - 0
ecs/include/alibabacloud/ecs/model/DescribeDedicatedHostsResult.h

@@ -0,0 +1,112 @@
+/*
+ * 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_DESCRIBEDEDICATEDHOSTSRESULT_H_
+#define ALIBABACLOUD_ECS_MODEL_DESCRIBEDEDICATEDHOSTSRESULT_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 DescribeDedicatedHostsResult : public ServiceResult
+			{
+			public:
+				struct DedicatedHost
+				{
+					struct Capacity
+					{
+						std::string localStorageCategory;
+						float totalMemory;
+						float availableMemory;
+						int availableVcpus;
+						int totalVcpus;
+						int availableLocalStorage;
+						int totalLocalStorage;
+					};
+					struct NetworkAttributes
+					{
+						int udpTimeout;
+						int slbUdpTimeout;
+					};
+					struct Instance
+					{
+						std::string instanceId;
+						std::string instanceType;
+					};
+					struct OperationLock
+					{
+						std::string lockReason;
+					};
+					struct Tag
+					{
+						std::string tagKey;
+						std::string tagValue;
+					};
+					std::string status;
+					std::string machineId;
+					std::string dedicatedHostId;
+					std::string description;
+					std::string zoneId;
+					std::string resourceGroupId;
+					std::string dedicatedHostType;
+					std::vector<DedicatedHost::OperationLock> operationLocks;
+					std::vector<DedicatedHost::Instance> instances;
+					int cores;
+					NetworkAttributes networkAttributes;
+					int sockets;
+					Capacity capacity;
+					std::string dedicatedHostName;
+					std::string chargeType;
+					std::string expiredTime;
+					std::vector<std::string> supportedInstanceTypeFamilies;
+					std::string actionOnMaintenance;
+					std::string creationTime;
+					std::string saleCycle;
+					std::string regionId;
+					std::vector<DedicatedHost::Tag> tags;
+					std::string autoReleaseTime;
+				};
+
+
+				DescribeDedicatedHostsResult();
+				explicit DescribeDedicatedHostsResult(const std::string &payload);
+				~DescribeDedicatedHostsResult();
+				std::vector<DedicatedHost> getDedicatedHosts()const;
+				int getTotalCount()const;
+				int getPageSize()const;
+				int getPageNumber()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<DedicatedHost> dedicatedHosts_;
+				int totalCount_;
+				int pageSize_;
+				int pageNumber_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_DESCRIBEDEDICATEDHOSTSRESULT_H_

+ 60 - 6
ecs/include/alibabacloud/ecs/model/DescribeDiskMonitorDataRequest.h

@@ -37,6 +37,36 @@ namespace AlibabaCloud
 
 				long getResourceOwnerId()const;
 				void setResourceOwnerId(long resourceOwnerId);
+				long getCallerParentId()const;
+				void setCallerParentId(long callerParentId);
+				bool getProxy_original_security_transport()const;
+				void setProxy_original_security_transport(bool proxy_original_security_transport);
+				std::string getStartTime()const;
+				void setStartTime(const std::string& startTime);
+				std::string getProxy_original_source_ip()const;
+				void setProxy_original_source_ip(const std::string& proxy_original_source_ip);
+				std::string getOwnerIdLoginEmail()const;
+				void setOwnerIdLoginEmail(const std::string& ownerIdLoginEmail);
+				std::string getCallerType()const;
+				void setCallerType(const std::string& callerType);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+				std::string getSecurityToken()const;
+				void setSecurityToken(const std::string& securityToken);
+				bool getEnable()const;
+				void setEnable(bool enable);
+				std::string getRequestContent()const;
+				void setRequestContent(const std::string& requestContent);
+				std::string getCallerBidEmail()const;
+				void setCallerBidEmail(const std::string& callerBidEmail);
+				std::string getDiskId()const;
+				void setDiskId(const std::string& diskId);
+				std::string getCallerUidEmail()const;
+				void setCallerUidEmail(const std::string& callerUidEmail);
+				long getCallerUid()const;
+				void setCallerUid(long callerUid);
+				std::string getApp_ip()const;
+				void setApp_ip(const std::string& app_ip);
 				int getPeriod()const;
 				void setPeriod(int period);
 				std::string getResourceOwnerAccount()const;
@@ -45,22 +75,46 @@ namespace AlibabaCloud
 				void setOwnerAccount(const std::string& ownerAccount);
 				std::string getEndTime()const;
 				void setEndTime(const std::string& endTime);
-				std::string getDiskId()const;
-				void setDiskId(const std::string& diskId);
-				std::string getStartTime()const;
-				void setStartTime(const std::string& startTime);
+				std::string getCallerBid()const;
+				void setCallerBid(const std::string& callerBid);
 				long getOwnerId()const;
 				void setOwnerId(long ownerId);
+				bool getProxy_trust_transport_info()const;
+				void setProxy_trust_transport_info(bool proxy_trust_transport_info);
+				bool getAk_mfa_present()const;
+				void setAk_mfa_present(bool ak_mfa_present);
+				bool getSecurity_transport()const;
+				void setSecurity_transport(bool security_transport);
+				std::string getRequestId()const;
+				void setRequestId(const std::string& requestId);
 
             private:
 				long resourceOwnerId_;
+				long callerParentId_;
+				bool proxy_original_security_transport_;
+				std::string startTime_;
+				std::string proxy_original_source_ip_;
+				std::string ownerIdLoginEmail_;
+				std::string callerType_;
+				std::string accessKeyId_;
+				std::string securityToken_;
+				bool enable_;
+				std::string requestContent_;
+				std::string callerBidEmail_;
+				std::string diskId_;
+				std::string callerUidEmail_;
+				long callerUid_;
+				std::string app_ip_;
 				int period_;
 				std::string resourceOwnerAccount_;
 				std::string ownerAccount_;
 				std::string endTime_;
-				std::string diskId_;
-				std::string startTime_;
+				std::string callerBid_;
 				long ownerId_;
+				bool proxy_trust_transport_info_;
+				bool ak_mfa_present_;
+				bool security_transport_;
+				std::string requestId_;
 
 			};
 		}

+ 60 - 6
ecs/include/alibabacloud/ecs/model/DescribeInstanceMonitorDataRequest.h

@@ -37,30 +37,84 @@ namespace AlibabaCloud
 
 				long getResourceOwnerId()const;
 				void setResourceOwnerId(long resourceOwnerId);
+				long getCallerParentId()const;
+				void setCallerParentId(long callerParentId);
+				bool getProxy_original_security_transport()const;
+				void setProxy_original_security_transport(bool proxy_original_security_transport);
+				std::string getStartTime()const;
+				void setStartTime(const std::string& startTime);
+				std::string getProxy_original_source_ip()const;
+				void setProxy_original_source_ip(const std::string& proxy_original_source_ip);
+				std::string getOwnerIdLoginEmail()const;
+				void setOwnerIdLoginEmail(const std::string& ownerIdLoginEmail);
+				std::string getCallerType()const;
+				void setCallerType(const std::string& callerType);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+				std::string getSecurityToken()const;
+				void setSecurityToken(const std::string& securityToken);
+				bool getEnable()const;
+				void setEnable(bool enable);
+				std::string getRequestContent()const;
+				void setRequestContent(const std::string& requestContent);
+				std::string getCallerBidEmail()const;
+				void setCallerBidEmail(const std::string& callerBidEmail);
+				std::string getCallerUidEmail()const;
+				void setCallerUidEmail(const std::string& callerUidEmail);
+				long getCallerUid()const;
+				void setCallerUid(long callerUid);
+				std::string getApp_ip()const;
+				void setApp_ip(const std::string& app_ip);
 				int getPeriod()const;
 				void setPeriod(int period);
-				std::string getInstanceId()const;
-				void setInstanceId(const std::string& instanceId);
 				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);
-				std::string getStartTime()const;
-				void setStartTime(const std::string& startTime);
+				std::string getCallerBid()const;
+				void setCallerBid(const std::string& callerBid);
 				long getOwnerId()const;
 				void setOwnerId(long ownerId);
+				bool getProxy_trust_transport_info()const;
+				void setProxy_trust_transport_info(bool proxy_trust_transport_info);
+				bool getAk_mfa_present()const;
+				void setAk_mfa_present(bool ak_mfa_present);
+				bool getSecurity_transport()const;
+				void setSecurity_transport(bool security_transport);
+				std::string getInstanceId()const;
+				void setInstanceId(const std::string& instanceId);
+				std::string getRequestId()const;
+				void setRequestId(const std::string& requestId);
 
             private:
 				long resourceOwnerId_;
+				long callerParentId_;
+				bool proxy_original_security_transport_;
+				std::string startTime_;
+				std::string proxy_original_source_ip_;
+				std::string ownerIdLoginEmail_;
+				std::string callerType_;
+				std::string accessKeyId_;
+				std::string securityToken_;
+				bool enable_;
+				std::string requestContent_;
+				std::string callerBidEmail_;
+				std::string callerUidEmail_;
+				long callerUid_;
+				std::string app_ip_;
 				int period_;
-				std::string instanceId_;
 				std::string resourceOwnerAccount_;
 				std::string ownerAccount_;
 				std::string endTime_;
-				std::string startTime_;
+				std::string callerBid_;
 				long ownerId_;
+				bool proxy_trust_transport_info_;
+				bool ak_mfa_present_;
+				bool security_transport_;
+				std::string instanceId_;
+				std::string requestId_;
 
 			};
 		}

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

@@ -37,8 +37,8 @@ namespace AlibabaCloud
 
 				long getResourceOwnerId()const;
 				void setResourceOwnerId(long resourceOwnerId);
-				int getMemory()const;
-				void setMemory(int memory);
+				float getMemory()const;
+				void setMemory(float memory);
 				long getCallerParentId()const;
 				void setCallerParentId(long callerParentId);
 				bool getProxy_original_security_transport()const;
@@ -98,7 +98,7 @@ namespace AlibabaCloud
 
             private:
 				long resourceOwnerId_;
-				int memory_;
+				float memory_;
 				long callerParentId_;
 				bool proxy_original_security_transport_;
 				std::string proxy_original_source_ip_;

+ 132 - 0
ecs/include/alibabacloud/ecs/model/ModifyDedicatedHostAttributeRequest.h

@@ -0,0 +1,132 @@
+/*
+ * 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_MODIFYDEDICATEDHOSTATTRIBUTEREQUEST_H_
+#define ALIBABACLOUD_ECS_MODEL_MODIFYDEDICATEDHOSTATTRIBUTEREQUEST_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 ModifyDedicatedHostAttributeRequest : public RpcServiceRequest
+			{
+
+			public:
+				ModifyDedicatedHostAttributeRequest();
+				~ModifyDedicatedHostAttributeRequest();
+
+				long getResourceOwnerId()const;
+				void setResourceOwnerId(long resourceOwnerId);
+				long getCallerParentId()const;
+				void setCallerParentId(long callerParentId);
+				bool getProxy_original_security_transport()const;
+				void setProxy_original_security_transport(bool proxy_original_security_transport);
+				std::string getDescription()const;
+				void setDescription(const std::string& description);
+				std::string getProxy_original_source_ip()const;
+				void setProxy_original_source_ip(const std::string& proxy_original_source_ip);
+				std::string getOwnerIdLoginEmail()const;
+				void setOwnerIdLoginEmail(const std::string& ownerIdLoginEmail);
+				std::string getCallerType()const;
+				void setCallerType(const std::string& callerType);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+				std::string getSecurityToken()const;
+				void setSecurityToken(const std::string& securityToken);
+				std::string getRegionId()const;
+				void setRegionId(const std::string& regionId);
+				bool getEnable()const;
+				void setEnable(bool enable);
+				std::string getRequestContent()const;
+				void setRequestContent(const std::string& requestContent);
+				std::string getActionOnMaintenance()const;
+				void setActionOnMaintenance(const std::string& actionOnMaintenance);
+				std::string getCallerBidEmail()const;
+				void setCallerBidEmail(const std::string& callerBidEmail);
+				std::string getCallerUidEmail()const;
+				void setCallerUidEmail(const std::string& callerUidEmail);
+				long getCallerUid()const;
+				void setCallerUid(long callerUid);
+				std::string getApp_ip()const;
+				void setApp_ip(const std::string& app_ip);
+				std::string getDedicatedHostName()const;
+				void setDedicatedHostName(const std::string& dedicatedHostName);
+				std::string getResourceOwnerAccount()const;
+				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);
+				std::string getCallerBid()const;
+				void setCallerBid(const std::string& callerBid);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				bool getProxy_trust_transport_info()const;
+				void setProxy_trust_transport_info(bool proxy_trust_transport_info);
+				bool getAk_mfa_present()const;
+				void setAk_mfa_present(bool ak_mfa_present);
+				bool getSecurity_transport()const;
+				void setSecurity_transport(bool security_transport);
+				std::string getRequestId()const;
+				void setRequestId(const std::string& requestId);
+				int getNetworkAttributesSlbUdpTimeout()const;
+				void setNetworkAttributesSlbUdpTimeout(int networkAttributesSlbUdpTimeout);
+				int getNetworkAttributesUdpTimeout()const;
+				void setNetworkAttributesUdpTimeout(int networkAttributesUdpTimeout);
+
+            private:
+				long resourceOwnerId_;
+				long callerParentId_;
+				bool proxy_original_security_transport_;
+				std::string description_;
+				std::string proxy_original_source_ip_;
+				std::string ownerIdLoginEmail_;
+				std::string callerType_;
+				std::string accessKeyId_;
+				std::string securityToken_;
+				std::string regionId_;
+				bool enable_;
+				std::string requestContent_;
+				std::string actionOnMaintenance_;
+				std::string callerBidEmail_;
+				std::string callerUidEmail_;
+				long callerUid_;
+				std::string app_ip_;
+				std::string dedicatedHostName_;
+				std::string resourceOwnerAccount_;
+				std::string ownerAccount_;
+				std::string dedicatedHostId_;
+				std::string callerBid_;
+				long ownerId_;
+				bool proxy_trust_transport_info_;
+				bool ak_mfa_present_;
+				bool security_transport_;
+				std::string requestId_;
+				int networkAttributesSlbUdpTimeout_;
+				int networkAttributesUdpTimeout_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_MODIFYDEDICATEDHOSTATTRIBUTEREQUEST_H_

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

@@ -0,0 +1,49 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_ECS_MODEL_MODIFYDEDICATEDHOSTATTRIBUTERESULT_H_
+#define ALIBABACLOUD_ECS_MODEL_MODIFYDEDICATEDHOSTATTRIBUTERESULT_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 ModifyDedicatedHostAttributeResult : public ServiceResult
+			{
+			public:
+
+
+				ModifyDedicatedHostAttributeResult();
+				explicit ModifyDedicatedHostAttributeResult(const std::string &payload);
+				~ModifyDedicatedHostAttributeResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_MODIFYDEDICATEDHOSTATTRIBUTERESULT_H_

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

@@ -0,0 +1,66 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_ECS_MODEL_MODIFYDEDICATEDHOSTAUTORELEASETIMEREQUEST_H_
+#define ALIBABACLOUD_ECS_MODEL_MODIFYDEDICATEDHOSTAUTORELEASETIMEREQUEST_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 ModifyDedicatedHostAutoReleaseTimeRequest : public RpcServiceRequest
+			{
+
+			public:
+				ModifyDedicatedHostAutoReleaseTimeRequest();
+				~ModifyDedicatedHostAutoReleaseTimeRequest();
+
+				long getResourceOwnerId()const;
+				void setResourceOwnerId(long resourceOwnerId);
+				std::string getResourceOwnerAccount()const;
+				void setResourceOwnerAccount(const std::string& resourceOwnerAccount);
+				std::string getRegionId()const;
+				void setRegionId(const std::string& regionId);
+				std::string getOwnerAccount()const;
+				void setOwnerAccount(const std::string& ownerAccount);
+				std::string getAutoReleaseTime()const;
+				void setAutoReleaseTime(const std::string& autoReleaseTime);
+				std::string getDedicatedHostId()const;
+				void setDedicatedHostId(const std::string& dedicatedHostId);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+
+            private:
+				long resourceOwnerId_;
+				std::string resourceOwnerAccount_;
+				std::string regionId_;
+				std::string ownerAccount_;
+				std::string autoReleaseTime_;
+				std::string dedicatedHostId_;
+				long ownerId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_MODIFYDEDICATEDHOSTAUTORELEASETIMEREQUEST_H_

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

@@ -0,0 +1,49 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_ECS_MODEL_MODIFYDEDICATEDHOSTAUTORELEASETIMERESULT_H_
+#define ALIBABACLOUD_ECS_MODEL_MODIFYDEDICATEDHOSTAUTORELEASETIMERESULT_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 ModifyDedicatedHostAutoReleaseTimeResult : public ServiceResult
+			{
+			public:
+
+
+				ModifyDedicatedHostAutoReleaseTimeResult();
+				explicit ModifyDedicatedHostAutoReleaseTimeResult(const std::string &payload);
+				~ModifyDedicatedHostAutoReleaseTimeResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_MODIFYDEDICATEDHOSTAUTORELEASETIMERESULT_H_

+ 75 - 0
ecs/include/alibabacloud/ecs/model/ModifyDedicatedHostAutoRenewAttributeRequest.h

@@ -0,0 +1,75 @@
+/*
+ * 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_MODIFYDEDICATEDHOSTAUTORENEWATTRIBUTEREQUEST_H_
+#define ALIBABACLOUD_ECS_MODEL_MODIFYDEDICATEDHOSTAUTORENEWATTRIBUTEREQUEST_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 ModifyDedicatedHostAutoRenewAttributeRequest : public RpcServiceRequest
+			{
+
+			public:
+				ModifyDedicatedHostAutoRenewAttributeRequest();
+				~ModifyDedicatedHostAutoRenewAttributeRequest();
+
+				int getDuration()const;
+				void setDuration(int duration);
+				std::string getDedicatedHostIds()const;
+				void setDedicatedHostIds(const std::string& dedicatedHostIds);
+				long getResourceOwnerId()const;
+				void setResourceOwnerId(long resourceOwnerId);
+				std::string getPeriodUnit()const;
+				void setPeriodUnit(const std::string& periodUnit);
+				bool getAutoRenew()const;
+				void setAutoRenew(bool autoRenew);
+				std::string getResourceOwnerAccount()const;
+				void setResourceOwnerAccount(const std::string& resourceOwnerAccount);
+				std::string getRegionId()const;
+				void setRegionId(const std::string& regionId);
+				std::string getOwnerAccount()const;
+				void setOwnerAccount(const std::string& ownerAccount);
+				std::string getRenewalStatus()const;
+				void setRenewalStatus(const std::string& renewalStatus);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+
+            private:
+				int duration_;
+				std::string dedicatedHostIds_;
+				long resourceOwnerId_;
+				std::string periodUnit_;
+				bool autoRenew_;
+				std::string resourceOwnerAccount_;
+				std::string regionId_;
+				std::string ownerAccount_;
+				std::string renewalStatus_;
+				long ownerId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_MODIFYDEDICATEDHOSTAUTORENEWATTRIBUTEREQUEST_H_

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

@@ -0,0 +1,49 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_ECS_MODEL_MODIFYDEDICATEDHOSTAUTORENEWATTRIBUTERESULT_H_
+#define ALIBABACLOUD_ECS_MODEL_MODIFYDEDICATEDHOSTAUTORENEWATTRIBUTERESULT_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 ModifyDedicatedHostAutoRenewAttributeResult : public ServiceResult
+			{
+			public:
+
+
+				ModifyDedicatedHostAutoRenewAttributeResult();
+				explicit ModifyDedicatedHostAutoRenewAttributeResult(const std::string &payload);
+				~ModifyDedicatedHostAutoRenewAttributeResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_MODIFYDEDICATEDHOSTAUTORENEWATTRIBUTERESULT_H_

+ 120 - 0
ecs/include/alibabacloud/ecs/model/ModifyInstanceDeploymentRequest.h

@@ -0,0 +1,120 @@
+/*
+ * 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_MODIFYINSTANCEDEPLOYMENTREQUEST_H_
+#define ALIBABACLOUD_ECS_MODEL_MODIFYINSTANCEDEPLOYMENTREQUEST_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 ModifyInstanceDeploymentRequest : public RpcServiceRequest
+			{
+
+			public:
+				ModifyInstanceDeploymentRequest();
+				~ModifyInstanceDeploymentRequest();
+
+				long getResourceOwnerId()const;
+				void setResourceOwnerId(long resourceOwnerId);
+				long getCallerParentId()const;
+				void setCallerParentId(long callerParentId);
+				bool getProxy_original_security_transport()const;
+				void setProxy_original_security_transport(bool proxy_original_security_transport);
+				std::string getProxy_original_source_ip()const;
+				void setProxy_original_source_ip(const std::string& proxy_original_source_ip);
+				std::string getOwnerIdLoginEmail()const;
+				void setOwnerIdLoginEmail(const std::string& ownerIdLoginEmail);
+				std::string getCallerType()const;
+				void setCallerType(const std::string& callerType);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+				std::string getSecurityToken()const;
+				void setSecurityToken(const std::string& securityToken);
+				std::string getRegionId()const;
+				void setRegionId(const std::string& regionId);
+				bool getEnable()const;
+				void setEnable(bool enable);
+				std::string getRequestContent()const;
+				void setRequestContent(const std::string& requestContent);
+				std::string getCallerBidEmail()const;
+				void setCallerBidEmail(const std::string& callerBidEmail);
+				std::string getCallerUidEmail()const;
+				void setCallerUidEmail(const std::string& callerUidEmail);
+				long getCallerUid()const;
+				void setCallerUid(long callerUid);
+				std::string getApp_ip()const;
+				void setApp_ip(const std::string& app_ip);
+				std::string getResourceOwnerAccount()const;
+				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);
+				std::string getCallerBid()const;
+				void setCallerBid(const std::string& callerBid);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				bool getProxy_trust_transport_info()const;
+				void setProxy_trust_transport_info(bool proxy_trust_transport_info);
+				bool getAk_mfa_present()const;
+				void setAk_mfa_present(bool ak_mfa_present);
+				bool getSecurity_transport()const;
+				void setSecurity_transport(bool security_transport);
+				std::string getInstanceId()const;
+				void setInstanceId(const std::string& instanceId);
+				std::string getRequestId()const;
+				void setRequestId(const std::string& requestId);
+
+            private:
+				long resourceOwnerId_;
+				long callerParentId_;
+				bool proxy_original_security_transport_;
+				std::string proxy_original_source_ip_;
+				std::string ownerIdLoginEmail_;
+				std::string callerType_;
+				std::string accessKeyId_;
+				std::string securityToken_;
+				std::string regionId_;
+				bool enable_;
+				std::string requestContent_;
+				std::string callerBidEmail_;
+				std::string callerUidEmail_;
+				long callerUid_;
+				std::string app_ip_;
+				std::string resourceOwnerAccount_;
+				std::string ownerAccount_;
+				std::string dedicatedHostId_;
+				std::string callerBid_;
+				long ownerId_;
+				bool proxy_trust_transport_info_;
+				bool ak_mfa_present_;
+				bool security_transport_;
+				std::string instanceId_;
+				std::string requestId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_MODIFYINSTANCEDEPLOYMENTREQUEST_H_

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

@@ -0,0 +1,49 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_ECS_MODEL_MODIFYINSTANCEDEPLOYMENTRESULT_H_
+#define ALIBABACLOUD_ECS_MODEL_MODIFYINSTANCEDEPLOYMENTRESULT_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 ModifyInstanceDeploymentResult : public ServiceResult
+			{
+			public:
+
+
+				ModifyInstanceDeploymentResult();
+				explicit ModifyInstanceDeploymentResult(const std::string &payload);
+				~ModifyInstanceDeploymentResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_MODIFYINSTANCEDEPLOYMENTRESULT_H_

+ 117 - 0
ecs/include/alibabacloud/ecs/model/ReleaseDedicatedHostRequest.h

@@ -0,0 +1,117 @@
+/*
+ * 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_RELEASEDEDICATEDHOSTREQUEST_H_
+#define ALIBABACLOUD_ECS_MODEL_RELEASEDEDICATEDHOSTREQUEST_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 ReleaseDedicatedHostRequest : public RpcServiceRequest
+			{
+
+			public:
+				ReleaseDedicatedHostRequest();
+				~ReleaseDedicatedHostRequest();
+
+				long getResourceOwnerId()const;
+				void setResourceOwnerId(long resourceOwnerId);
+				long getCallerParentId()const;
+				void setCallerParentId(long callerParentId);
+				bool getProxy_original_security_transport()const;
+				void setProxy_original_security_transport(bool proxy_original_security_transport);
+				std::string getProxy_original_source_ip()const;
+				void setProxy_original_source_ip(const std::string& proxy_original_source_ip);
+				std::string getOwnerIdLoginEmail()const;
+				void setOwnerIdLoginEmail(const std::string& ownerIdLoginEmail);
+				std::string getCallerType()const;
+				void setCallerType(const std::string& callerType);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+				std::string getSecurityToken()const;
+				void setSecurityToken(const std::string& securityToken);
+				std::string getRegionId()const;
+				void setRegionId(const std::string& regionId);
+				bool getEnable()const;
+				void setEnable(bool enable);
+				std::string getRequestContent()const;
+				void setRequestContent(const std::string& requestContent);
+				std::string getCallerBidEmail()const;
+				void setCallerBidEmail(const std::string& callerBidEmail);
+				std::string getCallerUidEmail()const;
+				void setCallerUidEmail(const std::string& callerUidEmail);
+				long getCallerUid()const;
+				void setCallerUid(long callerUid);
+				std::string getApp_ip()const;
+				void setApp_ip(const std::string& app_ip);
+				std::string getResourceOwnerAccount()const;
+				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);
+				std::string getCallerBid()const;
+				void setCallerBid(const std::string& callerBid);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				bool getProxy_trust_transport_info()const;
+				void setProxy_trust_transport_info(bool proxy_trust_transport_info);
+				bool getAk_mfa_present()const;
+				void setAk_mfa_present(bool ak_mfa_present);
+				bool getSecurity_transport()const;
+				void setSecurity_transport(bool security_transport);
+				std::string getRequestId()const;
+				void setRequestId(const std::string& requestId);
+
+            private:
+				long resourceOwnerId_;
+				long callerParentId_;
+				bool proxy_original_security_transport_;
+				std::string proxy_original_source_ip_;
+				std::string ownerIdLoginEmail_;
+				std::string callerType_;
+				std::string accessKeyId_;
+				std::string securityToken_;
+				std::string regionId_;
+				bool enable_;
+				std::string requestContent_;
+				std::string callerBidEmail_;
+				std::string callerUidEmail_;
+				long callerUid_;
+				std::string app_ip_;
+				std::string resourceOwnerAccount_;
+				std::string ownerAccount_;
+				std::string dedicatedHostId_;
+				std::string callerBid_;
+				long ownerId_;
+				bool proxy_trust_transport_info_;
+				bool ak_mfa_present_;
+				bool security_transport_;
+				std::string requestId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_RELEASEDEDICATEDHOSTREQUEST_H_

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

@@ -0,0 +1,49 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_ECS_MODEL_RELEASEDEDICATEDHOSTRESULT_H_
+#define ALIBABACLOUD_ECS_MODEL_RELEASEDEDICATEDHOSTRESULT_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 ReleaseDedicatedHostResult : public ServiceResult
+			{
+			public:
+
+
+				ReleaseDedicatedHostResult();
+				explicit ReleaseDedicatedHostResult(const std::string &payload);
+				~ReleaseDedicatedHostResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_RELEASEDEDICATEDHOSTRESULT_H_

+ 126 - 0
ecs/include/alibabacloud/ecs/model/RenewDedicatedHostsRequest.h

@@ -0,0 +1,126 @@
+/*
+ * 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_RENEWDEDICATEDHOSTSREQUEST_H_
+#define ALIBABACLOUD_ECS_MODEL_RENEWDEDICATEDHOSTSREQUEST_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 RenewDedicatedHostsRequest : public RpcServiceRequest
+			{
+
+			public:
+				RenewDedicatedHostsRequest();
+				~RenewDedicatedHostsRequest();
+
+				std::string getDedicatedHostIds()const;
+				void setDedicatedHostIds(const std::string& dedicatedHostIds);
+				long getResourceOwnerId()const;
+				void setResourceOwnerId(long resourceOwnerId);
+				std::string getClientToken()const;
+				void setClientToken(const std::string& clientToken);
+				long getCallerParentId()const;
+				void setCallerParentId(long callerParentId);
+				bool getProxy_original_security_transport()const;
+				void setProxy_original_security_transport(bool proxy_original_security_transport);
+				std::string getProxy_original_source_ip()const;
+				void setProxy_original_source_ip(const std::string& proxy_original_source_ip);
+				std::string getOwnerIdLoginEmail()const;
+				void setOwnerIdLoginEmail(const std::string& ownerIdLoginEmail);
+				std::string getCallerType()const;
+				void setCallerType(const std::string& callerType);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+				std::string getSecurityToken()const;
+				void setSecurityToken(const std::string& securityToken);
+				std::string getRegionId()const;
+				void setRegionId(const std::string& regionId);
+				bool getEnable()const;
+				void setEnable(bool enable);
+				std::string getRequestContent()const;
+				void setRequestContent(const std::string& requestContent);
+				std::string getCallerBidEmail()const;
+				void setCallerBidEmail(const std::string& callerBidEmail);
+				std::string getCallerUidEmail()const;
+				void setCallerUidEmail(const std::string& callerUidEmail);
+				long getCallerUid()const;
+				void setCallerUid(long callerUid);
+				std::string getApp_ip()const;
+				void setApp_ip(const std::string& app_ip);
+				int getPeriod()const;
+				void setPeriod(int period);
+				std::string getResourceOwnerAccount()const;
+				void setResourceOwnerAccount(const std::string& resourceOwnerAccount);
+				std::string getOwnerAccount()const;
+				void setOwnerAccount(const std::string& ownerAccount);
+				std::string getCallerBid()const;
+				void setCallerBid(const std::string& callerBid);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				bool getProxy_trust_transport_info()const;
+				void setProxy_trust_transport_info(bool proxy_trust_transport_info);
+				bool getAk_mfa_present()const;
+				void setAk_mfa_present(bool ak_mfa_present);
+				bool getSecurity_transport()const;
+				void setSecurity_transport(bool security_transport);
+				std::string getPeriodUnit()const;
+				void setPeriodUnit(const std::string& periodUnit);
+				std::string getRequestId()const;
+				void setRequestId(const std::string& requestId);
+
+            private:
+				std::string dedicatedHostIds_;
+				long resourceOwnerId_;
+				std::string clientToken_;
+				long callerParentId_;
+				bool proxy_original_security_transport_;
+				std::string proxy_original_source_ip_;
+				std::string ownerIdLoginEmail_;
+				std::string callerType_;
+				std::string accessKeyId_;
+				std::string securityToken_;
+				std::string regionId_;
+				bool enable_;
+				std::string requestContent_;
+				std::string callerBidEmail_;
+				std::string callerUidEmail_;
+				long callerUid_;
+				std::string app_ip_;
+				int period_;
+				std::string resourceOwnerAccount_;
+				std::string ownerAccount_;
+				std::string callerBid_;
+				long ownerId_;
+				bool proxy_trust_transport_info_;
+				bool ak_mfa_present_;
+				bool security_transport_;
+				std::string periodUnit_;
+				std::string requestId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_RENEWDEDICATEDHOSTSREQUEST_H_

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

@@ -0,0 +1,49 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_ECS_MODEL_RENEWDEDICATEDHOSTSRESULT_H_
+#define ALIBABACLOUD_ECS_MODEL_RENEWDEDICATEDHOSTSRESULT_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 RenewDedicatedHostsResult : public ServiceResult
+			{
+			public:
+
+
+				RenewDedicatedHostsResult();
+				explicit RenewDedicatedHostsResult(const std::string &payload);
+				~RenewDedicatedHostsResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_RENEWDEDICATEDHOSTSRESULT_H_

+ 360 - 0
ecs/src/EcsClient.cc

@@ -123,6 +123,42 @@ EcsClient::JoinSecurityGroupOutcomeCallable EcsClient::joinSecurityGroupCallable
 	return task->get_future();
 }
 
+EcsClient::DescribeDedicatedHostTypesOutcome EcsClient::describeDedicatedHostTypes(const DescribeDedicatedHostTypesRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeDedicatedHostTypesOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeDedicatedHostTypesOutcome(DescribeDedicatedHostTypesResult(outcome.result()));
+	else
+		return DescribeDedicatedHostTypesOutcome(outcome.error());
+}
+
+void EcsClient::describeDedicatedHostTypesAsync(const DescribeDedicatedHostTypesRequest& request, const DescribeDedicatedHostTypesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeDedicatedHostTypes(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+EcsClient::DescribeDedicatedHostTypesOutcomeCallable EcsClient::describeDedicatedHostTypesCallable(const DescribeDedicatedHostTypesRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeDedicatedHostTypesOutcome()>>(
+			[this, request]()
+			{
+			return this->describeDedicatedHostTypes(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 EcsClient::DescribeSnapshotsOutcome EcsClient::describeSnapshots(const DescribeSnapshotsRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -1059,6 +1095,42 @@ EcsClient::DescribeSecurityGroupReferencesOutcomeCallable EcsClient::describeSec
 	return task->get_future();
 }
 
+EcsClient::AllocateDedicatedHostsOutcome EcsClient::allocateDedicatedHosts(const AllocateDedicatedHostsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return AllocateDedicatedHostsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return AllocateDedicatedHostsOutcome(AllocateDedicatedHostsResult(outcome.result()));
+	else
+		return AllocateDedicatedHostsOutcome(outcome.error());
+}
+
+void EcsClient::allocateDedicatedHostsAsync(const AllocateDedicatedHostsRequest& request, const AllocateDedicatedHostsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, allocateDedicatedHosts(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+EcsClient::AllocateDedicatedHostsOutcomeCallable EcsClient::allocateDedicatedHostsCallable(const AllocateDedicatedHostsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<AllocateDedicatedHostsOutcome()>>(
+			[this, request]()
+			{
+			return this->allocateDedicatedHosts(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 EcsClient::DeleteRouterInterfaceOutcome EcsClient::deleteRouterInterface(const DeleteRouterInterfaceRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -1167,6 +1239,42 @@ EcsClient::AllocatePublicIpAddressOutcomeCallable EcsClient::allocatePublicIpAdd
 	return task->get_future();
 }
 
+EcsClient::ModifyDedicatedHostAutoRenewAttributeOutcome EcsClient::modifyDedicatedHostAutoRenewAttribute(const ModifyDedicatedHostAutoRenewAttributeRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ModifyDedicatedHostAutoRenewAttributeOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ModifyDedicatedHostAutoRenewAttributeOutcome(ModifyDedicatedHostAutoRenewAttributeResult(outcome.result()));
+	else
+		return ModifyDedicatedHostAutoRenewAttributeOutcome(outcome.error());
+}
+
+void EcsClient::modifyDedicatedHostAutoRenewAttributeAsync(const ModifyDedicatedHostAutoRenewAttributeRequest& request, const ModifyDedicatedHostAutoRenewAttributeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, modifyDedicatedHostAutoRenewAttribute(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+EcsClient::ModifyDedicatedHostAutoRenewAttributeOutcomeCallable EcsClient::modifyDedicatedHostAutoRenewAttributeCallable(const ModifyDedicatedHostAutoRenewAttributeRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ModifyDedicatedHostAutoRenewAttributeOutcome()>>(
+			[this, request]()
+			{
+			return this->modifyDedicatedHostAutoRenewAttribute(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 EcsClient::DescribeEipMonitorDataOutcome EcsClient::describeEipMonitorData(const DescribeEipMonitorDataRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -1995,6 +2103,42 @@ EcsClient::ResizeDiskOutcomeCallable EcsClient::resizeDiskCallable(const ResizeD
 	return task->get_future();
 }
 
+EcsClient::ModifyDedicatedHostAttributeOutcome EcsClient::modifyDedicatedHostAttribute(const ModifyDedicatedHostAttributeRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ModifyDedicatedHostAttributeOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ModifyDedicatedHostAttributeOutcome(ModifyDedicatedHostAttributeResult(outcome.result()));
+	else
+		return ModifyDedicatedHostAttributeOutcome(outcome.error());
+}
+
+void EcsClient::modifyDedicatedHostAttributeAsync(const ModifyDedicatedHostAttributeRequest& request, const ModifyDedicatedHostAttributeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, modifyDedicatedHostAttribute(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+EcsClient::ModifyDedicatedHostAttributeOutcomeCallable EcsClient::modifyDedicatedHostAttributeCallable(const ModifyDedicatedHostAttributeRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ModifyDedicatedHostAttributeOutcome()>>(
+			[this, request]()
+			{
+			return this->modifyDedicatedHostAttribute(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 EcsClient::CreateRouteEntryOutcome EcsClient::createRouteEntry(const CreateRouteEntryRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -2355,6 +2499,42 @@ EcsClient::ModifyInstanceNetworkSpecOutcomeCallable EcsClient::modifyInstanceNet
 	return task->get_future();
 }
 
+EcsClient::ModifyInstanceDeploymentOutcome EcsClient::modifyInstanceDeployment(const ModifyInstanceDeploymentRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ModifyInstanceDeploymentOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ModifyInstanceDeploymentOutcome(ModifyInstanceDeploymentResult(outcome.result()));
+	else
+		return ModifyInstanceDeploymentOutcome(outcome.error());
+}
+
+void EcsClient::modifyInstanceDeploymentAsync(const ModifyInstanceDeploymentRequest& request, const ModifyInstanceDeploymentAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, modifyInstanceDeployment(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+EcsClient::ModifyInstanceDeploymentOutcomeCallable EcsClient::modifyInstanceDeploymentCallable(const ModifyInstanceDeploymentRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ModifyInstanceDeploymentOutcome()>>(
+			[this, request]()
+			{
+			return this->modifyInstanceDeployment(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 EcsClient::ModifyDiskAttributeOutcome EcsClient::modifyDiskAttribute(const ModifyDiskAttributeRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -2571,6 +2751,42 @@ EcsClient::ModifySecurityGroupAttributeOutcomeCallable EcsClient::modifySecurity
 	return task->get_future();
 }
 
+EcsClient::RenewDedicatedHostsOutcome EcsClient::renewDedicatedHosts(const RenewDedicatedHostsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return RenewDedicatedHostsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return RenewDedicatedHostsOutcome(RenewDedicatedHostsResult(outcome.result()));
+	else
+		return RenewDedicatedHostsOutcome(outcome.error());
+}
+
+void EcsClient::renewDedicatedHostsAsync(const RenewDedicatedHostsRequest& request, const RenewDedicatedHostsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, renewDedicatedHosts(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+EcsClient::RenewDedicatedHostsOutcomeCallable EcsClient::renewDedicatedHostsCallable(const RenewDedicatedHostsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<RenewDedicatedHostsOutcome()>>(
+			[this, request]()
+			{
+			return this->renewDedicatedHosts(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 EcsClient::CancelSimulatedSystemEventsOutcome EcsClient::cancelSimulatedSystemEvents(const CancelSimulatedSystemEventsRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -2895,6 +3111,42 @@ EcsClient::DescribeInstancesFullStatusOutcomeCallable EcsClient::describeInstanc
 	return task->get_future();
 }
 
+EcsClient::DescribeDedicatedHostsOutcome EcsClient::describeDedicatedHosts(const DescribeDedicatedHostsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeDedicatedHostsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeDedicatedHostsOutcome(DescribeDedicatedHostsResult(outcome.result()));
+	else
+		return DescribeDedicatedHostsOutcome(outcome.error());
+}
+
+void EcsClient::describeDedicatedHostsAsync(const DescribeDedicatedHostsRequest& request, const DescribeDedicatedHostsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeDedicatedHosts(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+EcsClient::DescribeDedicatedHostsOutcomeCallable EcsClient::describeDedicatedHostsCallable(const DescribeDedicatedHostsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeDedicatedHostsOutcome()>>(
+			[this, request]()
+			{
+			return this->describeDedicatedHosts(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 EcsClient::ReleaseEipAddressOutcome EcsClient::releaseEipAddress(const ReleaseEipAddressRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -3759,6 +4011,42 @@ EcsClient::DescribeVirtualBorderRoutersOutcomeCallable EcsClient::describeVirtua
 	return task->get_future();
 }
 
+EcsClient::ModifyDedicatedHostAutoReleaseTimeOutcome EcsClient::modifyDedicatedHostAutoReleaseTime(const ModifyDedicatedHostAutoReleaseTimeRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ModifyDedicatedHostAutoReleaseTimeOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ModifyDedicatedHostAutoReleaseTimeOutcome(ModifyDedicatedHostAutoReleaseTimeResult(outcome.result()));
+	else
+		return ModifyDedicatedHostAutoReleaseTimeOutcome(outcome.error());
+}
+
+void EcsClient::modifyDedicatedHostAutoReleaseTimeAsync(const ModifyDedicatedHostAutoReleaseTimeRequest& request, const ModifyDedicatedHostAutoReleaseTimeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, modifyDedicatedHostAutoReleaseTime(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+EcsClient::ModifyDedicatedHostAutoReleaseTimeOutcomeCallable EcsClient::modifyDedicatedHostAutoReleaseTimeCallable(const ModifyDedicatedHostAutoReleaseTimeRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ModifyDedicatedHostAutoReleaseTimeOutcome()>>(
+			[this, request]()
+			{
+			return this->modifyDedicatedHostAutoReleaseTime(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 EcsClient::ModifyHpcClusterAttributeOutcome EcsClient::modifyHpcClusterAttribute(const ModifyHpcClusterAttributeRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -3975,6 +4263,42 @@ EcsClient::ModifyInstanceVpcAttributeOutcomeCallable EcsClient::modifyInstanceVp
 	return task->get_future();
 }
 
+EcsClient::ReleaseDedicatedHostOutcome EcsClient::releaseDedicatedHost(const ReleaseDedicatedHostRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ReleaseDedicatedHostOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ReleaseDedicatedHostOutcome(ReleaseDedicatedHostResult(outcome.result()));
+	else
+		return ReleaseDedicatedHostOutcome(outcome.error());
+}
+
+void EcsClient::releaseDedicatedHostAsync(const ReleaseDedicatedHostRequest& request, const ReleaseDedicatedHostAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, releaseDedicatedHost(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+EcsClient::ReleaseDedicatedHostOutcomeCallable EcsClient::releaseDedicatedHostCallable(const ReleaseDedicatedHostRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ReleaseDedicatedHostOutcome()>>(
+			[this, request]()
+			{
+			return this->releaseDedicatedHost(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 EcsClient::AddTagsOutcome EcsClient::addTags(const AddTagsRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -6351,6 +6675,42 @@ EcsClient::DescribeTagKeysOutcomeCallable EcsClient::describeTagKeysCallable(con
 	return task->get_future();
 }
 
+EcsClient::DescribeDedicatedHostAutoRenewOutcome EcsClient::describeDedicatedHostAutoRenew(const DescribeDedicatedHostAutoRenewRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeDedicatedHostAutoRenewOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeDedicatedHostAutoRenewOutcome(DescribeDedicatedHostAutoRenewResult(outcome.result()));
+	else
+		return DescribeDedicatedHostAutoRenewOutcome(outcome.error());
+}
+
+void EcsClient::describeDedicatedHostAutoRenewAsync(const DescribeDedicatedHostAutoRenewRequest& request, const DescribeDedicatedHostAutoRenewAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeDedicatedHostAutoRenew(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+EcsClient::DescribeDedicatedHostAutoRenewOutcomeCallable EcsClient::describeDedicatedHostAutoRenewCallable(const DescribeDedicatedHostAutoRenewRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeDedicatedHostAutoRenewOutcome()>>(
+			[this, request]()
+			{
+			return this->describeDedicatedHostAutoRenew(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 EcsClient::DeleteInstanceOutcome EcsClient::deleteInstance(const DeleteInstanceRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();

+ 473 - 0
ecs/src/model/AllocateDedicatedHostsRequest.cc

@@ -0,0 +1,473 @@
+/*
+ * 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/AllocateDedicatedHostsRequest.h>
+
+using AlibabaCloud::Ecs::Model::AllocateDedicatedHostsRequest;
+
+AllocateDedicatedHostsRequest::AllocateDedicatedHostsRequest() :
+	RpcServiceRequest("ecs", "2014-05-26", "AllocateDedicatedHosts")
+{}
+
+AllocateDedicatedHostsRequest::~AllocateDedicatedHostsRequest()
+{}
+
+long AllocateDedicatedHostsRequest::getResourceOwnerId()const
+{
+	return resourceOwnerId_;
+}
+
+void AllocateDedicatedHostsRequest::setResourceOwnerId(long resourceOwnerId)
+{
+	resourceOwnerId_ = resourceOwnerId;
+	setParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
+}
+
+std::string AllocateDedicatedHostsRequest::getClientToken()const
+{
+	return clientToken_;
+}
+
+void AllocateDedicatedHostsRequest::setClientToken(const std::string& clientToken)
+{
+	clientToken_ = clientToken;
+	setParameter("ClientToken", clientToken);
+}
+
+long AllocateDedicatedHostsRequest::getCallerParentId()const
+{
+	return callerParentId_;
+}
+
+void AllocateDedicatedHostsRequest::setCallerParentId(long callerParentId)
+{
+	callerParentId_ = callerParentId;
+	setParameter("CallerParentId", std::to_string(callerParentId));
+}
+
+bool AllocateDedicatedHostsRequest::getProxy_original_security_transport()const
+{
+	return proxy_original_security_transport_;
+}
+
+void AllocateDedicatedHostsRequest::setProxy_original_security_transport(bool proxy_original_security_transport)
+{
+	proxy_original_security_transport_ = proxy_original_security_transport;
+	setParameter("Proxy_original_security_transport", std::to_string(proxy_original_security_transport));
+}
+
+std::string AllocateDedicatedHostsRequest::getDescription()const
+{
+	return description_;
+}
+
+void AllocateDedicatedHostsRequest::setDescription(const std::string& description)
+{
+	description_ = description;
+	setParameter("Description", description);
+}
+
+std::string AllocateDedicatedHostsRequest::getProxy_original_source_ip()const
+{
+	return proxy_original_source_ip_;
+}
+
+void AllocateDedicatedHostsRequest::setProxy_original_source_ip(const std::string& proxy_original_source_ip)
+{
+	proxy_original_source_ip_ = proxy_original_source_ip;
+	setParameter("Proxy_original_source_ip", proxy_original_source_ip);
+}
+
+std::string AllocateDedicatedHostsRequest::getOwnerIdLoginEmail()const
+{
+	return ownerIdLoginEmail_;
+}
+
+void AllocateDedicatedHostsRequest::setOwnerIdLoginEmail(const std::string& ownerIdLoginEmail)
+{
+	ownerIdLoginEmail_ = ownerIdLoginEmail;
+	setParameter("OwnerIdLoginEmail", ownerIdLoginEmail);
+}
+
+std::string AllocateDedicatedHostsRequest::getCallerType()const
+{
+	return callerType_;
+}
+
+void AllocateDedicatedHostsRequest::setCallerType(const std::string& callerType)
+{
+	callerType_ = callerType;
+	setParameter("CallerType", callerType);
+}
+
+std::string AllocateDedicatedHostsRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void AllocateDedicatedHostsRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+
+std::string AllocateDedicatedHostsRequest::getResourceGroupId()const
+{
+	return resourceGroupId_;
+}
+
+void AllocateDedicatedHostsRequest::setResourceGroupId(const std::string& resourceGroupId)
+{
+	resourceGroupId_ = resourceGroupId;
+	setParameter("ResourceGroupId", resourceGroupId);
+}
+
+std::string AllocateDedicatedHostsRequest::getSecurityToken()const
+{
+	return securityToken_;
+}
+
+void AllocateDedicatedHostsRequest::setSecurityToken(const std::string& securityToken)
+{
+	securityToken_ = securityToken;
+	setParameter("SecurityToken", securityToken);
+}
+
+std::string AllocateDedicatedHostsRequest::getRegionId()const
+{
+	return regionId_;
+}
+
+void AllocateDedicatedHostsRequest::setRegionId(const std::string& regionId)
+{
+	regionId_ = regionId;
+	setParameter("RegionId", regionId);
+}
+
+bool AllocateDedicatedHostsRequest::getEnable()const
+{
+	return enable_;
+}
+
+void AllocateDedicatedHostsRequest::setEnable(bool enable)
+{
+	enable_ = enable;
+	setParameter("Enable", std::to_string(enable));
+}
+
+std::string AllocateDedicatedHostsRequest::getRequestContent()const
+{
+	return requestContent_;
+}
+
+void AllocateDedicatedHostsRequest::setRequestContent(const std::string& requestContent)
+{
+	requestContent_ = requestContent;
+	setParameter("RequestContent", requestContent);
+}
+
+std::string AllocateDedicatedHostsRequest::getActionOnMaintenance()const
+{
+	return actionOnMaintenance_;
+}
+
+void AllocateDedicatedHostsRequest::setActionOnMaintenance(const std::string& actionOnMaintenance)
+{
+	actionOnMaintenance_ = actionOnMaintenance;
+	setParameter("ActionOnMaintenance", actionOnMaintenance);
+}
+
+std::string AllocateDedicatedHostsRequest::getCallerBidEmail()const
+{
+	return callerBidEmail_;
+}
+
+void AllocateDedicatedHostsRequest::setCallerBidEmail(const std::string& callerBidEmail)
+{
+	callerBidEmail_ = callerBidEmail;
+	setParameter("CallerBidEmail", callerBidEmail);
+}
+
+std::vector<AllocateDedicatedHostsRequest::Tag> AllocateDedicatedHostsRequest::getTag()const
+{
+	return tag_;
+}
+
+void AllocateDedicatedHostsRequest::setTag(const std::vector<Tag>& tag)
+{
+	tag_ = tag;
+	int i = 0;
+	for(int i = 0; i!= tag.size(); i++)	{
+		auto obj = tag.at(i);
+		std::string str ="Tag."+ std::to_string(i);
+		setParameter(str + ".Key", obj.key);
+		setParameter(str + ".Value", obj.value);
+	}
+}
+
+std::string AllocateDedicatedHostsRequest::getDedicatedHostType()const
+{
+	return dedicatedHostType_;
+}
+
+void AllocateDedicatedHostsRequest::setDedicatedHostType(const std::string& dedicatedHostType)
+{
+	dedicatedHostType_ = dedicatedHostType;
+	setParameter("DedicatedHostType", dedicatedHostType);
+}
+
+std::string AllocateDedicatedHostsRequest::getCallerUidEmail()const
+{
+	return callerUidEmail_;
+}
+
+void AllocateDedicatedHostsRequest::setCallerUidEmail(const std::string& callerUidEmail)
+{
+	callerUidEmail_ = callerUidEmail;
+	setParameter("CallerUidEmail", callerUidEmail);
+}
+
+long AllocateDedicatedHostsRequest::getCallerUid()const
+{
+	return callerUid_;
+}
+
+void AllocateDedicatedHostsRequest::setCallerUid(long callerUid)
+{
+	callerUid_ = callerUid;
+	setParameter("CallerUid", std::to_string(callerUid));
+}
+
+std::string AllocateDedicatedHostsRequest::getApp_ip()const
+{
+	return app_ip_;
+}
+
+void AllocateDedicatedHostsRequest::setApp_ip(const std::string& app_ip)
+{
+	app_ip_ = app_ip;
+	setParameter("App_ip", app_ip);
+}
+
+int AllocateDedicatedHostsRequest::getAutoRenewPeriod()const
+{
+	return autoRenewPeriod_;
+}
+
+void AllocateDedicatedHostsRequest::setAutoRenewPeriod(int autoRenewPeriod)
+{
+	autoRenewPeriod_ = autoRenewPeriod;
+	setParameter("AutoRenewPeriod", std::to_string(autoRenewPeriod));
+}
+
+int AllocateDedicatedHostsRequest::getPeriod()const
+{
+	return period_;
+}
+
+void AllocateDedicatedHostsRequest::setPeriod(int period)
+{
+	period_ = period;
+	setParameter("Period", std::to_string(period));
+}
+
+int AllocateDedicatedHostsRequest::getQuantity()const
+{
+	return quantity_;
+}
+
+void AllocateDedicatedHostsRequest::setQuantity(int quantity)
+{
+	quantity_ = quantity;
+	setParameter("Quantity", std::to_string(quantity));
+}
+
+std::string AllocateDedicatedHostsRequest::getDedicatedHostName()const
+{
+	return dedicatedHostName_;
+}
+
+void AllocateDedicatedHostsRequest::setDedicatedHostName(const std::string& dedicatedHostName)
+{
+	dedicatedHostName_ = dedicatedHostName;
+	setParameter("DedicatedHostName", dedicatedHostName);
+}
+
+std::string AllocateDedicatedHostsRequest::getResourceOwnerAccount()const
+{
+	return resourceOwnerAccount_;
+}
+
+void AllocateDedicatedHostsRequest::setResourceOwnerAccount(const std::string& resourceOwnerAccount)
+{
+	resourceOwnerAccount_ = resourceOwnerAccount;
+	setParameter("ResourceOwnerAccount", resourceOwnerAccount);
+}
+
+std::string AllocateDedicatedHostsRequest::getOwnerAccount()const
+{
+	return ownerAccount_;
+}
+
+void AllocateDedicatedHostsRequest::setOwnerAccount(const std::string& ownerAccount)
+{
+	ownerAccount_ = ownerAccount;
+	setParameter("OwnerAccount", ownerAccount);
+}
+
+std::string AllocateDedicatedHostsRequest::getAutoReleaseTime()const
+{
+	return autoReleaseTime_;
+}
+
+void AllocateDedicatedHostsRequest::setAutoReleaseTime(const std::string& autoReleaseTime)
+{
+	autoReleaseTime_ = autoReleaseTime;
+	setParameter("AutoReleaseTime", autoReleaseTime);
+}
+
+std::string AllocateDedicatedHostsRequest::getCallerBid()const
+{
+	return callerBid_;
+}
+
+void AllocateDedicatedHostsRequest::setCallerBid(const std::string& callerBid)
+{
+	callerBid_ = callerBid;
+	setParameter("CallerBid", callerBid);
+}
+
+long AllocateDedicatedHostsRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void AllocateDedicatedHostsRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+
+bool AllocateDedicatedHostsRequest::getProxy_trust_transport_info()const
+{
+	return proxy_trust_transport_info_;
+}
+
+void AllocateDedicatedHostsRequest::setProxy_trust_transport_info(bool proxy_trust_transport_info)
+{
+	proxy_trust_transport_info_ = proxy_trust_transport_info;
+	setParameter("Proxy_trust_transport_info", std::to_string(proxy_trust_transport_info));
+}
+
+bool AllocateDedicatedHostsRequest::getAk_mfa_present()const
+{
+	return ak_mfa_present_;
+}
+
+void AllocateDedicatedHostsRequest::setAk_mfa_present(bool ak_mfa_present)
+{
+	ak_mfa_present_ = ak_mfa_present;
+	setParameter("Ak_mfa_present", std::to_string(ak_mfa_present));
+}
+
+bool AllocateDedicatedHostsRequest::getSecurity_transport()const
+{
+	return security_transport_;
+}
+
+void AllocateDedicatedHostsRequest::setSecurity_transport(bool security_transport)
+{
+	security_transport_ = security_transport;
+	setParameter("Security_transport", std::to_string(security_transport));
+}
+
+std::string AllocateDedicatedHostsRequest::getPeriodUnit()const
+{
+	return periodUnit_;
+}
+
+void AllocateDedicatedHostsRequest::setPeriodUnit(const std::string& periodUnit)
+{
+	periodUnit_ = periodUnit;
+	setParameter("PeriodUnit", periodUnit);
+}
+
+bool AllocateDedicatedHostsRequest::getAutoRenew()const
+{
+	return autoRenew_;
+}
+
+void AllocateDedicatedHostsRequest::setAutoRenew(bool autoRenew)
+{
+	autoRenew_ = autoRenew;
+	setParameter("AutoRenew", std::to_string(autoRenew));
+}
+
+std::string AllocateDedicatedHostsRequest::getRequestId()const
+{
+	return requestId_;
+}
+
+void AllocateDedicatedHostsRequest::setRequestId(const std::string& requestId)
+{
+	requestId_ = requestId;
+	setParameter("RequestId", requestId);
+}
+
+int AllocateDedicatedHostsRequest::getNetworkAttributesSlbUdpTimeout()const
+{
+	return networkAttributesSlbUdpTimeout_;
+}
+
+void AllocateDedicatedHostsRequest::setNetworkAttributesSlbUdpTimeout(int networkAttributesSlbUdpTimeout)
+{
+	networkAttributesSlbUdpTimeout_ = networkAttributesSlbUdpTimeout;
+	setParameter("NetworkAttributesSlbUdpTimeout", std::to_string(networkAttributesSlbUdpTimeout));
+}
+
+std::string AllocateDedicatedHostsRequest::getZoneId()const
+{
+	return zoneId_;
+}
+
+void AllocateDedicatedHostsRequest::setZoneId(const std::string& zoneId)
+{
+	zoneId_ = zoneId;
+	setParameter("ZoneId", zoneId);
+}
+
+std::string AllocateDedicatedHostsRequest::getChargeType()const
+{
+	return chargeType_;
+}
+
+void AllocateDedicatedHostsRequest::setChargeType(const std::string& chargeType)
+{
+	chargeType_ = chargeType;
+	setParameter("ChargeType", chargeType);
+}
+
+int AllocateDedicatedHostsRequest::getNetworkAttributesUdpTimeout()const
+{
+	return networkAttributesUdpTimeout_;
+}
+
+void AllocateDedicatedHostsRequest::setNetworkAttributesUdpTimeout(int networkAttributesUdpTimeout)
+{
+	networkAttributesUdpTimeout_ = networkAttributesUdpTimeout;
+	setParameter("NetworkAttributesUdpTimeout", std::to_string(networkAttributesUdpTimeout));
+}
+

+ 53 - 0
ecs/src/model/AllocateDedicatedHostsResult.cc

@@ -0,0 +1,53 @@
+/*
+ * 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/AllocateDedicatedHostsResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Ecs;
+using namespace AlibabaCloud::Ecs::Model;
+
+AllocateDedicatedHostsResult::AllocateDedicatedHostsResult() :
+	ServiceResult()
+{}
+
+AllocateDedicatedHostsResult::AllocateDedicatedHostsResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+AllocateDedicatedHostsResult::~AllocateDedicatedHostsResult()
+{}
+
+void AllocateDedicatedHostsResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	auto allDedicatedHostIdSets = value["DedicatedHostIdSets"]["DedicatedHostId"];
+	for (const auto &item : allDedicatedHostIdSets)
+		dedicatedHostIdSets_.push_back(item.asString());
+
+}
+
+std::vector<std::string> AllocateDedicatedHostsResult::getDedicatedHostIdSets()const
+{
+	return dedicatedHostIdSets_;
+}
+

+ 2 - 2
ecs/src/model/DescribeAvailableResourceRequest.cc

@@ -36,12 +36,12 @@ void DescribeAvailableResourceRequest::setResourceOwnerId(long resourceOwnerId)
 	setParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
 }
 
-int DescribeAvailableResourceRequest::getMemory()const
+float DescribeAvailableResourceRequest::getMemory()const
 {
 	return memory_;
 }
 
-void DescribeAvailableResourceRequest::setMemory(int memory)
+void DescribeAvailableResourceRequest::setMemory(float memory)
 {
 	memory_ = memory;
 	setParameter("Memory", std::to_string(memory));

+ 93 - 0
ecs/src/model/DescribeDedicatedHostAutoRenewRequest.cc

@@ -0,0 +1,93 @@
+/*
+ * 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/DescribeDedicatedHostAutoRenewRequest.h>
+
+using AlibabaCloud::Ecs::Model::DescribeDedicatedHostAutoRenewRequest;
+
+DescribeDedicatedHostAutoRenewRequest::DescribeDedicatedHostAutoRenewRequest() :
+	RpcServiceRequest("ecs", "2014-05-26", "DescribeDedicatedHostAutoRenew")
+{}
+
+DescribeDedicatedHostAutoRenewRequest::~DescribeDedicatedHostAutoRenewRequest()
+{}
+
+std::string DescribeDedicatedHostAutoRenewRequest::getDedicatedHostIds()const
+{
+	return dedicatedHostIds_;
+}
+
+void DescribeDedicatedHostAutoRenewRequest::setDedicatedHostIds(const std::string& dedicatedHostIds)
+{
+	dedicatedHostIds_ = dedicatedHostIds;
+	setParameter("DedicatedHostIds", dedicatedHostIds);
+}
+
+long DescribeDedicatedHostAutoRenewRequest::getResourceOwnerId()const
+{
+	return resourceOwnerId_;
+}
+
+void DescribeDedicatedHostAutoRenewRequest::setResourceOwnerId(long resourceOwnerId)
+{
+	resourceOwnerId_ = resourceOwnerId;
+	setParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
+}
+
+std::string DescribeDedicatedHostAutoRenewRequest::getResourceOwnerAccount()const
+{
+	return resourceOwnerAccount_;
+}
+
+void DescribeDedicatedHostAutoRenewRequest::setResourceOwnerAccount(const std::string& resourceOwnerAccount)
+{
+	resourceOwnerAccount_ = resourceOwnerAccount;
+	setParameter("ResourceOwnerAccount", resourceOwnerAccount);
+}
+
+std::string DescribeDedicatedHostAutoRenewRequest::getRegionId()const
+{
+	return regionId_;
+}
+
+void DescribeDedicatedHostAutoRenewRequest::setRegionId(const std::string& regionId)
+{
+	regionId_ = regionId;
+	setParameter("RegionId", regionId);
+}
+
+std::string DescribeDedicatedHostAutoRenewRequest::getOwnerAccount()const
+{
+	return ownerAccount_;
+}
+
+void DescribeDedicatedHostAutoRenewRequest::setOwnerAccount(const std::string& ownerAccount)
+{
+	ownerAccount_ = ownerAccount;
+	setParameter("OwnerAccount", ownerAccount);
+}
+
+long DescribeDedicatedHostAutoRenewRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void DescribeDedicatedHostAutoRenewRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+

+ 66 - 0
ecs/src/model/DescribeDedicatedHostAutoRenewResult.cc

@@ -0,0 +1,66 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/ecs/model/DescribeDedicatedHostAutoRenewResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Ecs;
+using namespace AlibabaCloud::Ecs::Model;
+
+DescribeDedicatedHostAutoRenewResult::DescribeDedicatedHostAutoRenewResult() :
+	ServiceResult()
+{}
+
+DescribeDedicatedHostAutoRenewResult::DescribeDedicatedHostAutoRenewResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeDedicatedHostAutoRenewResult::~DescribeDedicatedHostAutoRenewResult()
+{}
+
+void DescribeDedicatedHostAutoRenewResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	auto allDedicatedHostRenewAttributes = value["DedicatedHostRenewAttributes"]["DedicatedHostRenewAttribute"];
+	for (auto value : allDedicatedHostRenewAttributes)
+	{
+		DedicatedHostRenewAttribute dedicatedHostRenewAttributesObject;
+		if(!value["DedicatedHostId"].isNull())
+			dedicatedHostRenewAttributesObject.dedicatedHostId = value["DedicatedHostId"].asString();
+		if(!value["AutoRenewEnabled"].isNull())
+			dedicatedHostRenewAttributesObject.autoRenewEnabled = value["AutoRenewEnabled"].asString() == "true";
+		if(!value["Duration"].isNull())
+			dedicatedHostRenewAttributesObject.duration = std::stoi(value["Duration"].asString());
+		if(!value["PeriodUnit"].isNull())
+			dedicatedHostRenewAttributesObject.periodUnit = value["PeriodUnit"].asString();
+		if(!value["RenewalStatus"].isNull())
+			dedicatedHostRenewAttributesObject.renewalStatus = value["RenewalStatus"].asString();
+		dedicatedHostRenewAttributes_.push_back(dedicatedHostRenewAttributesObject);
+	}
+
+}
+
+std::vector<DescribeDedicatedHostAutoRenewResult::DedicatedHostRenewAttribute> DescribeDedicatedHostAutoRenewResult::getDedicatedHostRenewAttributes()const
+{
+	return dedicatedHostRenewAttributes_;
+}
+

+ 302 - 0
ecs/src/model/DescribeDedicatedHostTypesRequest.cc

@@ -0,0 +1,302 @@
+/*
+ * 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/DescribeDedicatedHostTypesRequest.h>
+
+using AlibabaCloud::Ecs::Model::DescribeDedicatedHostTypesRequest;
+
+DescribeDedicatedHostTypesRequest::DescribeDedicatedHostTypesRequest() :
+	RpcServiceRequest("ecs", "2014-05-26", "DescribeDedicatedHostTypes")
+{}
+
+DescribeDedicatedHostTypesRequest::~DescribeDedicatedHostTypesRequest()
+{}
+
+long DescribeDedicatedHostTypesRequest::getResourceOwnerId()const
+{
+	return resourceOwnerId_;
+}
+
+void DescribeDedicatedHostTypesRequest::setResourceOwnerId(long resourceOwnerId)
+{
+	resourceOwnerId_ = resourceOwnerId;
+	setParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
+}
+
+long DescribeDedicatedHostTypesRequest::getCallerParentId()const
+{
+	return callerParentId_;
+}
+
+void DescribeDedicatedHostTypesRequest::setCallerParentId(long callerParentId)
+{
+	callerParentId_ = callerParentId;
+	setParameter("CallerParentId", std::to_string(callerParentId));
+}
+
+bool DescribeDedicatedHostTypesRequest::getProxy_original_security_transport()const
+{
+	return proxy_original_security_transport_;
+}
+
+void DescribeDedicatedHostTypesRequest::setProxy_original_security_transport(bool proxy_original_security_transport)
+{
+	proxy_original_security_transport_ = proxy_original_security_transport;
+	setParameter("Proxy_original_security_transport", std::to_string(proxy_original_security_transport));
+}
+
+std::string DescribeDedicatedHostTypesRequest::getProxy_original_source_ip()const
+{
+	return proxy_original_source_ip_;
+}
+
+void DescribeDedicatedHostTypesRequest::setProxy_original_source_ip(const std::string& proxy_original_source_ip)
+{
+	proxy_original_source_ip_ = proxy_original_source_ip;
+	setParameter("Proxy_original_source_ip", proxy_original_source_ip);
+}
+
+std::string DescribeDedicatedHostTypesRequest::getSupportedInstanceTypeFamily()const
+{
+	return supportedInstanceTypeFamily_;
+}
+
+void DescribeDedicatedHostTypesRequest::setSupportedInstanceTypeFamily(const std::string& supportedInstanceTypeFamily)
+{
+	supportedInstanceTypeFamily_ = supportedInstanceTypeFamily;
+	setParameter("SupportedInstanceTypeFamily", supportedInstanceTypeFamily);
+}
+
+std::string DescribeDedicatedHostTypesRequest::getOwnerIdLoginEmail()const
+{
+	return ownerIdLoginEmail_;
+}
+
+void DescribeDedicatedHostTypesRequest::setOwnerIdLoginEmail(const std::string& ownerIdLoginEmail)
+{
+	ownerIdLoginEmail_ = ownerIdLoginEmail;
+	setParameter("OwnerIdLoginEmail", ownerIdLoginEmail);
+}
+
+std::string DescribeDedicatedHostTypesRequest::getCallerType()const
+{
+	return callerType_;
+}
+
+void DescribeDedicatedHostTypesRequest::setCallerType(const std::string& callerType)
+{
+	callerType_ = callerType;
+	setParameter("CallerType", callerType);
+}
+
+std::string DescribeDedicatedHostTypesRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void DescribeDedicatedHostTypesRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+
+std::string DescribeDedicatedHostTypesRequest::getSecurityToken()const
+{
+	return securityToken_;
+}
+
+void DescribeDedicatedHostTypesRequest::setSecurityToken(const std::string& securityToken)
+{
+	securityToken_ = securityToken;
+	setParameter("SecurityToken", securityToken);
+}
+
+std::string DescribeDedicatedHostTypesRequest::getRegionId()const
+{
+	return regionId_;
+}
+
+void DescribeDedicatedHostTypesRequest::setRegionId(const std::string& regionId)
+{
+	regionId_ = regionId;
+	setParameter("RegionId", regionId);
+}
+
+bool DescribeDedicatedHostTypesRequest::getEnable()const
+{
+	return enable_;
+}
+
+void DescribeDedicatedHostTypesRequest::setEnable(bool enable)
+{
+	enable_ = enable;
+	setParameter("Enable", std::to_string(enable));
+}
+
+std::string DescribeDedicatedHostTypesRequest::getRequestContent()const
+{
+	return requestContent_;
+}
+
+void DescribeDedicatedHostTypesRequest::setRequestContent(const std::string& requestContent)
+{
+	requestContent_ = requestContent;
+	setParameter("RequestContent", requestContent);
+}
+
+std::string DescribeDedicatedHostTypesRequest::getCallerBidEmail()const
+{
+	return callerBidEmail_;
+}
+
+void DescribeDedicatedHostTypesRequest::setCallerBidEmail(const std::string& callerBidEmail)
+{
+	callerBidEmail_ = callerBidEmail;
+	setParameter("CallerBidEmail", callerBidEmail);
+}
+
+std::string DescribeDedicatedHostTypesRequest::getDedicatedHostType()const
+{
+	return dedicatedHostType_;
+}
+
+void DescribeDedicatedHostTypesRequest::setDedicatedHostType(const std::string& dedicatedHostType)
+{
+	dedicatedHostType_ = dedicatedHostType;
+	setParameter("DedicatedHostType", dedicatedHostType);
+}
+
+std::string DescribeDedicatedHostTypesRequest::getCallerUidEmail()const
+{
+	return callerUidEmail_;
+}
+
+void DescribeDedicatedHostTypesRequest::setCallerUidEmail(const std::string& callerUidEmail)
+{
+	callerUidEmail_ = callerUidEmail;
+	setParameter("CallerUidEmail", callerUidEmail);
+}
+
+long DescribeDedicatedHostTypesRequest::getCallerUid()const
+{
+	return callerUid_;
+}
+
+void DescribeDedicatedHostTypesRequest::setCallerUid(long callerUid)
+{
+	callerUid_ = callerUid;
+	setParameter("CallerUid", std::to_string(callerUid));
+}
+
+std::string DescribeDedicatedHostTypesRequest::getApp_ip()const
+{
+	return app_ip_;
+}
+
+void DescribeDedicatedHostTypesRequest::setApp_ip(const std::string& app_ip)
+{
+	app_ip_ = app_ip;
+	setParameter("App_ip", app_ip);
+}
+
+std::string DescribeDedicatedHostTypesRequest::getResourceOwnerAccount()const
+{
+	return resourceOwnerAccount_;
+}
+
+void DescribeDedicatedHostTypesRequest::setResourceOwnerAccount(const std::string& resourceOwnerAccount)
+{
+	resourceOwnerAccount_ = resourceOwnerAccount;
+	setParameter("ResourceOwnerAccount", resourceOwnerAccount);
+}
+
+std::string DescribeDedicatedHostTypesRequest::getOwnerAccount()const
+{
+	return ownerAccount_;
+}
+
+void DescribeDedicatedHostTypesRequest::setOwnerAccount(const std::string& ownerAccount)
+{
+	ownerAccount_ = ownerAccount;
+	setParameter("OwnerAccount", ownerAccount);
+}
+
+std::string DescribeDedicatedHostTypesRequest::getCallerBid()const
+{
+	return callerBid_;
+}
+
+void DescribeDedicatedHostTypesRequest::setCallerBid(const std::string& callerBid)
+{
+	callerBid_ = callerBid;
+	setParameter("CallerBid", callerBid);
+}
+
+long DescribeDedicatedHostTypesRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void DescribeDedicatedHostTypesRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+
+bool DescribeDedicatedHostTypesRequest::getProxy_trust_transport_info()const
+{
+	return proxy_trust_transport_info_;
+}
+
+void DescribeDedicatedHostTypesRequest::setProxy_trust_transport_info(bool proxy_trust_transport_info)
+{
+	proxy_trust_transport_info_ = proxy_trust_transport_info;
+	setParameter("Proxy_trust_transport_info", std::to_string(proxy_trust_transport_info));
+}
+
+bool DescribeDedicatedHostTypesRequest::getAk_mfa_present()const
+{
+	return ak_mfa_present_;
+}
+
+void DescribeDedicatedHostTypesRequest::setAk_mfa_present(bool ak_mfa_present)
+{
+	ak_mfa_present_ = ak_mfa_present;
+	setParameter("Ak_mfa_present", std::to_string(ak_mfa_present));
+}
+
+bool DescribeDedicatedHostTypesRequest::getSecurity_transport()const
+{
+	return security_transport_;
+}
+
+void DescribeDedicatedHostTypesRequest::setSecurity_transport(bool security_transport)
+{
+	security_transport_ = security_transport;
+	setParameter("Security_transport", std::to_string(security_transport));
+}
+
+std::string DescribeDedicatedHostTypesRequest::getRequestId()const
+{
+	return requestId_;
+}
+
+void DescribeDedicatedHostTypesRequest::setRequestId(const std::string& requestId)
+{
+	requestId_ = requestId;
+	setParameter("RequestId", requestId);
+}
+

+ 75 - 0
ecs/src/model/DescribeDedicatedHostTypesResult.cc

@@ -0,0 +1,75 @@
+/*
+ * 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/DescribeDedicatedHostTypesResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Ecs;
+using namespace AlibabaCloud::Ecs::Model;
+
+DescribeDedicatedHostTypesResult::DescribeDedicatedHostTypesResult() :
+	ServiceResult()
+{}
+
+DescribeDedicatedHostTypesResult::DescribeDedicatedHostTypesResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeDedicatedHostTypesResult::~DescribeDedicatedHostTypesResult()
+{}
+
+void DescribeDedicatedHostTypesResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	auto allDedicatedHostTypes = value["DedicatedHostTypes"]["DedicatedHostType"];
+	for (auto value : allDedicatedHostTypes)
+	{
+		DedicatedHostType dedicatedHostTypesObject;
+		if(!value["DedicatedHostType"].isNull())
+			dedicatedHostTypesObject.dedicatedHostType = value["DedicatedHostType"].asString();
+		if(!value["Sockets"].isNull())
+			dedicatedHostTypesObject.sockets = std::stoi(value["Sockets"].asString());
+		if(!value["TotalVcpus"].isNull())
+			dedicatedHostTypesObject.totalVcpus = std::stoi(value["TotalVcpus"].asString());
+		if(!value["Cores"].isNull())
+			dedicatedHostTypesObject.cores = std::stoi(value["Cores"].asString());
+		if(!value["MemorySize"].isNull())
+			dedicatedHostTypesObject.memorySize = std::stof(value["MemorySize"].asString());
+		if(!value["LocalStorageCapacity"].isNull())
+			dedicatedHostTypesObject.localStorageCapacity = std::stol(value["LocalStorageCapacity"].asString());
+		if(!value["LocalStorageAmount"].isNull())
+			dedicatedHostTypesObject.localStorageAmount = std::stoi(value["LocalStorageAmount"].asString());
+		if(!value["LocalStorageCategory"].isNull())
+			dedicatedHostTypesObject.localStorageCategory = value["LocalStorageCategory"].asString();
+		auto allSupportedInstanceTypeFamilies = value["SupportedInstanceTypeFamilies"]["SupportedInstanceTypeFamily"];
+		for (auto value : allSupportedInstanceTypeFamilies)
+			dedicatedHostTypesObject.supportedInstanceTypeFamilies.push_back(value.asString());
+		dedicatedHostTypes_.push_back(dedicatedHostTypesObject);
+	}
+
+}
+
+std::vector<DescribeDedicatedHostTypesResult::DedicatedHostType> DescribeDedicatedHostTypesResult::getDedicatedHostTypes()const
+{
+	return dedicatedHostTypes_;
+}
+

+ 198 - 0
ecs/src/model/DescribeDedicatedHostsRequest.cc

@@ -0,0 +1,198 @@
+/*
+ * 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/DescribeDedicatedHostsRequest.h>
+
+using AlibabaCloud::Ecs::Model::DescribeDedicatedHostsRequest;
+
+DescribeDedicatedHostsRequest::DescribeDedicatedHostsRequest() :
+	RpcServiceRequest("ecs", "2014-05-26", "DescribeDedicatedHosts")
+{}
+
+DescribeDedicatedHostsRequest::~DescribeDedicatedHostsRequest()
+{}
+
+std::string DescribeDedicatedHostsRequest::getDedicatedHostIds()const
+{
+	return dedicatedHostIds_;
+}
+
+void DescribeDedicatedHostsRequest::setDedicatedHostIds(const std::string& dedicatedHostIds)
+{
+	dedicatedHostIds_ = dedicatedHostIds;
+	setParameter("DedicatedHostIds", dedicatedHostIds);
+}
+
+long DescribeDedicatedHostsRequest::getResourceOwnerId()const
+{
+	return resourceOwnerId_;
+}
+
+void DescribeDedicatedHostsRequest::setResourceOwnerId(long resourceOwnerId)
+{
+	resourceOwnerId_ = resourceOwnerId;
+	setParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
+}
+
+std::string DescribeDedicatedHostsRequest::getDedicatedHostName()const
+{
+	return dedicatedHostName_;
+}
+
+void DescribeDedicatedHostsRequest::setDedicatedHostName(const std::string& dedicatedHostName)
+{
+	dedicatedHostName_ = dedicatedHostName;
+	setParameter("DedicatedHostName", dedicatedHostName);
+}
+
+std::string DescribeDedicatedHostsRequest::getResourceOwnerAccount()const
+{
+	return resourceOwnerAccount_;
+}
+
+void DescribeDedicatedHostsRequest::setResourceOwnerAccount(const std::string& resourceOwnerAccount)
+{
+	resourceOwnerAccount_ = resourceOwnerAccount;
+	setParameter("ResourceOwnerAccount", resourceOwnerAccount);
+}
+
+std::string DescribeDedicatedHostsRequest::getOwnerAccount()const
+{
+	return ownerAccount_;
+}
+
+void DescribeDedicatedHostsRequest::setOwnerAccount(const std::string& ownerAccount)
+{
+	ownerAccount_ = ownerAccount;
+	setParameter("OwnerAccount", ownerAccount);
+}
+
+long DescribeDedicatedHostsRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void DescribeDedicatedHostsRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+
+int DescribeDedicatedHostsRequest::getPageNumber()const
+{
+	return pageNumber_;
+}
+
+void DescribeDedicatedHostsRequest::setPageNumber(int pageNumber)
+{
+	pageNumber_ = pageNumber;
+	setParameter("PageNumber", std::to_string(pageNumber));
+}
+
+std::string DescribeDedicatedHostsRequest::getResourceGroupId()const
+{
+	return resourceGroupId_;
+}
+
+void DescribeDedicatedHostsRequest::setResourceGroupId(const std::string& resourceGroupId)
+{
+	resourceGroupId_ = resourceGroupId;
+	setParameter("ResourceGroupId", resourceGroupId);
+}
+
+std::string DescribeDedicatedHostsRequest::getLockReason()const
+{
+	return lockReason_;
+}
+
+void DescribeDedicatedHostsRequest::setLockReason(const std::string& lockReason)
+{
+	lockReason_ = lockReason;
+	setParameter("LockReason", lockReason);
+}
+
+std::string DescribeDedicatedHostsRequest::getRegionId()const
+{
+	return regionId_;
+}
+
+void DescribeDedicatedHostsRequest::setRegionId(const std::string& regionId)
+{
+	regionId_ = regionId;
+	setParameter("RegionId", regionId);
+}
+
+int DescribeDedicatedHostsRequest::getPageSize()const
+{
+	return pageSize_;
+}
+
+void DescribeDedicatedHostsRequest::setPageSize(int pageSize)
+{
+	pageSize_ = pageSize;
+	setParameter("PageSize", std::to_string(pageSize));
+}
+
+std::string DescribeDedicatedHostsRequest::getZoneId()const
+{
+	return zoneId_;
+}
+
+void DescribeDedicatedHostsRequest::setZoneId(const std::string& zoneId)
+{
+	zoneId_ = zoneId;
+	setParameter("ZoneId", zoneId);
+}
+
+std::string DescribeDedicatedHostsRequest::getDedicatedHostType()const
+{
+	return dedicatedHostType_;
+}
+
+void DescribeDedicatedHostsRequest::setDedicatedHostType(const std::string& dedicatedHostType)
+{
+	dedicatedHostType_ = dedicatedHostType;
+	setParameter("DedicatedHostType", dedicatedHostType);
+}
+
+std::vector<DescribeDedicatedHostsRequest::Tag> DescribeDedicatedHostsRequest::getTag()const
+{
+	return tag_;
+}
+
+void DescribeDedicatedHostsRequest::setTag(const std::vector<Tag>& tag)
+{
+	tag_ = tag;
+	int i = 0;
+	for(int i = 0; i!= tag.size(); i++)	{
+		auto obj = tag.at(i);
+		std::string str ="Tag."+ std::to_string(i);
+		setParameter(str + ".Value", obj.value);
+		setParameter(str + ".Key", obj.key);
+	}
+}
+
+std::string DescribeDedicatedHostsRequest::getStatus()const
+{
+	return status_;
+}
+
+void DescribeDedicatedHostsRequest::setStatus(const std::string& status)
+{
+	status_ = status;
+	setParameter("Status", status);
+}
+

+ 162 - 0
ecs/src/model/DescribeDedicatedHostsResult.cc

@@ -0,0 +1,162 @@
+/*
+ * 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/DescribeDedicatedHostsResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Ecs;
+using namespace AlibabaCloud::Ecs::Model;
+
+DescribeDedicatedHostsResult::DescribeDedicatedHostsResult() :
+	ServiceResult()
+{}
+
+DescribeDedicatedHostsResult::DescribeDedicatedHostsResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeDedicatedHostsResult::~DescribeDedicatedHostsResult()
+{}
+
+void DescribeDedicatedHostsResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	auto allDedicatedHosts = value["DedicatedHosts"]["DedicatedHost"];
+	for (auto value : allDedicatedHosts)
+	{
+		DedicatedHost dedicatedHostsObject;
+		if(!value["DedicatedHostId"].isNull())
+			dedicatedHostsObject.dedicatedHostId = value["DedicatedHostId"].asString();
+		if(!value["RegionId"].isNull())
+			dedicatedHostsObject.regionId = value["RegionId"].asString();
+		if(!value["ZoneId"].isNull())
+			dedicatedHostsObject.zoneId = value["ZoneId"].asString();
+		if(!value["DedicatedHostName"].isNull())
+			dedicatedHostsObject.dedicatedHostName = value["DedicatedHostName"].asString();
+		if(!value["MachineId"].isNull())
+			dedicatedHostsObject.machineId = value["MachineId"].asString();
+		if(!value["Description"].isNull())
+			dedicatedHostsObject.description = value["Description"].asString();
+		if(!value["DedicatedHostType"].isNull())
+			dedicatedHostsObject.dedicatedHostType = value["DedicatedHostType"].asString();
+		if(!value["Sockets"].isNull())
+			dedicatedHostsObject.sockets = std::stoi(value["Sockets"].asString());
+		if(!value["Cores"].isNull())
+			dedicatedHostsObject.cores = std::stoi(value["Cores"].asString());
+		if(!value["ActionOnMaintenance"].isNull())
+			dedicatedHostsObject.actionOnMaintenance = value["ActionOnMaintenance"].asString();
+		if(!value["Status"].isNull())
+			dedicatedHostsObject.status = value["Status"].asString();
+		if(!value["CreationTime"].isNull())
+			dedicatedHostsObject.creationTime = value["CreationTime"].asString();
+		if(!value["ChargeType"].isNull())
+			dedicatedHostsObject.chargeType = value["ChargeType"].asString();
+		if(!value["SaleCycle"].isNull())
+			dedicatedHostsObject.saleCycle = value["SaleCycle"].asString();
+		if(!value["ExpiredTime"].isNull())
+			dedicatedHostsObject.expiredTime = value["ExpiredTime"].asString();
+		if(!value["AutoReleaseTime"].isNull())
+			dedicatedHostsObject.autoReleaseTime = value["AutoReleaseTime"].asString();
+		if(!value["ResourceGroupId"].isNull())
+			dedicatedHostsObject.resourceGroupId = value["ResourceGroupId"].asString();
+		auto allInstances = value["Instances"]["Instance"];
+		for (auto value : allInstances)
+		{
+			DedicatedHost::Instance instancesObject;
+			if(!value["InstanceId"].isNull())
+				instancesObject.instanceId = value["InstanceId"].asString();
+			if(!value["InstanceType"].isNull())
+				instancesObject.instanceType = value["InstanceType"].asString();
+			dedicatedHostsObject.instances.push_back(instancesObject);
+		}
+		auto allOperationLocks = value["OperationLocks"]["OperationLock"];
+		for (auto value : allOperationLocks)
+		{
+			DedicatedHost::OperationLock operationLocksObject;
+			if(!value["LockReason"].isNull())
+				operationLocksObject.lockReason = value["LockReason"].asString();
+			dedicatedHostsObject.operationLocks.push_back(operationLocksObject);
+		}
+		auto allTags = value["Tags"]["Tag"];
+		for (auto value : allTags)
+		{
+			DedicatedHost::Tag tagsObject;
+			if(!value["TagKey"].isNull())
+				tagsObject.tagKey = value["TagKey"].asString();
+			if(!value["TagValue"].isNull())
+				tagsObject.tagValue = value["TagValue"].asString();
+			dedicatedHostsObject.tags.push_back(tagsObject);
+		}
+		auto capacityNode = value["Capacity"];
+		if(!capacityNode["TotalVcpus"].isNull())
+			dedicatedHostsObject.capacity.totalVcpus = std::stoi(capacityNode["TotalVcpus"].asString());
+		if(!capacityNode["AvailableVcpus"].isNull())
+			dedicatedHostsObject.capacity.availableVcpus = std::stoi(capacityNode["AvailableVcpus"].asString());
+		if(!capacityNode["TotalMemory"].isNull())
+			dedicatedHostsObject.capacity.totalMemory = std::stof(capacityNode["TotalMemory"].asString());
+		if(!capacityNode["AvailableMemory"].isNull())
+			dedicatedHostsObject.capacity.availableMemory = std::stof(capacityNode["AvailableMemory"].asString());
+		if(!capacityNode["TotalLocalStorage"].isNull())
+			dedicatedHostsObject.capacity.totalLocalStorage = std::stoi(capacityNode["TotalLocalStorage"].asString());
+		if(!capacityNode["AvailableLocalStorage"].isNull())
+			dedicatedHostsObject.capacity.availableLocalStorage = std::stoi(capacityNode["AvailableLocalStorage"].asString());
+		if(!capacityNode["LocalStorageCategory"].isNull())
+			dedicatedHostsObject.capacity.localStorageCategory = capacityNode["LocalStorageCategory"].asString();
+		auto networkAttributesNode = value["NetworkAttributes"];
+		if(!networkAttributesNode["SlbUdpTimeout"].isNull())
+			dedicatedHostsObject.networkAttributes.slbUdpTimeout = std::stoi(networkAttributesNode["SlbUdpTimeout"].asString());
+		if(!networkAttributesNode["UdpTimeout"].isNull())
+			dedicatedHostsObject.networkAttributes.udpTimeout = std::stoi(networkAttributesNode["UdpTimeout"].asString());
+		auto allSupportedInstanceTypeFamilies = value["SupportedInstanceTypeFamilies"]["SupportedInstanceTypeFamily"];
+		for (auto value : allSupportedInstanceTypeFamilies)
+			dedicatedHostsObject.supportedInstanceTypeFamilies.push_back(value.asString());
+		dedicatedHosts_.push_back(dedicatedHostsObject);
+	}
+	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());
+
+}
+
+std::vector<DescribeDedicatedHostsResult::DedicatedHost> DescribeDedicatedHostsResult::getDedicatedHosts()const
+{
+	return dedicatedHosts_;
+}
+
+int DescribeDedicatedHostsResult::getTotalCount()const
+{
+	return totalCount_;
+}
+
+int DescribeDedicatedHostsResult::getPageSize()const
+{
+	return pageSize_;
+}
+
+int DescribeDedicatedHostsResult::getPageNumber()const
+{
+	return pageNumber_;
+}
+

+ 213 - 15
ecs/src/model/DescribeDiskMonitorDataRequest.cc

@@ -36,6 +36,171 @@ void DescribeDiskMonitorDataRequest::setResourceOwnerId(long resourceOwnerId)
 	setParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
 }
 
+long DescribeDiskMonitorDataRequest::getCallerParentId()const
+{
+	return callerParentId_;
+}
+
+void DescribeDiskMonitorDataRequest::setCallerParentId(long callerParentId)
+{
+	callerParentId_ = callerParentId;
+	setParameter("CallerParentId", std::to_string(callerParentId));
+}
+
+bool DescribeDiskMonitorDataRequest::getProxy_original_security_transport()const
+{
+	return proxy_original_security_transport_;
+}
+
+void DescribeDiskMonitorDataRequest::setProxy_original_security_transport(bool proxy_original_security_transport)
+{
+	proxy_original_security_transport_ = proxy_original_security_transport;
+	setParameter("Proxy_original_security_transport", std::to_string(proxy_original_security_transport));
+}
+
+std::string DescribeDiskMonitorDataRequest::getStartTime()const
+{
+	return startTime_;
+}
+
+void DescribeDiskMonitorDataRequest::setStartTime(const std::string& startTime)
+{
+	startTime_ = startTime;
+	setParameter("StartTime", startTime);
+}
+
+std::string DescribeDiskMonitorDataRequest::getProxy_original_source_ip()const
+{
+	return proxy_original_source_ip_;
+}
+
+void DescribeDiskMonitorDataRequest::setProxy_original_source_ip(const std::string& proxy_original_source_ip)
+{
+	proxy_original_source_ip_ = proxy_original_source_ip;
+	setParameter("Proxy_original_source_ip", proxy_original_source_ip);
+}
+
+std::string DescribeDiskMonitorDataRequest::getOwnerIdLoginEmail()const
+{
+	return ownerIdLoginEmail_;
+}
+
+void DescribeDiskMonitorDataRequest::setOwnerIdLoginEmail(const std::string& ownerIdLoginEmail)
+{
+	ownerIdLoginEmail_ = ownerIdLoginEmail;
+	setParameter("OwnerIdLoginEmail", ownerIdLoginEmail);
+}
+
+std::string DescribeDiskMonitorDataRequest::getCallerType()const
+{
+	return callerType_;
+}
+
+void DescribeDiskMonitorDataRequest::setCallerType(const std::string& callerType)
+{
+	callerType_ = callerType;
+	setParameter("CallerType", callerType);
+}
+
+std::string DescribeDiskMonitorDataRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void DescribeDiskMonitorDataRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+
+std::string DescribeDiskMonitorDataRequest::getSecurityToken()const
+{
+	return securityToken_;
+}
+
+void DescribeDiskMonitorDataRequest::setSecurityToken(const std::string& securityToken)
+{
+	securityToken_ = securityToken;
+	setParameter("SecurityToken", securityToken);
+}
+
+bool DescribeDiskMonitorDataRequest::getEnable()const
+{
+	return enable_;
+}
+
+void DescribeDiskMonitorDataRequest::setEnable(bool enable)
+{
+	enable_ = enable;
+	setParameter("Enable", std::to_string(enable));
+}
+
+std::string DescribeDiskMonitorDataRequest::getRequestContent()const
+{
+	return requestContent_;
+}
+
+void DescribeDiskMonitorDataRequest::setRequestContent(const std::string& requestContent)
+{
+	requestContent_ = requestContent;
+	setParameter("RequestContent", requestContent);
+}
+
+std::string DescribeDiskMonitorDataRequest::getCallerBidEmail()const
+{
+	return callerBidEmail_;
+}
+
+void DescribeDiskMonitorDataRequest::setCallerBidEmail(const std::string& callerBidEmail)
+{
+	callerBidEmail_ = callerBidEmail;
+	setParameter("CallerBidEmail", callerBidEmail);
+}
+
+std::string DescribeDiskMonitorDataRequest::getDiskId()const
+{
+	return diskId_;
+}
+
+void DescribeDiskMonitorDataRequest::setDiskId(const std::string& diskId)
+{
+	diskId_ = diskId;
+	setParameter("DiskId", diskId);
+}
+
+std::string DescribeDiskMonitorDataRequest::getCallerUidEmail()const
+{
+	return callerUidEmail_;
+}
+
+void DescribeDiskMonitorDataRequest::setCallerUidEmail(const std::string& callerUidEmail)
+{
+	callerUidEmail_ = callerUidEmail;
+	setParameter("CallerUidEmail", callerUidEmail);
+}
+
+long DescribeDiskMonitorDataRequest::getCallerUid()const
+{
+	return callerUid_;
+}
+
+void DescribeDiskMonitorDataRequest::setCallerUid(long callerUid)
+{
+	callerUid_ = callerUid;
+	setParameter("CallerUid", std::to_string(callerUid));
+}
+
+std::string DescribeDiskMonitorDataRequest::getApp_ip()const
+{
+	return app_ip_;
+}
+
+void DescribeDiskMonitorDataRequest::setApp_ip(const std::string& app_ip)
+{
+	app_ip_ = app_ip;
+	setParameter("App_ip", app_ip);
+}
+
 int DescribeDiskMonitorDataRequest::getPeriod()const
 {
 	return period_;
@@ -80,36 +245,69 @@ void DescribeDiskMonitorDataRequest::setEndTime(const std::string& endTime)
 	setParameter("EndTime", endTime);
 }
 
-std::string DescribeDiskMonitorDataRequest::getDiskId()const
+std::string DescribeDiskMonitorDataRequest::getCallerBid()const
 {
-	return diskId_;
+	return callerBid_;
 }
 
-void DescribeDiskMonitorDataRequest::setDiskId(const std::string& diskId)
+void DescribeDiskMonitorDataRequest::setCallerBid(const std::string& callerBid)
 {
-	diskId_ = diskId;
-	setParameter("DiskId", diskId);
+	callerBid_ = callerBid;
+	setParameter("CallerBid", callerBid);
 }
 
-std::string DescribeDiskMonitorDataRequest::getStartTime()const
+long DescribeDiskMonitorDataRequest::getOwnerId()const
 {
-	return startTime_;
+	return ownerId_;
 }
 
-void DescribeDiskMonitorDataRequest::setStartTime(const std::string& startTime)
+void DescribeDiskMonitorDataRequest::setOwnerId(long ownerId)
 {
-	startTime_ = startTime;
-	setParameter("StartTime", startTime);
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
 }
 
-long DescribeDiskMonitorDataRequest::getOwnerId()const
+bool DescribeDiskMonitorDataRequest::getProxy_trust_transport_info()const
 {
-	return ownerId_;
+	return proxy_trust_transport_info_;
 }
 
-void DescribeDiskMonitorDataRequest::setOwnerId(long ownerId)
+void DescribeDiskMonitorDataRequest::setProxy_trust_transport_info(bool proxy_trust_transport_info)
 {
-	ownerId_ = ownerId;
-	setParameter("OwnerId", std::to_string(ownerId));
+	proxy_trust_transport_info_ = proxy_trust_transport_info;
+	setParameter("Proxy_trust_transport_info", std::to_string(proxy_trust_transport_info));
+}
+
+bool DescribeDiskMonitorDataRequest::getAk_mfa_present()const
+{
+	return ak_mfa_present_;
+}
+
+void DescribeDiskMonitorDataRequest::setAk_mfa_present(bool ak_mfa_present)
+{
+	ak_mfa_present_ = ak_mfa_present;
+	setParameter("Ak_mfa_present", std::to_string(ak_mfa_present));
+}
+
+bool DescribeDiskMonitorDataRequest::getSecurity_transport()const
+{
+	return security_transport_;
+}
+
+void DescribeDiskMonitorDataRequest::setSecurity_transport(bool security_transport)
+{
+	security_transport_ = security_transport;
+	setParameter("Security_transport", std::to_string(security_transport));
+}
+
+std::string DescribeDiskMonitorDataRequest::getRequestId()const
+{
+	return requestId_;
+}
+
+void DescribeDiskMonitorDataRequest::setRequestId(const std::string& requestId)
+{
+	requestId_ = requestId;
+	setParameter("RequestId", requestId);
 }
 

+ 213 - 15
ecs/src/model/DescribeInstanceMonitorDataRequest.cc

@@ -36,26 +36,169 @@ void DescribeInstanceMonitorDataRequest::setResourceOwnerId(long resourceOwnerId
 	setParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
 }
 
-int DescribeInstanceMonitorDataRequest::getPeriod()const
+long DescribeInstanceMonitorDataRequest::getCallerParentId()const
 {
-	return period_;
+	return callerParentId_;
 }
 
-void DescribeInstanceMonitorDataRequest::setPeriod(int period)
+void DescribeInstanceMonitorDataRequest::setCallerParentId(long callerParentId)
 {
-	period_ = period;
-	setParameter("Period", std::to_string(period));
+	callerParentId_ = callerParentId;
+	setParameter("CallerParentId", std::to_string(callerParentId));
 }
 
-std::string DescribeInstanceMonitorDataRequest::getInstanceId()const
+bool DescribeInstanceMonitorDataRequest::getProxy_original_security_transport()const
 {
-	return instanceId_;
+	return proxy_original_security_transport_;
 }
 
-void DescribeInstanceMonitorDataRequest::setInstanceId(const std::string& instanceId)
+void DescribeInstanceMonitorDataRequest::setProxy_original_security_transport(bool proxy_original_security_transport)
 {
-	instanceId_ = instanceId;
-	setParameter("InstanceId", instanceId);
+	proxy_original_security_transport_ = proxy_original_security_transport;
+	setParameter("Proxy_original_security_transport", std::to_string(proxy_original_security_transport));
+}
+
+std::string DescribeInstanceMonitorDataRequest::getStartTime()const
+{
+	return startTime_;
+}
+
+void DescribeInstanceMonitorDataRequest::setStartTime(const std::string& startTime)
+{
+	startTime_ = startTime;
+	setParameter("StartTime", startTime);
+}
+
+std::string DescribeInstanceMonitorDataRequest::getProxy_original_source_ip()const
+{
+	return proxy_original_source_ip_;
+}
+
+void DescribeInstanceMonitorDataRequest::setProxy_original_source_ip(const std::string& proxy_original_source_ip)
+{
+	proxy_original_source_ip_ = proxy_original_source_ip;
+	setParameter("Proxy_original_source_ip", proxy_original_source_ip);
+}
+
+std::string DescribeInstanceMonitorDataRequest::getOwnerIdLoginEmail()const
+{
+	return ownerIdLoginEmail_;
+}
+
+void DescribeInstanceMonitorDataRequest::setOwnerIdLoginEmail(const std::string& ownerIdLoginEmail)
+{
+	ownerIdLoginEmail_ = ownerIdLoginEmail;
+	setParameter("OwnerIdLoginEmail", ownerIdLoginEmail);
+}
+
+std::string DescribeInstanceMonitorDataRequest::getCallerType()const
+{
+	return callerType_;
+}
+
+void DescribeInstanceMonitorDataRequest::setCallerType(const std::string& callerType)
+{
+	callerType_ = callerType;
+	setParameter("CallerType", callerType);
+}
+
+std::string DescribeInstanceMonitorDataRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void DescribeInstanceMonitorDataRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+
+std::string DescribeInstanceMonitorDataRequest::getSecurityToken()const
+{
+	return securityToken_;
+}
+
+void DescribeInstanceMonitorDataRequest::setSecurityToken(const std::string& securityToken)
+{
+	securityToken_ = securityToken;
+	setParameter("SecurityToken", securityToken);
+}
+
+bool DescribeInstanceMonitorDataRequest::getEnable()const
+{
+	return enable_;
+}
+
+void DescribeInstanceMonitorDataRequest::setEnable(bool enable)
+{
+	enable_ = enable;
+	setParameter("Enable", std::to_string(enable));
+}
+
+std::string DescribeInstanceMonitorDataRequest::getRequestContent()const
+{
+	return requestContent_;
+}
+
+void DescribeInstanceMonitorDataRequest::setRequestContent(const std::string& requestContent)
+{
+	requestContent_ = requestContent;
+	setParameter("RequestContent", requestContent);
+}
+
+std::string DescribeInstanceMonitorDataRequest::getCallerBidEmail()const
+{
+	return callerBidEmail_;
+}
+
+void DescribeInstanceMonitorDataRequest::setCallerBidEmail(const std::string& callerBidEmail)
+{
+	callerBidEmail_ = callerBidEmail;
+	setParameter("CallerBidEmail", callerBidEmail);
+}
+
+std::string DescribeInstanceMonitorDataRequest::getCallerUidEmail()const
+{
+	return callerUidEmail_;
+}
+
+void DescribeInstanceMonitorDataRequest::setCallerUidEmail(const std::string& callerUidEmail)
+{
+	callerUidEmail_ = callerUidEmail;
+	setParameter("CallerUidEmail", callerUidEmail);
+}
+
+long DescribeInstanceMonitorDataRequest::getCallerUid()const
+{
+	return callerUid_;
+}
+
+void DescribeInstanceMonitorDataRequest::setCallerUid(long callerUid)
+{
+	callerUid_ = callerUid;
+	setParameter("CallerUid", std::to_string(callerUid));
+}
+
+std::string DescribeInstanceMonitorDataRequest::getApp_ip()const
+{
+	return app_ip_;
+}
+
+void DescribeInstanceMonitorDataRequest::setApp_ip(const std::string& app_ip)
+{
+	app_ip_ = app_ip;
+	setParameter("App_ip", app_ip);
+}
+
+int DescribeInstanceMonitorDataRequest::getPeriod()const
+{
+	return period_;
+}
+
+void DescribeInstanceMonitorDataRequest::setPeriod(int period)
+{
+	period_ = period;
+	setParameter("Period", std::to_string(period));
 }
 
 std::string DescribeInstanceMonitorDataRequest::getResourceOwnerAccount()const
@@ -91,15 +234,15 @@ void DescribeInstanceMonitorDataRequest::setEndTime(const std::string& endTime)
 	setParameter("EndTime", endTime);
 }
 
-std::string DescribeInstanceMonitorDataRequest::getStartTime()const
+std::string DescribeInstanceMonitorDataRequest::getCallerBid()const
 {
-	return startTime_;
+	return callerBid_;
 }
 
-void DescribeInstanceMonitorDataRequest::setStartTime(const std::string& startTime)
+void DescribeInstanceMonitorDataRequest::setCallerBid(const std::string& callerBid)
 {
-	startTime_ = startTime;
-	setParameter("StartTime", startTime);
+	callerBid_ = callerBid;
+	setParameter("CallerBid", callerBid);
 }
 
 long DescribeInstanceMonitorDataRequest::getOwnerId()const
@@ -113,3 +256,58 @@ void DescribeInstanceMonitorDataRequest::setOwnerId(long ownerId)
 	setParameter("OwnerId", std::to_string(ownerId));
 }
 
+bool DescribeInstanceMonitorDataRequest::getProxy_trust_transport_info()const
+{
+	return proxy_trust_transport_info_;
+}
+
+void DescribeInstanceMonitorDataRequest::setProxy_trust_transport_info(bool proxy_trust_transport_info)
+{
+	proxy_trust_transport_info_ = proxy_trust_transport_info;
+	setParameter("Proxy_trust_transport_info", std::to_string(proxy_trust_transport_info));
+}
+
+bool DescribeInstanceMonitorDataRequest::getAk_mfa_present()const
+{
+	return ak_mfa_present_;
+}
+
+void DescribeInstanceMonitorDataRequest::setAk_mfa_present(bool ak_mfa_present)
+{
+	ak_mfa_present_ = ak_mfa_present;
+	setParameter("Ak_mfa_present", std::to_string(ak_mfa_present));
+}
+
+bool DescribeInstanceMonitorDataRequest::getSecurity_transport()const
+{
+	return security_transport_;
+}
+
+void DescribeInstanceMonitorDataRequest::setSecurity_transport(bool security_transport)
+{
+	security_transport_ = security_transport;
+	setParameter("Security_transport", std::to_string(security_transport));
+}
+
+std::string DescribeInstanceMonitorDataRequest::getInstanceId()const
+{
+	return instanceId_;
+}
+
+void DescribeInstanceMonitorDataRequest::setInstanceId(const std::string& instanceId)
+{
+	instanceId_ = instanceId;
+	setParameter("InstanceId", instanceId);
+}
+
+std::string DescribeInstanceMonitorDataRequest::getRequestId()const
+{
+	return requestId_;
+}
+
+void DescribeInstanceMonitorDataRequest::setRequestId(const std::string& requestId)
+{
+	requestId_ = requestId;
+	setParameter("RequestId", requestId);
+}
+

+ 2 - 2
ecs/src/model/DescribeResourcesModificationRequest.cc

@@ -36,12 +36,12 @@ void DescribeResourcesModificationRequest::setResourceOwnerId(long resourceOwner
 	setParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
 }
 
-int DescribeResourcesModificationRequest::getMemory()const
+float DescribeResourcesModificationRequest::getMemory()const
 {
 	return memory_;
 }
 
-void DescribeResourcesModificationRequest::setMemory(int memory)
+void DescribeResourcesModificationRequest::setMemory(float memory)
 {
 	memory_ = memory;
 	setParameter("Memory", std::to_string(memory));

+ 346 - 0
ecs/src/model/ModifyDedicatedHostAttributeRequest.cc

@@ -0,0 +1,346 @@
+/*
+ * 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/ModifyDedicatedHostAttributeRequest.h>
+
+using AlibabaCloud::Ecs::Model::ModifyDedicatedHostAttributeRequest;
+
+ModifyDedicatedHostAttributeRequest::ModifyDedicatedHostAttributeRequest() :
+	RpcServiceRequest("ecs", "2014-05-26", "ModifyDedicatedHostAttribute")
+{}
+
+ModifyDedicatedHostAttributeRequest::~ModifyDedicatedHostAttributeRequest()
+{}
+
+long ModifyDedicatedHostAttributeRequest::getResourceOwnerId()const
+{
+	return resourceOwnerId_;
+}
+
+void ModifyDedicatedHostAttributeRequest::setResourceOwnerId(long resourceOwnerId)
+{
+	resourceOwnerId_ = resourceOwnerId;
+	setParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
+}
+
+long ModifyDedicatedHostAttributeRequest::getCallerParentId()const
+{
+	return callerParentId_;
+}
+
+void ModifyDedicatedHostAttributeRequest::setCallerParentId(long callerParentId)
+{
+	callerParentId_ = callerParentId;
+	setParameter("CallerParentId", std::to_string(callerParentId));
+}
+
+bool ModifyDedicatedHostAttributeRequest::getProxy_original_security_transport()const
+{
+	return proxy_original_security_transport_;
+}
+
+void ModifyDedicatedHostAttributeRequest::setProxy_original_security_transport(bool proxy_original_security_transport)
+{
+	proxy_original_security_transport_ = proxy_original_security_transport;
+	setParameter("Proxy_original_security_transport", std::to_string(proxy_original_security_transport));
+}
+
+std::string ModifyDedicatedHostAttributeRequest::getDescription()const
+{
+	return description_;
+}
+
+void ModifyDedicatedHostAttributeRequest::setDescription(const std::string& description)
+{
+	description_ = description;
+	setParameter("Description", description);
+}
+
+std::string ModifyDedicatedHostAttributeRequest::getProxy_original_source_ip()const
+{
+	return proxy_original_source_ip_;
+}
+
+void ModifyDedicatedHostAttributeRequest::setProxy_original_source_ip(const std::string& proxy_original_source_ip)
+{
+	proxy_original_source_ip_ = proxy_original_source_ip;
+	setParameter("Proxy_original_source_ip", proxy_original_source_ip);
+}
+
+std::string ModifyDedicatedHostAttributeRequest::getOwnerIdLoginEmail()const
+{
+	return ownerIdLoginEmail_;
+}
+
+void ModifyDedicatedHostAttributeRequest::setOwnerIdLoginEmail(const std::string& ownerIdLoginEmail)
+{
+	ownerIdLoginEmail_ = ownerIdLoginEmail;
+	setParameter("OwnerIdLoginEmail", ownerIdLoginEmail);
+}
+
+std::string ModifyDedicatedHostAttributeRequest::getCallerType()const
+{
+	return callerType_;
+}
+
+void ModifyDedicatedHostAttributeRequest::setCallerType(const std::string& callerType)
+{
+	callerType_ = callerType;
+	setParameter("CallerType", callerType);
+}
+
+std::string ModifyDedicatedHostAttributeRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void ModifyDedicatedHostAttributeRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+
+std::string ModifyDedicatedHostAttributeRequest::getSecurityToken()const
+{
+	return securityToken_;
+}
+
+void ModifyDedicatedHostAttributeRequest::setSecurityToken(const std::string& securityToken)
+{
+	securityToken_ = securityToken;
+	setParameter("SecurityToken", securityToken);
+}
+
+std::string ModifyDedicatedHostAttributeRequest::getRegionId()const
+{
+	return regionId_;
+}
+
+void ModifyDedicatedHostAttributeRequest::setRegionId(const std::string& regionId)
+{
+	regionId_ = regionId;
+	setParameter("RegionId", regionId);
+}
+
+bool ModifyDedicatedHostAttributeRequest::getEnable()const
+{
+	return enable_;
+}
+
+void ModifyDedicatedHostAttributeRequest::setEnable(bool enable)
+{
+	enable_ = enable;
+	setParameter("Enable", std::to_string(enable));
+}
+
+std::string ModifyDedicatedHostAttributeRequest::getRequestContent()const
+{
+	return requestContent_;
+}
+
+void ModifyDedicatedHostAttributeRequest::setRequestContent(const std::string& requestContent)
+{
+	requestContent_ = requestContent;
+	setParameter("RequestContent", requestContent);
+}
+
+std::string ModifyDedicatedHostAttributeRequest::getActionOnMaintenance()const
+{
+	return actionOnMaintenance_;
+}
+
+void ModifyDedicatedHostAttributeRequest::setActionOnMaintenance(const std::string& actionOnMaintenance)
+{
+	actionOnMaintenance_ = actionOnMaintenance;
+	setParameter("ActionOnMaintenance", actionOnMaintenance);
+}
+
+std::string ModifyDedicatedHostAttributeRequest::getCallerBidEmail()const
+{
+	return callerBidEmail_;
+}
+
+void ModifyDedicatedHostAttributeRequest::setCallerBidEmail(const std::string& callerBidEmail)
+{
+	callerBidEmail_ = callerBidEmail;
+	setParameter("CallerBidEmail", callerBidEmail);
+}
+
+std::string ModifyDedicatedHostAttributeRequest::getCallerUidEmail()const
+{
+	return callerUidEmail_;
+}
+
+void ModifyDedicatedHostAttributeRequest::setCallerUidEmail(const std::string& callerUidEmail)
+{
+	callerUidEmail_ = callerUidEmail;
+	setParameter("CallerUidEmail", callerUidEmail);
+}
+
+long ModifyDedicatedHostAttributeRequest::getCallerUid()const
+{
+	return callerUid_;
+}
+
+void ModifyDedicatedHostAttributeRequest::setCallerUid(long callerUid)
+{
+	callerUid_ = callerUid;
+	setParameter("CallerUid", std::to_string(callerUid));
+}
+
+std::string ModifyDedicatedHostAttributeRequest::getApp_ip()const
+{
+	return app_ip_;
+}
+
+void ModifyDedicatedHostAttributeRequest::setApp_ip(const std::string& app_ip)
+{
+	app_ip_ = app_ip;
+	setParameter("App_ip", app_ip);
+}
+
+std::string ModifyDedicatedHostAttributeRequest::getDedicatedHostName()const
+{
+	return dedicatedHostName_;
+}
+
+void ModifyDedicatedHostAttributeRequest::setDedicatedHostName(const std::string& dedicatedHostName)
+{
+	dedicatedHostName_ = dedicatedHostName;
+	setParameter("DedicatedHostName", dedicatedHostName);
+}
+
+std::string ModifyDedicatedHostAttributeRequest::getResourceOwnerAccount()const
+{
+	return resourceOwnerAccount_;
+}
+
+void ModifyDedicatedHostAttributeRequest::setResourceOwnerAccount(const std::string& resourceOwnerAccount)
+{
+	resourceOwnerAccount_ = resourceOwnerAccount;
+	setParameter("ResourceOwnerAccount", resourceOwnerAccount);
+}
+
+std::string ModifyDedicatedHostAttributeRequest::getOwnerAccount()const
+{
+	return ownerAccount_;
+}
+
+void ModifyDedicatedHostAttributeRequest::setOwnerAccount(const std::string& ownerAccount)
+{
+	ownerAccount_ = ownerAccount;
+	setParameter("OwnerAccount", ownerAccount);
+}
+
+std::string ModifyDedicatedHostAttributeRequest::getDedicatedHostId()const
+{
+	return dedicatedHostId_;
+}
+
+void ModifyDedicatedHostAttributeRequest::setDedicatedHostId(const std::string& dedicatedHostId)
+{
+	dedicatedHostId_ = dedicatedHostId;
+	setParameter("DedicatedHostId", dedicatedHostId);
+}
+
+std::string ModifyDedicatedHostAttributeRequest::getCallerBid()const
+{
+	return callerBid_;
+}
+
+void ModifyDedicatedHostAttributeRequest::setCallerBid(const std::string& callerBid)
+{
+	callerBid_ = callerBid;
+	setParameter("CallerBid", callerBid);
+}
+
+long ModifyDedicatedHostAttributeRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void ModifyDedicatedHostAttributeRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+
+bool ModifyDedicatedHostAttributeRequest::getProxy_trust_transport_info()const
+{
+	return proxy_trust_transport_info_;
+}
+
+void ModifyDedicatedHostAttributeRequest::setProxy_trust_transport_info(bool proxy_trust_transport_info)
+{
+	proxy_trust_transport_info_ = proxy_trust_transport_info;
+	setParameter("Proxy_trust_transport_info", std::to_string(proxy_trust_transport_info));
+}
+
+bool ModifyDedicatedHostAttributeRequest::getAk_mfa_present()const
+{
+	return ak_mfa_present_;
+}
+
+void ModifyDedicatedHostAttributeRequest::setAk_mfa_present(bool ak_mfa_present)
+{
+	ak_mfa_present_ = ak_mfa_present;
+	setParameter("Ak_mfa_present", std::to_string(ak_mfa_present));
+}
+
+bool ModifyDedicatedHostAttributeRequest::getSecurity_transport()const
+{
+	return security_transport_;
+}
+
+void ModifyDedicatedHostAttributeRequest::setSecurity_transport(bool security_transport)
+{
+	security_transport_ = security_transport;
+	setParameter("Security_transport", std::to_string(security_transport));
+}
+
+std::string ModifyDedicatedHostAttributeRequest::getRequestId()const
+{
+	return requestId_;
+}
+
+void ModifyDedicatedHostAttributeRequest::setRequestId(const std::string& requestId)
+{
+	requestId_ = requestId;
+	setParameter("RequestId", requestId);
+}
+
+int ModifyDedicatedHostAttributeRequest::getNetworkAttributesSlbUdpTimeout()const
+{
+	return networkAttributesSlbUdpTimeout_;
+}
+
+void ModifyDedicatedHostAttributeRequest::setNetworkAttributesSlbUdpTimeout(int networkAttributesSlbUdpTimeout)
+{
+	networkAttributesSlbUdpTimeout_ = networkAttributesSlbUdpTimeout;
+	setParameter("NetworkAttributesSlbUdpTimeout", std::to_string(networkAttributesSlbUdpTimeout));
+}
+
+int ModifyDedicatedHostAttributeRequest::getNetworkAttributesUdpTimeout()const
+{
+	return networkAttributesUdpTimeout_;
+}
+
+void ModifyDedicatedHostAttributeRequest::setNetworkAttributesUdpTimeout(int networkAttributesUdpTimeout)
+{
+	networkAttributesUdpTimeout_ = networkAttributesUdpTimeout;
+	setParameter("NetworkAttributesUdpTimeout", std::to_string(networkAttributesUdpTimeout));
+}
+

+ 45 - 0
ecs/src/model/ModifyDedicatedHostAttributeResult.cc

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

+ 104 - 0
ecs/src/model/ModifyDedicatedHostAutoReleaseTimeRequest.cc

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

+ 45 - 0
ecs/src/model/ModifyDedicatedHostAutoReleaseTimeResult.cc

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

+ 137 - 0
ecs/src/model/ModifyDedicatedHostAutoRenewAttributeRequest.cc

@@ -0,0 +1,137 @@
+/*
+ * 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/ModifyDedicatedHostAutoRenewAttributeRequest.h>
+
+using AlibabaCloud::Ecs::Model::ModifyDedicatedHostAutoRenewAttributeRequest;
+
+ModifyDedicatedHostAutoRenewAttributeRequest::ModifyDedicatedHostAutoRenewAttributeRequest() :
+	RpcServiceRequest("ecs", "2014-05-26", "ModifyDedicatedHostAutoRenewAttribute")
+{}
+
+ModifyDedicatedHostAutoRenewAttributeRequest::~ModifyDedicatedHostAutoRenewAttributeRequest()
+{}
+
+int ModifyDedicatedHostAutoRenewAttributeRequest::getDuration()const
+{
+	return duration_;
+}
+
+void ModifyDedicatedHostAutoRenewAttributeRequest::setDuration(int duration)
+{
+	duration_ = duration;
+	setParameter("Duration", std::to_string(duration));
+}
+
+std::string ModifyDedicatedHostAutoRenewAttributeRequest::getDedicatedHostIds()const
+{
+	return dedicatedHostIds_;
+}
+
+void ModifyDedicatedHostAutoRenewAttributeRequest::setDedicatedHostIds(const std::string& dedicatedHostIds)
+{
+	dedicatedHostIds_ = dedicatedHostIds;
+	setParameter("DedicatedHostIds", dedicatedHostIds);
+}
+
+long ModifyDedicatedHostAutoRenewAttributeRequest::getResourceOwnerId()const
+{
+	return resourceOwnerId_;
+}
+
+void ModifyDedicatedHostAutoRenewAttributeRequest::setResourceOwnerId(long resourceOwnerId)
+{
+	resourceOwnerId_ = resourceOwnerId;
+	setParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
+}
+
+std::string ModifyDedicatedHostAutoRenewAttributeRequest::getPeriodUnit()const
+{
+	return periodUnit_;
+}
+
+void ModifyDedicatedHostAutoRenewAttributeRequest::setPeriodUnit(const std::string& periodUnit)
+{
+	periodUnit_ = periodUnit;
+	setParameter("PeriodUnit", periodUnit);
+}
+
+bool ModifyDedicatedHostAutoRenewAttributeRequest::getAutoRenew()const
+{
+	return autoRenew_;
+}
+
+void ModifyDedicatedHostAutoRenewAttributeRequest::setAutoRenew(bool autoRenew)
+{
+	autoRenew_ = autoRenew;
+	setParameter("AutoRenew", std::to_string(autoRenew));
+}
+
+std::string ModifyDedicatedHostAutoRenewAttributeRequest::getResourceOwnerAccount()const
+{
+	return resourceOwnerAccount_;
+}
+
+void ModifyDedicatedHostAutoRenewAttributeRequest::setResourceOwnerAccount(const std::string& resourceOwnerAccount)
+{
+	resourceOwnerAccount_ = resourceOwnerAccount;
+	setParameter("ResourceOwnerAccount", resourceOwnerAccount);
+}
+
+std::string ModifyDedicatedHostAutoRenewAttributeRequest::getRegionId()const
+{
+	return regionId_;
+}
+
+void ModifyDedicatedHostAutoRenewAttributeRequest::setRegionId(const std::string& regionId)
+{
+	regionId_ = regionId;
+	setParameter("RegionId", regionId);
+}
+
+std::string ModifyDedicatedHostAutoRenewAttributeRequest::getOwnerAccount()const
+{
+	return ownerAccount_;
+}
+
+void ModifyDedicatedHostAutoRenewAttributeRequest::setOwnerAccount(const std::string& ownerAccount)
+{
+	ownerAccount_ = ownerAccount;
+	setParameter("OwnerAccount", ownerAccount);
+}
+
+std::string ModifyDedicatedHostAutoRenewAttributeRequest::getRenewalStatus()const
+{
+	return renewalStatus_;
+}
+
+void ModifyDedicatedHostAutoRenewAttributeRequest::setRenewalStatus(const std::string& renewalStatus)
+{
+	renewalStatus_ = renewalStatus;
+	setParameter("RenewalStatus", renewalStatus);
+}
+
+long ModifyDedicatedHostAutoRenewAttributeRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void ModifyDedicatedHostAutoRenewAttributeRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+

+ 45 - 0
ecs/src/model/ModifyDedicatedHostAutoRenewAttributeResult.cc

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

+ 302 - 0
ecs/src/model/ModifyInstanceDeploymentRequest.cc

@@ -0,0 +1,302 @@
+/*
+ * 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/ModifyInstanceDeploymentRequest.h>
+
+using AlibabaCloud::Ecs::Model::ModifyInstanceDeploymentRequest;
+
+ModifyInstanceDeploymentRequest::ModifyInstanceDeploymentRequest() :
+	RpcServiceRequest("ecs", "2014-05-26", "ModifyInstanceDeployment")
+{}
+
+ModifyInstanceDeploymentRequest::~ModifyInstanceDeploymentRequest()
+{}
+
+long ModifyInstanceDeploymentRequest::getResourceOwnerId()const
+{
+	return resourceOwnerId_;
+}
+
+void ModifyInstanceDeploymentRequest::setResourceOwnerId(long resourceOwnerId)
+{
+	resourceOwnerId_ = resourceOwnerId;
+	setParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
+}
+
+long ModifyInstanceDeploymentRequest::getCallerParentId()const
+{
+	return callerParentId_;
+}
+
+void ModifyInstanceDeploymentRequest::setCallerParentId(long callerParentId)
+{
+	callerParentId_ = callerParentId;
+	setParameter("CallerParentId", std::to_string(callerParentId));
+}
+
+bool ModifyInstanceDeploymentRequest::getProxy_original_security_transport()const
+{
+	return proxy_original_security_transport_;
+}
+
+void ModifyInstanceDeploymentRequest::setProxy_original_security_transport(bool proxy_original_security_transport)
+{
+	proxy_original_security_transport_ = proxy_original_security_transport;
+	setParameter("Proxy_original_security_transport", std::to_string(proxy_original_security_transport));
+}
+
+std::string ModifyInstanceDeploymentRequest::getProxy_original_source_ip()const
+{
+	return proxy_original_source_ip_;
+}
+
+void ModifyInstanceDeploymentRequest::setProxy_original_source_ip(const std::string& proxy_original_source_ip)
+{
+	proxy_original_source_ip_ = proxy_original_source_ip;
+	setParameter("Proxy_original_source_ip", proxy_original_source_ip);
+}
+
+std::string ModifyInstanceDeploymentRequest::getOwnerIdLoginEmail()const
+{
+	return ownerIdLoginEmail_;
+}
+
+void ModifyInstanceDeploymentRequest::setOwnerIdLoginEmail(const std::string& ownerIdLoginEmail)
+{
+	ownerIdLoginEmail_ = ownerIdLoginEmail;
+	setParameter("OwnerIdLoginEmail", ownerIdLoginEmail);
+}
+
+std::string ModifyInstanceDeploymentRequest::getCallerType()const
+{
+	return callerType_;
+}
+
+void ModifyInstanceDeploymentRequest::setCallerType(const std::string& callerType)
+{
+	callerType_ = callerType;
+	setParameter("CallerType", callerType);
+}
+
+std::string ModifyInstanceDeploymentRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void ModifyInstanceDeploymentRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+
+std::string ModifyInstanceDeploymentRequest::getSecurityToken()const
+{
+	return securityToken_;
+}
+
+void ModifyInstanceDeploymentRequest::setSecurityToken(const std::string& securityToken)
+{
+	securityToken_ = securityToken;
+	setParameter("SecurityToken", securityToken);
+}
+
+std::string ModifyInstanceDeploymentRequest::getRegionId()const
+{
+	return regionId_;
+}
+
+void ModifyInstanceDeploymentRequest::setRegionId(const std::string& regionId)
+{
+	regionId_ = regionId;
+	setParameter("RegionId", regionId);
+}
+
+bool ModifyInstanceDeploymentRequest::getEnable()const
+{
+	return enable_;
+}
+
+void ModifyInstanceDeploymentRequest::setEnable(bool enable)
+{
+	enable_ = enable;
+	setParameter("Enable", std::to_string(enable));
+}
+
+std::string ModifyInstanceDeploymentRequest::getRequestContent()const
+{
+	return requestContent_;
+}
+
+void ModifyInstanceDeploymentRequest::setRequestContent(const std::string& requestContent)
+{
+	requestContent_ = requestContent;
+	setParameter("RequestContent", requestContent);
+}
+
+std::string ModifyInstanceDeploymentRequest::getCallerBidEmail()const
+{
+	return callerBidEmail_;
+}
+
+void ModifyInstanceDeploymentRequest::setCallerBidEmail(const std::string& callerBidEmail)
+{
+	callerBidEmail_ = callerBidEmail;
+	setParameter("CallerBidEmail", callerBidEmail);
+}
+
+std::string ModifyInstanceDeploymentRequest::getCallerUidEmail()const
+{
+	return callerUidEmail_;
+}
+
+void ModifyInstanceDeploymentRequest::setCallerUidEmail(const std::string& callerUidEmail)
+{
+	callerUidEmail_ = callerUidEmail;
+	setParameter("CallerUidEmail", callerUidEmail);
+}
+
+long ModifyInstanceDeploymentRequest::getCallerUid()const
+{
+	return callerUid_;
+}
+
+void ModifyInstanceDeploymentRequest::setCallerUid(long callerUid)
+{
+	callerUid_ = callerUid;
+	setParameter("CallerUid", std::to_string(callerUid));
+}
+
+std::string ModifyInstanceDeploymentRequest::getApp_ip()const
+{
+	return app_ip_;
+}
+
+void ModifyInstanceDeploymentRequest::setApp_ip(const std::string& app_ip)
+{
+	app_ip_ = app_ip;
+	setParameter("App_ip", app_ip);
+}
+
+std::string ModifyInstanceDeploymentRequest::getResourceOwnerAccount()const
+{
+	return resourceOwnerAccount_;
+}
+
+void ModifyInstanceDeploymentRequest::setResourceOwnerAccount(const std::string& resourceOwnerAccount)
+{
+	resourceOwnerAccount_ = resourceOwnerAccount;
+	setParameter("ResourceOwnerAccount", resourceOwnerAccount);
+}
+
+std::string ModifyInstanceDeploymentRequest::getOwnerAccount()const
+{
+	return ownerAccount_;
+}
+
+void ModifyInstanceDeploymentRequest::setOwnerAccount(const std::string& ownerAccount)
+{
+	ownerAccount_ = ownerAccount;
+	setParameter("OwnerAccount", ownerAccount);
+}
+
+std::string ModifyInstanceDeploymentRequest::getDedicatedHostId()const
+{
+	return dedicatedHostId_;
+}
+
+void ModifyInstanceDeploymentRequest::setDedicatedHostId(const std::string& dedicatedHostId)
+{
+	dedicatedHostId_ = dedicatedHostId;
+	setParameter("DedicatedHostId", dedicatedHostId);
+}
+
+std::string ModifyInstanceDeploymentRequest::getCallerBid()const
+{
+	return callerBid_;
+}
+
+void ModifyInstanceDeploymentRequest::setCallerBid(const std::string& callerBid)
+{
+	callerBid_ = callerBid;
+	setParameter("CallerBid", callerBid);
+}
+
+long ModifyInstanceDeploymentRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void ModifyInstanceDeploymentRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+
+bool ModifyInstanceDeploymentRequest::getProxy_trust_transport_info()const
+{
+	return proxy_trust_transport_info_;
+}
+
+void ModifyInstanceDeploymentRequest::setProxy_trust_transport_info(bool proxy_trust_transport_info)
+{
+	proxy_trust_transport_info_ = proxy_trust_transport_info;
+	setParameter("Proxy_trust_transport_info", std::to_string(proxy_trust_transport_info));
+}
+
+bool ModifyInstanceDeploymentRequest::getAk_mfa_present()const
+{
+	return ak_mfa_present_;
+}
+
+void ModifyInstanceDeploymentRequest::setAk_mfa_present(bool ak_mfa_present)
+{
+	ak_mfa_present_ = ak_mfa_present;
+	setParameter("Ak_mfa_present", std::to_string(ak_mfa_present));
+}
+
+bool ModifyInstanceDeploymentRequest::getSecurity_transport()const
+{
+	return security_transport_;
+}
+
+void ModifyInstanceDeploymentRequest::setSecurity_transport(bool security_transport)
+{
+	security_transport_ = security_transport;
+	setParameter("Security_transport", std::to_string(security_transport));
+}
+
+std::string ModifyInstanceDeploymentRequest::getInstanceId()const
+{
+	return instanceId_;
+}
+
+void ModifyInstanceDeploymentRequest::setInstanceId(const std::string& instanceId)
+{
+	instanceId_ = instanceId;
+	setParameter("InstanceId", instanceId);
+}
+
+std::string ModifyInstanceDeploymentRequest::getRequestId()const
+{
+	return requestId_;
+}
+
+void ModifyInstanceDeploymentRequest::setRequestId(const std::string& requestId)
+{
+	requestId_ = requestId;
+	setParameter("RequestId", requestId);
+}
+

+ 45 - 0
ecs/src/model/ModifyInstanceDeploymentResult.cc

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

+ 291 - 0
ecs/src/model/ReleaseDedicatedHostRequest.cc

@@ -0,0 +1,291 @@
+/*
+ * 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/ReleaseDedicatedHostRequest.h>
+
+using AlibabaCloud::Ecs::Model::ReleaseDedicatedHostRequest;
+
+ReleaseDedicatedHostRequest::ReleaseDedicatedHostRequest() :
+	RpcServiceRequest("ecs", "2014-05-26", "ReleaseDedicatedHost")
+{}
+
+ReleaseDedicatedHostRequest::~ReleaseDedicatedHostRequest()
+{}
+
+long ReleaseDedicatedHostRequest::getResourceOwnerId()const
+{
+	return resourceOwnerId_;
+}
+
+void ReleaseDedicatedHostRequest::setResourceOwnerId(long resourceOwnerId)
+{
+	resourceOwnerId_ = resourceOwnerId;
+	setParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
+}
+
+long ReleaseDedicatedHostRequest::getCallerParentId()const
+{
+	return callerParentId_;
+}
+
+void ReleaseDedicatedHostRequest::setCallerParentId(long callerParentId)
+{
+	callerParentId_ = callerParentId;
+	setParameter("CallerParentId", std::to_string(callerParentId));
+}
+
+bool ReleaseDedicatedHostRequest::getProxy_original_security_transport()const
+{
+	return proxy_original_security_transport_;
+}
+
+void ReleaseDedicatedHostRequest::setProxy_original_security_transport(bool proxy_original_security_transport)
+{
+	proxy_original_security_transport_ = proxy_original_security_transport;
+	setParameter("Proxy_original_security_transport", std::to_string(proxy_original_security_transport));
+}
+
+std::string ReleaseDedicatedHostRequest::getProxy_original_source_ip()const
+{
+	return proxy_original_source_ip_;
+}
+
+void ReleaseDedicatedHostRequest::setProxy_original_source_ip(const std::string& proxy_original_source_ip)
+{
+	proxy_original_source_ip_ = proxy_original_source_ip;
+	setParameter("Proxy_original_source_ip", proxy_original_source_ip);
+}
+
+std::string ReleaseDedicatedHostRequest::getOwnerIdLoginEmail()const
+{
+	return ownerIdLoginEmail_;
+}
+
+void ReleaseDedicatedHostRequest::setOwnerIdLoginEmail(const std::string& ownerIdLoginEmail)
+{
+	ownerIdLoginEmail_ = ownerIdLoginEmail;
+	setParameter("OwnerIdLoginEmail", ownerIdLoginEmail);
+}
+
+std::string ReleaseDedicatedHostRequest::getCallerType()const
+{
+	return callerType_;
+}
+
+void ReleaseDedicatedHostRequest::setCallerType(const std::string& callerType)
+{
+	callerType_ = callerType;
+	setParameter("CallerType", callerType);
+}
+
+std::string ReleaseDedicatedHostRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void ReleaseDedicatedHostRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+
+std::string ReleaseDedicatedHostRequest::getSecurityToken()const
+{
+	return securityToken_;
+}
+
+void ReleaseDedicatedHostRequest::setSecurityToken(const std::string& securityToken)
+{
+	securityToken_ = securityToken;
+	setParameter("SecurityToken", securityToken);
+}
+
+std::string ReleaseDedicatedHostRequest::getRegionId()const
+{
+	return regionId_;
+}
+
+void ReleaseDedicatedHostRequest::setRegionId(const std::string& regionId)
+{
+	regionId_ = regionId;
+	setParameter("RegionId", regionId);
+}
+
+bool ReleaseDedicatedHostRequest::getEnable()const
+{
+	return enable_;
+}
+
+void ReleaseDedicatedHostRequest::setEnable(bool enable)
+{
+	enable_ = enable;
+	setParameter("Enable", std::to_string(enable));
+}
+
+std::string ReleaseDedicatedHostRequest::getRequestContent()const
+{
+	return requestContent_;
+}
+
+void ReleaseDedicatedHostRequest::setRequestContent(const std::string& requestContent)
+{
+	requestContent_ = requestContent;
+	setParameter("RequestContent", requestContent);
+}
+
+std::string ReleaseDedicatedHostRequest::getCallerBidEmail()const
+{
+	return callerBidEmail_;
+}
+
+void ReleaseDedicatedHostRequest::setCallerBidEmail(const std::string& callerBidEmail)
+{
+	callerBidEmail_ = callerBidEmail;
+	setParameter("CallerBidEmail", callerBidEmail);
+}
+
+std::string ReleaseDedicatedHostRequest::getCallerUidEmail()const
+{
+	return callerUidEmail_;
+}
+
+void ReleaseDedicatedHostRequest::setCallerUidEmail(const std::string& callerUidEmail)
+{
+	callerUidEmail_ = callerUidEmail;
+	setParameter("CallerUidEmail", callerUidEmail);
+}
+
+long ReleaseDedicatedHostRequest::getCallerUid()const
+{
+	return callerUid_;
+}
+
+void ReleaseDedicatedHostRequest::setCallerUid(long callerUid)
+{
+	callerUid_ = callerUid;
+	setParameter("CallerUid", std::to_string(callerUid));
+}
+
+std::string ReleaseDedicatedHostRequest::getApp_ip()const
+{
+	return app_ip_;
+}
+
+void ReleaseDedicatedHostRequest::setApp_ip(const std::string& app_ip)
+{
+	app_ip_ = app_ip;
+	setParameter("App_ip", app_ip);
+}
+
+std::string ReleaseDedicatedHostRequest::getResourceOwnerAccount()const
+{
+	return resourceOwnerAccount_;
+}
+
+void ReleaseDedicatedHostRequest::setResourceOwnerAccount(const std::string& resourceOwnerAccount)
+{
+	resourceOwnerAccount_ = resourceOwnerAccount;
+	setParameter("ResourceOwnerAccount", resourceOwnerAccount);
+}
+
+std::string ReleaseDedicatedHostRequest::getOwnerAccount()const
+{
+	return ownerAccount_;
+}
+
+void ReleaseDedicatedHostRequest::setOwnerAccount(const std::string& ownerAccount)
+{
+	ownerAccount_ = ownerAccount;
+	setParameter("OwnerAccount", ownerAccount);
+}
+
+std::string ReleaseDedicatedHostRequest::getDedicatedHostId()const
+{
+	return dedicatedHostId_;
+}
+
+void ReleaseDedicatedHostRequest::setDedicatedHostId(const std::string& dedicatedHostId)
+{
+	dedicatedHostId_ = dedicatedHostId;
+	setParameter("DedicatedHostId", dedicatedHostId);
+}
+
+std::string ReleaseDedicatedHostRequest::getCallerBid()const
+{
+	return callerBid_;
+}
+
+void ReleaseDedicatedHostRequest::setCallerBid(const std::string& callerBid)
+{
+	callerBid_ = callerBid;
+	setParameter("CallerBid", callerBid);
+}
+
+long ReleaseDedicatedHostRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void ReleaseDedicatedHostRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+
+bool ReleaseDedicatedHostRequest::getProxy_trust_transport_info()const
+{
+	return proxy_trust_transport_info_;
+}
+
+void ReleaseDedicatedHostRequest::setProxy_trust_transport_info(bool proxy_trust_transport_info)
+{
+	proxy_trust_transport_info_ = proxy_trust_transport_info;
+	setParameter("Proxy_trust_transport_info", std::to_string(proxy_trust_transport_info));
+}
+
+bool ReleaseDedicatedHostRequest::getAk_mfa_present()const
+{
+	return ak_mfa_present_;
+}
+
+void ReleaseDedicatedHostRequest::setAk_mfa_present(bool ak_mfa_present)
+{
+	ak_mfa_present_ = ak_mfa_present;
+	setParameter("Ak_mfa_present", std::to_string(ak_mfa_present));
+}
+
+bool ReleaseDedicatedHostRequest::getSecurity_transport()const
+{
+	return security_transport_;
+}
+
+void ReleaseDedicatedHostRequest::setSecurity_transport(bool security_transport)
+{
+	security_transport_ = security_transport;
+	setParameter("Security_transport", std::to_string(security_transport));
+}
+
+std::string ReleaseDedicatedHostRequest::getRequestId()const
+{
+	return requestId_;
+}
+
+void ReleaseDedicatedHostRequest::setRequestId(const std::string& requestId)
+{
+	requestId_ = requestId;
+	setParameter("RequestId", requestId);
+}
+

+ 45 - 0
ecs/src/model/ReleaseDedicatedHostResult.cc

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

+ 324 - 0
ecs/src/model/RenewDedicatedHostsRequest.cc

@@ -0,0 +1,324 @@
+/*
+ * 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/RenewDedicatedHostsRequest.h>
+
+using AlibabaCloud::Ecs::Model::RenewDedicatedHostsRequest;
+
+RenewDedicatedHostsRequest::RenewDedicatedHostsRequest() :
+	RpcServiceRequest("ecs", "2014-05-26", "RenewDedicatedHosts")
+{}
+
+RenewDedicatedHostsRequest::~RenewDedicatedHostsRequest()
+{}
+
+std::string RenewDedicatedHostsRequest::getDedicatedHostIds()const
+{
+	return dedicatedHostIds_;
+}
+
+void RenewDedicatedHostsRequest::setDedicatedHostIds(const std::string& dedicatedHostIds)
+{
+	dedicatedHostIds_ = dedicatedHostIds;
+	setParameter("DedicatedHostIds", dedicatedHostIds);
+}
+
+long RenewDedicatedHostsRequest::getResourceOwnerId()const
+{
+	return resourceOwnerId_;
+}
+
+void RenewDedicatedHostsRequest::setResourceOwnerId(long resourceOwnerId)
+{
+	resourceOwnerId_ = resourceOwnerId;
+	setParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
+}
+
+std::string RenewDedicatedHostsRequest::getClientToken()const
+{
+	return clientToken_;
+}
+
+void RenewDedicatedHostsRequest::setClientToken(const std::string& clientToken)
+{
+	clientToken_ = clientToken;
+	setParameter("ClientToken", clientToken);
+}
+
+long RenewDedicatedHostsRequest::getCallerParentId()const
+{
+	return callerParentId_;
+}
+
+void RenewDedicatedHostsRequest::setCallerParentId(long callerParentId)
+{
+	callerParentId_ = callerParentId;
+	setParameter("CallerParentId", std::to_string(callerParentId));
+}
+
+bool RenewDedicatedHostsRequest::getProxy_original_security_transport()const
+{
+	return proxy_original_security_transport_;
+}
+
+void RenewDedicatedHostsRequest::setProxy_original_security_transport(bool proxy_original_security_transport)
+{
+	proxy_original_security_transport_ = proxy_original_security_transport;
+	setParameter("Proxy_original_security_transport", std::to_string(proxy_original_security_transport));
+}
+
+std::string RenewDedicatedHostsRequest::getProxy_original_source_ip()const
+{
+	return proxy_original_source_ip_;
+}
+
+void RenewDedicatedHostsRequest::setProxy_original_source_ip(const std::string& proxy_original_source_ip)
+{
+	proxy_original_source_ip_ = proxy_original_source_ip;
+	setParameter("Proxy_original_source_ip", proxy_original_source_ip);
+}
+
+std::string RenewDedicatedHostsRequest::getOwnerIdLoginEmail()const
+{
+	return ownerIdLoginEmail_;
+}
+
+void RenewDedicatedHostsRequest::setOwnerIdLoginEmail(const std::string& ownerIdLoginEmail)
+{
+	ownerIdLoginEmail_ = ownerIdLoginEmail;
+	setParameter("OwnerIdLoginEmail", ownerIdLoginEmail);
+}
+
+std::string RenewDedicatedHostsRequest::getCallerType()const
+{
+	return callerType_;
+}
+
+void RenewDedicatedHostsRequest::setCallerType(const std::string& callerType)
+{
+	callerType_ = callerType;
+	setParameter("CallerType", callerType);
+}
+
+std::string RenewDedicatedHostsRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void RenewDedicatedHostsRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+
+std::string RenewDedicatedHostsRequest::getSecurityToken()const
+{
+	return securityToken_;
+}
+
+void RenewDedicatedHostsRequest::setSecurityToken(const std::string& securityToken)
+{
+	securityToken_ = securityToken;
+	setParameter("SecurityToken", securityToken);
+}
+
+std::string RenewDedicatedHostsRequest::getRegionId()const
+{
+	return regionId_;
+}
+
+void RenewDedicatedHostsRequest::setRegionId(const std::string& regionId)
+{
+	regionId_ = regionId;
+	setParameter("RegionId", regionId);
+}
+
+bool RenewDedicatedHostsRequest::getEnable()const
+{
+	return enable_;
+}
+
+void RenewDedicatedHostsRequest::setEnable(bool enable)
+{
+	enable_ = enable;
+	setParameter("Enable", std::to_string(enable));
+}
+
+std::string RenewDedicatedHostsRequest::getRequestContent()const
+{
+	return requestContent_;
+}
+
+void RenewDedicatedHostsRequest::setRequestContent(const std::string& requestContent)
+{
+	requestContent_ = requestContent;
+	setParameter("RequestContent", requestContent);
+}
+
+std::string RenewDedicatedHostsRequest::getCallerBidEmail()const
+{
+	return callerBidEmail_;
+}
+
+void RenewDedicatedHostsRequest::setCallerBidEmail(const std::string& callerBidEmail)
+{
+	callerBidEmail_ = callerBidEmail;
+	setParameter("CallerBidEmail", callerBidEmail);
+}
+
+std::string RenewDedicatedHostsRequest::getCallerUidEmail()const
+{
+	return callerUidEmail_;
+}
+
+void RenewDedicatedHostsRequest::setCallerUidEmail(const std::string& callerUidEmail)
+{
+	callerUidEmail_ = callerUidEmail;
+	setParameter("CallerUidEmail", callerUidEmail);
+}
+
+long RenewDedicatedHostsRequest::getCallerUid()const
+{
+	return callerUid_;
+}
+
+void RenewDedicatedHostsRequest::setCallerUid(long callerUid)
+{
+	callerUid_ = callerUid;
+	setParameter("CallerUid", std::to_string(callerUid));
+}
+
+std::string RenewDedicatedHostsRequest::getApp_ip()const
+{
+	return app_ip_;
+}
+
+void RenewDedicatedHostsRequest::setApp_ip(const std::string& app_ip)
+{
+	app_ip_ = app_ip;
+	setParameter("App_ip", app_ip);
+}
+
+int RenewDedicatedHostsRequest::getPeriod()const
+{
+	return period_;
+}
+
+void RenewDedicatedHostsRequest::setPeriod(int period)
+{
+	period_ = period;
+	setParameter("Period", std::to_string(period));
+}
+
+std::string RenewDedicatedHostsRequest::getResourceOwnerAccount()const
+{
+	return resourceOwnerAccount_;
+}
+
+void RenewDedicatedHostsRequest::setResourceOwnerAccount(const std::string& resourceOwnerAccount)
+{
+	resourceOwnerAccount_ = resourceOwnerAccount;
+	setParameter("ResourceOwnerAccount", resourceOwnerAccount);
+}
+
+std::string RenewDedicatedHostsRequest::getOwnerAccount()const
+{
+	return ownerAccount_;
+}
+
+void RenewDedicatedHostsRequest::setOwnerAccount(const std::string& ownerAccount)
+{
+	ownerAccount_ = ownerAccount;
+	setParameter("OwnerAccount", ownerAccount);
+}
+
+std::string RenewDedicatedHostsRequest::getCallerBid()const
+{
+	return callerBid_;
+}
+
+void RenewDedicatedHostsRequest::setCallerBid(const std::string& callerBid)
+{
+	callerBid_ = callerBid;
+	setParameter("CallerBid", callerBid);
+}
+
+long RenewDedicatedHostsRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void RenewDedicatedHostsRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+
+bool RenewDedicatedHostsRequest::getProxy_trust_transport_info()const
+{
+	return proxy_trust_transport_info_;
+}
+
+void RenewDedicatedHostsRequest::setProxy_trust_transport_info(bool proxy_trust_transport_info)
+{
+	proxy_trust_transport_info_ = proxy_trust_transport_info;
+	setParameter("Proxy_trust_transport_info", std::to_string(proxy_trust_transport_info));
+}
+
+bool RenewDedicatedHostsRequest::getAk_mfa_present()const
+{
+	return ak_mfa_present_;
+}
+
+void RenewDedicatedHostsRequest::setAk_mfa_present(bool ak_mfa_present)
+{
+	ak_mfa_present_ = ak_mfa_present;
+	setParameter("Ak_mfa_present", std::to_string(ak_mfa_present));
+}
+
+bool RenewDedicatedHostsRequest::getSecurity_transport()const
+{
+	return security_transport_;
+}
+
+void RenewDedicatedHostsRequest::setSecurity_transport(bool security_transport)
+{
+	security_transport_ = security_transport;
+	setParameter("Security_transport", std::to_string(security_transport));
+}
+
+std::string RenewDedicatedHostsRequest::getPeriodUnit()const
+{
+	return periodUnit_;
+}
+
+void RenewDedicatedHostsRequest::setPeriodUnit(const std::string& periodUnit)
+{
+	periodUnit_ = periodUnit;
+	setParameter("PeriodUnit", periodUnit);
+}
+
+std::string RenewDedicatedHostsRequest::getRequestId()const
+{
+	return requestId_;
+}
+
+void RenewDedicatedHostsRequest::setRequestId(const std::string& requestId)
+{
+	requestId_ = requestId;
+	setParameter("RequestId", requestId);
+}
+

+ 45 - 0
ecs/src/model/RenewDedicatedHostsResult.cc

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