sdk-team 6 лет назад
Родитель
Сommit
f014392806
62 измененных файлов с 2761 добавлено и 8 удалено
  1. 3 0
      CHANGELOG
  2. 24 0
      ecs/CMakeLists.txt
  3. 48 0
      ecs/include/alibabacloud/ecs/EcsClient.h
  4. 6 0
      ecs/include/alibabacloud/ecs/model/AllocateDedicatedHostsRequest.h
  5. 3 0
      ecs/include/alibabacloud/ecs/model/AttachNetworkInterfaceRequest.h
  6. 84 0
      ecs/include/alibabacloud/ecs/model/CreateDedicatedHostClusterRequest.h
  7. 51 0
      ecs/include/alibabacloud/ecs/model/CreateDedicatedHostClusterResult.h
  8. 3 0
      ecs/include/alibabacloud/ecs/model/CreateNetworkInterfaceRequest.h
  9. 63 0
      ecs/include/alibabacloud/ecs/model/DeleteDedicatedHostClusterRequest.h
  10. 49 0
      ecs/include/alibabacloud/ecs/model/DeleteDedicatedHostClusterResult.h
  11. 93 0
      ecs/include/alibabacloud/ecs/model/DescribeDedicatedHostClustersRequest.h
  12. 88 0
      ecs/include/alibabacloud/ecs/model/DescribeDedicatedHostClustersResult.h
  13. 2 0
      ecs/include/alibabacloud/ecs/model/DescribeDedicatedHostTypesResult.h
  14. 2 0
      ecs/include/alibabacloud/ecs/model/DescribeDedicatedHostsResult.h
  15. 6 0
      ecs/include/alibabacloud/ecs/model/DescribeDisksRequest.h
  16. 2 0
      ecs/include/alibabacloud/ecs/model/DescribeDisksResult.h
  17. 11 8
      ecs/include/alibabacloud/ecs/model/DescribeInstanceTypesResult.h
  18. 2 0
      ecs/include/alibabacloud/ecs/model/DescribeInstancesResult.h
  19. 9 0
      ecs/include/alibabacloud/ecs/model/DescribeReservedInstancesRequest.h
  20. 6 0
      ecs/include/alibabacloud/ecs/model/DescribeReservedInstancesResult.h
  21. 75 0
      ecs/include/alibabacloud/ecs/model/DescribeSendFileResultsRequest.h
  22. 85 0
      ecs/include/alibabacloud/ecs/model/DescribeSendFileResultsResult.h
  23. 1 0
      ecs/include/alibabacloud/ecs/model/DescribeTagsResult.h
  24. 6 0
      ecs/include/alibabacloud/ecs/model/ModifyDedicatedHostAttributeRequest.h
  25. 69 0
      ecs/include/alibabacloud/ecs/model/ModifyDedicatedHostClusterAttributeRequest.h
  26. 49 0
      ecs/include/alibabacloud/ecs/model/ModifyDedicatedHostClusterAttributeResult.h
  27. 3 0
      ecs/include/alibabacloud/ecs/model/ModifyInstanceAttributeRequest.h
  28. 3 0
      ecs/include/alibabacloud/ecs/model/ModifyInstanceDeploymentRequest.h
  29. 9 0
      ecs/include/alibabacloud/ecs/model/PurchaseReservedInstancesOfferingRequest.h
  30. 7 0
      ecs/include/alibabacloud/ecs/model/RunInstancesRequest.h
  31. 93 0
      ecs/include/alibabacloud/ecs/model/SendFileRequest.h
  32. 51 0
      ecs/include/alibabacloud/ecs/model/SendFileResult.h
  33. 216 0
      ecs/src/EcsClient.cc
  34. 22 0
      ecs/src/model/AllocateDedicatedHostsRequest.cc
  35. 11 0
      ecs/src/model/AttachNetworkInterfaceRequest.cc
  36. 155 0
      ecs/src/model/CreateDedicatedHostClusterRequest.cc
  37. 51 0
      ecs/src/model/CreateDedicatedHostClusterResult.cc
  38. 11 0
      ecs/src/model/CreateNetworkInterfaceRequest.cc
  39. 95 0
      ecs/src/model/DeleteDedicatedHostClusterRequest.cc
  40. 44 0
      ecs/src/model/DeleteDedicatedHostClusterResult.cc
  41. 188 0
      ecs/src/model/DescribeDedicatedHostClustersRequest.cc
  42. 122 0
      ecs/src/model/DescribeDedicatedHostClustersResult.cc
  43. 4 0
      ecs/src/model/DescribeDedicatedHostTypesResult.cc
  44. 4 0
      ecs/src/model/DescribeDedicatedHostsResult.cc
  45. 22 0
      ecs/src/model/DescribeDisksRequest.cc
  46. 7 0
      ecs/src/model/DescribeDisksResult.cc
  47. 6 0
      ecs/src/model/DescribeInstanceTypesResult.cc
  48. 4 0
      ecs/src/model/DescribeInstancesResult.cc
  49. 16 0
      ecs/src/model/DescribeReservedInstancesRequest.cc
  50. 10 0
      ecs/src/model/DescribeReservedInstancesResult.cc
  51. 139 0
      ecs/src/model/DescribeSendFileResultsRequest.cc
  52. 124 0
      ecs/src/model/DescribeSendFileResultsResult.cc
  53. 2 0
      ecs/src/model/DescribeTagsResult.cc
  54. 22 0
      ecs/src/model/ModifyDedicatedHostAttributeRequest.cc
  55. 117 0
      ecs/src/model/ModifyDedicatedHostClusterAttributeRequest.cc
  56. 44 0
      ecs/src/model/ModifyDedicatedHostClusterAttributeResult.cc
  57. 11 0
      ecs/src/model/ModifyInstanceAttributeRequest.cc
  58. 11 0
      ecs/src/model/ModifyInstanceDeploymentRequest.cc
  59. 16 0
      ecs/src/model/PurchaseReservedInstancesOfferingRequest.cc
  60. 23 0
      ecs/src/model/RunInstancesRequest.cc
  61. 207 0
      ecs/src/model/SendFileRequest.cc
  62. 51 0
      ecs/src/model/SendFileResult.cc

+ 3 - 0
CHANGELOG

@@ -1,3 +1,6 @@
+2020-09-23 Version: patch
+- Add spotDuration support.
+
 2020-09-23 Version: patch
 - Some new parameters are supported.
 

+ 24 - 0
ecs/CMakeLists.txt

@@ -83,6 +83,8 @@ set(ecs_public_header_model
 	include/alibabacloud/ecs/model/CreateAutoSnapshotPolicyResult.h
 	include/alibabacloud/ecs/model/CreateCommandRequest.h
 	include/alibabacloud/ecs/model/CreateCommandResult.h
+	include/alibabacloud/ecs/model/CreateDedicatedHostClusterRequest.h
+	include/alibabacloud/ecs/model/CreateDedicatedHostClusterResult.h
 	include/alibabacloud/ecs/model/CreateDemandRequest.h
 	include/alibabacloud/ecs/model/CreateDemandResult.h
 	include/alibabacloud/ecs/model/CreateDeploymentSetRequest.h
@@ -141,6 +143,8 @@ set(ecs_public_header_model
 	include/alibabacloud/ecs/model/DeleteBandwidthPackageResult.h
 	include/alibabacloud/ecs/model/DeleteCommandRequest.h
 	include/alibabacloud/ecs/model/DeleteCommandResult.h
+	include/alibabacloud/ecs/model/DeleteDedicatedHostClusterRequest.h
+	include/alibabacloud/ecs/model/DeleteDedicatedHostClusterResult.h
 	include/alibabacloud/ecs/model/DeleteDemandRequest.h
 	include/alibabacloud/ecs/model/DeleteDemandResult.h
 	include/alibabacloud/ecs/model/DeleteDeploymentSetRequest.h
@@ -217,6 +221,8 @@ set(ecs_public_header_model
 	include/alibabacloud/ecs/model/DescribeCommandsResult.h
 	include/alibabacloud/ecs/model/DescribeDedicatedHostAutoRenewRequest.h
 	include/alibabacloud/ecs/model/DescribeDedicatedHostAutoRenewResult.h
+	include/alibabacloud/ecs/model/DescribeDedicatedHostClustersRequest.h
+	include/alibabacloud/ecs/model/DescribeDedicatedHostClustersResult.h
 	include/alibabacloud/ecs/model/DescribeDedicatedHostTypesRequest.h
 	include/alibabacloud/ecs/model/DescribeDedicatedHostTypesResult.h
 	include/alibabacloud/ecs/model/DescribeDedicatedHostsRequest.h
@@ -329,6 +335,8 @@ set(ecs_public_header_model
 	include/alibabacloud/ecs/model/DescribeSecurityGroupReferencesResult.h
 	include/alibabacloud/ecs/model/DescribeSecurityGroupsRequest.h
 	include/alibabacloud/ecs/model/DescribeSecurityGroupsResult.h
+	include/alibabacloud/ecs/model/DescribeSendFileResultsRequest.h
+	include/alibabacloud/ecs/model/DescribeSendFileResultsResult.h
 	include/alibabacloud/ecs/model/DescribeSnapshotLinksRequest.h
 	include/alibabacloud/ecs/model/DescribeSnapshotLinksResult.h
 	include/alibabacloud/ecs/model/DescribeSnapshotMonitorDataRequest.h
@@ -429,6 +437,8 @@ set(ecs_public_header_model
 	include/alibabacloud/ecs/model/ModifyDedicatedHostAutoReleaseTimeResult.h
 	include/alibabacloud/ecs/model/ModifyDedicatedHostAutoRenewAttributeRequest.h
 	include/alibabacloud/ecs/model/ModifyDedicatedHostAutoRenewAttributeResult.h
+	include/alibabacloud/ecs/model/ModifyDedicatedHostClusterAttributeRequest.h
+	include/alibabacloud/ecs/model/ModifyDedicatedHostClusterAttributeResult.h
 	include/alibabacloud/ecs/model/ModifyDedicatedHostsChargeTypeRequest.h
 	include/alibabacloud/ecs/model/ModifyDedicatedHostsChargeTypeResult.h
 	include/alibabacloud/ecs/model/ModifyDemandRequest.h
@@ -565,6 +575,8 @@ set(ecs_public_header_model
 	include/alibabacloud/ecs/model/RunCommandResult.h
 	include/alibabacloud/ecs/model/RunInstancesRequest.h
 	include/alibabacloud/ecs/model/RunInstancesResult.h
+	include/alibabacloud/ecs/model/SendFileRequest.h
+	include/alibabacloud/ecs/model/SendFileResult.h
 	include/alibabacloud/ecs/model/StartInstanceRequest.h
 	include/alibabacloud/ecs/model/StartInstanceResult.h
 	include/alibabacloud/ecs/model/StartInstancesRequest.h
@@ -656,6 +668,8 @@ set(ecs_src
 	src/model/CreateAutoSnapshotPolicyResult.cc
 	src/model/CreateCommandRequest.cc
 	src/model/CreateCommandResult.cc
+	src/model/CreateDedicatedHostClusterRequest.cc
+	src/model/CreateDedicatedHostClusterResult.cc
 	src/model/CreateDemandRequest.cc
 	src/model/CreateDemandResult.cc
 	src/model/CreateDeploymentSetRequest.cc
@@ -714,6 +728,8 @@ set(ecs_src
 	src/model/DeleteBandwidthPackageResult.cc
 	src/model/DeleteCommandRequest.cc
 	src/model/DeleteCommandResult.cc
+	src/model/DeleteDedicatedHostClusterRequest.cc
+	src/model/DeleteDedicatedHostClusterResult.cc
 	src/model/DeleteDemandRequest.cc
 	src/model/DeleteDemandResult.cc
 	src/model/DeleteDeploymentSetRequest.cc
@@ -790,6 +806,8 @@ set(ecs_src
 	src/model/DescribeCommandsResult.cc
 	src/model/DescribeDedicatedHostAutoRenewRequest.cc
 	src/model/DescribeDedicatedHostAutoRenewResult.cc
+	src/model/DescribeDedicatedHostClustersRequest.cc
+	src/model/DescribeDedicatedHostClustersResult.cc
 	src/model/DescribeDedicatedHostTypesRequest.cc
 	src/model/DescribeDedicatedHostTypesResult.cc
 	src/model/DescribeDedicatedHostsRequest.cc
@@ -902,6 +920,8 @@ set(ecs_src
 	src/model/DescribeSecurityGroupReferencesResult.cc
 	src/model/DescribeSecurityGroupsRequest.cc
 	src/model/DescribeSecurityGroupsResult.cc
+	src/model/DescribeSendFileResultsRequest.cc
+	src/model/DescribeSendFileResultsResult.cc
 	src/model/DescribeSnapshotLinksRequest.cc
 	src/model/DescribeSnapshotLinksResult.cc
 	src/model/DescribeSnapshotMonitorDataRequest.cc
@@ -1002,6 +1022,8 @@ set(ecs_src
 	src/model/ModifyDedicatedHostAutoReleaseTimeResult.cc
 	src/model/ModifyDedicatedHostAutoRenewAttributeRequest.cc
 	src/model/ModifyDedicatedHostAutoRenewAttributeResult.cc
+	src/model/ModifyDedicatedHostClusterAttributeRequest.cc
+	src/model/ModifyDedicatedHostClusterAttributeResult.cc
 	src/model/ModifyDedicatedHostsChargeTypeRequest.cc
 	src/model/ModifyDedicatedHostsChargeTypeResult.cc
 	src/model/ModifyDemandRequest.cc
@@ -1138,6 +1160,8 @@ set(ecs_src
 	src/model/RunCommandResult.cc
 	src/model/RunInstancesRequest.cc
 	src/model/RunInstancesResult.cc
+	src/model/SendFileRequest.cc
+	src/model/SendFileResult.cc
 	src/model/StartInstanceRequest.cc
 	src/model/StartInstanceResult.cc
 	src/model/StartInstancesRequest.cc

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

@@ -84,6 +84,8 @@
 #include "model/CreateAutoSnapshotPolicyResult.h"
 #include "model/CreateCommandRequest.h"
 #include "model/CreateCommandResult.h"
+#include "model/CreateDedicatedHostClusterRequest.h"
+#include "model/CreateDedicatedHostClusterResult.h"
 #include "model/CreateDemandRequest.h"
 #include "model/CreateDemandResult.h"
 #include "model/CreateDeploymentSetRequest.h"
@@ -142,6 +144,8 @@
 #include "model/DeleteBandwidthPackageResult.h"
 #include "model/DeleteCommandRequest.h"
 #include "model/DeleteCommandResult.h"
+#include "model/DeleteDedicatedHostClusterRequest.h"
+#include "model/DeleteDedicatedHostClusterResult.h"
 #include "model/DeleteDemandRequest.h"
 #include "model/DeleteDemandResult.h"
 #include "model/DeleteDeploymentSetRequest.h"
@@ -218,6 +222,8 @@
 #include "model/DescribeCommandsResult.h"
 #include "model/DescribeDedicatedHostAutoRenewRequest.h"
 #include "model/DescribeDedicatedHostAutoRenewResult.h"
+#include "model/DescribeDedicatedHostClustersRequest.h"
+#include "model/DescribeDedicatedHostClustersResult.h"
 #include "model/DescribeDedicatedHostTypesRequest.h"
 #include "model/DescribeDedicatedHostTypesResult.h"
 #include "model/DescribeDedicatedHostsRequest.h"
@@ -330,6 +336,8 @@
 #include "model/DescribeSecurityGroupReferencesResult.h"
 #include "model/DescribeSecurityGroupsRequest.h"
 #include "model/DescribeSecurityGroupsResult.h"
+#include "model/DescribeSendFileResultsRequest.h"
+#include "model/DescribeSendFileResultsResult.h"
 #include "model/DescribeSnapshotLinksRequest.h"
 #include "model/DescribeSnapshotLinksResult.h"
 #include "model/DescribeSnapshotMonitorDataRequest.h"
@@ -430,6 +438,8 @@
 #include "model/ModifyDedicatedHostAutoReleaseTimeResult.h"
 #include "model/ModifyDedicatedHostAutoRenewAttributeRequest.h"
 #include "model/ModifyDedicatedHostAutoRenewAttributeResult.h"
+#include "model/ModifyDedicatedHostClusterAttributeRequest.h"
+#include "model/ModifyDedicatedHostClusterAttributeResult.h"
 #include "model/ModifyDedicatedHostsChargeTypeRequest.h"
 #include "model/ModifyDedicatedHostsChargeTypeResult.h"
 #include "model/ModifyDemandRequest.h"
@@ -566,6 +576,8 @@
 #include "model/RunCommandResult.h"
 #include "model/RunInstancesRequest.h"
 #include "model/RunInstancesResult.h"
+#include "model/SendFileRequest.h"
+#include "model/SendFileResult.h"
 #include "model/StartInstanceRequest.h"
 #include "model/StartInstanceResult.h"
 #include "model/StartInstancesRequest.h"
@@ -694,6 +706,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::CreateCommandResult> CreateCommandOutcome;
 			typedef std::future<CreateCommandOutcome> CreateCommandOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::CreateCommandRequest&, const CreateCommandOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateCommandAsyncHandler;
+			typedef Outcome<Error, Model::CreateDedicatedHostClusterResult> CreateDedicatedHostClusterOutcome;
+			typedef std::future<CreateDedicatedHostClusterOutcome> CreateDedicatedHostClusterOutcomeCallable;
+			typedef std::function<void(const EcsClient*, const Model::CreateDedicatedHostClusterRequest&, const CreateDedicatedHostClusterOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateDedicatedHostClusterAsyncHandler;
 			typedef Outcome<Error, Model::CreateDemandResult> CreateDemandOutcome;
 			typedef std::future<CreateDemandOutcome> CreateDemandOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::CreateDemandRequest&, const CreateDemandOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateDemandAsyncHandler;
@@ -781,6 +796,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DeleteCommandResult> DeleteCommandOutcome;
 			typedef std::future<DeleteCommandOutcome> DeleteCommandOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::DeleteCommandRequest&, const DeleteCommandOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteCommandAsyncHandler;
+			typedef Outcome<Error, Model::DeleteDedicatedHostClusterResult> DeleteDedicatedHostClusterOutcome;
+			typedef std::future<DeleteDedicatedHostClusterOutcome> DeleteDedicatedHostClusterOutcomeCallable;
+			typedef std::function<void(const EcsClient*, const Model::DeleteDedicatedHostClusterRequest&, const DeleteDedicatedHostClusterOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteDedicatedHostClusterAsyncHandler;
 			typedef Outcome<Error, Model::DeleteDemandResult> DeleteDemandOutcome;
 			typedef std::future<DeleteDemandOutcome> DeleteDemandOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::DeleteDemandRequest&, const DeleteDemandOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteDemandAsyncHandler;
@@ -895,6 +913,9 @@ namespace AlibabaCloud
 			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::DescribeDedicatedHostClustersResult> DescribeDedicatedHostClustersOutcome;
+			typedef std::future<DescribeDedicatedHostClustersOutcome> DescribeDedicatedHostClustersOutcomeCallable;
+			typedef std::function<void(const EcsClient*, const Model::DescribeDedicatedHostClustersRequest&, const DescribeDedicatedHostClustersOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeDedicatedHostClustersAsyncHandler;
 			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;
@@ -1063,6 +1084,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DescribeSecurityGroupsResult> DescribeSecurityGroupsOutcome;
 			typedef std::future<DescribeSecurityGroupsOutcome> DescribeSecurityGroupsOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::DescribeSecurityGroupsRequest&, const DescribeSecurityGroupsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeSecurityGroupsAsyncHandler;
+			typedef Outcome<Error, Model::DescribeSendFileResultsResult> DescribeSendFileResultsOutcome;
+			typedef std::future<DescribeSendFileResultsOutcome> DescribeSendFileResultsOutcomeCallable;
+			typedef std::function<void(const EcsClient*, const Model::DescribeSendFileResultsRequest&, const DescribeSendFileResultsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeSendFileResultsAsyncHandler;
 			typedef Outcome<Error, Model::DescribeSnapshotLinksResult> DescribeSnapshotLinksOutcome;
 			typedef std::future<DescribeSnapshotLinksOutcome> DescribeSnapshotLinksOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::DescribeSnapshotLinksRequest&, const DescribeSnapshotLinksOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeSnapshotLinksAsyncHandler;
@@ -1213,6 +1237,9 @@ namespace AlibabaCloud
 			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::ModifyDedicatedHostClusterAttributeResult> ModifyDedicatedHostClusterAttributeOutcome;
+			typedef std::future<ModifyDedicatedHostClusterAttributeOutcome> ModifyDedicatedHostClusterAttributeOutcomeCallable;
+			typedef std::function<void(const EcsClient*, const Model::ModifyDedicatedHostClusterAttributeRequest&, const ModifyDedicatedHostClusterAttributeOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyDedicatedHostClusterAttributeAsyncHandler;
 			typedef Outcome<Error, Model::ModifyDedicatedHostsChargeTypeResult> ModifyDedicatedHostsChargeTypeOutcome;
 			typedef std::future<ModifyDedicatedHostsChargeTypeOutcome> ModifyDedicatedHostsChargeTypeOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::ModifyDedicatedHostsChargeTypeRequest&, const ModifyDedicatedHostsChargeTypeOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyDedicatedHostsChargeTypeAsyncHandler;
@@ -1417,6 +1444,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::RunInstancesResult> RunInstancesOutcome;
 			typedef std::future<RunInstancesOutcome> RunInstancesOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::RunInstancesRequest&, const RunInstancesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> RunInstancesAsyncHandler;
+			typedef Outcome<Error, Model::SendFileResult> SendFileOutcome;
+			typedef std::future<SendFileOutcome> SendFileOutcomeCallable;
+			typedef std::function<void(const EcsClient*, const Model::SendFileRequest&, const SendFileOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SendFileAsyncHandler;
 			typedef Outcome<Error, Model::StartInstanceResult> StartInstanceOutcome;
 			typedef std::future<StartInstanceOutcome> StartInstanceOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::StartInstanceRequest&, const StartInstanceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> StartInstanceAsyncHandler;
@@ -1554,6 +1584,9 @@ namespace AlibabaCloud
 			CreateCommandOutcome createCommand(const Model::CreateCommandRequest &request)const;
 			void createCommandAsync(const Model::CreateCommandRequest& request, const CreateCommandAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CreateCommandOutcomeCallable createCommandCallable(const Model::CreateCommandRequest& request) const;
+			CreateDedicatedHostClusterOutcome createDedicatedHostCluster(const Model::CreateDedicatedHostClusterRequest &request)const;
+			void createDedicatedHostClusterAsync(const Model::CreateDedicatedHostClusterRequest& request, const CreateDedicatedHostClusterAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateDedicatedHostClusterOutcomeCallable createDedicatedHostClusterCallable(const Model::CreateDedicatedHostClusterRequest& request) const;
 			CreateDemandOutcome createDemand(const Model::CreateDemandRequest &request)const;
 			void createDemandAsync(const Model::CreateDemandRequest& request, const CreateDemandAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CreateDemandOutcomeCallable createDemandCallable(const Model::CreateDemandRequest& request) const;
@@ -1641,6 +1674,9 @@ namespace AlibabaCloud
 			DeleteCommandOutcome deleteCommand(const Model::DeleteCommandRequest &request)const;
 			void deleteCommandAsync(const Model::DeleteCommandRequest& request, const DeleteCommandAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeleteCommandOutcomeCallable deleteCommandCallable(const Model::DeleteCommandRequest& request) const;
+			DeleteDedicatedHostClusterOutcome deleteDedicatedHostCluster(const Model::DeleteDedicatedHostClusterRequest &request)const;
+			void deleteDedicatedHostClusterAsync(const Model::DeleteDedicatedHostClusterRequest& request, const DeleteDedicatedHostClusterAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteDedicatedHostClusterOutcomeCallable deleteDedicatedHostClusterCallable(const Model::DeleteDedicatedHostClusterRequest& request) const;
 			DeleteDemandOutcome deleteDemand(const Model::DeleteDemandRequest &request)const;
 			void deleteDemandAsync(const Model::DeleteDemandRequest& request, const DeleteDemandAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeleteDemandOutcomeCallable deleteDemandCallable(const Model::DeleteDemandRequest& request) const;
@@ -1755,6 +1791,9 @@ namespace AlibabaCloud
 			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;
+			DescribeDedicatedHostClustersOutcome describeDedicatedHostClusters(const Model::DescribeDedicatedHostClustersRequest &request)const;
+			void describeDedicatedHostClustersAsync(const Model::DescribeDedicatedHostClustersRequest& request, const DescribeDedicatedHostClustersAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeDedicatedHostClustersOutcomeCallable describeDedicatedHostClustersCallable(const Model::DescribeDedicatedHostClustersRequest& 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;
@@ -1923,6 +1962,9 @@ namespace AlibabaCloud
 			DescribeSecurityGroupsOutcome describeSecurityGroups(const Model::DescribeSecurityGroupsRequest &request)const;
 			void describeSecurityGroupsAsync(const Model::DescribeSecurityGroupsRequest& request, const DescribeSecurityGroupsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeSecurityGroupsOutcomeCallable describeSecurityGroupsCallable(const Model::DescribeSecurityGroupsRequest& request) const;
+			DescribeSendFileResultsOutcome describeSendFileResults(const Model::DescribeSendFileResultsRequest &request)const;
+			void describeSendFileResultsAsync(const Model::DescribeSendFileResultsRequest& request, const DescribeSendFileResultsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeSendFileResultsOutcomeCallable describeSendFileResultsCallable(const Model::DescribeSendFileResultsRequest& request) const;
 			DescribeSnapshotLinksOutcome describeSnapshotLinks(const Model::DescribeSnapshotLinksRequest &request)const;
 			void describeSnapshotLinksAsync(const Model::DescribeSnapshotLinksRequest& request, const DescribeSnapshotLinksAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeSnapshotLinksOutcomeCallable describeSnapshotLinksCallable(const Model::DescribeSnapshotLinksRequest& request) const;
@@ -2073,6 +2115,9 @@ namespace AlibabaCloud
 			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;
+			ModifyDedicatedHostClusterAttributeOutcome modifyDedicatedHostClusterAttribute(const Model::ModifyDedicatedHostClusterAttributeRequest &request)const;
+			void modifyDedicatedHostClusterAttributeAsync(const Model::ModifyDedicatedHostClusterAttributeRequest& request, const ModifyDedicatedHostClusterAttributeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ModifyDedicatedHostClusterAttributeOutcomeCallable modifyDedicatedHostClusterAttributeCallable(const Model::ModifyDedicatedHostClusterAttributeRequest& request) const;
 			ModifyDedicatedHostsChargeTypeOutcome modifyDedicatedHostsChargeType(const Model::ModifyDedicatedHostsChargeTypeRequest &request)const;
 			void modifyDedicatedHostsChargeTypeAsync(const Model::ModifyDedicatedHostsChargeTypeRequest& request, const ModifyDedicatedHostsChargeTypeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ModifyDedicatedHostsChargeTypeOutcomeCallable modifyDedicatedHostsChargeTypeCallable(const Model::ModifyDedicatedHostsChargeTypeRequest& request) const;
@@ -2277,6 +2322,9 @@ namespace AlibabaCloud
 			RunInstancesOutcome runInstances(const Model::RunInstancesRequest &request)const;
 			void runInstancesAsync(const Model::RunInstancesRequest& request, const RunInstancesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			RunInstancesOutcomeCallable runInstancesCallable(const Model::RunInstancesRequest& request) const;
+			SendFileOutcome sendFile(const Model::SendFileRequest &request)const;
+			void sendFileAsync(const Model::SendFileRequest& request, const SendFileAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			SendFileOutcomeCallable sendFileCallable(const Model::SendFileRequest& request) const;
 			StartInstanceOutcome startInstance(const Model::StartInstanceRequest &request)const;
 			void startInstanceAsync(const Model::StartInstanceRequest& request, const StartInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			StartInstanceOutcomeCallable startInstanceCallable(const Model::StartInstanceRequest& request) const;

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

@@ -47,12 +47,16 @@ namespace AlibabaCloud
 				void setClientToken(const std::string& clientToken);
 				std::string getDescription()const;
 				void setDescription(const std::string& description);
+				float getCpuOverCommitRatio()const;
+				void setCpuOverCommitRatio(float cpuOverCommitRatio);
 				std::string getResourceGroupId()const;
 				void setResourceGroupId(const std::string& resourceGroupId);
 				std::string getRegionId()const;
 				void setRegionId(const std::string& regionId);
 				std::string getActionOnMaintenance()const;
 				void setActionOnMaintenance(const std::string& actionOnMaintenance);
+				std::string getDedicatedHostClusterId()const;
+				void setDedicatedHostClusterId(const std::string& dedicatedHostClusterId);
 				std::vector<Tag> getTag()const;
 				void setTag(const std::vector<Tag>& tag);
 				std::string getDedicatedHostType()const;
@@ -92,9 +96,11 @@ namespace AlibabaCloud
 				long resourceOwnerId_;
 				std::string clientToken_;
 				std::string description_;
+				float cpuOverCommitRatio_;
 				std::string resourceGroupId_;
 				std::string regionId_;
 				std::string actionOnMaintenance_;
+				std::string dedicatedHostClusterId_;
 				std::vector<Tag> tag_;
 				std::string dedicatedHostType_;
 				int autoRenewPeriod_;

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

@@ -45,6 +45,8 @@ namespace AlibabaCloud
 				void setResourceOwnerAccount(const std::string& resourceOwnerAccount);
 				std::string getOwnerAccount()const;
 				void setOwnerAccount(const std::string& ownerAccount);
+				bool getWaitForNetworkConfigurationReady()const;
+				void setWaitForNetworkConfigurationReady(bool waitForNetworkConfigurationReady);
 				long getOwnerId()const;
 				void setOwnerId(long ownerId);
 				std::string getInstanceId()const;
@@ -58,6 +60,7 @@ namespace AlibabaCloud
 				std::string trunkNetworkInstanceId_;
 				std::string resourceOwnerAccount_;
 				std::string ownerAccount_;
+				bool waitForNetworkConfigurationReady_;
 				long ownerId_;
 				std::string instanceId_;
 				std::string networkInterfaceId_;

+ 84 - 0
ecs/include/alibabacloud/ecs/model/CreateDedicatedHostClusterRequest.h

@@ -0,0 +1,84 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_ECS_MODEL_CREATEDEDICATEDHOSTCLUSTERREQUEST_H_
+#define ALIBABACLOUD_ECS_MODEL_CREATEDEDICATEDHOSTCLUSTERREQUEST_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 CreateDedicatedHostClusterRequest : public RpcServiceRequest
+			{
+			public:
+				struct Tag
+				{
+					std::string key;
+					std::string value;
+				};
+
+			public:
+				CreateDedicatedHostClusterRequest();
+				~CreateDedicatedHostClusterRequest();
+
+				std::string getDedicatedHostClusterName()const;
+				void setDedicatedHostClusterName(const std::string& dedicatedHostClusterName);
+				long getResourceOwnerId()const;
+				void setResourceOwnerId(long resourceOwnerId);
+				std::string getDescription()const;
+				void setDescription(const std::string& description);
+				std::string getResourceGroupId()const;
+				void setResourceGroupId(const std::string& resourceGroupId);
+				std::string getRegionId()const;
+				void setRegionId(const std::string& regionId);
+				std::vector<Tag> getTag()const;
+				void setTag(const std::vector<Tag>& tag);
+				bool getDryRun()const;
+				void setDryRun(bool dryRun);
+				std::string getResourceOwnerAccount()const;
+				void setResourceOwnerAccount(const std::string& resourceOwnerAccount);
+				std::string getOwnerAccount()const;
+				void setOwnerAccount(const std::string& ownerAccount);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				std::string getZoneId()const;
+				void setZoneId(const std::string& zoneId);
+
+            private:
+				std::string dedicatedHostClusterName_;
+				long resourceOwnerId_;
+				std::string description_;
+				std::string resourceGroupId_;
+				std::string regionId_;
+				std::vector<Tag> tag_;
+				bool dryRun_;
+				std::string resourceOwnerAccount_;
+				std::string ownerAccount_;
+				long ownerId_;
+				std::string zoneId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_CREATEDEDICATEDHOSTCLUSTERREQUEST_H_

+ 51 - 0
ecs/include/alibabacloud/ecs/model/CreateDedicatedHostClusterResult.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_CREATEDEDICATEDHOSTCLUSTERRESULT_H_
+#define ALIBABACLOUD_ECS_MODEL_CREATEDEDICATEDHOSTCLUSTERRESULT_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 CreateDedicatedHostClusterResult : public ServiceResult
+			{
+			public:
+
+
+				CreateDedicatedHostClusterResult();
+				explicit CreateDedicatedHostClusterResult(const std::string &payload);
+				~CreateDedicatedHostClusterResult();
+				std::string getDedicatedHostClusterId()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string dedicatedHostClusterId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_CREATEDEDICATEDHOSTCLUSTERRESULT_H_

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

@@ -41,6 +41,8 @@ namespace AlibabaCloud
 				CreateNetworkInterfaceRequest();
 				~CreateNetworkInterfaceRequest();
 
+				int getQueueNumber()const;
+				void setQueueNumber(int queueNumber);
 				long getResourceOwnerId()const;
 				void setResourceOwnerId(long resourceOwnerId);
 				std::string getClientToken()const;
@@ -81,6 +83,7 @@ namespace AlibabaCloud
 				void setPrimaryIpAddress(const std::string& primaryIpAddress);
 
             private:
+				int queueNumber_;
 				long resourceOwnerId_;
 				std::string clientToken_;
 				std::string securityGroupId_;

+ 63 - 0
ecs/include/alibabacloud/ecs/model/DeleteDedicatedHostClusterRequest.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_DELETEDEDICATEDHOSTCLUSTERREQUEST_H_
+#define ALIBABACLOUD_ECS_MODEL_DELETEDEDICATEDHOSTCLUSTERREQUEST_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 DeleteDedicatedHostClusterRequest : public RpcServiceRequest
+			{
+
+			public:
+				DeleteDedicatedHostClusterRequest();
+				~DeleteDedicatedHostClusterRequest();
+
+				long getResourceOwnerId()const;
+				void setResourceOwnerId(long resourceOwnerId);
+				std::string getRegionId()const;
+				void setRegionId(const std::string& regionId);
+				std::string getDedicatedHostClusterId()const;
+				void setDedicatedHostClusterId(const std::string& dedicatedHostClusterId);
+				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);
+
+            private:
+				long resourceOwnerId_;
+				std::string regionId_;
+				std::string dedicatedHostClusterId_;
+				std::string resourceOwnerAccount_;
+				std::string ownerAccount_;
+				long ownerId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_DELETEDEDICATEDHOSTCLUSTERREQUEST_H_

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

+ 93 - 0
ecs/include/alibabacloud/ecs/model/DescribeDedicatedHostClustersRequest.h

@@ -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.
+ */
+
+#ifndef ALIBABACLOUD_ECS_MODEL_DESCRIBEDEDICATEDHOSTCLUSTERSREQUEST_H_
+#define ALIBABACLOUD_ECS_MODEL_DESCRIBEDEDICATEDHOSTCLUSTERSREQUEST_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 DescribeDedicatedHostClustersRequest : public RpcServiceRequest
+			{
+			public:
+				struct Tag
+				{
+					std::string key;
+					std::string value;
+				};
+
+			public:
+				DescribeDedicatedHostClustersRequest();
+				~DescribeDedicatedHostClustersRequest();
+
+				std::string getDedicatedHostClusterName()const;
+				void setDedicatedHostClusterName(const std::string& dedicatedHostClusterName);
+				long getResourceOwnerId()const;
+				void setResourceOwnerId(long resourceOwnerId);
+				std::string getDedicatedHostClusterIds()const;
+				void setDedicatedHostClusterIds(const std::string& dedicatedHostClusterIds);
+				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::vector<Tag> getTag()const;
+				void setTag(const std::vector<Tag>& tag);
+				std::string getResourceOwnerAccount()const;
+				void setResourceOwnerAccount(const std::string& resourceOwnerAccount);
+				std::string getOwnerAccount()const;
+				void setOwnerAccount(const std::string& ownerAccount);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				std::string getZoneId()const;
+				void setZoneId(const std::string& zoneId);
+				std::string getStatus()const;
+				void setStatus(const std::string& status);
+
+            private:
+				std::string dedicatedHostClusterName_;
+				long resourceOwnerId_;
+				std::string dedicatedHostClusterIds_;
+				int pageNumber_;
+				std::string resourceGroupId_;
+				std::string lockReason_;
+				std::string regionId_;
+				int pageSize_;
+				std::vector<Tag> tag_;
+				std::string resourceOwnerAccount_;
+				std::string ownerAccount_;
+				long ownerId_;
+				std::string zoneId_;
+				std::string status_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_DESCRIBEDEDICATEDHOSTCLUSTERSREQUEST_H_

+ 88 - 0
ecs/include/alibabacloud/ecs/model/DescribeDedicatedHostClustersResult.h

@@ -0,0 +1,88 @@
+/*
+ * 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_DESCRIBEDEDICATEDHOSTCLUSTERSRESULT_H_
+#define ALIBABACLOUD_ECS_MODEL_DESCRIBEDEDICATEDHOSTCLUSTERSRESULT_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 DescribeDedicatedHostClustersResult : public ServiceResult
+			{
+			public:
+				struct DedicatedHostCluster
+				{
+					struct DedicatedHostClusterCapacity
+					{
+						struct LocalStorageCapacity
+						{
+							int totalDisk;
+							int availableDisk;
+							std::string dataDiskCategory;
+						};
+						int totalMemory;
+						int availableMemory;
+						int availableVcpus;
+						int totalVcpus;
+						std::vector<LocalStorageCapacity> localStorageCapacities;
+					};
+					struct Tag
+					{
+						std::string tagKey;
+						std::string tagValue;
+					};
+					std::string description;
+					std::string zoneId;
+					std::string dedicatedHostClusterName;
+					std::string resourceGroupId;
+					DedicatedHostClusterCapacity dedicatedHostClusterCapacity;
+					std::string regionId;
+					std::vector<std::string> dedicatedHostIds;
+					std::vector<DedicatedHostCluster::Tag> tags;
+					std::string dedicatedHostClusterId;
+				};
+
+
+				DescribeDedicatedHostClustersResult();
+				explicit DescribeDedicatedHostClustersResult(const std::string &payload);
+				~DescribeDedicatedHostClustersResult();
+				std::vector<DedicatedHostCluster> getDedicatedHostClusters()const;
+				int getTotalCount()const;
+				int getPageSize()const;
+				int getPageNumber()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<DedicatedHostCluster> dedicatedHostClusters_;
+				int totalCount_;
+				int pageSize_;
+				int pageNumber_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_DESCRIBEDEDICATEDHOSTCLUSTERSRESULT_H_

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

@@ -45,7 +45,9 @@ namespace AlibabaCloud
 					std::string gPUSpec;
 					std::vector<std::string> supportedInstanceTypeFamilies;
 					int totalVgpus;
+					std::string cpuOverCommitRatioRange;
 					std::vector<std::string> supportedInstanceTypesList;
+					bool supportCpuOverCommitRatio;
 					int totalVcpus;
 				};
 

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

@@ -76,6 +76,7 @@ namespace AlibabaCloud
 					Capacity capacity;
 					std::string dedicatedHostName;
 					std::string expiredTime;
+					float cpuOverCommitRatio;
 					std::string saleCycle;
 					std::vector<DedicatedHost::Tag> tags;
 					std::string status;
@@ -92,6 +93,7 @@ namespace AlibabaCloud
 					std::string creationTime;
 					std::string regionId;
 					std::vector<std::string> supportedInstanceTypesList;
+					std::string dedicatedHostClusterId;
 					std::string autoReleaseTime;
 				};
 

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

@@ -77,6 +77,8 @@ namespace AlibabaCloud
 				void setInstanceId(const std::string& instanceId);
 				std::string getZoneId()const;
 				void setZoneId(const std::string& zoneId);
+				int getMaxResults()const;
+				void setMaxResults(int maxResults);
 				std::string getStatus()const;
 				void setStatus(const std::string& status);
 				std::string getSnapshotId()const;
@@ -85,6 +87,8 @@ namespace AlibabaCloud
 				void setPageNumber(int pageNumber);
 				std::string getRegionId()const;
 				void setRegionId(const std::string& regionId);
+				std::string getNextToken()const;
+				void setNextToken(const std::string& nextToken);
 				int getPageSize()const;
 				void setPageSize(int pageSize);
 				std::string getDiskIds()const;
@@ -129,10 +133,12 @@ namespace AlibabaCloud
 				std::vector<std::string> additionalAttributes_;
 				std::string instanceId_;
 				std::string zoneId_;
+				int maxResults_;
 				std::string status_;
 				std::string snapshotId_;
 				int pageNumber_;
 				std::string regionId_;
+				std::string nextToken_;
 				int pageSize_;
 				std::string diskIds_;
 				bool deleteWithInstance_;

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

@@ -97,6 +97,7 @@ namespace AlibabaCloud
 				~DescribeDisksResult();
 				int getTotalCount()const;
 				int getPageSize()const;
+				std::string getNextToken()const;
 				int getPageNumber()const;
 				std::vector<Disk> getDisks()const;
 
@@ -105,6 +106,7 @@ namespace AlibabaCloud
 			private:
 				int totalCount_;
 				int pageSize_;
+				std::string nextToken_;
 				int pageNumber_;
 				std::vector<Disk> disks_;
 

+ 11 - 8
ecs/include/alibabacloud/ecs/model/DescribeInstanceTypesResult.h

@@ -34,27 +34,30 @@ namespace AlibabaCloud
 			public:
 				struct InstanceType
 				{
-					float memorySize;
 					long instancePpsTx;
-					int eniIpv6AddressQuantity;
-					int cpuCoreCount;
+					int primaryEniQueueNumber;
 					long localStorageCapacity;
 					int totalEniQueueQuantity;
-					int eniTotalQuantity;
 					bool eniTrunkSupported;
 					std::string instanceTypeFamily;
 					long instancePpsRx;
-					int initialCredit;
-					int eniQuantity;
 					int instanceBandwidthRx;
-					int gPUAmount;
 					int instanceBandwidthTx;
 					int localStorageAmount;
+					int secondaryEniQueueNumber;
 					std::string localStorageCategory;
 					std::string gPUSpec;
+					std::string instanceTypeId;
+					float memorySize;
+					int maximumQueueNumberPerEni;
+					int eniIpv6AddressQuantity;
+					int cpuCoreCount;
+					int eniTotalQuantity;
+					int initialCredit;
+					int eniQuantity;
+					int gPUAmount;
 					int baselineCredit;
 					std::string instanceFamilyLevel;
-					std::string instanceTypeId;
 					int eniPrivateIpAddressQuantity;
 				};
 

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

@@ -53,6 +53,7 @@ namespace AlibabaCloud
 					{
 						std::string dedicatedHostId;
 						std::string dedicatedHostName;
+						std::string dedicatedHostClusterId;
 					};
 					struct EcsCapacityReservationAttr
 					{
@@ -126,6 +127,7 @@ namespace AlibabaCloud
 					long localStorageCapacity;
 					std::string instanceTypeFamily;
 					DedicatedInstanceAttribute dedicatedInstanceAttribute;
+					int spotDuration;
 					int localStorageAmount;
 					std::vector<std::string> publicIpAddress;
 					std::string gPUSpec;

+ 9 - 0
ecs/include/alibabacloud/ecs/model/DescribeReservedInstancesRequest.h

@@ -30,6 +30,12 @@ namespace AlibabaCloud
 		{
 			class ALIBABACLOUD_ECS_EXPORT DescribeReservedInstancesRequest : public RpcServiceRequest
 			{
+			public:
+				struct Tag
+				{
+					std::string key;
+					std::string value;
+				};
 
 			public:
 				DescribeReservedInstancesRequest();
@@ -49,6 +55,8 @@ namespace AlibabaCloud
 				void setPageSize(int pageSize);
 				std::string getInstanceType()const;
 				void setInstanceType(const std::string& instanceType);
+				std::vector<Tag> getTag()const;
+				void setTag(const std::vector<Tag>& tag);
 				std::string getResourceOwnerAccount()const;
 				void setResourceOwnerAccount(const std::string& resourceOwnerAccount);
 				std::string getOwnerAccount()const;
@@ -78,6 +86,7 @@ namespace AlibabaCloud
 				std::string scope_;
 				int pageSize_;
 				std::string instanceType_;
+				std::vector<Tag> tag_;
 				std::string resourceOwnerAccount_;
 				std::string ownerAccount_;
 				std::string instanceTypeFamily_;

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

@@ -38,6 +38,11 @@ namespace AlibabaCloud
 					{
 						std::string lockReason;
 					};
+					struct Tag
+					{
+						std::string tagKey;
+						std::string tagValue;
+					};
 					std::string status;
 					std::string description;
 					std::string allocationStatus;
@@ -55,6 +60,7 @@ namespace AlibabaCloud
 					std::string regionId;
 					std::string reservedInstanceName;
 					std::string instanceType;
+					std::vector<ReservedInstance::Tag> tags;
 				};
 
 

+ 75 - 0
ecs/include/alibabacloud/ecs/model/DescribeSendFileResultsRequest.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_DESCRIBESENDFILERESULTSREQUEST_H_
+#define ALIBABACLOUD_ECS_MODEL_DESCRIBESENDFILERESULTSREQUEST_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 DescribeSendFileResultsRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeSendFileResultsRequest();
+				~DescribeSendFileResultsRequest();
+
+				long getResourceOwnerId()const;
+				void setResourceOwnerId(long resourceOwnerId);
+				long getPageNumber()const;
+				void setPageNumber(long pageNumber);
+				std::string getRegionId()const;
+				void setRegionId(const std::string& regionId);
+				long getPageSize()const;
+				void setPageSize(long pageSize);
+				std::string getInvokeId()const;
+				void setInvokeId(const std::string& invokeId);
+				std::string getResourceOwnerAccount()const;
+				void setResourceOwnerAccount(const std::string& resourceOwnerAccount);
+				std::string getOwnerAccount()const;
+				void setOwnerAccount(const std::string& ownerAccount);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				std::string getInstanceId()const;
+				void setInstanceId(const std::string& instanceId);
+				std::string getName()const;
+				void setName(const std::string& name);
+
+            private:
+				long resourceOwnerId_;
+				long pageNumber_;
+				std::string regionId_;
+				long pageSize_;
+				std::string invokeId_;
+				std::string resourceOwnerAccount_;
+				std::string ownerAccount_;
+				long ownerId_;
+				std::string instanceId_;
+				std::string name_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_DESCRIBESENDFILERESULTSREQUEST_H_

+ 85 - 0
ecs/include/alibabacloud/ecs/model/DescribeSendFileResultsResult.h

@@ -0,0 +1,85 @@
+/*
+ * 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_DESCRIBESENDFILERESULTSRESULT_H_
+#define ALIBABACLOUD_ECS_MODEL_DESCRIBESENDFILERESULTSRESULT_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 DescribeSendFileResultsResult : public ServiceResult
+			{
+			public:
+				struct Invocation
+				{
+					struct InvokeInstance
+					{
+						std::string invocationStatus;
+						std::string finishTime;
+						std::string instanceId;
+						std::string errorInfo;
+						std::string creationTime;
+						std::string startTime;
+						std::string updateTime;
+						std::string errorCode;
+					};
+					std::string fileMode;
+					std::string overwrite;
+					std::string invocationStatus;
+					std::string description;
+					std::string contentType;
+					int vmCount;
+					std::string targetDir;
+					std::string fileGroup;
+					std::string fileOwner;
+					std::vector<Invocation::InvokeInstance> invokeInstances;
+					std::string name;
+					std::string content;
+					std::string creationTime;
+					std::string invokeId;
+				};
+
+
+				DescribeSendFileResultsResult();
+				explicit DescribeSendFileResultsResult(const std::string &payload);
+				~DescribeSendFileResultsResult();
+				long getTotalCount()const;
+				long getPageSize()const;
+				std::vector<Invocation> getInvocations()const;
+				long getPageNumber()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				long totalCount_;
+				long pageSize_;
+				std::vector<Invocation> invocations_;
+				long pageNumber_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_DESCRIBESENDFILERESULTSRESULT_H_

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

@@ -40,6 +40,7 @@ namespace AlibabaCloud
 						int eni;
 						int keyPair;
 						int snapshotPolicy;
+						int reservedInstance;
 						int instance;
 						int volume;
 						int launchTemplate;

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

@@ -39,10 +39,14 @@ namespace AlibabaCloud
 				void setResourceOwnerId(long resourceOwnerId);
 				std::string getDescription()const;
 				void setDescription(const std::string& description);
+				float getCpuOverCommitRatio()const;
+				void setCpuOverCommitRatio(float cpuOverCommitRatio);
 				std::string getRegionId()const;
 				void setRegionId(const std::string& regionId);
 				std::string getActionOnMaintenance()const;
 				void setActionOnMaintenance(const std::string& actionOnMaintenance);
+				std::string getDedicatedHostClusterId()const;
+				void setDedicatedHostClusterId(const std::string& dedicatedHostClusterId);
 				std::string getDedicatedHostName()const;
 				void setDedicatedHostName(const std::string& dedicatedHostName);
 				std::string getResourceOwnerAccount()const;
@@ -63,8 +67,10 @@ namespace AlibabaCloud
             private:
 				long resourceOwnerId_;
 				std::string description_;
+				float cpuOverCommitRatio_;
 				std::string regionId_;
 				std::string actionOnMaintenance_;
+				std::string dedicatedHostClusterId_;
 				std::string dedicatedHostName_;
 				std::string resourceOwnerAccount_;
 				std::string ownerAccount_;

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

@@ -0,0 +1,69 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_ECS_MODEL_MODIFYDEDICATEDHOSTCLUSTERATTRIBUTEREQUEST_H_
+#define ALIBABACLOUD_ECS_MODEL_MODIFYDEDICATEDHOSTCLUSTERATTRIBUTEREQUEST_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 ModifyDedicatedHostClusterAttributeRequest : public RpcServiceRequest
+			{
+
+			public:
+				ModifyDedicatedHostClusterAttributeRequest();
+				~ModifyDedicatedHostClusterAttributeRequest();
+
+				std::string getDedicatedHostClusterName()const;
+				void setDedicatedHostClusterName(const std::string& dedicatedHostClusterName);
+				long getResourceOwnerId()const;
+				void setResourceOwnerId(long resourceOwnerId);
+				std::string getDescription()const;
+				void setDescription(const std::string& description);
+				std::string getRegionId()const;
+				void setRegionId(const std::string& regionId);
+				std::string getDedicatedHostClusterId()const;
+				void setDedicatedHostClusterId(const std::string& dedicatedHostClusterId);
+				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);
+
+            private:
+				std::string dedicatedHostClusterName_;
+				long resourceOwnerId_;
+				std::string description_;
+				std::string regionId_;
+				std::string dedicatedHostClusterId_;
+				std::string resourceOwnerAccount_;
+				std::string ownerAccount_;
+				long ownerId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_MODIFYDEDICATEDHOSTCLUSTERATTRIBUTEREQUEST_H_

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

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

@@ -39,6 +39,8 @@ namespace AlibabaCloud
 				void setResourceOwnerId(long resourceOwnerId);
 				bool getRecyclable()const;
 				void setRecyclable(bool recyclable);
+				int getNetworkInterfaceQueueNumber()const;
+				void setNetworkInterfaceQueueNumber(int networkInterfaceQueueNumber);
 				std::string getDescription()const;
 				void setDescription(const std::string& description);
 				bool getDeletionProtection()const;
@@ -67,6 +69,7 @@ namespace AlibabaCloud
             private:
 				long resourceOwnerId_;
 				bool recyclable_;
+				int networkInterfaceQueueNumber_;
 				std::string description_;
 				bool deletionProtection_;
 				std::string userData_;

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

@@ -41,6 +41,8 @@ namespace AlibabaCloud
 				void setRegionId(const std::string& regionId);
 				int getDeploymentSetGroupNo()const;
 				void setDeploymentSetGroupNo(int deploymentSetGroupNo);
+				std::string getDedicatedHostClusterId()const;
+				void setDedicatedHostClusterId(const std::string& dedicatedHostClusterId);
 				std::string getInstanceType()const;
 				void setInstanceType(const std::string& instanceType);
 				std::string getDeploymentSetId()const;
@@ -68,6 +70,7 @@ namespace AlibabaCloud
 				long resourceOwnerId_;
 				std::string regionId_;
 				int deploymentSetGroupNo_;
+				std::string dedicatedHostClusterId_;
 				std::string instanceType_;
 				std::string deploymentSetId_;
 				std::string resourceOwnerAccount_;

+ 9 - 0
ecs/include/alibabacloud/ecs/model/PurchaseReservedInstancesOfferingRequest.h

@@ -30,6 +30,12 @@ namespace AlibabaCloud
 		{
 			class ALIBABACLOUD_ECS_EXPORT PurchaseReservedInstancesOfferingRequest : public RpcServiceRequest
 			{
+			public:
+				struct Tag
+				{
+					std::string key;
+					std::string value;
+				};
 
 			public:
 				PurchaseReservedInstancesOfferingRequest();
@@ -51,6 +57,8 @@ namespace AlibabaCloud
 				void setScope(const std::string& scope);
 				std::string getInstanceType()const;
 				void setInstanceType(const std::string& instanceType);
+				std::vector<Tag> getTag()const;
+				void setTag(const std::vector<Tag>& tag);
 				int getPeriod()const;
 				void setPeriod(int period);
 				std::string getResourceOwnerAccount()const;
@@ -79,6 +87,7 @@ namespace AlibabaCloud
 				std::string regionId_;
 				std::string scope_;
 				std::string instanceType_;
+				std::vector<Tag> tag_;
 				int period_;
 				std::string resourceOwnerAccount_;
 				std::string ownerAccount_;

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

@@ -50,6 +50,7 @@ namespace AlibabaCloud
 					std::vector<std::string> securityGroupIds;
 					std::string networkInterfaceName;
 					std::string description;
+					int queueNumber;
 				};
 				struct DataDisk
 				{
@@ -117,6 +118,8 @@ namespace AlibabaCloud
 				void setImageId(const std::string& imageId);
 				std::string getSpotInterruptionBehavior()const;
 				void setSpotInterruptionBehavior(const std::string& spotInterruptionBehavior);
+				int getNetworkInterfaceQueueNumber()const;
+				void setNetworkInterfaceQueueNumber(int networkInterfaceQueueNumber);
 				std::string getIoOptimized()const;
 				void setIoOptimized(const std::string& ioOptimized);
 				std::string getSecurityGroupId()const;
@@ -131,6 +134,8 @@ namespace AlibabaCloud
 				void setHibernationConfigured(bool hibernationConfigured);
 				std::vector<Arn> getArn()const;
 				void setArn(const std::vector<Arn>& arn);
+				std::string getSchedulerOptions()const;
+				void setSchedulerOptions(const std::string& schedulerOptions);
 				std::string getResourceOwnerAccount()const;
 				void setResourceOwnerAccount(const std::string& resourceOwnerAccount);
 				std::string getSystemDiskDiskName()const;
@@ -248,6 +253,7 @@ namespace AlibabaCloud
 				std::string affinity_;
 				std::string imageId_;
 				std::string spotInterruptionBehavior_;
+				int networkInterfaceQueueNumber_;
 				std::string ioOptimized_;
 				std::string securityGroupId_;
 				std::string systemDiskPerformanceLevel_;
@@ -255,6 +261,7 @@ namespace AlibabaCloud
 				std::string instanceType_;
 				bool hibernationConfigured_;
 				std::vector<Arn> arn_;
+				std::string schedulerOptions_;
 				std::string resourceOwnerAccount_;
 				std::string systemDiskDiskName_;
 				std::string dedicatedHostId_;

+ 93 - 0
ecs/include/alibabacloud/ecs/model/SendFileRequest.h

@@ -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.
+ */
+
+#ifndef ALIBABACLOUD_ECS_MODEL_SENDFILEREQUEST_H_
+#define ALIBABACLOUD_ECS_MODEL_SENDFILEREQUEST_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 SendFileRequest : public RpcServiceRequest
+			{
+
+			public:
+				SendFileRequest();
+				~SendFileRequest();
+
+				long getResourceOwnerId()const;
+				void setResourceOwnerId(long resourceOwnerId);
+				std::string getDescription()const;
+				void setDescription(const std::string& description);
+				long getTimeout()const;
+				void setTimeout(long timeout);
+				std::string getContent()const;
+				void setContent(const std::string& content);
+				std::string getRegionId()const;
+				void setRegionId(const std::string& regionId);
+				std::string getFileOwner()const;
+				void setFileOwner(const std::string& fileOwner);
+				bool getOverwrite()const;
+				void setOverwrite(bool overwrite);
+				std::string getResourceOwnerAccount()const;
+				void setResourceOwnerAccount(const std::string& resourceOwnerAccount);
+				std::string getOwnerAccount()const;
+				void setOwnerAccount(const std::string& ownerAccount);
+				std::string getFileMode()const;
+				void setFileMode(const std::string& fileMode);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				std::string getContentType()const;
+				void setContentType(const std::string& contentType);
+				std::vector<std::string> getInstanceId()const;
+				void setInstanceId(const std::vector<std::string>& instanceId);
+				std::string getName()const;
+				void setName(const std::string& name);
+				std::string getFileGroup()const;
+				void setFileGroup(const std::string& fileGroup);
+				std::string getTargetDir()const;
+				void setTargetDir(const std::string& targetDir);
+
+            private:
+				long resourceOwnerId_;
+				std::string description_;
+				long timeout_;
+				std::string content_;
+				std::string regionId_;
+				std::string fileOwner_;
+				bool overwrite_;
+				std::string resourceOwnerAccount_;
+				std::string ownerAccount_;
+				std::string fileMode_;
+				long ownerId_;
+				std::string contentType_;
+				std::vector<std::string> instanceId_;
+				std::string name_;
+				std::string fileGroup_;
+				std::string targetDir_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_SENDFILEREQUEST_H_

+ 51 - 0
ecs/include/alibabacloud/ecs/model/SendFileResult.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_SENDFILERESULT_H_
+#define ALIBABACLOUD_ECS_MODEL_SENDFILERESULT_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 SendFileResult : public ServiceResult
+			{
+			public:
+
+
+				SendFileResult();
+				explicit SendFileResult(const std::string &payload);
+				~SendFileResult();
+				std::string getInvokeId()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string invokeId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_SENDFILERESULT_H_

+ 216 - 0
ecs/src/EcsClient.cc

@@ -1167,6 +1167,42 @@ EcsClient::CreateCommandOutcomeCallable EcsClient::createCommandCallable(const C
 	return task->get_future();
 }
 
+EcsClient::CreateDedicatedHostClusterOutcome EcsClient::createDedicatedHostCluster(const CreateDedicatedHostClusterRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return CreateDedicatedHostClusterOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return CreateDedicatedHostClusterOutcome(CreateDedicatedHostClusterResult(outcome.result()));
+	else
+		return CreateDedicatedHostClusterOutcome(outcome.error());
+}
+
+void EcsClient::createDedicatedHostClusterAsync(const CreateDedicatedHostClusterRequest& request, const CreateDedicatedHostClusterAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, createDedicatedHostCluster(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+EcsClient::CreateDedicatedHostClusterOutcomeCallable EcsClient::createDedicatedHostClusterCallable(const CreateDedicatedHostClusterRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<CreateDedicatedHostClusterOutcome()>>(
+			[this, request]()
+			{
+			return this->createDedicatedHostCluster(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 EcsClient::CreateDemandOutcome EcsClient::createDemand(const CreateDemandRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -2211,6 +2247,42 @@ EcsClient::DeleteCommandOutcomeCallable EcsClient::deleteCommandCallable(const D
 	return task->get_future();
 }
 
+EcsClient::DeleteDedicatedHostClusterOutcome EcsClient::deleteDedicatedHostCluster(const DeleteDedicatedHostClusterRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DeleteDedicatedHostClusterOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DeleteDedicatedHostClusterOutcome(DeleteDedicatedHostClusterResult(outcome.result()));
+	else
+		return DeleteDedicatedHostClusterOutcome(outcome.error());
+}
+
+void EcsClient::deleteDedicatedHostClusterAsync(const DeleteDedicatedHostClusterRequest& request, const DeleteDedicatedHostClusterAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, deleteDedicatedHostCluster(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+EcsClient::DeleteDedicatedHostClusterOutcomeCallable EcsClient::deleteDedicatedHostClusterCallable(const DeleteDedicatedHostClusterRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DeleteDedicatedHostClusterOutcome()>>(
+			[this, request]()
+			{
+			return this->deleteDedicatedHostCluster(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 EcsClient::DeleteDemandOutcome EcsClient::deleteDemand(const DeleteDemandRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -3579,6 +3651,42 @@ EcsClient::DescribeDedicatedHostAutoRenewOutcomeCallable EcsClient::describeDedi
 	return task->get_future();
 }
 
+EcsClient::DescribeDedicatedHostClustersOutcome EcsClient::describeDedicatedHostClusters(const DescribeDedicatedHostClustersRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeDedicatedHostClustersOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeDedicatedHostClustersOutcome(DescribeDedicatedHostClustersResult(outcome.result()));
+	else
+		return DescribeDedicatedHostClustersOutcome(outcome.error());
+}
+
+void EcsClient::describeDedicatedHostClustersAsync(const DescribeDedicatedHostClustersRequest& request, const DescribeDedicatedHostClustersAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeDedicatedHostClusters(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+EcsClient::DescribeDedicatedHostClustersOutcomeCallable EcsClient::describeDedicatedHostClustersCallable(const DescribeDedicatedHostClustersRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeDedicatedHostClustersOutcome()>>(
+			[this, request]()
+			{
+			return this->describeDedicatedHostClusters(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 EcsClient::DescribeDedicatedHostTypesOutcome EcsClient::describeDedicatedHostTypes(const DescribeDedicatedHostTypesRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -5595,6 +5703,42 @@ EcsClient::DescribeSecurityGroupsOutcomeCallable EcsClient::describeSecurityGrou
 	return task->get_future();
 }
 
+EcsClient::DescribeSendFileResultsOutcome EcsClient::describeSendFileResults(const DescribeSendFileResultsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeSendFileResultsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeSendFileResultsOutcome(DescribeSendFileResultsResult(outcome.result()));
+	else
+		return DescribeSendFileResultsOutcome(outcome.error());
+}
+
+void EcsClient::describeSendFileResultsAsync(const DescribeSendFileResultsRequest& request, const DescribeSendFileResultsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeSendFileResults(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+EcsClient::DescribeSendFileResultsOutcomeCallable EcsClient::describeSendFileResultsCallable(const DescribeSendFileResultsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeSendFileResultsOutcome()>>(
+			[this, request]()
+			{
+			return this->describeSendFileResults(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 EcsClient::DescribeSnapshotLinksOutcome EcsClient::describeSnapshotLinks(const DescribeSnapshotLinksRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -7395,6 +7539,42 @@ EcsClient::ModifyDedicatedHostAutoRenewAttributeOutcomeCallable EcsClient::modif
 	return task->get_future();
 }
 
+EcsClient::ModifyDedicatedHostClusterAttributeOutcome EcsClient::modifyDedicatedHostClusterAttribute(const ModifyDedicatedHostClusterAttributeRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ModifyDedicatedHostClusterAttributeOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ModifyDedicatedHostClusterAttributeOutcome(ModifyDedicatedHostClusterAttributeResult(outcome.result()));
+	else
+		return ModifyDedicatedHostClusterAttributeOutcome(outcome.error());
+}
+
+void EcsClient::modifyDedicatedHostClusterAttributeAsync(const ModifyDedicatedHostClusterAttributeRequest& request, const ModifyDedicatedHostClusterAttributeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, modifyDedicatedHostClusterAttribute(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+EcsClient::ModifyDedicatedHostClusterAttributeOutcomeCallable EcsClient::modifyDedicatedHostClusterAttributeCallable(const ModifyDedicatedHostClusterAttributeRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ModifyDedicatedHostClusterAttributeOutcome()>>(
+			[this, request]()
+			{
+			return this->modifyDedicatedHostClusterAttribute(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 EcsClient::ModifyDedicatedHostsChargeTypeOutcome EcsClient::modifyDedicatedHostsChargeType(const ModifyDedicatedHostsChargeTypeRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -9843,6 +10023,42 @@ EcsClient::RunInstancesOutcomeCallable EcsClient::runInstancesCallable(const Run
 	return task->get_future();
 }
 
+EcsClient::SendFileOutcome EcsClient::sendFile(const SendFileRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return SendFileOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return SendFileOutcome(SendFileResult(outcome.result()));
+	else
+		return SendFileOutcome(outcome.error());
+}
+
+void EcsClient::sendFileAsync(const SendFileRequest& request, const SendFileAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, sendFile(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+EcsClient::SendFileOutcomeCallable EcsClient::sendFileCallable(const SendFileRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<SendFileOutcome()>>(
+			[this, request]()
+			{
+			return this->sendFile(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 EcsClient::StartInstanceOutcome EcsClient::startInstance(const StartInstanceRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();

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

@@ -60,6 +60,17 @@ void AllocateDedicatedHostsRequest::setDescription(const std::string& descriptio
 	setParameter("Description", description);
 }
 
+float AllocateDedicatedHostsRequest::getCpuOverCommitRatio()const
+{
+	return cpuOverCommitRatio_;
+}
+
+void AllocateDedicatedHostsRequest::setCpuOverCommitRatio(float cpuOverCommitRatio)
+{
+	cpuOverCommitRatio_ = cpuOverCommitRatio;
+	setParameter("CpuOverCommitRatio", std::to_string(cpuOverCommitRatio));
+}
+
 std::string AllocateDedicatedHostsRequest::getResourceGroupId()const
 {
 	return resourceGroupId_;
@@ -93,6 +104,17 @@ void AllocateDedicatedHostsRequest::setActionOnMaintenance(const std::string& ac
 	setParameter("ActionOnMaintenance", actionOnMaintenance);
 }
 
+std::string AllocateDedicatedHostsRequest::getDedicatedHostClusterId()const
+{
+	return dedicatedHostClusterId_;
+}
+
+void AllocateDedicatedHostsRequest::setDedicatedHostClusterId(const std::string& dedicatedHostClusterId)
+{
+	dedicatedHostClusterId_ = dedicatedHostClusterId;
+	setParameter("DedicatedHostClusterId", dedicatedHostClusterId);
+}
+
 std::vector<AllocateDedicatedHostsRequest::Tag> AllocateDedicatedHostsRequest::getTag()const
 {
 	return tag_;

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

@@ -82,6 +82,17 @@ void AttachNetworkInterfaceRequest::setOwnerAccount(const std::string& ownerAcco
 	setParameter("OwnerAccount", ownerAccount);
 }
 
+bool AttachNetworkInterfaceRequest::getWaitForNetworkConfigurationReady()const
+{
+	return waitForNetworkConfigurationReady_;
+}
+
+void AttachNetworkInterfaceRequest::setWaitForNetworkConfigurationReady(bool waitForNetworkConfigurationReady)
+{
+	waitForNetworkConfigurationReady_ = waitForNetworkConfigurationReady;
+	setParameter("WaitForNetworkConfigurationReady", waitForNetworkConfigurationReady ? "true" : "false");
+}
+
 long AttachNetworkInterfaceRequest::getOwnerId()const
 {
 	return ownerId_;

+ 155 - 0
ecs/src/model/CreateDedicatedHostClusterRequest.cc

@@ -0,0 +1,155 @@
+/*
+ * 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/CreateDedicatedHostClusterRequest.h>
+
+using AlibabaCloud::Ecs::Model::CreateDedicatedHostClusterRequest;
+
+CreateDedicatedHostClusterRequest::CreateDedicatedHostClusterRequest() :
+	RpcServiceRequest("ecs", "2014-05-26", "CreateDedicatedHostCluster")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+CreateDedicatedHostClusterRequest::~CreateDedicatedHostClusterRequest()
+{}
+
+std::string CreateDedicatedHostClusterRequest::getDedicatedHostClusterName()const
+{
+	return dedicatedHostClusterName_;
+}
+
+void CreateDedicatedHostClusterRequest::setDedicatedHostClusterName(const std::string& dedicatedHostClusterName)
+{
+	dedicatedHostClusterName_ = dedicatedHostClusterName;
+	setParameter("DedicatedHostClusterName", dedicatedHostClusterName);
+}
+
+long CreateDedicatedHostClusterRequest::getResourceOwnerId()const
+{
+	return resourceOwnerId_;
+}
+
+void CreateDedicatedHostClusterRequest::setResourceOwnerId(long resourceOwnerId)
+{
+	resourceOwnerId_ = resourceOwnerId;
+	setParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
+}
+
+std::string CreateDedicatedHostClusterRequest::getDescription()const
+{
+	return description_;
+}
+
+void CreateDedicatedHostClusterRequest::setDescription(const std::string& description)
+{
+	description_ = description;
+	setParameter("Description", description);
+}
+
+std::string CreateDedicatedHostClusterRequest::getResourceGroupId()const
+{
+	return resourceGroupId_;
+}
+
+void CreateDedicatedHostClusterRequest::setResourceGroupId(const std::string& resourceGroupId)
+{
+	resourceGroupId_ = resourceGroupId;
+	setParameter("ResourceGroupId", resourceGroupId);
+}
+
+std::string CreateDedicatedHostClusterRequest::getRegionId()const
+{
+	return regionId_;
+}
+
+void CreateDedicatedHostClusterRequest::setRegionId(const std::string& regionId)
+{
+	regionId_ = regionId;
+	setParameter("RegionId", regionId);
+}
+
+std::vector<CreateDedicatedHostClusterRequest::Tag> CreateDedicatedHostClusterRequest::getTag()const
+{
+	return tag_;
+}
+
+void CreateDedicatedHostClusterRequest::setTag(const std::vector<Tag>& tag)
+{
+	tag_ = tag;
+	for(int dep1 = 0; dep1!= tag.size(); dep1++) {
+		auto tagObj = tag.at(dep1);
+		std::string tagObjStr = "Tag." + std::to_string(dep1 + 1);
+		setParameter(tagObjStr + ".Key", tagObj.key);
+		setParameter(tagObjStr + ".Value", tagObj.value);
+	}
+}
+
+bool CreateDedicatedHostClusterRequest::getDryRun()const
+{
+	return dryRun_;
+}
+
+void CreateDedicatedHostClusterRequest::setDryRun(bool dryRun)
+{
+	dryRun_ = dryRun;
+	setParameter("DryRun", dryRun ? "true" : "false");
+}
+
+std::string CreateDedicatedHostClusterRequest::getResourceOwnerAccount()const
+{
+	return resourceOwnerAccount_;
+}
+
+void CreateDedicatedHostClusterRequest::setResourceOwnerAccount(const std::string& resourceOwnerAccount)
+{
+	resourceOwnerAccount_ = resourceOwnerAccount;
+	setParameter("ResourceOwnerAccount", resourceOwnerAccount);
+}
+
+std::string CreateDedicatedHostClusterRequest::getOwnerAccount()const
+{
+	return ownerAccount_;
+}
+
+void CreateDedicatedHostClusterRequest::setOwnerAccount(const std::string& ownerAccount)
+{
+	ownerAccount_ = ownerAccount;
+	setParameter("OwnerAccount", ownerAccount);
+}
+
+long CreateDedicatedHostClusterRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void CreateDedicatedHostClusterRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+
+std::string CreateDedicatedHostClusterRequest::getZoneId()const
+{
+	return zoneId_;
+}
+
+void CreateDedicatedHostClusterRequest::setZoneId(const std::string& zoneId)
+{
+	zoneId_ = zoneId;
+	setParameter("ZoneId", zoneId);
+}
+

+ 51 - 0
ecs/src/model/CreateDedicatedHostClusterResult.cc

@@ -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.
+ */
+
+#include <alibabacloud/ecs/model/CreateDedicatedHostClusterResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Ecs;
+using namespace AlibabaCloud::Ecs::Model;
+
+CreateDedicatedHostClusterResult::CreateDedicatedHostClusterResult() :
+	ServiceResult()
+{}
+
+CreateDedicatedHostClusterResult::CreateDedicatedHostClusterResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+CreateDedicatedHostClusterResult::~CreateDedicatedHostClusterResult()
+{}
+
+void CreateDedicatedHostClusterResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	if(!value["DedicatedHostClusterId"].isNull())
+		dedicatedHostClusterId_ = value["DedicatedHostClusterId"].asString();
+
+}
+
+std::string CreateDedicatedHostClusterResult::getDedicatedHostClusterId()const
+{
+	return dedicatedHostClusterId_;
+}
+

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

@@ -27,6 +27,17 @@ CreateNetworkInterfaceRequest::CreateNetworkInterfaceRequest() :
 CreateNetworkInterfaceRequest::~CreateNetworkInterfaceRequest()
 {}
 
+int CreateNetworkInterfaceRequest::getQueueNumber()const
+{
+	return queueNumber_;
+}
+
+void CreateNetworkInterfaceRequest::setQueueNumber(int queueNumber)
+{
+	queueNumber_ = queueNumber;
+	setParameter("QueueNumber", std::to_string(queueNumber));
+}
+
 long CreateNetworkInterfaceRequest::getResourceOwnerId()const
 {
 	return resourceOwnerId_;

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

@@ -0,0 +1,95 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/ecs/model/DeleteDedicatedHostClusterRequest.h>
+
+using AlibabaCloud::Ecs::Model::DeleteDedicatedHostClusterRequest;
+
+DeleteDedicatedHostClusterRequest::DeleteDedicatedHostClusterRequest() :
+	RpcServiceRequest("ecs", "2014-05-26", "DeleteDedicatedHostCluster")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+DeleteDedicatedHostClusterRequest::~DeleteDedicatedHostClusterRequest()
+{}
+
+long DeleteDedicatedHostClusterRequest::getResourceOwnerId()const
+{
+	return resourceOwnerId_;
+}
+
+void DeleteDedicatedHostClusterRequest::setResourceOwnerId(long resourceOwnerId)
+{
+	resourceOwnerId_ = resourceOwnerId;
+	setParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
+}
+
+std::string DeleteDedicatedHostClusterRequest::getRegionId()const
+{
+	return regionId_;
+}
+
+void DeleteDedicatedHostClusterRequest::setRegionId(const std::string& regionId)
+{
+	regionId_ = regionId;
+	setParameter("RegionId", regionId);
+}
+
+std::string DeleteDedicatedHostClusterRequest::getDedicatedHostClusterId()const
+{
+	return dedicatedHostClusterId_;
+}
+
+void DeleteDedicatedHostClusterRequest::setDedicatedHostClusterId(const std::string& dedicatedHostClusterId)
+{
+	dedicatedHostClusterId_ = dedicatedHostClusterId;
+	setParameter("DedicatedHostClusterId", dedicatedHostClusterId);
+}
+
+std::string DeleteDedicatedHostClusterRequest::getResourceOwnerAccount()const
+{
+	return resourceOwnerAccount_;
+}
+
+void DeleteDedicatedHostClusterRequest::setResourceOwnerAccount(const std::string& resourceOwnerAccount)
+{
+	resourceOwnerAccount_ = resourceOwnerAccount;
+	setParameter("ResourceOwnerAccount", resourceOwnerAccount);
+}
+
+std::string DeleteDedicatedHostClusterRequest::getOwnerAccount()const
+{
+	return ownerAccount_;
+}
+
+void DeleteDedicatedHostClusterRequest::setOwnerAccount(const std::string& ownerAccount)
+{
+	ownerAccount_ = ownerAccount;
+	setParameter("OwnerAccount", ownerAccount);
+}
+
+long DeleteDedicatedHostClusterRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void DeleteDedicatedHostClusterRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+

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

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

+ 188 - 0
ecs/src/model/DescribeDedicatedHostClustersRequest.cc

@@ -0,0 +1,188 @@
+/*
+ * 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/DescribeDedicatedHostClustersRequest.h>
+
+using AlibabaCloud::Ecs::Model::DescribeDedicatedHostClustersRequest;
+
+DescribeDedicatedHostClustersRequest::DescribeDedicatedHostClustersRequest() :
+	RpcServiceRequest("ecs", "2014-05-26", "DescribeDedicatedHostClusters")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+DescribeDedicatedHostClustersRequest::~DescribeDedicatedHostClustersRequest()
+{}
+
+std::string DescribeDedicatedHostClustersRequest::getDedicatedHostClusterName()const
+{
+	return dedicatedHostClusterName_;
+}
+
+void DescribeDedicatedHostClustersRequest::setDedicatedHostClusterName(const std::string& dedicatedHostClusterName)
+{
+	dedicatedHostClusterName_ = dedicatedHostClusterName;
+	setParameter("DedicatedHostClusterName", dedicatedHostClusterName);
+}
+
+long DescribeDedicatedHostClustersRequest::getResourceOwnerId()const
+{
+	return resourceOwnerId_;
+}
+
+void DescribeDedicatedHostClustersRequest::setResourceOwnerId(long resourceOwnerId)
+{
+	resourceOwnerId_ = resourceOwnerId;
+	setParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
+}
+
+std::string DescribeDedicatedHostClustersRequest::getDedicatedHostClusterIds()const
+{
+	return dedicatedHostClusterIds_;
+}
+
+void DescribeDedicatedHostClustersRequest::setDedicatedHostClusterIds(const std::string& dedicatedHostClusterIds)
+{
+	dedicatedHostClusterIds_ = dedicatedHostClusterIds;
+	setParameter("DedicatedHostClusterIds", dedicatedHostClusterIds);
+}
+
+int DescribeDedicatedHostClustersRequest::getPageNumber()const
+{
+	return pageNumber_;
+}
+
+void DescribeDedicatedHostClustersRequest::setPageNumber(int pageNumber)
+{
+	pageNumber_ = pageNumber;
+	setParameter("PageNumber", std::to_string(pageNumber));
+}
+
+std::string DescribeDedicatedHostClustersRequest::getResourceGroupId()const
+{
+	return resourceGroupId_;
+}
+
+void DescribeDedicatedHostClustersRequest::setResourceGroupId(const std::string& resourceGroupId)
+{
+	resourceGroupId_ = resourceGroupId;
+	setParameter("ResourceGroupId", resourceGroupId);
+}
+
+std::string DescribeDedicatedHostClustersRequest::getLockReason()const
+{
+	return lockReason_;
+}
+
+void DescribeDedicatedHostClustersRequest::setLockReason(const std::string& lockReason)
+{
+	lockReason_ = lockReason;
+	setParameter("LockReason", lockReason);
+}
+
+std::string DescribeDedicatedHostClustersRequest::getRegionId()const
+{
+	return regionId_;
+}
+
+void DescribeDedicatedHostClustersRequest::setRegionId(const std::string& regionId)
+{
+	regionId_ = regionId;
+	setParameter("RegionId", regionId);
+}
+
+int DescribeDedicatedHostClustersRequest::getPageSize()const
+{
+	return pageSize_;
+}
+
+void DescribeDedicatedHostClustersRequest::setPageSize(int pageSize)
+{
+	pageSize_ = pageSize;
+	setParameter("PageSize", std::to_string(pageSize));
+}
+
+std::vector<DescribeDedicatedHostClustersRequest::Tag> DescribeDedicatedHostClustersRequest::getTag()const
+{
+	return tag_;
+}
+
+void DescribeDedicatedHostClustersRequest::setTag(const std::vector<Tag>& tag)
+{
+	tag_ = tag;
+	for(int dep1 = 0; dep1!= tag.size(); dep1++) {
+		auto tagObj = tag.at(dep1);
+		std::string tagObjStr = "Tag." + std::to_string(dep1 + 1);
+		setParameter(tagObjStr + ".Key", tagObj.key);
+		setParameter(tagObjStr + ".Value", tagObj.value);
+	}
+}
+
+std::string DescribeDedicatedHostClustersRequest::getResourceOwnerAccount()const
+{
+	return resourceOwnerAccount_;
+}
+
+void DescribeDedicatedHostClustersRequest::setResourceOwnerAccount(const std::string& resourceOwnerAccount)
+{
+	resourceOwnerAccount_ = resourceOwnerAccount;
+	setParameter("ResourceOwnerAccount", resourceOwnerAccount);
+}
+
+std::string DescribeDedicatedHostClustersRequest::getOwnerAccount()const
+{
+	return ownerAccount_;
+}
+
+void DescribeDedicatedHostClustersRequest::setOwnerAccount(const std::string& ownerAccount)
+{
+	ownerAccount_ = ownerAccount;
+	setParameter("OwnerAccount", ownerAccount);
+}
+
+long DescribeDedicatedHostClustersRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void DescribeDedicatedHostClustersRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+
+std::string DescribeDedicatedHostClustersRequest::getZoneId()const
+{
+	return zoneId_;
+}
+
+void DescribeDedicatedHostClustersRequest::setZoneId(const std::string& zoneId)
+{
+	zoneId_ = zoneId;
+	setParameter("ZoneId", zoneId);
+}
+
+std::string DescribeDedicatedHostClustersRequest::getStatus()const
+{
+	return status_;
+}
+
+void DescribeDedicatedHostClustersRequest::setStatus(const std::string& status)
+{
+	status_ = status;
+	setParameter("Status", status);
+}
+

+ 122 - 0
ecs/src/model/DescribeDedicatedHostClustersResult.cc

@@ -0,0 +1,122 @@
+/*
+ * 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/DescribeDedicatedHostClustersResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Ecs;
+using namespace AlibabaCloud::Ecs::Model;
+
+DescribeDedicatedHostClustersResult::DescribeDedicatedHostClustersResult() :
+	ServiceResult()
+{}
+
+DescribeDedicatedHostClustersResult::DescribeDedicatedHostClustersResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeDedicatedHostClustersResult::~DescribeDedicatedHostClustersResult()
+{}
+
+void DescribeDedicatedHostClustersResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allDedicatedHostClustersNode = value["DedicatedHostClusters"]["DedicatedHostCluster"];
+	for (auto valueDedicatedHostClustersDedicatedHostCluster : allDedicatedHostClustersNode)
+	{
+		DedicatedHostCluster dedicatedHostClustersObject;
+		if(!valueDedicatedHostClustersDedicatedHostCluster["DedicatedHostClusterId"].isNull())
+			dedicatedHostClustersObject.dedicatedHostClusterId = valueDedicatedHostClustersDedicatedHostCluster["DedicatedHostClusterId"].asString();
+		if(!valueDedicatedHostClustersDedicatedHostCluster["RegionId"].isNull())
+			dedicatedHostClustersObject.regionId = valueDedicatedHostClustersDedicatedHostCluster["RegionId"].asString();
+		if(!valueDedicatedHostClustersDedicatedHostCluster["ZoneId"].isNull())
+			dedicatedHostClustersObject.zoneId = valueDedicatedHostClustersDedicatedHostCluster["ZoneId"].asString();
+		if(!valueDedicatedHostClustersDedicatedHostCluster["DedicatedHostClusterName"].isNull())
+			dedicatedHostClustersObject.dedicatedHostClusterName = valueDedicatedHostClustersDedicatedHostCluster["DedicatedHostClusterName"].asString();
+		if(!valueDedicatedHostClustersDedicatedHostCluster["Description"].isNull())
+			dedicatedHostClustersObject.description = valueDedicatedHostClustersDedicatedHostCluster["Description"].asString();
+		if(!valueDedicatedHostClustersDedicatedHostCluster["ResourceGroupId"].isNull())
+			dedicatedHostClustersObject.resourceGroupId = valueDedicatedHostClustersDedicatedHostCluster["ResourceGroupId"].asString();
+		auto allTagsNode = allDedicatedHostClustersNode["Tags"]["Tag"];
+		for (auto allDedicatedHostClustersNodeTagsTag : allTagsNode)
+		{
+			DedicatedHostCluster::Tag tagsObject;
+			if(!allDedicatedHostClustersNodeTagsTag["TagKey"].isNull())
+				tagsObject.tagKey = allDedicatedHostClustersNodeTagsTag["TagKey"].asString();
+			if(!allDedicatedHostClustersNodeTagsTag["TagValue"].isNull())
+				tagsObject.tagValue = allDedicatedHostClustersNodeTagsTag["TagValue"].asString();
+			dedicatedHostClustersObject.tags.push_back(tagsObject);
+		}
+		auto dedicatedHostClusterCapacityNode = value["DedicatedHostClusterCapacity"];
+		if(!dedicatedHostClusterCapacityNode["TotalVcpus"].isNull())
+			dedicatedHostClustersObject.dedicatedHostClusterCapacity.totalVcpus = std::stoi(dedicatedHostClusterCapacityNode["TotalVcpus"].asString());
+		if(!dedicatedHostClusterCapacityNode["AvailableVcpus"].isNull())
+			dedicatedHostClustersObject.dedicatedHostClusterCapacity.availableVcpus = std::stoi(dedicatedHostClusterCapacityNode["AvailableVcpus"].asString());
+		if(!dedicatedHostClusterCapacityNode["TotalMemory"].isNull())
+			dedicatedHostClustersObject.dedicatedHostClusterCapacity.totalMemory = std::stoi(dedicatedHostClusterCapacityNode["TotalMemory"].asString());
+		if(!dedicatedHostClusterCapacityNode["AvailableMemory"].isNull())
+			dedicatedHostClustersObject.dedicatedHostClusterCapacity.availableMemory = std::stoi(dedicatedHostClusterCapacityNode["AvailableMemory"].asString());
+		auto allLocalStorageCapacitiesNode = dedicatedHostClusterCapacityNode["LocalStorageCapacities"]["LocalStorageCapacity"];
+		for (auto dedicatedHostClusterCapacityNodeLocalStorageCapacitiesLocalStorageCapacity : allLocalStorageCapacitiesNode)
+		{
+			DedicatedHostCluster::DedicatedHostClusterCapacity::LocalStorageCapacity localStorageCapacityObject;
+			if(!dedicatedHostClusterCapacityNodeLocalStorageCapacitiesLocalStorageCapacity["TotalDisk"].isNull())
+				localStorageCapacityObject.totalDisk = std::stoi(dedicatedHostClusterCapacityNodeLocalStorageCapacitiesLocalStorageCapacity["TotalDisk"].asString());
+			if(!dedicatedHostClusterCapacityNodeLocalStorageCapacitiesLocalStorageCapacity["AvailableDisk"].isNull())
+				localStorageCapacityObject.availableDisk = std::stoi(dedicatedHostClusterCapacityNodeLocalStorageCapacitiesLocalStorageCapacity["AvailableDisk"].asString());
+			if(!dedicatedHostClusterCapacityNodeLocalStorageCapacitiesLocalStorageCapacity["DataDiskCategory"].isNull())
+				localStorageCapacityObject.dataDiskCategory = dedicatedHostClusterCapacityNodeLocalStorageCapacitiesLocalStorageCapacity["DataDiskCategory"].asString();
+			dedicatedHostClustersObject.dedicatedHostClusterCapacity.localStorageCapacities.push_back(localStorageCapacityObject);
+		}
+		auto allDedicatedHostIds = value["DedicatedHostIds"]["DedicatedHostId"];
+		for (auto value : allDedicatedHostIds)
+			dedicatedHostClustersObject.dedicatedHostIds.push_back(value.asString());
+		dedicatedHostClusters_.push_back(dedicatedHostClustersObject);
+	}
+	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<DescribeDedicatedHostClustersResult::DedicatedHostCluster> DescribeDedicatedHostClustersResult::getDedicatedHostClusters()const
+{
+	return dedicatedHostClusters_;
+}
+
+int DescribeDedicatedHostClustersResult::getTotalCount()const
+{
+	return totalCount_;
+}
+
+int DescribeDedicatedHostClustersResult::getPageSize()const
+{
+	return pageSize_;
+}
+
+int DescribeDedicatedHostClustersResult::getPageNumber()const
+{
+	return pageNumber_;
+}
+

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

@@ -65,6 +65,10 @@ void DescribeDedicatedHostTypesResult::parse(const std::string &payload)
 			dedicatedHostTypesObject.localStorageCategory = valueDedicatedHostTypesDedicatedHostType["LocalStorageCategory"].asString();
 		if(!valueDedicatedHostTypesDedicatedHostType["GPUSpec"].isNull())
 			dedicatedHostTypesObject.gPUSpec = valueDedicatedHostTypesDedicatedHostType["GPUSpec"].asString();
+		if(!valueDedicatedHostTypesDedicatedHostType["SupportCpuOverCommitRatio"].isNull())
+			dedicatedHostTypesObject.supportCpuOverCommitRatio = valueDedicatedHostTypesDedicatedHostType["SupportCpuOverCommitRatio"].asString() == "true";
+		if(!valueDedicatedHostTypesDedicatedHostType["CpuOverCommitRatioRange"].isNull())
+			dedicatedHostTypesObject.cpuOverCommitRatioRange = valueDedicatedHostTypesDedicatedHostType["CpuOverCommitRatioRange"].asString();
 		auto allSupportedInstanceTypeFamilies = value["SupportedInstanceTypeFamilies"]["SupportedInstanceTypeFamily"];
 		for (auto value : allSupportedInstanceTypeFamilies)
 			dedicatedHostTypesObject.supportedInstanceTypeFamilies.push_back(value.asString());

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

@@ -83,6 +83,10 @@ void DescribeDedicatedHostsResult::parse(const std::string &payload)
 			dedicatedHostsObject.autoReleaseTime = valueDedicatedHostsDedicatedHost["AutoReleaseTime"].asString();
 		if(!valueDedicatedHostsDedicatedHost["ResourceGroupId"].isNull())
 			dedicatedHostsObject.resourceGroupId = valueDedicatedHostsDedicatedHost["ResourceGroupId"].asString();
+		if(!valueDedicatedHostsDedicatedHost["DedicatedHostClusterId"].isNull())
+			dedicatedHostsObject.dedicatedHostClusterId = valueDedicatedHostsDedicatedHost["DedicatedHostClusterId"].asString();
+		if(!valueDedicatedHostsDedicatedHost["CpuOverCommitRatio"].isNull())
+			dedicatedHostsObject.cpuOverCommitRatio = std::stof(valueDedicatedHostsDedicatedHost["CpuOverCommitRatio"].asString());
 		auto allInstancesNode = allDedicatedHostsNode["Instances"]["Instance"];
 		for (auto allDedicatedHostsNodeInstancesInstance : allInstancesNode)
 		{

+ 22 - 0
ecs/src/model/DescribeDisksRequest.cc

@@ -232,6 +232,17 @@ void DescribeDisksRequest::setZoneId(const std::string& zoneId)
 	setParameter("ZoneId", zoneId);
 }
 
+int DescribeDisksRequest::getMaxResults()const
+{
+	return maxResults_;
+}
+
+void DescribeDisksRequest::setMaxResults(int maxResults)
+{
+	maxResults_ = maxResults;
+	setParameter("MaxResults", std::to_string(maxResults));
+}
+
 std::string DescribeDisksRequest::getStatus()const
 {
 	return status_;
@@ -276,6 +287,17 @@ void DescribeDisksRequest::setRegionId(const std::string& regionId)
 	setParameter("RegionId", regionId);
 }
 
+std::string DescribeDisksRequest::getNextToken()const
+{
+	return nextToken_;
+}
+
+void DescribeDisksRequest::setNextToken(const std::string& nextToken)
+{
+	nextToken_ = nextToken;
+	setParameter("NextToken", nextToken);
+}
+
 int DescribeDisksRequest::getPageSize()const
 {
 	return pageSize_;

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

@@ -155,6 +155,8 @@ void DescribeDisksResult::parse(const std::string &payload)
 		pageNumber_ = std::stoi(value["PageNumber"].asString());
 	if(!value["PageSize"].isNull())
 		pageSize_ = std::stoi(value["PageSize"].asString());
+	if(!value["NextToken"].isNull())
+		nextToken_ = value["NextToken"].asString();
 
 }
 
@@ -168,6 +170,11 @@ int DescribeDisksResult::getPageSize()const
 	return pageSize_;
 }
 
+std::string DescribeDisksResult::getNextToken()const
+{
+	return nextToken_;
+}
+
 int DescribeDisksResult::getPageNumber()const
 {
 	return pageNumber_;

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

@@ -87,6 +87,12 @@ void DescribeInstanceTypesResult::parse(const std::string &payload)
 			instanceTypesObject.eniTrunkSupported = valueInstanceTypesInstanceType["EniTrunkSupported"].asString() == "true";
 		if(!valueInstanceTypesInstanceType["EniTotalQuantity"].isNull())
 			instanceTypesObject.eniTotalQuantity = std::stoi(valueInstanceTypesInstanceType["EniTotalQuantity"].asString());
+		if(!valueInstanceTypesInstanceType["MaximumQueueNumberPerEni"].isNull())
+			instanceTypesObject.maximumQueueNumberPerEni = std::stoi(valueInstanceTypesInstanceType["MaximumQueueNumberPerEni"].asString());
+		if(!valueInstanceTypesInstanceType["PrimaryEniQueueNumber"].isNull())
+			instanceTypesObject.primaryEniQueueNumber = std::stoi(valueInstanceTypesInstanceType["PrimaryEniQueueNumber"].asString());
+		if(!valueInstanceTypesInstanceType["SecondaryEniQueueNumber"].isNull())
+			instanceTypesObject.secondaryEniQueueNumber = std::stoi(valueInstanceTypesInstanceType["SecondaryEniQueueNumber"].asString());
 		instanceTypes_.push_back(instanceTypesObject);
 	}
 

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

@@ -119,6 +119,8 @@ void DescribeInstancesResult::parse(const std::string &payload)
 			instancesObject.spotStrategy = valueInstancesInstance["SpotStrategy"].asString();
 		if(!valueInstancesInstance["SpotPriceLimit"].isNull())
 			instancesObject.spotPriceLimit = std::stof(valueInstancesInstance["SpotPriceLimit"].asString());
+		if(!valueInstancesInstance["SpotDuration"].isNull())
+			instancesObject.spotDuration = std::stoi(valueInstancesInstance["SpotDuration"].asString());
 		if(!valueInstancesInstance["ResourceGroupId"].isNull())
 			instancesObject.resourceGroupId = valueInstancesInstance["ResourceGroupId"].asString();
 		if(!valueInstancesInstance["KeyPairName"].isNull())
@@ -191,6 +193,8 @@ void DescribeInstancesResult::parse(const std::string &payload)
 			instancesObject.dedicatedHostAttribute.dedicatedHostId = dedicatedHostAttributeNode["DedicatedHostId"].asString();
 		if(!dedicatedHostAttributeNode["DedicatedHostName"].isNull())
 			instancesObject.dedicatedHostAttribute.dedicatedHostName = dedicatedHostAttributeNode["DedicatedHostName"].asString();
+		if(!dedicatedHostAttributeNode["DedicatedHostClusterId"].isNull())
+			instancesObject.dedicatedHostAttribute.dedicatedHostClusterId = dedicatedHostAttributeNode["DedicatedHostClusterId"].asString();
 		auto ecsCapacityReservationAttrNode = value["EcsCapacityReservationAttr"];
 		if(!ecsCapacityReservationAttrNode["CapacityReservationId"].isNull())
 			instancesObject.ecsCapacityReservationAttr.capacityReservationId = ecsCapacityReservationAttrNode["CapacityReservationId"].asString();

+ 16 - 0
ecs/src/model/DescribeReservedInstancesRequest.cc

@@ -104,6 +104,22 @@ void DescribeReservedInstancesRequest::setInstanceType(const std::string& instan
 	setParameter("InstanceType", instanceType);
 }
 
+std::vector<DescribeReservedInstancesRequest::Tag> DescribeReservedInstancesRequest::getTag()const
+{
+	return tag_;
+}
+
+void DescribeReservedInstancesRequest::setTag(const std::vector<Tag>& tag)
+{
+	tag_ = tag;
+	for(int dep1 = 0; dep1!= tag.size(); dep1++) {
+		auto tagObj = tag.at(dep1);
+		std::string tagObjStr = "Tag." + std::to_string(dep1 + 1);
+		setParameter(tagObjStr + ".Key", tagObj.key);
+		setParameter(tagObjStr + ".Value", tagObj.value);
+	}
+}
+
 std::string DescribeReservedInstancesRequest::getResourceOwnerAccount()const
 {
 	return resourceOwnerAccount_;

+ 10 - 0
ecs/src/model/DescribeReservedInstancesResult.cc

@@ -83,6 +83,16 @@ void DescribeReservedInstancesResult::parse(const std::string &payload)
 				operationLocksObject.lockReason = allReservedInstancesNodeOperationLocksOperationLock["LockReason"].asString();
 			reservedInstancesObject.operationLocks.push_back(operationLocksObject);
 		}
+		auto allTagsNode = allReservedInstancesNode["Tags"]["Tag"];
+		for (auto allReservedInstancesNodeTagsTag : allTagsNode)
+		{
+			ReservedInstance::Tag tagsObject;
+			if(!allReservedInstancesNodeTagsTag["TagKey"].isNull())
+				tagsObject.tagKey = allReservedInstancesNodeTagsTag["TagKey"].asString();
+			if(!allReservedInstancesNodeTagsTag["TagValue"].isNull())
+				tagsObject.tagValue = allReservedInstancesNodeTagsTag["TagValue"].asString();
+			reservedInstancesObject.tags.push_back(tagsObject);
+		}
 		reservedInstances_.push_back(reservedInstancesObject);
 	}
 	if(!value["TotalCount"].isNull())

+ 139 - 0
ecs/src/model/DescribeSendFileResultsRequest.cc

@@ -0,0 +1,139 @@
+/*
+ * 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/DescribeSendFileResultsRequest.h>
+
+using AlibabaCloud::Ecs::Model::DescribeSendFileResultsRequest;
+
+DescribeSendFileResultsRequest::DescribeSendFileResultsRequest() :
+	RpcServiceRequest("ecs", "2014-05-26", "DescribeSendFileResults")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+DescribeSendFileResultsRequest::~DescribeSendFileResultsRequest()
+{}
+
+long DescribeSendFileResultsRequest::getResourceOwnerId()const
+{
+	return resourceOwnerId_;
+}
+
+void DescribeSendFileResultsRequest::setResourceOwnerId(long resourceOwnerId)
+{
+	resourceOwnerId_ = resourceOwnerId;
+	setParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
+}
+
+long DescribeSendFileResultsRequest::getPageNumber()const
+{
+	return pageNumber_;
+}
+
+void DescribeSendFileResultsRequest::setPageNumber(long pageNumber)
+{
+	pageNumber_ = pageNumber;
+	setParameter("PageNumber", std::to_string(pageNumber));
+}
+
+std::string DescribeSendFileResultsRequest::getRegionId()const
+{
+	return regionId_;
+}
+
+void DescribeSendFileResultsRequest::setRegionId(const std::string& regionId)
+{
+	regionId_ = regionId;
+	setParameter("RegionId", regionId);
+}
+
+long DescribeSendFileResultsRequest::getPageSize()const
+{
+	return pageSize_;
+}
+
+void DescribeSendFileResultsRequest::setPageSize(long pageSize)
+{
+	pageSize_ = pageSize;
+	setParameter("PageSize", std::to_string(pageSize));
+}
+
+std::string DescribeSendFileResultsRequest::getInvokeId()const
+{
+	return invokeId_;
+}
+
+void DescribeSendFileResultsRequest::setInvokeId(const std::string& invokeId)
+{
+	invokeId_ = invokeId;
+	setParameter("InvokeId", invokeId);
+}
+
+std::string DescribeSendFileResultsRequest::getResourceOwnerAccount()const
+{
+	return resourceOwnerAccount_;
+}
+
+void DescribeSendFileResultsRequest::setResourceOwnerAccount(const std::string& resourceOwnerAccount)
+{
+	resourceOwnerAccount_ = resourceOwnerAccount;
+	setParameter("ResourceOwnerAccount", resourceOwnerAccount);
+}
+
+std::string DescribeSendFileResultsRequest::getOwnerAccount()const
+{
+	return ownerAccount_;
+}
+
+void DescribeSendFileResultsRequest::setOwnerAccount(const std::string& ownerAccount)
+{
+	ownerAccount_ = ownerAccount;
+	setParameter("OwnerAccount", ownerAccount);
+}
+
+long DescribeSendFileResultsRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void DescribeSendFileResultsRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+
+std::string DescribeSendFileResultsRequest::getInstanceId()const
+{
+	return instanceId_;
+}
+
+void DescribeSendFileResultsRequest::setInstanceId(const std::string& instanceId)
+{
+	instanceId_ = instanceId;
+	setParameter("InstanceId", instanceId);
+}
+
+std::string DescribeSendFileResultsRequest::getName()const
+{
+	return name_;
+}
+
+void DescribeSendFileResultsRequest::setName(const std::string& name)
+{
+	name_ = name;
+	setParameter("Name", name);
+}
+

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

@@ -0,0 +1,124 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/ecs/model/DescribeSendFileResultsResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Ecs;
+using namespace AlibabaCloud::Ecs::Model;
+
+DescribeSendFileResultsResult::DescribeSendFileResultsResult() :
+	ServiceResult()
+{}
+
+DescribeSendFileResultsResult::DescribeSendFileResultsResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeSendFileResultsResult::~DescribeSendFileResultsResult()
+{}
+
+void DescribeSendFileResultsResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allInvocationsNode = value["Invocations"]["Invocation"];
+	for (auto valueInvocationsInvocation : allInvocationsNode)
+	{
+		Invocation invocationsObject;
+		if(!valueInvocationsInvocation["InvokeId"].isNull())
+			invocationsObject.invokeId = valueInvocationsInvocation["InvokeId"].asString();
+		if(!valueInvocationsInvocation["Name"].isNull())
+			invocationsObject.name = valueInvocationsInvocation["Name"].asString();
+		if(!valueInvocationsInvocation["Description"].isNull())
+			invocationsObject.description = valueInvocationsInvocation["Description"].asString();
+		if(!valueInvocationsInvocation["TargetDir"].isNull())
+			invocationsObject.targetDir = valueInvocationsInvocation["TargetDir"].asString();
+		if(!valueInvocationsInvocation["ContentType"].isNull())
+			invocationsObject.contentType = valueInvocationsInvocation["ContentType"].asString();
+		if(!valueInvocationsInvocation["Content"].isNull())
+			invocationsObject.content = valueInvocationsInvocation["Content"].asString();
+		if(!valueInvocationsInvocation["FileOwner"].isNull())
+			invocationsObject.fileOwner = valueInvocationsInvocation["FileOwner"].asString();
+		if(!valueInvocationsInvocation["FileGroup"].isNull())
+			invocationsObject.fileGroup = valueInvocationsInvocation["FileGroup"].asString();
+		if(!valueInvocationsInvocation["FileMode"].isNull())
+			invocationsObject.fileMode = valueInvocationsInvocation["FileMode"].asString();
+		if(!valueInvocationsInvocation["Overwrite"].isNull())
+			invocationsObject.overwrite = valueInvocationsInvocation["Overwrite"].asString();
+		if(!valueInvocationsInvocation["VmCount"].isNull())
+			invocationsObject.vmCount = std::stoi(valueInvocationsInvocation["VmCount"].asString());
+		if(!valueInvocationsInvocation["CreationTime"].isNull())
+			invocationsObject.creationTime = valueInvocationsInvocation["CreationTime"].asString();
+		if(!valueInvocationsInvocation["InvocationStatus"].isNull())
+			invocationsObject.invocationStatus = valueInvocationsInvocation["InvocationStatus"].asString();
+		auto allInvokeInstancesNode = allInvocationsNode["InvokeInstances"]["InvokeInstance"];
+		for (auto allInvocationsNodeInvokeInstancesInvokeInstance : allInvokeInstancesNode)
+		{
+			Invocation::InvokeInstance invokeInstancesObject;
+			if(!allInvocationsNodeInvokeInstancesInvokeInstance["InstanceId"].isNull())
+				invokeInstancesObject.instanceId = allInvocationsNodeInvokeInstancesInvokeInstance["InstanceId"].asString();
+			if(!allInvocationsNodeInvokeInstancesInvokeInstance["InvocationStatus"].isNull())
+				invokeInstancesObject.invocationStatus = allInvocationsNodeInvokeInstancesInvokeInstance["InvocationStatus"].asString();
+			if(!allInvocationsNodeInvokeInstancesInvokeInstance["CreationTime"].isNull())
+				invokeInstancesObject.creationTime = allInvocationsNodeInvokeInstancesInvokeInstance["CreationTime"].asString();
+			if(!allInvocationsNodeInvokeInstancesInvokeInstance["StartTime"].isNull())
+				invokeInstancesObject.startTime = allInvocationsNodeInvokeInstancesInvokeInstance["StartTime"].asString();
+			if(!allInvocationsNodeInvokeInstancesInvokeInstance["FinishTime"].isNull())
+				invokeInstancesObject.finishTime = allInvocationsNodeInvokeInstancesInvokeInstance["FinishTime"].asString();
+			if(!allInvocationsNodeInvokeInstancesInvokeInstance["UpdateTime"].isNull())
+				invokeInstancesObject.updateTime = allInvocationsNodeInvokeInstancesInvokeInstance["UpdateTime"].asString();
+			if(!allInvocationsNodeInvokeInstancesInvokeInstance["ErrorCode"].isNull())
+				invokeInstancesObject.errorCode = allInvocationsNodeInvokeInstancesInvokeInstance["ErrorCode"].asString();
+			if(!allInvocationsNodeInvokeInstancesInvokeInstance["ErrorInfo"].isNull())
+				invokeInstancesObject.errorInfo = allInvocationsNodeInvokeInstancesInvokeInstance["ErrorInfo"].asString();
+			invocationsObject.invokeInstances.push_back(invokeInstancesObject);
+		}
+		invocations_.push_back(invocationsObject);
+	}
+	if(!value["TotalCount"].isNull())
+		totalCount_ = std::stol(value["TotalCount"].asString());
+	if(!value["PageNumber"].isNull())
+		pageNumber_ = std::stol(value["PageNumber"].asString());
+	if(!value["PageSize"].isNull())
+		pageSize_ = std::stol(value["PageSize"].asString());
+
+}
+
+long DescribeSendFileResultsResult::getTotalCount()const
+{
+	return totalCount_;
+}
+
+long DescribeSendFileResultsResult::getPageSize()const
+{
+	return pageSize_;
+}
+
+std::vector<DescribeSendFileResultsResult::Invocation> DescribeSendFileResultsResult::getInvocations()const
+{
+	return invocations_;
+}
+
+long DescribeSendFileResultsResult::getPageNumber()const
+{
+	return pageNumber_;
+}
+

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

@@ -70,6 +70,8 @@ void DescribeTagsResult::parse(const std::string &payload)
 			tagsObject.resourceTypeCount.keyPair = std::stoi(resourceTypeCountNode["KeyPair"].asString());
 		if(!resourceTypeCountNode["SnapshotPolicy"].isNull())
 			tagsObject.resourceTypeCount.snapshotPolicy = std::stoi(resourceTypeCountNode["SnapshotPolicy"].asString());
+		if(!resourceTypeCountNode["ReservedInstance"].isNull())
+			tagsObject.resourceTypeCount.reservedInstance = std::stoi(resourceTypeCountNode["ReservedInstance"].asString());
 		tags_.push_back(tagsObject);
 	}
 	if(!value["PageSize"].isNull())

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

@@ -49,6 +49,17 @@ void ModifyDedicatedHostAttributeRequest::setDescription(const std::string& desc
 	setParameter("Description", description);
 }
 
+float ModifyDedicatedHostAttributeRequest::getCpuOverCommitRatio()const
+{
+	return cpuOverCommitRatio_;
+}
+
+void ModifyDedicatedHostAttributeRequest::setCpuOverCommitRatio(float cpuOverCommitRatio)
+{
+	cpuOverCommitRatio_ = cpuOverCommitRatio;
+	setParameter("CpuOverCommitRatio", std::to_string(cpuOverCommitRatio));
+}
+
 std::string ModifyDedicatedHostAttributeRequest::getRegionId()const
 {
 	return regionId_;
@@ -71,6 +82,17 @@ void ModifyDedicatedHostAttributeRequest::setActionOnMaintenance(const std::stri
 	setParameter("ActionOnMaintenance", actionOnMaintenance);
 }
 
+std::string ModifyDedicatedHostAttributeRequest::getDedicatedHostClusterId()const
+{
+	return dedicatedHostClusterId_;
+}
+
+void ModifyDedicatedHostAttributeRequest::setDedicatedHostClusterId(const std::string& dedicatedHostClusterId)
+{
+	dedicatedHostClusterId_ = dedicatedHostClusterId;
+	setParameter("DedicatedHostClusterId", dedicatedHostClusterId);
+}
+
 std::string ModifyDedicatedHostAttributeRequest::getDedicatedHostName()const
 {
 	return dedicatedHostName_;

+ 117 - 0
ecs/src/model/ModifyDedicatedHostClusterAttributeRequest.cc

@@ -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.
+ */
+
+#include <alibabacloud/ecs/model/ModifyDedicatedHostClusterAttributeRequest.h>
+
+using AlibabaCloud::Ecs::Model::ModifyDedicatedHostClusterAttributeRequest;
+
+ModifyDedicatedHostClusterAttributeRequest::ModifyDedicatedHostClusterAttributeRequest() :
+	RpcServiceRequest("ecs", "2014-05-26", "ModifyDedicatedHostClusterAttribute")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+ModifyDedicatedHostClusterAttributeRequest::~ModifyDedicatedHostClusterAttributeRequest()
+{}
+
+std::string ModifyDedicatedHostClusterAttributeRequest::getDedicatedHostClusterName()const
+{
+	return dedicatedHostClusterName_;
+}
+
+void ModifyDedicatedHostClusterAttributeRequest::setDedicatedHostClusterName(const std::string& dedicatedHostClusterName)
+{
+	dedicatedHostClusterName_ = dedicatedHostClusterName;
+	setParameter("DedicatedHostClusterName", dedicatedHostClusterName);
+}
+
+long ModifyDedicatedHostClusterAttributeRequest::getResourceOwnerId()const
+{
+	return resourceOwnerId_;
+}
+
+void ModifyDedicatedHostClusterAttributeRequest::setResourceOwnerId(long resourceOwnerId)
+{
+	resourceOwnerId_ = resourceOwnerId;
+	setParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
+}
+
+std::string ModifyDedicatedHostClusterAttributeRequest::getDescription()const
+{
+	return description_;
+}
+
+void ModifyDedicatedHostClusterAttributeRequest::setDescription(const std::string& description)
+{
+	description_ = description;
+	setParameter("Description", description);
+}
+
+std::string ModifyDedicatedHostClusterAttributeRequest::getRegionId()const
+{
+	return regionId_;
+}
+
+void ModifyDedicatedHostClusterAttributeRequest::setRegionId(const std::string& regionId)
+{
+	regionId_ = regionId;
+	setParameter("RegionId", regionId);
+}
+
+std::string ModifyDedicatedHostClusterAttributeRequest::getDedicatedHostClusterId()const
+{
+	return dedicatedHostClusterId_;
+}
+
+void ModifyDedicatedHostClusterAttributeRequest::setDedicatedHostClusterId(const std::string& dedicatedHostClusterId)
+{
+	dedicatedHostClusterId_ = dedicatedHostClusterId;
+	setParameter("DedicatedHostClusterId", dedicatedHostClusterId);
+}
+
+std::string ModifyDedicatedHostClusterAttributeRequest::getResourceOwnerAccount()const
+{
+	return resourceOwnerAccount_;
+}
+
+void ModifyDedicatedHostClusterAttributeRequest::setResourceOwnerAccount(const std::string& resourceOwnerAccount)
+{
+	resourceOwnerAccount_ = resourceOwnerAccount;
+	setParameter("ResourceOwnerAccount", resourceOwnerAccount);
+}
+
+std::string ModifyDedicatedHostClusterAttributeRequest::getOwnerAccount()const
+{
+	return ownerAccount_;
+}
+
+void ModifyDedicatedHostClusterAttributeRequest::setOwnerAccount(const std::string& ownerAccount)
+{
+	ownerAccount_ = ownerAccount;
+	setParameter("OwnerAccount", ownerAccount);
+}
+
+long ModifyDedicatedHostClusterAttributeRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void ModifyDedicatedHostClusterAttributeRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+

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

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

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

@@ -49,6 +49,17 @@ void ModifyInstanceAttributeRequest::setRecyclable(bool recyclable)
 	setParameter("Recyclable", recyclable ? "true" : "false");
 }
 
+int ModifyInstanceAttributeRequest::getNetworkInterfaceQueueNumber()const
+{
+	return networkInterfaceQueueNumber_;
+}
+
+void ModifyInstanceAttributeRequest::setNetworkInterfaceQueueNumber(int networkInterfaceQueueNumber)
+{
+	networkInterfaceQueueNumber_ = networkInterfaceQueueNumber;
+	setParameter("NetworkInterfaceQueueNumber", std::to_string(networkInterfaceQueueNumber));
+}
+
 std::string ModifyInstanceAttributeRequest::getDescription()const
 {
 	return description_;

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

@@ -60,6 +60,17 @@ void ModifyInstanceDeploymentRequest::setDeploymentSetGroupNo(int deploymentSetG
 	setParameter("DeploymentSetGroupNo", std::to_string(deploymentSetGroupNo));
 }
 
+std::string ModifyInstanceDeploymentRequest::getDedicatedHostClusterId()const
+{
+	return dedicatedHostClusterId_;
+}
+
+void ModifyInstanceDeploymentRequest::setDedicatedHostClusterId(const std::string& dedicatedHostClusterId)
+{
+	dedicatedHostClusterId_ = dedicatedHostClusterId;
+	setParameter("DedicatedHostClusterId", dedicatedHostClusterId);
+}
+
 std::string ModifyInstanceDeploymentRequest::getInstanceType()const
 {
 	return instanceType_;

+ 16 - 0
ecs/src/model/PurchaseReservedInstancesOfferingRequest.cc

@@ -115,6 +115,22 @@ void PurchaseReservedInstancesOfferingRequest::setInstanceType(const std::string
 	setParameter("InstanceType", instanceType);
 }
 
+std::vector<PurchaseReservedInstancesOfferingRequest::Tag> PurchaseReservedInstancesOfferingRequest::getTag()const
+{
+	return tag_;
+}
+
+void PurchaseReservedInstancesOfferingRequest::setTag(const std::vector<Tag>& tag)
+{
+	tag_ = tag;
+	for(int dep1 = 0; dep1!= tag.size(); dep1++) {
+		auto tagObj = tag.at(dep1);
+		std::string tagObjStr = "Tag." + std::to_string(dep1 + 1);
+		setParameter(tagObjStr + ".Key", tagObj.key);
+		setParameter(tagObjStr + ".Value", tagObj.value);
+	}
+}
+
 int PurchaseReservedInstancesOfferingRequest::getPeriod()const
 {
 	return period_;

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

@@ -280,6 +280,17 @@ void RunInstancesRequest::setSpotInterruptionBehavior(const std::string& spotInt
 	setParameter("SpotInterruptionBehavior", spotInterruptionBehavior);
 }
 
+int RunInstancesRequest::getNetworkInterfaceQueueNumber()const
+{
+	return networkInterfaceQueueNumber_;
+}
+
+void RunInstancesRequest::setNetworkInterfaceQueueNumber(int networkInterfaceQueueNumber)
+{
+	networkInterfaceQueueNumber_ = networkInterfaceQueueNumber;
+	setParameter("NetworkInterfaceQueueNumber", std::to_string(networkInterfaceQueueNumber));
+}
+
 std::string RunInstancesRequest::getIoOptimized()const
 {
 	return ioOptimized_;
@@ -363,6 +374,17 @@ void RunInstancesRequest::setArn(const std::vector<Arn>& arn)
 	}
 }
 
+std::string RunInstancesRequest::getSchedulerOptions()const
+{
+	return schedulerOptions_;
+}
+
+void RunInstancesRequest::setSchedulerOptions(const std::string& schedulerOptions)
+{
+	schedulerOptions_ = schedulerOptions;
+	setParameter("SchedulerOptions", schedulerOptions);
+}
+
 std::string RunInstancesRequest::getResourceOwnerAccount()const
 {
 	return resourceOwnerAccount_;
@@ -754,6 +776,7 @@ void RunInstancesRequest::setNetworkInterface(const std::vector<NetworkInterface
 		}
 		setParameter(networkInterfaceObjStr + ".NetworkInterfaceName", networkInterfaceObj.networkInterfaceName);
 		setParameter(networkInterfaceObjStr + ".Description", networkInterfaceObj.description);
+		setParameter(networkInterfaceObjStr + ".QueueNumber", std::to_string(networkInterfaceObj.queueNumber));
 	}
 }
 

+ 207 - 0
ecs/src/model/SendFileRequest.cc

@@ -0,0 +1,207 @@
+/*
+ * 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/SendFileRequest.h>
+
+using AlibabaCloud::Ecs::Model::SendFileRequest;
+
+SendFileRequest::SendFileRequest() :
+	RpcServiceRequest("ecs", "2014-05-26", "SendFile")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+SendFileRequest::~SendFileRequest()
+{}
+
+long SendFileRequest::getResourceOwnerId()const
+{
+	return resourceOwnerId_;
+}
+
+void SendFileRequest::setResourceOwnerId(long resourceOwnerId)
+{
+	resourceOwnerId_ = resourceOwnerId;
+	setParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
+}
+
+std::string SendFileRequest::getDescription()const
+{
+	return description_;
+}
+
+void SendFileRequest::setDescription(const std::string& description)
+{
+	description_ = description;
+	setParameter("Description", description);
+}
+
+long SendFileRequest::getTimeout()const
+{
+	return timeout_;
+}
+
+void SendFileRequest::setTimeout(long timeout)
+{
+	timeout_ = timeout;
+	setParameter("Timeout", std::to_string(timeout));
+}
+
+std::string SendFileRequest::getContent()const
+{
+	return content_;
+}
+
+void SendFileRequest::setContent(const std::string& content)
+{
+	content_ = content;
+	setParameter("Content", content);
+}
+
+std::string SendFileRequest::getRegionId()const
+{
+	return regionId_;
+}
+
+void SendFileRequest::setRegionId(const std::string& regionId)
+{
+	regionId_ = regionId;
+	setParameter("RegionId", regionId);
+}
+
+std::string SendFileRequest::getFileOwner()const
+{
+	return fileOwner_;
+}
+
+void SendFileRequest::setFileOwner(const std::string& fileOwner)
+{
+	fileOwner_ = fileOwner;
+	setParameter("FileOwner", fileOwner);
+}
+
+bool SendFileRequest::getOverwrite()const
+{
+	return overwrite_;
+}
+
+void SendFileRequest::setOverwrite(bool overwrite)
+{
+	overwrite_ = overwrite;
+	setParameter("Overwrite", overwrite ? "true" : "false");
+}
+
+std::string SendFileRequest::getResourceOwnerAccount()const
+{
+	return resourceOwnerAccount_;
+}
+
+void SendFileRequest::setResourceOwnerAccount(const std::string& resourceOwnerAccount)
+{
+	resourceOwnerAccount_ = resourceOwnerAccount;
+	setParameter("ResourceOwnerAccount", resourceOwnerAccount);
+}
+
+std::string SendFileRequest::getOwnerAccount()const
+{
+	return ownerAccount_;
+}
+
+void SendFileRequest::setOwnerAccount(const std::string& ownerAccount)
+{
+	ownerAccount_ = ownerAccount;
+	setParameter("OwnerAccount", ownerAccount);
+}
+
+std::string SendFileRequest::getFileMode()const
+{
+	return fileMode_;
+}
+
+void SendFileRequest::setFileMode(const std::string& fileMode)
+{
+	fileMode_ = fileMode;
+	setParameter("FileMode", fileMode);
+}
+
+long SendFileRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void SendFileRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+
+std::string SendFileRequest::getContentType()const
+{
+	return contentType_;
+}
+
+void SendFileRequest::setContentType(const std::string& contentType)
+{
+	contentType_ = contentType;
+	setParameter("ContentType", contentType);
+}
+
+std::vector<std::string> SendFileRequest::getInstanceId()const
+{
+	return instanceId_;
+}
+
+void SendFileRequest::setInstanceId(const std::vector<std::string>& instanceId)
+{
+	instanceId_ = instanceId;
+	for(int dep1 = 0; dep1!= instanceId.size(); dep1++) {
+		setParameter("InstanceId."+ std::to_string(dep1), instanceId.at(dep1));
+	}
+}
+
+std::string SendFileRequest::getName()const
+{
+	return name_;
+}
+
+void SendFileRequest::setName(const std::string& name)
+{
+	name_ = name;
+	setParameter("Name", name);
+}
+
+std::string SendFileRequest::getFileGroup()const
+{
+	return fileGroup_;
+}
+
+void SendFileRequest::setFileGroup(const std::string& fileGroup)
+{
+	fileGroup_ = fileGroup;
+	setParameter("FileGroup", fileGroup);
+}
+
+std::string SendFileRequest::getTargetDir()const
+{
+	return targetDir_;
+}
+
+void SendFileRequest::setTargetDir(const std::string& targetDir)
+{
+	targetDir_ = targetDir;
+	setParameter("TargetDir", targetDir);
+}
+

+ 51 - 0
ecs/src/model/SendFileResult.cc

@@ -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.
+ */
+
+#include <alibabacloud/ecs/model/SendFileResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Ecs;
+using namespace AlibabaCloud::Ecs::Model;
+
+SendFileResult::SendFileResult() :
+	ServiceResult()
+{}
+
+SendFileResult::SendFileResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+SendFileResult::~SendFileResult()
+{}
+
+void SendFileResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	if(!value["InvokeId"].isNull())
+		invokeId_ = value["InvokeId"].asString();
+
+}
+
+std::string SendFileResult::getInvokeId()const
+{
+	return invokeId_;
+}
+