Просмотр исходного кода

由谦正发起的EHPC SDK自动发布, 版本号:1.11.0

Signed-off-by: haowei.yao <haowei.yao@alibaba-inc.com>
haowei.yao 8 лет назад
Родитель
Сommit
d3de3f8736
100 измененных файлов с 2819 добавлено и 1553 удалено
  1. 6 0
      CHANGELOG
  2. 1 1
      VERSION
  3. 20 0
      ehpc/CMakeLists.txt
  4. 220 180
      ehpc/include/alibabacloud/ehpc/EHPCClient.h
  5. 18 3
      ehpc/include/alibabacloud/ehpc/model/AddNodesRequest.h
  6. 2 2
      ehpc/include/alibabacloud/ehpc/model/AddNodesResult.h
  7. 26 0
      ehpc/include/alibabacloud/ehpc/model/CreateClusterRequest.h
  8. 2 2
      ehpc/include/alibabacloud/ehpc/model/CreateClusterResult.h
  9. 2 2
      ehpc/include/alibabacloud/ehpc/model/CreateJobTemplateResult.h
  10. 58 57
      ehpc/include/alibabacloud/ehpc/model/DescribeClusterResult.h
  11. 3 3
      ehpc/include/alibabacloud/ehpc/model/EditJobTemplateRequest.h
  12. 2 2
      ehpc/include/alibabacloud/ehpc/model/EditJobTemplateResult.h
  13. 26 26
      ehpc/include/alibabacloud/ehpc/model/GetAutoScaleConfigResult.h
  14. 17 17
      ehpc/include/alibabacloud/ehpc/model/ListClusterLogsResult.h
  15. 59 54
      ehpc/include/alibabacloud/ehpc/model/ListClustersResult.h
  16. 2 2
      ehpc/include/alibabacloud/ehpc/model/ListCurrentClientVersionResult.h
  17. 23 17
      ehpc/include/alibabacloud/ehpc/model/ListCustomImagesResult.h
  18. 9 9
      ehpc/include/alibabacloud/ehpc/model/ListImagesResult.h
  19. 22 22
      ehpc/include/alibabacloud/ehpc/model/ListJobTemplatesResult.h
  20. 3 0
      ehpc/include/alibabacloud/ehpc/model/ListJobsRequest.h
  21. 30 29
      ehpc/include/alibabacloud/ehpc/model/ListJobsResult.h
  22. 37 37
      ehpc/include/alibabacloud/ehpc/model/ListNodesNoPagingResult.h
  23. 37 37
      ehpc/include/alibabacloud/ehpc/model/ListNodesResult.h
  24. 6 0
      ehpc/include/alibabacloud/ehpc/model/ListPreferredEcsTypesRequest.h
  25. 16 14
      ehpc/include/alibabacloud/ehpc/model/ListPreferredEcsTypesResult.h
  26. 7 7
      ehpc/include/alibabacloud/ehpc/model/ListRegionsResult.h
  27. 19 19
      ehpc/include/alibabacloud/ehpc/model/ListSoftwaresResult.h
  28. 14 14
      ehpc/include/alibabacloud/ehpc/model/ListUsersResult.h
  29. 19 19
      ehpc/include/alibabacloud/ehpc/model/ListVolumesResult.h
  30. 51 0
      ehpc/include/alibabacloud/ehpc/model/RecoverClusterRequest.h
  31. 49 0
      ehpc/include/alibabacloud/ehpc/model/RecoverClusterResult.h
  32. 51 0
      ehpc/include/alibabacloud/ehpc/model/StartClusterRequest.h
  33. 49 0
      ehpc/include/alibabacloud/ehpc/model/StartClusterResult.h
  34. 61 0
      ehpc/include/alibabacloud/ehpc/model/StartNodesRequest.h
  35. 49 0
      ehpc/include/alibabacloud/ehpc/model/StartNodesResult.h
  36. 51 0
      ehpc/include/alibabacloud/ehpc/model/StopClusterRequest.h
  37. 49 0
      ehpc/include/alibabacloud/ehpc/model/StopClusterResult.h
  38. 61 0
      ehpc/include/alibabacloud/ehpc/model/StopNodesRequest.h
  39. 49 0
      ehpc/include/alibabacloud/ehpc/model/StopNodesResult.h
  40. 2 2
      ehpc/include/alibabacloud/ehpc/model/SubmitJobResult.h
  41. 212 32
      ehpc/src/EHPCClient.cc
  42. 67 12
      ehpc/src/model/AddNodesRequest.cc
  43. 8 8
      ehpc/src/model/AddNodesResult.cc
  44. 1 1
      ehpc/src/model/AddUsersRequest.cc
  45. 84 1
      ehpc/src/model/CreateClusterRequest.cc
  46. 7 7
      ehpc/src/model/CreateClusterResult.cc
  47. 1 1
      ehpc/src/model/CreateJobTemplateRequest.cc
  48. 7 7
      ehpc/src/model/CreateJobTemplateResult.cc
  49. 1 1
      ehpc/src/model/DeleteClusterRequest.cc
  50. 1 1
      ehpc/src/model/DeleteJobTemplatesRequest.cc
  51. 1 1
      ehpc/src/model/DeleteJobsRequest.cc
  52. 1 1
      ehpc/src/model/DeleteNodesRequest.cc
  53. 1 1
      ehpc/src/model/DeleteUsersRequest.cc
  54. 1 1
      ehpc/src/model/DescribeClusterRequest.cc
  55. 82 105
      ehpc/src/model/DescribeClusterResult.cc
  56. 12 12
      ehpc/src/model/EditJobTemplateRequest.cc
  57. 7 7
      ehpc/src/model/EditJobTemplateResult.cc
  58. 1 1
      ehpc/src/model/GetAutoScaleConfigRequest.cc
  59. 91 91
      ehpc/src/model/GetAutoScaleConfigResult.cc
  60. 1 1
      ehpc/src/model/ListClusterLogsRequest.cc
  61. 47 47
      ehpc/src/model/ListClusterLogsResult.cc
  62. 1 1
      ehpc/src/model/ListClustersRequest.cc
  63. 100 110
      ehpc/src/model/ListClustersResult.cc
  64. 1 1
      ehpc/src/model/ListCurrentClientVersionRequest.cc
  65. 7 7
      ehpc/src/model/ListCurrentClientVersionResult.cc
  66. 1 1
      ehpc/src/model/ListCustomImagesRequest.cc
  67. 40 33
      ehpc/src/model/ListCustomImagesResult.cc
  68. 1 1
      ehpc/src/model/ListImagesRequest.cc
  69. 19 19
      ehpc/src/model/ListImagesResult.cc
  70. 1 1
      ehpc/src/model/ListJobTemplatesRequest.cc
  71. 54 54
      ehpc/src/model/ListJobTemplatesResult.cc
  72. 12 1
      ehpc/src/model/ListJobsRequest.cc
  73. 63 66
      ehpc/src/model/ListJobsResult.cc
  74. 1 1
      ehpc/src/model/ListNodesNoPagingRequest.cc
  75. 71 80
      ehpc/src/model/ListNodesNoPagingResult.cc
  76. 1 1
      ehpc/src/model/ListNodesRequest.cc
  77. 71 80
      ehpc/src/model/ListNodesResult.cc
  78. 23 1
      ehpc/src/model/ListPreferredEcsTypesRequest.cc
  79. 32 30
      ehpc/src/model/ListPreferredEcsTypesResult.cc
  80. 1 1
      ehpc/src/model/ListRegionsRequest.cc
  81. 15 15
      ehpc/src/model/ListRegionsResult.cc
  82. 1 1
      ehpc/src/model/ListSoftwaresRequest.cc
  83. 37 37
      ehpc/src/model/ListSoftwaresResult.cc
  84. 1 1
      ehpc/src/model/ListUsersRequest.cc
  85. 38 38
      ehpc/src/model/ListUsersResult.cc
  86. 1 1
      ehpc/src/model/ListVolumesRequest.cc
  87. 48 48
      ehpc/src/model/ListVolumesResult.cc
  88. 1 1
      ehpc/src/model/ModifyClusterAttributesRequest.cc
  89. 1 1
      ehpc/src/model/ModifyUserGroupsRequest.cc
  90. 1 1
      ehpc/src/model/ModifyUserPasswordsRequest.cc
  91. 49 0
      ehpc/src/model/RecoverClusterRequest.cc
  92. 45 0
      ehpc/src/model/RecoverClusterResult.cc
  93. 1 1
      ehpc/src/model/RerunJobsRequest.cc
  94. 1 1
      ehpc/src/model/ResetNodesRequest.cc
  95. 1 1
      ehpc/src/model/SetAutoScaleConfigRequest.cc
  96. 1 1
      ehpc/src/model/SetJobUserRequest.cc
  97. 49 0
      ehpc/src/model/StartClusterRequest.cc
  98. 45 0
      ehpc/src/model/StartClusterResult.cc
  99. 76 0
      ehpc/src/model/StartNodesRequest.cc
  100. 45 0
      ehpc/src/model/StartNodesResult.cc

+ 6 - 0
CHANGELOG

@@ -1,3 +1,9 @@
+2018-05-23 Version: 1.11.0
+1, Update API version to 2018-04-12. 
+2, New APIs in this new version: StartCluster, StopCluster, RecoverCluster, StartNodes, StopNodes, ListCustomImages. Support stopping a post-paid cluster or partial nodes of a cluster to save cost.
+3, New parameters for CreateCluster API: EcsChargeType. Support creating a pre-paid cluster.
+4, New parameters for CreateCluster API: DeploymentMode. Support creating a cluster with fewer manager nodes.
+
 2018-05-23 Version: 1.10.3
 2018-05-23 Version: 1.10.3
 1, This is an example of release-log.
 1, This is an example of release-log.
 2, Please strictly follow this format to edit in English.
 2, Please strictly follow this format to edit in English.

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.10.3
+1.11.0

+ 20 - 0
ehpc/CMakeLists.txt

@@ -29,6 +29,8 @@ set(ehpc_public_header_model
 	include/alibabacloud/ehpc/model/ListUsersResult.h
 	include/alibabacloud/ehpc/model/ListUsersResult.h
 	include/alibabacloud/ehpc/model/UpgradeClientRequest.h
 	include/alibabacloud/ehpc/model/UpgradeClientRequest.h
 	include/alibabacloud/ehpc/model/UpgradeClientResult.h
 	include/alibabacloud/ehpc/model/UpgradeClientResult.h
+	include/alibabacloud/ehpc/model/StopNodesRequest.h
+	include/alibabacloud/ehpc/model/StopNodesResult.h
 	include/alibabacloud/ehpc/model/ListCurrentClientVersionRequest.h
 	include/alibabacloud/ehpc/model/ListCurrentClientVersionRequest.h
 	include/alibabacloud/ehpc/model/ListCurrentClientVersionResult.h
 	include/alibabacloud/ehpc/model/ListCurrentClientVersionResult.h
 	include/alibabacloud/ehpc/model/DeleteClusterRequest.h
 	include/alibabacloud/ehpc/model/DeleteClusterRequest.h
@@ -45,6 +47,8 @@ set(ehpc_public_header_model
 	include/alibabacloud/ehpc/model/ListSoftwaresResult.h
 	include/alibabacloud/ehpc/model/ListSoftwaresResult.h
 	include/alibabacloud/ehpc/model/StopJobsRequest.h
 	include/alibabacloud/ehpc/model/StopJobsRequest.h
 	include/alibabacloud/ehpc/model/StopJobsResult.h
 	include/alibabacloud/ehpc/model/StopJobsResult.h
+	include/alibabacloud/ehpc/model/StartNodesRequest.h
+	include/alibabacloud/ehpc/model/StartNodesResult.h
 	include/alibabacloud/ehpc/model/GetAutoScaleConfigRequest.h
 	include/alibabacloud/ehpc/model/GetAutoScaleConfigRequest.h
 	include/alibabacloud/ehpc/model/GetAutoScaleConfigResult.h
 	include/alibabacloud/ehpc/model/GetAutoScaleConfigResult.h
 	include/alibabacloud/ehpc/model/ListNodesRequest.h
 	include/alibabacloud/ehpc/model/ListNodesRequest.h
@@ -53,6 +57,8 @@ set(ehpc_public_header_model
 	include/alibabacloud/ehpc/model/SetJobUserResult.h
 	include/alibabacloud/ehpc/model/SetJobUserResult.h
 	include/alibabacloud/ehpc/model/ModifyUserGroupsRequest.h
 	include/alibabacloud/ehpc/model/ModifyUserGroupsRequest.h
 	include/alibabacloud/ehpc/model/ModifyUserGroupsResult.h
 	include/alibabacloud/ehpc/model/ModifyUserGroupsResult.h
+	include/alibabacloud/ehpc/model/StartClusterRequest.h
+	include/alibabacloud/ehpc/model/StartClusterResult.h
 	include/alibabacloud/ehpc/model/ListClustersRequest.h
 	include/alibabacloud/ehpc/model/ListClustersRequest.h
 	include/alibabacloud/ehpc/model/ListClustersResult.h
 	include/alibabacloud/ehpc/model/ListClustersResult.h
 	include/alibabacloud/ehpc/model/SubmitJobRequest.h
 	include/alibabacloud/ehpc/model/SubmitJobRequest.h
@@ -69,6 +75,8 @@ set(ehpc_public_header_model
 	include/alibabacloud/ehpc/model/ModifyClusterAttributesResult.h
 	include/alibabacloud/ehpc/model/ModifyClusterAttributesResult.h
 	include/alibabacloud/ehpc/model/DeleteJobTemplatesRequest.h
 	include/alibabacloud/ehpc/model/DeleteJobTemplatesRequest.h
 	include/alibabacloud/ehpc/model/DeleteJobTemplatesResult.h
 	include/alibabacloud/ehpc/model/DeleteJobTemplatesResult.h
+	include/alibabacloud/ehpc/model/StopClusterRequest.h
+	include/alibabacloud/ehpc/model/StopClusterResult.h
 	include/alibabacloud/ehpc/model/ListNodesNoPagingRequest.h
 	include/alibabacloud/ehpc/model/ListNodesNoPagingRequest.h
 	include/alibabacloud/ehpc/model/ListNodesNoPagingResult.h
 	include/alibabacloud/ehpc/model/ListNodesNoPagingResult.h
 	include/alibabacloud/ehpc/model/CreateJobTemplateRequest.h
 	include/alibabacloud/ehpc/model/CreateJobTemplateRequest.h
@@ -83,6 +91,8 @@ set(ehpc_public_header_model
 	include/alibabacloud/ehpc/model/ListPreferredEcsTypesResult.h
 	include/alibabacloud/ehpc/model/ListPreferredEcsTypesResult.h
 	include/alibabacloud/ehpc/model/ListClusterLogsRequest.h
 	include/alibabacloud/ehpc/model/ListClusterLogsRequest.h
 	include/alibabacloud/ehpc/model/ListClusterLogsResult.h
 	include/alibabacloud/ehpc/model/ListClusterLogsResult.h
+	include/alibabacloud/ehpc/model/RecoverClusterRequest.h
+	include/alibabacloud/ehpc/model/RecoverClusterResult.h
 	include/alibabacloud/ehpc/model/DeleteJobsRequest.h
 	include/alibabacloud/ehpc/model/DeleteJobsRequest.h
 	include/alibabacloud/ehpc/model/DeleteJobsResult.h
 	include/alibabacloud/ehpc/model/DeleteJobsResult.h
 	include/alibabacloud/ehpc/model/DeleteNodesRequest.h
 	include/alibabacloud/ehpc/model/DeleteNodesRequest.h
@@ -104,6 +114,8 @@ set(ehpc_src
 	src/model/ListUsersResult.cc
 	src/model/ListUsersResult.cc
 	src/model/UpgradeClientRequest.cc
 	src/model/UpgradeClientRequest.cc
 	src/model/UpgradeClientResult.cc
 	src/model/UpgradeClientResult.cc
+	src/model/StopNodesRequest.cc
+	src/model/StopNodesResult.cc
 	src/model/ListCurrentClientVersionRequest.cc
 	src/model/ListCurrentClientVersionRequest.cc
 	src/model/ListCurrentClientVersionResult.cc
 	src/model/ListCurrentClientVersionResult.cc
 	src/model/DeleteClusterRequest.cc
 	src/model/DeleteClusterRequest.cc
@@ -120,6 +132,8 @@ set(ehpc_src
 	src/model/ListSoftwaresResult.cc
 	src/model/ListSoftwaresResult.cc
 	src/model/StopJobsRequest.cc
 	src/model/StopJobsRequest.cc
 	src/model/StopJobsResult.cc
 	src/model/StopJobsResult.cc
+	src/model/StartNodesRequest.cc
+	src/model/StartNodesResult.cc
 	src/model/GetAutoScaleConfigRequest.cc
 	src/model/GetAutoScaleConfigRequest.cc
 	src/model/GetAutoScaleConfigResult.cc
 	src/model/GetAutoScaleConfigResult.cc
 	src/model/ListNodesRequest.cc
 	src/model/ListNodesRequest.cc
@@ -128,6 +142,8 @@ set(ehpc_src
 	src/model/SetJobUserResult.cc
 	src/model/SetJobUserResult.cc
 	src/model/ModifyUserGroupsRequest.cc
 	src/model/ModifyUserGroupsRequest.cc
 	src/model/ModifyUserGroupsResult.cc
 	src/model/ModifyUserGroupsResult.cc
+	src/model/StartClusterRequest.cc
+	src/model/StartClusterResult.cc
 	src/model/ListClustersRequest.cc
 	src/model/ListClustersRequest.cc
 	src/model/ListClustersResult.cc
 	src/model/ListClustersResult.cc
 	src/model/SubmitJobRequest.cc
 	src/model/SubmitJobRequest.cc
@@ -144,6 +160,8 @@ set(ehpc_src
 	src/model/ModifyClusterAttributesResult.cc
 	src/model/ModifyClusterAttributesResult.cc
 	src/model/DeleteJobTemplatesRequest.cc
 	src/model/DeleteJobTemplatesRequest.cc
 	src/model/DeleteJobTemplatesResult.cc
 	src/model/DeleteJobTemplatesResult.cc
+	src/model/StopClusterRequest.cc
+	src/model/StopClusterResult.cc
 	src/model/ListNodesNoPagingRequest.cc
 	src/model/ListNodesNoPagingRequest.cc
 	src/model/ListNodesNoPagingResult.cc
 	src/model/ListNodesNoPagingResult.cc
 	src/model/CreateJobTemplateRequest.cc
 	src/model/CreateJobTemplateRequest.cc
@@ -158,6 +176,8 @@ set(ehpc_src
 	src/model/ListPreferredEcsTypesResult.cc
 	src/model/ListPreferredEcsTypesResult.cc
 	src/model/ListClusterLogsRequest.cc
 	src/model/ListClusterLogsRequest.cc
 	src/model/ListClusterLogsResult.cc
 	src/model/ListClusterLogsResult.cc
+	src/model/RecoverClusterRequest.cc
+	src/model/RecoverClusterResult.cc
 	src/model/DeleteJobsRequest.cc
 	src/model/DeleteJobsRequest.cc
 	src/model/DeleteJobsResult.cc
 	src/model/DeleteJobsResult.cc
 	src/model/DeleteNodesRequest.cc
 	src/model/DeleteNodesRequest.cc

+ 220 - 180
ehpc/include/alibabacloud/ehpc/EHPCClient.h

@@ -30,6 +30,8 @@
 #include "model/ListUsersResult.h"
 #include "model/ListUsersResult.h"
 #include "model/UpgradeClientRequest.h"
 #include "model/UpgradeClientRequest.h"
 #include "model/UpgradeClientResult.h"
 #include "model/UpgradeClientResult.h"
+#include "model/StopNodesRequest.h"
+#include "model/StopNodesResult.h"
 #include "model/ListCurrentClientVersionRequest.h"
 #include "model/ListCurrentClientVersionRequest.h"
 #include "model/ListCurrentClientVersionResult.h"
 #include "model/ListCurrentClientVersionResult.h"
 #include "model/DeleteClusterRequest.h"
 #include "model/DeleteClusterRequest.h"
@@ -46,6 +48,8 @@
 #include "model/ListSoftwaresResult.h"
 #include "model/ListSoftwaresResult.h"
 #include "model/StopJobsRequest.h"
 #include "model/StopJobsRequest.h"
 #include "model/StopJobsResult.h"
 #include "model/StopJobsResult.h"
+#include "model/StartNodesRequest.h"
+#include "model/StartNodesResult.h"
 #include "model/GetAutoScaleConfigRequest.h"
 #include "model/GetAutoScaleConfigRequest.h"
 #include "model/GetAutoScaleConfigResult.h"
 #include "model/GetAutoScaleConfigResult.h"
 #include "model/ListNodesRequest.h"
 #include "model/ListNodesRequest.h"
@@ -54,6 +58,8 @@
 #include "model/SetJobUserResult.h"
 #include "model/SetJobUserResult.h"
 #include "model/ModifyUserGroupsRequest.h"
 #include "model/ModifyUserGroupsRequest.h"
 #include "model/ModifyUserGroupsResult.h"
 #include "model/ModifyUserGroupsResult.h"
+#include "model/StartClusterRequest.h"
+#include "model/StartClusterResult.h"
 #include "model/ListClustersRequest.h"
 #include "model/ListClustersRequest.h"
 #include "model/ListClustersResult.h"
 #include "model/ListClustersResult.h"
 #include "model/SubmitJobRequest.h"
 #include "model/SubmitJobRequest.h"
@@ -70,6 +76,8 @@
 #include "model/ModifyClusterAttributesResult.h"
 #include "model/ModifyClusterAttributesResult.h"
 #include "model/DeleteJobTemplatesRequest.h"
 #include "model/DeleteJobTemplatesRequest.h"
 #include "model/DeleteJobTemplatesResult.h"
 #include "model/DeleteJobTemplatesResult.h"
+#include "model/StopClusterRequest.h"
+#include "model/StopClusterResult.h"
 #include "model/ListNodesNoPagingRequest.h"
 #include "model/ListNodesNoPagingRequest.h"
 #include "model/ListNodesNoPagingResult.h"
 #include "model/ListNodesNoPagingResult.h"
 #include "model/CreateJobTemplateRequest.h"
 #include "model/CreateJobTemplateRequest.h"
@@ -84,6 +92,8 @@
 #include "model/ListPreferredEcsTypesResult.h"
 #include "model/ListPreferredEcsTypesResult.h"
 #include "model/ListClusterLogsRequest.h"
 #include "model/ListClusterLogsRequest.h"
 #include "model/ListClusterLogsResult.h"
 #include "model/ListClusterLogsResult.h"
+#include "model/RecoverClusterRequest.h"
+#include "model/RecoverClusterResult.h"
 #include "model/DeleteJobsRequest.h"
 #include "model/DeleteJobsRequest.h"
 #include "model/DeleteJobsResult.h"
 #include "model/DeleteJobsResult.h"
 #include "model/DeleteNodesRequest.h"
 #include "model/DeleteNodesRequest.h"
@@ -103,227 +113,257 @@ namespace AlibabaCloud
 		class ALIBABACLOUD_EHPC_EXPORT EHPCClient : public RpcServiceClient
 		class ALIBABACLOUD_EHPC_EXPORT EHPCClient : public RpcServiceClient
 		{
 		{
 		public:
 		public:
-			typedef Outcome<Error, Model::DeleteUsersResult> DeleteUsersOutcome;			
-			typedef std::future<DeleteUsersOutcome> DeleteUsersOutcomeCallable;			
+			typedef Outcome<Error, Model::DeleteUsersResult> DeleteUsersOutcome;
+			typedef std::future<DeleteUsersOutcome> DeleteUsersOutcomeCallable;
 			typedef std::function<void(const EHPCClient*, const Model::DeleteUsersRequest&, const DeleteUsersOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteUsersAsyncHandler;
 			typedef std::function<void(const EHPCClient*, const Model::DeleteUsersRequest&, const DeleteUsersOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteUsersAsyncHandler;
-			typedef Outcome<Error, Model::DescribeClusterResult> DescribeClusterOutcome;			
-			typedef std::future<DescribeClusterOutcome> DescribeClusterOutcomeCallable;			
+			typedef Outcome<Error, Model::DescribeClusterResult> DescribeClusterOutcome;
+			typedef std::future<DescribeClusterOutcome> DescribeClusterOutcomeCallable;
 			typedef std::function<void(const EHPCClient*, const Model::DescribeClusterRequest&, const DescribeClusterOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeClusterAsyncHandler;
 			typedef std::function<void(const EHPCClient*, const Model::DescribeClusterRequest&, const DescribeClusterOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeClusterAsyncHandler;
-			typedef Outcome<Error, Model::ListUsersResult> ListUsersOutcome;			
-			typedef std::future<ListUsersOutcome> ListUsersOutcomeCallable;			
+			typedef Outcome<Error, Model::ListUsersResult> ListUsersOutcome;
+			typedef std::future<ListUsersOutcome> ListUsersOutcomeCallable;
 			typedef std::function<void(const EHPCClient*, const Model::ListUsersRequest&, const ListUsersOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListUsersAsyncHandler;
 			typedef std::function<void(const EHPCClient*, const Model::ListUsersRequest&, const ListUsersOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListUsersAsyncHandler;
-			typedef Outcome<Error, Model::UpgradeClientResult> UpgradeClientOutcome;			
-			typedef std::future<UpgradeClientOutcome> UpgradeClientOutcomeCallable;			
+			typedef Outcome<Error, Model::UpgradeClientResult> UpgradeClientOutcome;
+			typedef std::future<UpgradeClientOutcome> UpgradeClientOutcomeCallable;
 			typedef std::function<void(const EHPCClient*, const Model::UpgradeClientRequest&, const UpgradeClientOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpgradeClientAsyncHandler;
 			typedef std::function<void(const EHPCClient*, const Model::UpgradeClientRequest&, const UpgradeClientOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpgradeClientAsyncHandler;
-			typedef Outcome<Error, Model::ListCurrentClientVersionResult> ListCurrentClientVersionOutcome;			
-			typedef std::future<ListCurrentClientVersionOutcome> ListCurrentClientVersionOutcomeCallable;			
+			typedef Outcome<Error, Model::StopNodesResult> StopNodesOutcome;
+			typedef std::future<StopNodesOutcome> StopNodesOutcomeCallable;
+			typedef std::function<void(const EHPCClient*, const Model::StopNodesRequest&, const StopNodesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> StopNodesAsyncHandler;
+			typedef Outcome<Error, Model::ListCurrentClientVersionResult> ListCurrentClientVersionOutcome;
+			typedef std::future<ListCurrentClientVersionOutcome> ListCurrentClientVersionOutcomeCallable;
 			typedef std::function<void(const EHPCClient*, const Model::ListCurrentClientVersionRequest&, const ListCurrentClientVersionOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListCurrentClientVersionAsyncHandler;
 			typedef std::function<void(const EHPCClient*, const Model::ListCurrentClientVersionRequest&, const ListCurrentClientVersionOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListCurrentClientVersionAsyncHandler;
-			typedef Outcome<Error, Model::DeleteClusterResult> DeleteClusterOutcome;			
-			typedef std::future<DeleteClusterOutcome> DeleteClusterOutcomeCallable;			
+			typedef Outcome<Error, Model::DeleteClusterResult> DeleteClusterOutcome;
+			typedef std::future<DeleteClusterOutcome> DeleteClusterOutcomeCallable;
 			typedef std::function<void(const EHPCClient*, const Model::DeleteClusterRequest&, const DeleteClusterOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteClusterAsyncHandler;
 			typedef std::function<void(const EHPCClient*, const Model::DeleteClusterRequest&, const DeleteClusterOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteClusterAsyncHandler;
-			typedef Outcome<Error, Model::ListImagesResult> ListImagesOutcome;			
-			typedef std::future<ListImagesOutcome> ListImagesOutcomeCallable;			
+			typedef Outcome<Error, Model::ListImagesResult> ListImagesOutcome;
+			typedef std::future<ListImagesOutcome> ListImagesOutcomeCallable;
 			typedef std::function<void(const EHPCClient*, const Model::ListImagesRequest&, const ListImagesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListImagesAsyncHandler;
 			typedef std::function<void(const EHPCClient*, const Model::ListImagesRequest&, const ListImagesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListImagesAsyncHandler;
-			typedef Outcome<Error, Model::SetAutoScaleConfigResult> SetAutoScaleConfigOutcome;			
-			typedef std::future<SetAutoScaleConfigOutcome> SetAutoScaleConfigOutcomeCallable;			
+			typedef Outcome<Error, Model::SetAutoScaleConfigResult> SetAutoScaleConfigOutcome;
+			typedef std::future<SetAutoScaleConfigOutcome> SetAutoScaleConfigOutcomeCallable;
 			typedef std::function<void(const EHPCClient*, const Model::SetAutoScaleConfigRequest&, const SetAutoScaleConfigOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SetAutoScaleConfigAsyncHandler;
 			typedef std::function<void(const EHPCClient*, const Model::SetAutoScaleConfigRequest&, const SetAutoScaleConfigOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SetAutoScaleConfigAsyncHandler;
-			typedef Outcome<Error, Model::ListVolumesResult> ListVolumesOutcome;			
-			typedef std::future<ListVolumesOutcome> ListVolumesOutcomeCallable;			
+			typedef Outcome<Error, Model::ListVolumesResult> ListVolumesOutcome;
+			typedef std::future<ListVolumesOutcome> ListVolumesOutcomeCallable;
 			typedef std::function<void(const EHPCClient*, const Model::ListVolumesRequest&, const ListVolumesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListVolumesAsyncHandler;
 			typedef std::function<void(const EHPCClient*, const Model::ListVolumesRequest&, const ListVolumesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListVolumesAsyncHandler;
-			typedef Outcome<Error, Model::AddNodesResult> AddNodesOutcome;			
-			typedef std::future<AddNodesOutcome> AddNodesOutcomeCallable;			
+			typedef Outcome<Error, Model::AddNodesResult> AddNodesOutcome;
+			typedef std::future<AddNodesOutcome> AddNodesOutcomeCallable;
 			typedef std::function<void(const EHPCClient*, const Model::AddNodesRequest&, const AddNodesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> AddNodesAsyncHandler;
 			typedef std::function<void(const EHPCClient*, const Model::AddNodesRequest&, const AddNodesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> AddNodesAsyncHandler;
-			typedef Outcome<Error, Model::ListSoftwaresResult> ListSoftwaresOutcome;			
-			typedef std::future<ListSoftwaresOutcome> ListSoftwaresOutcomeCallable;			
+			typedef Outcome<Error, Model::ListSoftwaresResult> ListSoftwaresOutcome;
+			typedef std::future<ListSoftwaresOutcome> ListSoftwaresOutcomeCallable;
 			typedef std::function<void(const EHPCClient*, const Model::ListSoftwaresRequest&, const ListSoftwaresOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListSoftwaresAsyncHandler;
 			typedef std::function<void(const EHPCClient*, const Model::ListSoftwaresRequest&, const ListSoftwaresOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListSoftwaresAsyncHandler;
-			typedef Outcome<Error, Model::StopJobsResult> StopJobsOutcome;			
-			typedef std::future<StopJobsOutcome> StopJobsOutcomeCallable;			
+			typedef Outcome<Error, Model::StopJobsResult> StopJobsOutcome;
+			typedef std::future<StopJobsOutcome> StopJobsOutcomeCallable;
 			typedef std::function<void(const EHPCClient*, const Model::StopJobsRequest&, const StopJobsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> StopJobsAsyncHandler;
 			typedef std::function<void(const EHPCClient*, const Model::StopJobsRequest&, const StopJobsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> StopJobsAsyncHandler;
-			typedef Outcome<Error, Model::GetAutoScaleConfigResult> GetAutoScaleConfigOutcome;			
-			typedef std::future<GetAutoScaleConfigOutcome> GetAutoScaleConfigOutcomeCallable;			
+			typedef Outcome<Error, Model::StartNodesResult> StartNodesOutcome;
+			typedef std::future<StartNodesOutcome> StartNodesOutcomeCallable;
+			typedef std::function<void(const EHPCClient*, const Model::StartNodesRequest&, const StartNodesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> StartNodesAsyncHandler;
+			typedef Outcome<Error, Model::GetAutoScaleConfigResult> GetAutoScaleConfigOutcome;
+			typedef std::future<GetAutoScaleConfigOutcome> GetAutoScaleConfigOutcomeCallable;
 			typedef std::function<void(const EHPCClient*, const Model::GetAutoScaleConfigRequest&, const GetAutoScaleConfigOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetAutoScaleConfigAsyncHandler;
 			typedef std::function<void(const EHPCClient*, const Model::GetAutoScaleConfigRequest&, const GetAutoScaleConfigOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetAutoScaleConfigAsyncHandler;
-			typedef Outcome<Error, Model::ListNodesResult> ListNodesOutcome;			
-			typedef std::future<ListNodesOutcome> ListNodesOutcomeCallable;			
+			typedef Outcome<Error, Model::ListNodesResult> ListNodesOutcome;
+			typedef std::future<ListNodesOutcome> ListNodesOutcomeCallable;
 			typedef std::function<void(const EHPCClient*, const Model::ListNodesRequest&, const ListNodesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListNodesAsyncHandler;
 			typedef std::function<void(const EHPCClient*, const Model::ListNodesRequest&, const ListNodesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListNodesAsyncHandler;
-			typedef Outcome<Error, Model::SetJobUserResult> SetJobUserOutcome;			
-			typedef std::future<SetJobUserOutcome> SetJobUserOutcomeCallable;			
+			typedef Outcome<Error, Model::SetJobUserResult> SetJobUserOutcome;
+			typedef std::future<SetJobUserOutcome> SetJobUserOutcomeCallable;
 			typedef std::function<void(const EHPCClient*, const Model::SetJobUserRequest&, const SetJobUserOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SetJobUserAsyncHandler;
 			typedef std::function<void(const EHPCClient*, const Model::SetJobUserRequest&, const SetJobUserOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SetJobUserAsyncHandler;
-			typedef Outcome<Error, Model::ModifyUserGroupsResult> ModifyUserGroupsOutcome;			
-			typedef std::future<ModifyUserGroupsOutcome> ModifyUserGroupsOutcomeCallable;			
+			typedef Outcome<Error, Model::ModifyUserGroupsResult> ModifyUserGroupsOutcome;
+			typedef std::future<ModifyUserGroupsOutcome> ModifyUserGroupsOutcomeCallable;
 			typedef std::function<void(const EHPCClient*, const Model::ModifyUserGroupsRequest&, const ModifyUserGroupsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyUserGroupsAsyncHandler;
 			typedef std::function<void(const EHPCClient*, const Model::ModifyUserGroupsRequest&, const ModifyUserGroupsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyUserGroupsAsyncHandler;
-			typedef Outcome<Error, Model::ListClustersResult> ListClustersOutcome;			
-			typedef std::future<ListClustersOutcome> ListClustersOutcomeCallable;			
+			typedef Outcome<Error, Model::StartClusterResult> StartClusterOutcome;
+			typedef std::future<StartClusterOutcome> StartClusterOutcomeCallable;
+			typedef std::function<void(const EHPCClient*, const Model::StartClusterRequest&, const StartClusterOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> StartClusterAsyncHandler;
+			typedef Outcome<Error, Model::ListClustersResult> ListClustersOutcome;
+			typedef std::future<ListClustersOutcome> ListClustersOutcomeCallable;
 			typedef std::function<void(const EHPCClient*, const Model::ListClustersRequest&, const ListClustersOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListClustersAsyncHandler;
 			typedef std::function<void(const EHPCClient*, const Model::ListClustersRequest&, const ListClustersOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListClustersAsyncHandler;
-			typedef Outcome<Error, Model::SubmitJobResult> SubmitJobOutcome;			
-			typedef std::future<SubmitJobOutcome> SubmitJobOutcomeCallable;			
+			typedef Outcome<Error, Model::SubmitJobResult> SubmitJobOutcome;
+			typedef std::future<SubmitJobOutcome> SubmitJobOutcomeCallable;
 			typedef std::function<void(const EHPCClient*, const Model::SubmitJobRequest&, const SubmitJobOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SubmitJobAsyncHandler;
 			typedef std::function<void(const EHPCClient*, const Model::SubmitJobRequest&, const SubmitJobOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SubmitJobAsyncHandler;
-			typedef Outcome<Error, Model::ListCustomImagesResult> ListCustomImagesOutcome;			
-			typedef std::future<ListCustomImagesOutcome> ListCustomImagesOutcomeCallable;			
+			typedef Outcome<Error, Model::ListCustomImagesResult> ListCustomImagesOutcome;
+			typedef std::future<ListCustomImagesOutcome> ListCustomImagesOutcomeCallable;
 			typedef std::function<void(const EHPCClient*, const Model::ListCustomImagesRequest&, const ListCustomImagesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListCustomImagesAsyncHandler;
 			typedef std::function<void(const EHPCClient*, const Model::ListCustomImagesRequest&, const ListCustomImagesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListCustomImagesAsyncHandler;
-			typedef Outcome<Error, Model::ListRegionsResult> ListRegionsOutcome;			
-			typedef std::future<ListRegionsOutcome> ListRegionsOutcomeCallable;			
+			typedef Outcome<Error, Model::ListRegionsResult> ListRegionsOutcome;
+			typedef std::future<ListRegionsOutcome> ListRegionsOutcomeCallable;
 			typedef std::function<void(const EHPCClient*, const Model::ListRegionsRequest&, const ListRegionsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListRegionsAsyncHandler;
 			typedef std::function<void(const EHPCClient*, const Model::ListRegionsRequest&, const ListRegionsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListRegionsAsyncHandler;
-			typedef Outcome<Error, Model::AddUsersResult> AddUsersOutcome;			
-			typedef std::future<AddUsersOutcome> AddUsersOutcomeCallable;			
+			typedef Outcome<Error, Model::AddUsersResult> AddUsersOutcome;
+			typedef std::future<AddUsersOutcome> AddUsersOutcomeCallable;
 			typedef std::function<void(const EHPCClient*, const Model::AddUsersRequest&, const AddUsersOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> AddUsersAsyncHandler;
 			typedef std::function<void(const EHPCClient*, const Model::AddUsersRequest&, const AddUsersOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> AddUsersAsyncHandler;
-			typedef Outcome<Error, Model::ListJobTemplatesResult> ListJobTemplatesOutcome;			
-			typedef std::future<ListJobTemplatesOutcome> ListJobTemplatesOutcomeCallable;			
+			typedef Outcome<Error, Model::ListJobTemplatesResult> ListJobTemplatesOutcome;
+			typedef std::future<ListJobTemplatesOutcome> ListJobTemplatesOutcomeCallable;
 			typedef std::function<void(const EHPCClient*, const Model::ListJobTemplatesRequest&, const ListJobTemplatesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListJobTemplatesAsyncHandler;
 			typedef std::function<void(const EHPCClient*, const Model::ListJobTemplatesRequest&, const ListJobTemplatesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListJobTemplatesAsyncHandler;
-			typedef Outcome<Error, Model::ModifyClusterAttributesResult> ModifyClusterAttributesOutcome;			
-			typedef std::future<ModifyClusterAttributesOutcome> ModifyClusterAttributesOutcomeCallable;			
+			typedef Outcome<Error, Model::ModifyClusterAttributesResult> ModifyClusterAttributesOutcome;
+			typedef std::future<ModifyClusterAttributesOutcome> ModifyClusterAttributesOutcomeCallable;
 			typedef std::function<void(const EHPCClient*, const Model::ModifyClusterAttributesRequest&, const ModifyClusterAttributesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyClusterAttributesAsyncHandler;
 			typedef std::function<void(const EHPCClient*, const Model::ModifyClusterAttributesRequest&, const ModifyClusterAttributesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyClusterAttributesAsyncHandler;
-			typedef Outcome<Error, Model::DeleteJobTemplatesResult> DeleteJobTemplatesOutcome;			
-			typedef std::future<DeleteJobTemplatesOutcome> DeleteJobTemplatesOutcomeCallable;			
+			typedef Outcome<Error, Model::DeleteJobTemplatesResult> DeleteJobTemplatesOutcome;
+			typedef std::future<DeleteJobTemplatesOutcome> DeleteJobTemplatesOutcomeCallable;
 			typedef std::function<void(const EHPCClient*, const Model::DeleteJobTemplatesRequest&, const DeleteJobTemplatesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteJobTemplatesAsyncHandler;
 			typedef std::function<void(const EHPCClient*, const Model::DeleteJobTemplatesRequest&, const DeleteJobTemplatesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteJobTemplatesAsyncHandler;
-			typedef Outcome<Error, Model::ListNodesNoPagingResult> ListNodesNoPagingOutcome;			
-			typedef std::future<ListNodesNoPagingOutcome> ListNodesNoPagingOutcomeCallable;			
+			typedef Outcome<Error, Model::StopClusterResult> StopClusterOutcome;
+			typedef std::future<StopClusterOutcome> StopClusterOutcomeCallable;
+			typedef std::function<void(const EHPCClient*, const Model::StopClusterRequest&, const StopClusterOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> StopClusterAsyncHandler;
+			typedef Outcome<Error, Model::ListNodesNoPagingResult> ListNodesNoPagingOutcome;
+			typedef std::future<ListNodesNoPagingOutcome> ListNodesNoPagingOutcomeCallable;
 			typedef std::function<void(const EHPCClient*, const Model::ListNodesNoPagingRequest&, const ListNodesNoPagingOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListNodesNoPagingAsyncHandler;
 			typedef std::function<void(const EHPCClient*, const Model::ListNodesNoPagingRequest&, const ListNodesNoPagingOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListNodesNoPagingAsyncHandler;
-			typedef Outcome<Error, Model::CreateJobTemplateResult> CreateJobTemplateOutcome;			
-			typedef std::future<CreateJobTemplateOutcome> CreateJobTemplateOutcomeCallable;			
+			typedef Outcome<Error, Model::CreateJobTemplateResult> CreateJobTemplateOutcome;
+			typedef std::future<CreateJobTemplateOutcome> CreateJobTemplateOutcomeCallable;
 			typedef std::function<void(const EHPCClient*, const Model::CreateJobTemplateRequest&, const CreateJobTemplateOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateJobTemplateAsyncHandler;
 			typedef std::function<void(const EHPCClient*, const Model::CreateJobTemplateRequest&, const CreateJobTemplateOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateJobTemplateAsyncHandler;
-			typedef Outcome<Error, Model::RerunJobsResult> RerunJobsOutcome;			
-			typedef std::future<RerunJobsOutcome> RerunJobsOutcomeCallable;			
+			typedef Outcome<Error, Model::RerunJobsResult> RerunJobsOutcome;
+			typedef std::future<RerunJobsOutcome> RerunJobsOutcomeCallable;
 			typedef std::function<void(const EHPCClient*, const Model::RerunJobsRequest&, const RerunJobsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> RerunJobsAsyncHandler;
 			typedef std::function<void(const EHPCClient*, const Model::RerunJobsRequest&, const RerunJobsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> RerunJobsAsyncHandler;
-			typedef Outcome<Error, Model::ResetNodesResult> ResetNodesOutcome;			
-			typedef std::future<ResetNodesOutcome> ResetNodesOutcomeCallable;			
+			typedef Outcome<Error, Model::ResetNodesResult> ResetNodesOutcome;
+			typedef std::future<ResetNodesOutcome> ResetNodesOutcomeCallable;
 			typedef std::function<void(const EHPCClient*, const Model::ResetNodesRequest&, const ResetNodesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ResetNodesAsyncHandler;
 			typedef std::function<void(const EHPCClient*, const Model::ResetNodesRequest&, const ResetNodesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ResetNodesAsyncHandler;
-			typedef Outcome<Error, Model::EditJobTemplateResult> EditJobTemplateOutcome;			
-			typedef std::future<EditJobTemplateOutcome> EditJobTemplateOutcomeCallable;			
+			typedef Outcome<Error, Model::EditJobTemplateResult> EditJobTemplateOutcome;
+			typedef std::future<EditJobTemplateOutcome> EditJobTemplateOutcomeCallable;
 			typedef std::function<void(const EHPCClient*, const Model::EditJobTemplateRequest&, const EditJobTemplateOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> EditJobTemplateAsyncHandler;
 			typedef std::function<void(const EHPCClient*, const Model::EditJobTemplateRequest&, const EditJobTemplateOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> EditJobTemplateAsyncHandler;
-			typedef Outcome<Error, Model::ListPreferredEcsTypesResult> ListPreferredEcsTypesOutcome;			
-			typedef std::future<ListPreferredEcsTypesOutcome> ListPreferredEcsTypesOutcomeCallable;			
+			typedef Outcome<Error, Model::ListPreferredEcsTypesResult> ListPreferredEcsTypesOutcome;
+			typedef std::future<ListPreferredEcsTypesOutcome> ListPreferredEcsTypesOutcomeCallable;
 			typedef std::function<void(const EHPCClient*, const Model::ListPreferredEcsTypesRequest&, const ListPreferredEcsTypesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListPreferredEcsTypesAsyncHandler;
 			typedef std::function<void(const EHPCClient*, const Model::ListPreferredEcsTypesRequest&, const ListPreferredEcsTypesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListPreferredEcsTypesAsyncHandler;
-			typedef Outcome<Error, Model::ListClusterLogsResult> ListClusterLogsOutcome;			
-			typedef std::future<ListClusterLogsOutcome> ListClusterLogsOutcomeCallable;			
+			typedef Outcome<Error, Model::ListClusterLogsResult> ListClusterLogsOutcome;
+			typedef std::future<ListClusterLogsOutcome> ListClusterLogsOutcomeCallable;
 			typedef std::function<void(const EHPCClient*, const Model::ListClusterLogsRequest&, const ListClusterLogsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListClusterLogsAsyncHandler;
 			typedef std::function<void(const EHPCClient*, const Model::ListClusterLogsRequest&, const ListClusterLogsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListClusterLogsAsyncHandler;
-			typedef Outcome<Error, Model::DeleteJobsResult> DeleteJobsOutcome;			
-			typedef std::future<DeleteJobsOutcome> DeleteJobsOutcomeCallable;			
+			typedef Outcome<Error, Model::RecoverClusterResult> RecoverClusterOutcome;
+			typedef std::future<RecoverClusterOutcome> RecoverClusterOutcomeCallable;
+			typedef std::function<void(const EHPCClient*, const Model::RecoverClusterRequest&, const RecoverClusterOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> RecoverClusterAsyncHandler;
+			typedef Outcome<Error, Model::DeleteJobsResult> DeleteJobsOutcome;
+			typedef std::future<DeleteJobsOutcome> DeleteJobsOutcomeCallable;
 			typedef std::function<void(const EHPCClient*, const Model::DeleteJobsRequest&, const DeleteJobsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteJobsAsyncHandler;
 			typedef std::function<void(const EHPCClient*, const Model::DeleteJobsRequest&, const DeleteJobsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteJobsAsyncHandler;
-			typedef Outcome<Error, Model::DeleteNodesResult> DeleteNodesOutcome;			
-			typedef std::future<DeleteNodesOutcome> DeleteNodesOutcomeCallable;			
+			typedef Outcome<Error, Model::DeleteNodesResult> DeleteNodesOutcome;
+			typedef std::future<DeleteNodesOutcome> DeleteNodesOutcomeCallable;
 			typedef std::function<void(const EHPCClient*, const Model::DeleteNodesRequest&, const DeleteNodesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteNodesAsyncHandler;
 			typedef std::function<void(const EHPCClient*, const Model::DeleteNodesRequest&, const DeleteNodesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteNodesAsyncHandler;
-			typedef Outcome<Error, Model::ListJobsResult> ListJobsOutcome;			
-			typedef std::future<ListJobsOutcome> ListJobsOutcomeCallable;			
+			typedef Outcome<Error, Model::ListJobsResult> ListJobsOutcome;
+			typedef std::future<ListJobsOutcome> ListJobsOutcomeCallable;
 			typedef std::function<void(const EHPCClient*, const Model::ListJobsRequest&, const ListJobsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListJobsAsyncHandler;
 			typedef std::function<void(const EHPCClient*, const Model::ListJobsRequest&, const ListJobsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListJobsAsyncHandler;
-			typedef Outcome<Error, Model::CreateClusterResult> CreateClusterOutcome;			
-			typedef std::future<CreateClusterOutcome> CreateClusterOutcomeCallable;			
+			typedef Outcome<Error, Model::CreateClusterResult> CreateClusterOutcome;
+			typedef std::future<CreateClusterOutcome> CreateClusterOutcomeCallable;
 			typedef std::function<void(const EHPCClient*, const Model::CreateClusterRequest&, const CreateClusterOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateClusterAsyncHandler;
 			typedef std::function<void(const EHPCClient*, const Model::CreateClusterRequest&, const CreateClusterOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateClusterAsyncHandler;
-			typedef Outcome<Error, Model::ModifyUserPasswordsResult> ModifyUserPasswordsOutcome;			
-			typedef std::future<ModifyUserPasswordsOutcome> ModifyUserPasswordsOutcomeCallable;			
+			typedef Outcome<Error, Model::ModifyUserPasswordsResult> ModifyUserPasswordsOutcome;
+			typedef std::future<ModifyUserPasswordsOutcome> ModifyUserPasswordsOutcomeCallable;
 			typedef std::function<void(const EHPCClient*, const Model::ModifyUserPasswordsRequest&, const ModifyUserPasswordsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyUserPasswordsAsyncHandler;
 			typedef std::function<void(const EHPCClient*, const Model::ModifyUserPasswordsRequest&, const ModifyUserPasswordsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyUserPasswordsAsyncHandler;
 
 
 			EHPCClient(const Credentials &credentials, const ClientConfiguration &configuration);
 			EHPCClient(const Credentials &credentials, const ClientConfiguration &configuration);
 			EHPCClient(const std::shared_ptr<CredentialsProvider> &credentialsProvider, const ClientConfiguration &configuration);
 			EHPCClient(const std::shared_ptr<CredentialsProvider> &credentialsProvider, const ClientConfiguration &configuration);
 			EHPCClient(const std::string &accessKeyId, const std::string &accessKeySecret, const ClientConfiguration &configuration);
 			EHPCClient(const std::string &accessKeyId, const std::string &accessKeySecret, const ClientConfiguration &configuration);
 			~EHPCClient();
 			~EHPCClient();
-            DeleteUsersOutcome deleteUsers(const Model::DeleteUsersRequest &request)const;
-            void deleteUsersAsync(const Model::DeleteUsersRequest& request, const DeleteUsersAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
-            DeleteUsersOutcomeCallable deleteUsersCallable(const Model::DeleteUsersRequest& request) const;
-            DescribeClusterOutcome describeCluster(const Model::DescribeClusterRequest &request)const;
-            void describeClusterAsync(const Model::DescribeClusterRequest& request, const DescribeClusterAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
-            DescribeClusterOutcomeCallable describeClusterCallable(const Model::DescribeClusterRequest& request) const;
-            ListUsersOutcome listUsers(const Model::ListUsersRequest &request)const;
-            void listUsersAsync(const Model::ListUsersRequest& request, const ListUsersAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
-            ListUsersOutcomeCallable listUsersCallable(const Model::ListUsersRequest& request) const;
-            UpgradeClientOutcome upgradeClient(const Model::UpgradeClientRequest &request)const;
-            void upgradeClientAsync(const Model::UpgradeClientRequest& request, const UpgradeClientAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
-            UpgradeClientOutcomeCallable upgradeClientCallable(const Model::UpgradeClientRequest& request) const;
-            ListCurrentClientVersionOutcome listCurrentClientVersion(const Model::ListCurrentClientVersionRequest &request)const;
-            void listCurrentClientVersionAsync(const Model::ListCurrentClientVersionRequest& request, const ListCurrentClientVersionAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
-            ListCurrentClientVersionOutcomeCallable listCurrentClientVersionCallable(const Model::ListCurrentClientVersionRequest& request) const;
-            DeleteClusterOutcome deleteCluster(const Model::DeleteClusterRequest &request)const;
-            void deleteClusterAsync(const Model::DeleteClusterRequest& request, const DeleteClusterAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
-            DeleteClusterOutcomeCallable deleteClusterCallable(const Model::DeleteClusterRequest& request) const;
-            ListImagesOutcome listImages(const Model::ListImagesRequest &request)const;
-            void listImagesAsync(const Model::ListImagesRequest& request, const ListImagesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
-            ListImagesOutcomeCallable listImagesCallable(const Model::ListImagesRequest& request) const;
-            SetAutoScaleConfigOutcome setAutoScaleConfig(const Model::SetAutoScaleConfigRequest &request)const;
-            void setAutoScaleConfigAsync(const Model::SetAutoScaleConfigRequest& request, const SetAutoScaleConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
-            SetAutoScaleConfigOutcomeCallable setAutoScaleConfigCallable(const Model::SetAutoScaleConfigRequest& request) const;
-            ListVolumesOutcome listVolumes(const Model::ListVolumesRequest &request)const;
-            void listVolumesAsync(const Model::ListVolumesRequest& request, const ListVolumesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
-            ListVolumesOutcomeCallable listVolumesCallable(const Model::ListVolumesRequest& request) const;
-            AddNodesOutcome addNodes(const Model::AddNodesRequest &request)const;
-            void addNodesAsync(const Model::AddNodesRequest& request, const AddNodesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
-            AddNodesOutcomeCallable addNodesCallable(const Model::AddNodesRequest& request) const;
-            ListSoftwaresOutcome listSoftwares(const Model::ListSoftwaresRequest &request)const;
-            void listSoftwaresAsync(const Model::ListSoftwaresRequest& request, const ListSoftwaresAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
-            ListSoftwaresOutcomeCallable listSoftwaresCallable(const Model::ListSoftwaresRequest& request) const;
-            StopJobsOutcome stopJobs(const Model::StopJobsRequest &request)const;
-            void stopJobsAsync(const Model::StopJobsRequest& request, const StopJobsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
-            StopJobsOutcomeCallable stopJobsCallable(const Model::StopJobsRequest& request) const;
-            GetAutoScaleConfigOutcome getAutoScaleConfig(const Model::GetAutoScaleConfigRequest &request)const;
-            void getAutoScaleConfigAsync(const Model::GetAutoScaleConfigRequest& request, const GetAutoScaleConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
-            GetAutoScaleConfigOutcomeCallable getAutoScaleConfigCallable(const Model::GetAutoScaleConfigRequest& request) const;
-            ListNodesOutcome listNodes(const Model::ListNodesRequest &request)const;
-            void listNodesAsync(const Model::ListNodesRequest& request, const ListNodesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
-            ListNodesOutcomeCallable listNodesCallable(const Model::ListNodesRequest& request) const;
-            SetJobUserOutcome setJobUser(const Model::SetJobUserRequest &request)const;
-            void setJobUserAsync(const Model::SetJobUserRequest& request, const SetJobUserAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
-            SetJobUserOutcomeCallable setJobUserCallable(const Model::SetJobUserRequest& request) const;
-            ModifyUserGroupsOutcome modifyUserGroups(const Model::ModifyUserGroupsRequest &request)const;
-            void modifyUserGroupsAsync(const Model::ModifyUserGroupsRequest& request, const ModifyUserGroupsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
-            ModifyUserGroupsOutcomeCallable modifyUserGroupsCallable(const Model::ModifyUserGroupsRequest& request) const;
-            ListClustersOutcome listClusters(const Model::ListClustersRequest &request)const;
-            void listClustersAsync(const Model::ListClustersRequest& request, const ListClustersAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
-            ListClustersOutcomeCallable listClustersCallable(const Model::ListClustersRequest& request) const;
-            SubmitJobOutcome submitJob(const Model::SubmitJobRequest &request)const;
-            void submitJobAsync(const Model::SubmitJobRequest& request, const SubmitJobAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
-            SubmitJobOutcomeCallable submitJobCallable(const Model::SubmitJobRequest& request) const;
-            ListCustomImagesOutcome listCustomImages(const Model::ListCustomImagesRequest &request)const;
-            void listCustomImagesAsync(const Model::ListCustomImagesRequest& request, const ListCustomImagesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
-            ListCustomImagesOutcomeCallable listCustomImagesCallable(const Model::ListCustomImagesRequest& request) const;
-            ListRegionsOutcome listRegions(const Model::ListRegionsRequest &request)const;
-            void listRegionsAsync(const Model::ListRegionsRequest& request, const ListRegionsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
-            ListRegionsOutcomeCallable listRegionsCallable(const Model::ListRegionsRequest& request) const;
-            AddUsersOutcome addUsers(const Model::AddUsersRequest &request)const;
-            void addUsersAsync(const Model::AddUsersRequest& request, const AddUsersAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
-            AddUsersOutcomeCallable addUsersCallable(const Model::AddUsersRequest& request) const;
-            ListJobTemplatesOutcome listJobTemplates(const Model::ListJobTemplatesRequest &request)const;
-            void listJobTemplatesAsync(const Model::ListJobTemplatesRequest& request, const ListJobTemplatesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
-            ListJobTemplatesOutcomeCallable listJobTemplatesCallable(const Model::ListJobTemplatesRequest& request) const;
-            ModifyClusterAttributesOutcome modifyClusterAttributes(const Model::ModifyClusterAttributesRequest &request)const;
-            void modifyClusterAttributesAsync(const Model::ModifyClusterAttributesRequest& request, const ModifyClusterAttributesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
-            ModifyClusterAttributesOutcomeCallable modifyClusterAttributesCallable(const Model::ModifyClusterAttributesRequest& request) const;
-            DeleteJobTemplatesOutcome deleteJobTemplates(const Model::DeleteJobTemplatesRequest &request)const;
-            void deleteJobTemplatesAsync(const Model::DeleteJobTemplatesRequest& request, const DeleteJobTemplatesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
-            DeleteJobTemplatesOutcomeCallable deleteJobTemplatesCallable(const Model::DeleteJobTemplatesRequest& request) const;
-            ListNodesNoPagingOutcome listNodesNoPaging(const Model::ListNodesNoPagingRequest &request)const;
-            void listNodesNoPagingAsync(const Model::ListNodesNoPagingRequest& request, const ListNodesNoPagingAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
-            ListNodesNoPagingOutcomeCallable listNodesNoPagingCallable(const Model::ListNodesNoPagingRequest& request) const;
-            CreateJobTemplateOutcome createJobTemplate(const Model::CreateJobTemplateRequest &request)const;
-            void createJobTemplateAsync(const Model::CreateJobTemplateRequest& request, const CreateJobTemplateAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
-            CreateJobTemplateOutcomeCallable createJobTemplateCallable(const Model::CreateJobTemplateRequest& request) const;
-            RerunJobsOutcome rerunJobs(const Model::RerunJobsRequest &request)const;
-            void rerunJobsAsync(const Model::RerunJobsRequest& request, const RerunJobsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
-            RerunJobsOutcomeCallable rerunJobsCallable(const Model::RerunJobsRequest& request) const;
-            ResetNodesOutcome resetNodes(const Model::ResetNodesRequest &request)const;
-            void resetNodesAsync(const Model::ResetNodesRequest& request, const ResetNodesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
-            ResetNodesOutcomeCallable resetNodesCallable(const Model::ResetNodesRequest& request) const;
-            EditJobTemplateOutcome editJobTemplate(const Model::EditJobTemplateRequest &request)const;
-            void editJobTemplateAsync(const Model::EditJobTemplateRequest& request, const EditJobTemplateAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
-            EditJobTemplateOutcomeCallable editJobTemplateCallable(const Model::EditJobTemplateRequest& request) const;
-            ListPreferredEcsTypesOutcome listPreferredEcsTypes(const Model::ListPreferredEcsTypesRequest &request)const;
-            void listPreferredEcsTypesAsync(const Model::ListPreferredEcsTypesRequest& request, const ListPreferredEcsTypesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
-            ListPreferredEcsTypesOutcomeCallable listPreferredEcsTypesCallable(const Model::ListPreferredEcsTypesRequest& request) const;
-            ListClusterLogsOutcome listClusterLogs(const Model::ListClusterLogsRequest &request)const;
-            void listClusterLogsAsync(const Model::ListClusterLogsRequest& request, const ListClusterLogsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
-            ListClusterLogsOutcomeCallable listClusterLogsCallable(const Model::ListClusterLogsRequest& request) const;
-            DeleteJobsOutcome deleteJobs(const Model::DeleteJobsRequest &request)const;
-            void deleteJobsAsync(const Model::DeleteJobsRequest& request, const DeleteJobsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
-            DeleteJobsOutcomeCallable deleteJobsCallable(const Model::DeleteJobsRequest& request) const;
-            DeleteNodesOutcome deleteNodes(const Model::DeleteNodesRequest &request)const;
-            void deleteNodesAsync(const Model::DeleteNodesRequest& request, const DeleteNodesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
-            DeleteNodesOutcomeCallable deleteNodesCallable(const Model::DeleteNodesRequest& request) const;
-            ListJobsOutcome listJobs(const Model::ListJobsRequest &request)const;
-            void listJobsAsync(const Model::ListJobsRequest& request, const ListJobsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
-            ListJobsOutcomeCallable listJobsCallable(const Model::ListJobsRequest& request) const;
-            CreateClusterOutcome createCluster(const Model::CreateClusterRequest &request)const;
-            void createClusterAsync(const Model::CreateClusterRequest& request, const CreateClusterAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
-            CreateClusterOutcomeCallable createClusterCallable(const Model::CreateClusterRequest& request) const;
-            ModifyUserPasswordsOutcome modifyUserPasswords(const Model::ModifyUserPasswordsRequest &request)const;
-            void modifyUserPasswordsAsync(const Model::ModifyUserPasswordsRequest& request, const ModifyUserPasswordsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
-            ModifyUserPasswordsOutcomeCallable modifyUserPasswordsCallable(const Model::ModifyUserPasswordsRequest& request) const;
+			DeleteUsersOutcome deleteUsers(const Model::DeleteUsersRequest &request)const;
+			void deleteUsersAsync(const Model::DeleteUsersRequest& request, const DeleteUsersAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteUsersOutcomeCallable deleteUsersCallable(const Model::DeleteUsersRequest& request) const;
+			DescribeClusterOutcome describeCluster(const Model::DescribeClusterRequest &request)const;
+			void describeClusterAsync(const Model::DescribeClusterRequest& request, const DescribeClusterAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeClusterOutcomeCallable describeClusterCallable(const Model::DescribeClusterRequest& request) const;
+			ListUsersOutcome listUsers(const Model::ListUsersRequest &request)const;
+			void listUsersAsync(const Model::ListUsersRequest& request, const ListUsersAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListUsersOutcomeCallable listUsersCallable(const Model::ListUsersRequest& request) const;
+			UpgradeClientOutcome upgradeClient(const Model::UpgradeClientRequest &request)const;
+			void upgradeClientAsync(const Model::UpgradeClientRequest& request, const UpgradeClientAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			UpgradeClientOutcomeCallable upgradeClientCallable(const Model::UpgradeClientRequest& request) const;
+			StopNodesOutcome stopNodes(const Model::StopNodesRequest &request)const;
+			void stopNodesAsync(const Model::StopNodesRequest& request, const StopNodesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			StopNodesOutcomeCallable stopNodesCallable(const Model::StopNodesRequest& request) const;
+			ListCurrentClientVersionOutcome listCurrentClientVersion(const Model::ListCurrentClientVersionRequest &request)const;
+			void listCurrentClientVersionAsync(const Model::ListCurrentClientVersionRequest& request, const ListCurrentClientVersionAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListCurrentClientVersionOutcomeCallable listCurrentClientVersionCallable(const Model::ListCurrentClientVersionRequest& request) const;
+			DeleteClusterOutcome deleteCluster(const Model::DeleteClusterRequest &request)const;
+			void deleteClusterAsync(const Model::DeleteClusterRequest& request, const DeleteClusterAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteClusterOutcomeCallable deleteClusterCallable(const Model::DeleteClusterRequest& request) const;
+			ListImagesOutcome listImages(const Model::ListImagesRequest &request)const;
+			void listImagesAsync(const Model::ListImagesRequest& request, const ListImagesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListImagesOutcomeCallable listImagesCallable(const Model::ListImagesRequest& request) const;
+			SetAutoScaleConfigOutcome setAutoScaleConfig(const Model::SetAutoScaleConfigRequest &request)const;
+			void setAutoScaleConfigAsync(const Model::SetAutoScaleConfigRequest& request, const SetAutoScaleConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			SetAutoScaleConfigOutcomeCallable setAutoScaleConfigCallable(const Model::SetAutoScaleConfigRequest& request) const;
+			ListVolumesOutcome listVolumes(const Model::ListVolumesRequest &request)const;
+			void listVolumesAsync(const Model::ListVolumesRequest& request, const ListVolumesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListVolumesOutcomeCallable listVolumesCallable(const Model::ListVolumesRequest& request) const;
+			AddNodesOutcome addNodes(const Model::AddNodesRequest &request)const;
+			void addNodesAsync(const Model::AddNodesRequest& request, const AddNodesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			AddNodesOutcomeCallable addNodesCallable(const Model::AddNodesRequest& request) const;
+			ListSoftwaresOutcome listSoftwares(const Model::ListSoftwaresRequest &request)const;
+			void listSoftwaresAsync(const Model::ListSoftwaresRequest& request, const ListSoftwaresAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListSoftwaresOutcomeCallable listSoftwaresCallable(const Model::ListSoftwaresRequest& request) const;
+			StopJobsOutcome stopJobs(const Model::StopJobsRequest &request)const;
+			void stopJobsAsync(const Model::StopJobsRequest& request, const StopJobsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			StopJobsOutcomeCallable stopJobsCallable(const Model::StopJobsRequest& request) const;
+			StartNodesOutcome startNodes(const Model::StartNodesRequest &request)const;
+			void startNodesAsync(const Model::StartNodesRequest& request, const StartNodesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			StartNodesOutcomeCallable startNodesCallable(const Model::StartNodesRequest& request) const;
+			GetAutoScaleConfigOutcome getAutoScaleConfig(const Model::GetAutoScaleConfigRequest &request)const;
+			void getAutoScaleConfigAsync(const Model::GetAutoScaleConfigRequest& request, const GetAutoScaleConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			GetAutoScaleConfigOutcomeCallable getAutoScaleConfigCallable(const Model::GetAutoScaleConfigRequest& request) const;
+			ListNodesOutcome listNodes(const Model::ListNodesRequest &request)const;
+			void listNodesAsync(const Model::ListNodesRequest& request, const ListNodesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListNodesOutcomeCallable listNodesCallable(const Model::ListNodesRequest& request) const;
+			SetJobUserOutcome setJobUser(const Model::SetJobUserRequest &request)const;
+			void setJobUserAsync(const Model::SetJobUserRequest& request, const SetJobUserAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			SetJobUserOutcomeCallable setJobUserCallable(const Model::SetJobUserRequest& request) const;
+			ModifyUserGroupsOutcome modifyUserGroups(const Model::ModifyUserGroupsRequest &request)const;
+			void modifyUserGroupsAsync(const Model::ModifyUserGroupsRequest& request, const ModifyUserGroupsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ModifyUserGroupsOutcomeCallable modifyUserGroupsCallable(const Model::ModifyUserGroupsRequest& request) const;
+			StartClusterOutcome startCluster(const Model::StartClusterRequest &request)const;
+			void startClusterAsync(const Model::StartClusterRequest& request, const StartClusterAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			StartClusterOutcomeCallable startClusterCallable(const Model::StartClusterRequest& request) const;
+			ListClustersOutcome listClusters(const Model::ListClustersRequest &request)const;
+			void listClustersAsync(const Model::ListClustersRequest& request, const ListClustersAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListClustersOutcomeCallable listClustersCallable(const Model::ListClustersRequest& request) const;
+			SubmitJobOutcome submitJob(const Model::SubmitJobRequest &request)const;
+			void submitJobAsync(const Model::SubmitJobRequest& request, const SubmitJobAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			SubmitJobOutcomeCallable submitJobCallable(const Model::SubmitJobRequest& request) const;
+			ListCustomImagesOutcome listCustomImages(const Model::ListCustomImagesRequest &request)const;
+			void listCustomImagesAsync(const Model::ListCustomImagesRequest& request, const ListCustomImagesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListCustomImagesOutcomeCallable listCustomImagesCallable(const Model::ListCustomImagesRequest& request) const;
+			ListRegionsOutcome listRegions(const Model::ListRegionsRequest &request)const;
+			void listRegionsAsync(const Model::ListRegionsRequest& request, const ListRegionsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListRegionsOutcomeCallable listRegionsCallable(const Model::ListRegionsRequest& request) const;
+			AddUsersOutcome addUsers(const Model::AddUsersRequest &request)const;
+			void addUsersAsync(const Model::AddUsersRequest& request, const AddUsersAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			AddUsersOutcomeCallable addUsersCallable(const Model::AddUsersRequest& request) const;
+			ListJobTemplatesOutcome listJobTemplates(const Model::ListJobTemplatesRequest &request)const;
+			void listJobTemplatesAsync(const Model::ListJobTemplatesRequest& request, const ListJobTemplatesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListJobTemplatesOutcomeCallable listJobTemplatesCallable(const Model::ListJobTemplatesRequest& request) const;
+			ModifyClusterAttributesOutcome modifyClusterAttributes(const Model::ModifyClusterAttributesRequest &request)const;
+			void modifyClusterAttributesAsync(const Model::ModifyClusterAttributesRequest& request, const ModifyClusterAttributesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ModifyClusterAttributesOutcomeCallable modifyClusterAttributesCallable(const Model::ModifyClusterAttributesRequest& request) const;
+			DeleteJobTemplatesOutcome deleteJobTemplates(const Model::DeleteJobTemplatesRequest &request)const;
+			void deleteJobTemplatesAsync(const Model::DeleteJobTemplatesRequest& request, const DeleteJobTemplatesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteJobTemplatesOutcomeCallable deleteJobTemplatesCallable(const Model::DeleteJobTemplatesRequest& request) const;
+			StopClusterOutcome stopCluster(const Model::StopClusterRequest &request)const;
+			void stopClusterAsync(const Model::StopClusterRequest& request, const StopClusterAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			StopClusterOutcomeCallable stopClusterCallable(const Model::StopClusterRequest& request) const;
+			ListNodesNoPagingOutcome listNodesNoPaging(const Model::ListNodesNoPagingRequest &request)const;
+			void listNodesNoPagingAsync(const Model::ListNodesNoPagingRequest& request, const ListNodesNoPagingAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListNodesNoPagingOutcomeCallable listNodesNoPagingCallable(const Model::ListNodesNoPagingRequest& request) const;
+			CreateJobTemplateOutcome createJobTemplate(const Model::CreateJobTemplateRequest &request)const;
+			void createJobTemplateAsync(const Model::CreateJobTemplateRequest& request, const CreateJobTemplateAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateJobTemplateOutcomeCallable createJobTemplateCallable(const Model::CreateJobTemplateRequest& request) const;
+			RerunJobsOutcome rerunJobs(const Model::RerunJobsRequest &request)const;
+			void rerunJobsAsync(const Model::RerunJobsRequest& request, const RerunJobsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			RerunJobsOutcomeCallable rerunJobsCallable(const Model::RerunJobsRequest& request) const;
+			ResetNodesOutcome resetNodes(const Model::ResetNodesRequest &request)const;
+			void resetNodesAsync(const Model::ResetNodesRequest& request, const ResetNodesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ResetNodesOutcomeCallable resetNodesCallable(const Model::ResetNodesRequest& request) const;
+			EditJobTemplateOutcome editJobTemplate(const Model::EditJobTemplateRequest &request)const;
+			void editJobTemplateAsync(const Model::EditJobTemplateRequest& request, const EditJobTemplateAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			EditJobTemplateOutcomeCallable editJobTemplateCallable(const Model::EditJobTemplateRequest& request) const;
+			ListPreferredEcsTypesOutcome listPreferredEcsTypes(const Model::ListPreferredEcsTypesRequest &request)const;
+			void listPreferredEcsTypesAsync(const Model::ListPreferredEcsTypesRequest& request, const ListPreferredEcsTypesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListPreferredEcsTypesOutcomeCallable listPreferredEcsTypesCallable(const Model::ListPreferredEcsTypesRequest& request) const;
+			ListClusterLogsOutcome listClusterLogs(const Model::ListClusterLogsRequest &request)const;
+			void listClusterLogsAsync(const Model::ListClusterLogsRequest& request, const ListClusterLogsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListClusterLogsOutcomeCallable listClusterLogsCallable(const Model::ListClusterLogsRequest& request) const;
+			RecoverClusterOutcome recoverCluster(const Model::RecoverClusterRequest &request)const;
+			void recoverClusterAsync(const Model::RecoverClusterRequest& request, const RecoverClusterAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			RecoverClusterOutcomeCallable recoverClusterCallable(const Model::RecoverClusterRequest& request) const;
+			DeleteJobsOutcome deleteJobs(const Model::DeleteJobsRequest &request)const;
+			void deleteJobsAsync(const Model::DeleteJobsRequest& request, const DeleteJobsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteJobsOutcomeCallable deleteJobsCallable(const Model::DeleteJobsRequest& request) const;
+			DeleteNodesOutcome deleteNodes(const Model::DeleteNodesRequest &request)const;
+			void deleteNodesAsync(const Model::DeleteNodesRequest& request, const DeleteNodesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteNodesOutcomeCallable deleteNodesCallable(const Model::DeleteNodesRequest& request) const;
+			ListJobsOutcome listJobs(const Model::ListJobsRequest &request)const;
+			void listJobsAsync(const Model::ListJobsRequest& request, const ListJobsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListJobsOutcomeCallable listJobsCallable(const Model::ListJobsRequest& request) const;
+			CreateClusterOutcome createCluster(const Model::CreateClusterRequest &request)const;
+			void createClusterAsync(const Model::CreateClusterRequest& request, const CreateClusterAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateClusterOutcomeCallable createClusterCallable(const Model::CreateClusterRequest& request) const;
+			ModifyUserPasswordsOutcome modifyUserPasswords(const Model::ModifyUserPasswordsRequest &request)const;
+			void modifyUserPasswordsAsync(const Model::ModifyUserPasswordsRequest& request, const ModifyUserPasswordsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ModifyUserPasswordsOutcomeCallable modifyUserPasswordsCallable(const Model::ModifyUserPasswordsRequest& request) const;
 	
 	
 		private:
 		private:
 			std::shared_ptr<EndpointProvider> endpointProvider_;
 			std::shared_ptr<EndpointProvider> endpointProvider_;

+ 18 - 3
ehpc/include/alibabacloud/ehpc/model/AddNodesRequest.h

@@ -35,6 +35,10 @@ namespace AlibabaCloud
 				AddNodesRequest();
 				AddNodesRequest();
 				~AddNodesRequest();
 				~AddNodesRequest();
 
 
+				int getAutoRenewPeriod()const;
+				void setAutoRenewPeriod(int autoRenewPeriod);
+				int getPeriod()const;
+				void setPeriod(int period);
 				std::string getImageId()const;
 				std::string getImageId()const;
 				void setImageId(const std::string& imageId);
 				void setImageId(const std::string& imageId);
 				int getCount()const;
 				int getCount()const;
@@ -43,21 +47,32 @@ namespace AlibabaCloud
 				void setClusterId(const std::string& clusterId);
 				void setClusterId(const std::string& clusterId);
 				std::string getComputeSpotStrategy()const;
 				std::string getComputeSpotStrategy()const;
 				void setComputeSpotStrategy(const std::string& computeSpotStrategy);
 				void setComputeSpotStrategy(const std::string& computeSpotStrategy);
-				std::string getComputeSpotPriceLimit()const;
-				void setComputeSpotPriceLimit(const std::string& computeSpotPriceLimit);
 				std::string getAccessKeyId()const;
 				std::string getAccessKeyId()const;
 				void setAccessKeyId(const std::string& accessKeyId);
 				void setAccessKeyId(const std::string& accessKeyId);
 				std::string getImageOwnerAlias()const;
 				std::string getImageOwnerAlias()const;
 				void setImageOwnerAlias(const std::string& imageOwnerAlias);
 				void setImageOwnerAlias(const std::string& imageOwnerAlias);
+				std::string getPeriodUnit()const;
+				void setPeriodUnit(const std::string& periodUnit);
+				std::string getAutoRenew()const;
+				void setAutoRenew(const std::string& autoRenew);
+				std::string getEcsChargeType()const;
+				void setEcsChargeType(const std::string& ecsChargeType);
+				std::string getComputeSpotPriceLimit()const;
+				void setComputeSpotPriceLimit(const std::string& computeSpotPriceLimit);
 
 
             private:
             private:
+				int autoRenewPeriod_;
+				int period_;
 				std::string imageId_;
 				std::string imageId_;
 				int count_;
 				int count_;
 				std::string clusterId_;
 				std::string clusterId_;
 				std::string computeSpotStrategy_;
 				std::string computeSpotStrategy_;
-				std::string computeSpotPriceLimit_;
 				std::string accessKeyId_;
 				std::string accessKeyId_;
 				std::string imageOwnerAlias_;
 				std::string imageOwnerAlias_;
+				std::string periodUnit_;
+				std::string autoRenew_;
+				std::string ecsChargeType_;
+				std::string computeSpotPriceLimit_;
 
 
 			};
 			};
 		}
 		}

+ 2 - 2
ehpc/include/alibabacloud/ehpc/model/AddNodesResult.h

@@ -37,12 +37,12 @@ namespace AlibabaCloud
 				AddNodesResult();
 				AddNodesResult();
 				explicit AddNodesResult(const std::string &payload);
 				explicit AddNodesResult(const std::string &payload);
 				~AddNodesResult();
 				~AddNodesResult();
-				std::vector<std::string> getInstanceIds()const;
+				std::vector<std::string> getInstanceIds()const;
 
 
 			protected:
 			protected:
 				void parse(const std::string &payload);
 				void parse(const std::string &payload);
 			private:
 			private:
-				std::vector<std::string> instanceIds_;
+				std::vector<std::string> instanceIds_;
 
 
 			};
 			};
 		}
 		}

+ 26 - 0
ehpc/include/alibabacloud/ehpc/model/CreateClusterRequest.h

@@ -30,6 +30,11 @@ namespace AlibabaCloud
 		{
 		{
 			class ALIBABACLOUD_EHPC_EXPORT CreateClusterRequest : public RpcServiceRequest
 			class ALIBABACLOUD_EHPC_EXPORT CreateClusterRequest : public RpcServiceRequest
 			{
 			{
+				struct PostInstallScript
+				{
+					std::string url;
+					std::string args;
+				};
 				struct Application
 				struct Application
 				{
 				{
 					std::string tag;
 					std::string tag;
@@ -65,6 +70,8 @@ namespace AlibabaCloud
 				void setImageOwnerAlias(const std::string& imageOwnerAlias);
 				void setImageOwnerAlias(const std::string& imageOwnerAlias);
 				std::string getVolumeType()const;
 				std::string getVolumeType()const;
 				void setVolumeType(const std::string& volumeType);
 				void setVolumeType(const std::string& volumeType);
+				std::string getDeployMode()const;
+				void setDeployMode(const std::string& deployMode);
 				int getEcsOrderManagerCount()const;
 				int getEcsOrderManagerCount()const;
 				void setEcsOrderManagerCount(int ecsOrderManagerCount);
 				void setEcsOrderManagerCount(int ecsOrderManagerCount);
 				std::string getPassword()const;
 				std::string getPassword()const;
@@ -73,6 +80,10 @@ namespace AlibabaCloud
 				void setEcsOrderLoginCount(int ecsOrderLoginCount);
 				void setEcsOrderLoginCount(int ecsOrderLoginCount);
 				std::string getComputeSpotPriceLimit()const;
 				std::string getComputeSpotPriceLimit()const;
 				void setComputeSpotPriceLimit(const std::string& computeSpotPriceLimit);
 				void setComputeSpotPriceLimit(const std::string& computeSpotPriceLimit);
+				int getAutoRenewPeriod()const;
+				void setAutoRenewPeriod(int autoRenewPeriod);
+				int getPeriod()const;
+				void setPeriod(int period);
 				std::string getVolumeProtocol()const;
 				std::string getVolumeProtocol()const;
 				void setVolumeProtocol(const std::string& volumeProtocol);
 				void setVolumeProtocol(const std::string& volumeProtocol);
 				std::string getOsTag()const;
 				std::string getOsTag()const;
@@ -83,12 +94,20 @@ namespace AlibabaCloud
 				void setEcsOrderComputeCount(int ecsOrderComputeCount);
 				void setEcsOrderComputeCount(int ecsOrderComputeCount);
 				std::string getComputeSpotStrategy()const;
 				std::string getComputeSpotStrategy()const;
 				void setComputeSpotStrategy(const std::string& computeSpotStrategy);
 				void setComputeSpotStrategy(const std::string& computeSpotStrategy);
+				std::vector<PostInstallScript> getPostInstallScript()const;
+				void setPostInstallScript(const std::vector<PostInstallScript>& postInstallScript);
 				std::string getVSwitchId()const;
 				std::string getVSwitchId()const;
 				void setVSwitchId(const std::string& vSwitchId);
 				void setVSwitchId(const std::string& vSwitchId);
+				std::string getPeriodUnit()const;
+				void setPeriodUnit(const std::string& periodUnit);
 				std::vector<Application> getApplication()const;
 				std::vector<Application> getApplication()const;
 				void setApplication(const std::vector<Application>& application);
 				void setApplication(const std::vector<Application>& application);
+				std::string getAutoRenew()const;
+				void setAutoRenew(const std::string& autoRenew);
 				std::string getEcsChargeType()const;
 				std::string getEcsChargeType()const;
 				void setEcsChargeType(const std::string& ecsChargeType);
 				void setEcsChargeType(const std::string& ecsChargeType);
+				std::string getVpcId()const;
+				void setVpcId(const std::string& vpcId);
 				bool getHaEnable()const;
 				bool getHaEnable()const;
 				void setHaEnable(bool haEnable);
 				void setHaEnable(bool haEnable);
 				std::string getName()const;
 				std::string getName()const;
@@ -118,18 +137,25 @@ namespace AlibabaCloud
 				std::string accessKeyId_;
 				std::string accessKeyId_;
 				std::string imageOwnerAlias_;
 				std::string imageOwnerAlias_;
 				std::string volumeType_;
 				std::string volumeType_;
+				std::string deployMode_;
 				int ecsOrderManagerCount_;
 				int ecsOrderManagerCount_;
 				std::string password_;
 				std::string password_;
 				int ecsOrderLoginCount_;
 				int ecsOrderLoginCount_;
 				std::string computeSpotPriceLimit_;
 				std::string computeSpotPriceLimit_;
+				int autoRenewPeriod_;
+				int period_;
 				std::string volumeProtocol_;
 				std::string volumeProtocol_;
 				std::string osTag_;
 				std::string osTag_;
 				std::string remoteDirectory_;
 				std::string remoteDirectory_;
 				int ecsOrderComputeCount_;
 				int ecsOrderComputeCount_;
 				std::string computeSpotStrategy_;
 				std::string computeSpotStrategy_;
+				std::vector<PostInstallScript> postInstallScript_;
 				std::string vSwitchId_;
 				std::string vSwitchId_;
+				std::string periodUnit_;
 				std::vector<Application> application_;
 				std::vector<Application> application_;
+				std::string autoRenew_;
 				std::string ecsChargeType_;
 				std::string ecsChargeType_;
+				std::string vpcId_;
 				bool haEnable_;
 				bool haEnable_;
 				std::string name_;
 				std::string name_;
 				std::string schedulerType_;
 				std::string schedulerType_;

+ 2 - 2
ehpc/include/alibabacloud/ehpc/model/CreateClusterResult.h

@@ -37,12 +37,12 @@ namespace AlibabaCloud
 				CreateClusterResult();
 				CreateClusterResult();
 				explicit CreateClusterResult(const std::string &payload);
 				explicit CreateClusterResult(const std::string &payload);
 				~CreateClusterResult();
 				~CreateClusterResult();
-				std::string getClusterId()const;
+				std::string getClusterId()const;
 
 
 			protected:
 			protected:
 				void parse(const std::string &payload);
 				void parse(const std::string &payload);
 			private:
 			private:
-				std::string clusterId_;
+				std::string clusterId_;
 
 
 			};
 			};
 		}
 		}

+ 2 - 2
ehpc/include/alibabacloud/ehpc/model/CreateJobTemplateResult.h

@@ -37,12 +37,12 @@ namespace AlibabaCloud
 				CreateJobTemplateResult();
 				CreateJobTemplateResult();
 				explicit CreateJobTemplateResult(const std::string &payload);
 				explicit CreateJobTemplateResult(const std::string &payload);
 				~CreateJobTemplateResult();
 				~CreateJobTemplateResult();
-				std::string getTemplateId()const;
+				std::string getTemplateId()const;
 
 
 			protected:
 			protected:
 				void parse(const std::string &payload);
 				void parse(const std::string &payload);
 			private:
 			private:
-				std::string templateId_;
+				std::string templateId_;
 
 
 			};
 			};
 		}
 		}

+ 58 - 57
ehpc/include/alibabacloud/ehpc/model/DescribeClusterResult.h

@@ -32,72 +32,73 @@ namespace AlibabaCloud
 			class ALIBABACLOUD_EHPC_EXPORT DescribeClusterResult : public ServiceResult
 			class ALIBABACLOUD_EHPC_EXPORT DescribeClusterResult : public ServiceResult
 			{
 			{
 			public:
 			public:
-				struct ClusterInfo
-				{
-					struct EcsInfo
-					{
-						struct Manager
-						{
-							int count;
-							std::string instanceType;
-						};
-						struct Compute
-						{
-							int count;
-							std::string instanceType;
-						};
-						struct Login
-						{
-							int count;
-							std::string instanceType;
-						};
-						std::vector<Compute> compute;
-						std::vector<Login> login;
-						std::vector<Manager> manager;
-					};
-					struct ApplicationInfoItem
-					{
-						std::string version;
-						std::string tag;
-						std::string name;
-					};
-					std::string volumeProtocol;
-					std::string imageOwnerAlias;
-					std::string description;
-					std::vector<ApplicationInfoItem> applicationInfo;
-					std::string clientVersion;
-					std::string name;
-					std::string volumeId;
-					std::string volumeType;
-					std::string imageId;
-					std::string status;
-					std::string keyPairName;
-					std::string remoteDirectory;
-					std::string sccClusterId;
-					std::string createTime;
-					std::string securityGroupId;
-					std::string vSwitchId;
-					std::string schedulerType;
-					std::string accountType;
-					std::string volumeMountpoint;
-					std::vector<EcsInfo> ecsInfo;
-					bool haEnable;
-					std::string osTag;
-					std::string id;
-					std::string regionId;
-					std::string ecsChargeType;
-				};
+				struct ClusterInfo
+				{
+					struct EcsInfo
+					{
+						struct Manager
+						{
+							int count;
+							std::string instanceType;
+						};
+						struct Compute
+						{
+							int count;
+							std::string instanceType;
+						};
+						struct Login
+						{
+							int count;
+							std::string instanceType;
+						};
+						Compute compute;
+						Login login;
+						Manager manager;
+					};
+					struct ApplicationInfo
+					{
+						std::string version;
+						std::string tag;
+						std::string name;
+					};
+					std::string volumeProtocol;
+					std::string imageOwnerAlias;
+					std::string description;
+					std::string clientVersion;
+					std::string name;
+					std::string volumeId;
+					std::string volumeType;
+					std::string deployMode;
+					std::string imageId;
+					std::string status;
+					std::string keyPairName;
+					std::string remoteDirectory;
+					std::string sccClusterId;
+					std::vector<ApplicationInfo> applications;
+					std::string createTime;
+					std::string securityGroupId;
+					std::string vSwitchId;
+					std::string schedulerType;
+					std::string accountType;
+					std::string volumeMountpoint;
+					EcsInfo ecsInfo;
+					bool haEnable;
+					std::string osTag;
+					std::string id;
+					std::string regionId;
+					std::string ecsChargeType;
+				};
 
 
 
 
 				DescribeClusterResult();
 				DescribeClusterResult();
 				explicit DescribeClusterResult(const std::string &payload);
 				explicit DescribeClusterResult(const std::string &payload);
 				~DescribeClusterResult();
 				~DescribeClusterResult();
-				std::vector<ClusterInfo> getClusterInfo()const;
+				ClusterInfo getClusterInfo()const;
 
 
 			protected:
 			protected:
 				void parse(const std::string &payload);
 				void parse(const std::string &payload);
 			private:
 			private:
-				std::vector<ClusterInfo> clusterInfo_;
+				ClusterInfo clusterInfo_;
 
 
 			};
 			};
 		}
 		}

+ 3 - 3
ehpc/include/alibabacloud/ehpc/model/EditJobTemplateRequest.h

@@ -41,6 +41,8 @@ namespace AlibabaCloud
 				void setVariables(const std::string& variables);
 				void setVariables(const std::string& variables);
 				std::string getRunasUser()const;
 				std::string getRunasUser()const;
 				void setRunasUser(const std::string& runasUser);
 				void setRunasUser(const std::string& runasUser);
+				bool getReRunable()const;
+				void setReRunable(bool reRunable);
 				std::string getTemplateId()const;
 				std::string getTemplateId()const;
 				void setTemplateId(const std::string& templateId);
 				void setTemplateId(const std::string& templateId);
 				int getPriority()const;
 				int getPriority()const;
@@ -53,8 +55,6 @@ namespace AlibabaCloud
 				void setArrayRequest(const std::string& arrayRequest);
 				void setArrayRequest(const std::string& arrayRequest);
 				std::string getPackagePath()const;
 				std::string getPackagePath()const;
 				void setPackagePath(const std::string& packagePath);
 				void setPackagePath(const std::string& packagePath);
-				bool getReRunnable()const;
-				void setReRunnable(bool reRunnable);
 				std::string getRegionId()const;
 				std::string getRegionId()const;
 				void setRegionId(const std::string& regionId);
 				void setRegionId(const std::string& regionId);
 				std::string getName()const;
 				std::string getName()const;
@@ -66,13 +66,13 @@ namespace AlibabaCloud
 				std::string stderrRedirectPath_;
 				std::string stderrRedirectPath_;
 				std::string variables_;
 				std::string variables_;
 				std::string runasUser_;
 				std::string runasUser_;
+				bool reRunable_;
 				std::string templateId_;
 				std::string templateId_;
 				int priority_;
 				int priority_;
 				std::string commandLine_;
 				std::string commandLine_;
 				std::string accessKeyId_;
 				std::string accessKeyId_;
 				std::string arrayRequest_;
 				std::string arrayRequest_;
 				std::string packagePath_;
 				std::string packagePath_;
-				bool reRunnable_;
 				std::string regionId_;
 				std::string regionId_;
 				std::string name_;
 				std::string name_;
 				std::string stdoutRedirectPath_;
 				std::string stdoutRedirectPath_;

+ 2 - 2
ehpc/include/alibabacloud/ehpc/model/EditJobTemplateResult.h

@@ -37,12 +37,12 @@ namespace AlibabaCloud
 				EditJobTemplateResult();
 				EditJobTemplateResult();
 				explicit EditJobTemplateResult(const std::string &payload);
 				explicit EditJobTemplateResult(const std::string &payload);
 				~EditJobTemplateResult();
 				~EditJobTemplateResult();
-				std::string getTemplateId()const;
+				std::string getTemplateId()const;
 
 
 			protected:
 			protected:
 				void parse(const std::string &payload);
 				void parse(const std::string &payload);
 			private:
 			private:
-				std::string templateId_;
+				std::string templateId_;
 
 
 			};
 			};
 		}
 		}

+ 26 - 26
ehpc/include/alibabacloud/ehpc/model/GetAutoScaleConfigResult.h

@@ -37,36 +37,36 @@ namespace AlibabaCloud
 				GetAutoScaleConfigResult();
 				GetAutoScaleConfigResult();
 				explicit GetAutoScaleConfigResult(const std::string &payload);
 				explicit GetAutoScaleConfigResult(const std::string &payload);
 				~GetAutoScaleConfigResult();
 				~GetAutoScaleConfigResult();
-				int getExtraNodesGrowRatio()const;
-				bool getEnableAutoGrow()const;
-				std::string getClusterId()const;
-				int getShrinkIdleTimes()const;
-				int getMaxNodesInCluster()const;
-				std::string getClusterType()const;
-				bool getEnableAutoShrink()const;
-				int getGrowRatio()const;
-				int getGrowIntervalInMinutes()const;
-				std::string getUid()const;
-				int getGrowTimeoutInMinutes()const;
-				int getShrinkIntervalInMinutes()const;
-				std::string getExcludeNodes()const;
+				int getExtraNodesGrowRatio()const;
+				bool getEnableAutoGrow()const;
+				std::string getClusterId()const;
+				int getShrinkIdleTimes()const;
+				int getMaxNodesInCluster()const;
+				std::string getClusterType()const;
+				bool getEnableAutoShrink()const;
+				int getGrowRatio()const;
+				int getGrowIntervalInMinutes()const;
+				std::string getUid()const;
+				int getGrowTimeoutInMinutes()const;
+				int getShrinkIntervalInMinutes()const;
+				std::string getExcludeNodes()const;
 
 
 			protected:
 			protected:
 				void parse(const std::string &payload);
 				void parse(const std::string &payload);
 			private:
 			private:
-				int extraNodesGrowRatio_;
-				bool enableAutoGrow_;
-				std::string clusterId_;
-				int shrinkIdleTimes_;
-				int maxNodesInCluster_;
-				std::string clusterType_;
-				bool enableAutoShrink_;
-				int growRatio_;
-				int growIntervalInMinutes_;
-				std::string uid_;
-				int growTimeoutInMinutes_;
-				int shrinkIntervalInMinutes_;
-				std::string excludeNodes_;
+				int extraNodesGrowRatio_;
+				bool enableAutoGrow_;
+				std::string clusterId_;
+				int shrinkIdleTimes_;
+				int maxNodesInCluster_;
+				std::string clusterType_;
+				bool enableAutoShrink_;
+				int growRatio_;
+				int growIntervalInMinutes_;
+				std::string uid_;
+				int growTimeoutInMinutes_;
+				int shrinkIntervalInMinutes_;
+				std::string excludeNodes_;
 
 
 			};
 			};
 		}
 		}

+ 17 - 17
ehpc/include/alibabacloud/ehpc/model/ListClusterLogsResult.h

@@ -32,32 +32,32 @@ namespace AlibabaCloud
 			class ALIBABACLOUD_EHPC_EXPORT ListClusterLogsResult : public ServiceResult
 			class ALIBABACLOUD_EHPC_EXPORT ListClusterLogsResult : public ServiceResult
 			{
 			{
 			public:
 			public:
-				struct LogInfo
-				{
-					std::string message;
-					std::string createTime;
-					std::string level;
-					std::string operation;
-				};
+				struct LogInfo
+				{
+					std::string message;
+					std::string createTime;
+					std::string level;
+					std::string operation;
+				};
 
 
 
 
 				ListClusterLogsResult();
 				ListClusterLogsResult();
 				explicit ListClusterLogsResult(const std::string &payload);
 				explicit ListClusterLogsResult(const std::string &payload);
 				~ListClusterLogsResult();
 				~ListClusterLogsResult();
-				int getTotalCount()const;
-				int getPageSize()const;
-				int getPageNumber()const;
-				std::string getClusterId()const;
-				std::vector<LogInfo> getLogs()const;
+				int getTotalCount()const;
+				int getPageSize()const;
+				int getPageNumber()const;
+				std::string getClusterId()const;
+				std::vector<LogInfo> getLogs()const;
 
 
 			protected:
 			protected:
 				void parse(const std::string &payload);
 				void parse(const std::string &payload);
 			private:
 			private:
-				int totalCount_;
-				int pageSize_;
-				int pageNumber_;
-				std::string clusterId_;
-				std::vector<LogInfo> logs_;
+				int totalCount_;
+				int pageSize_;
+				int pageNumber_;
+				std::string clusterId_;
+				std::vector<LogInfo> logs_;
 
 
 			};
 			};
 		}
 		}

+ 59 - 54
ehpc/include/alibabacloud/ehpc/model/ListClustersResult.h

@@ -32,69 +32,74 @@ namespace AlibabaCloud
 			class ALIBABACLOUD_EHPC_EXPORT ListClustersResult : public ServiceResult
 			class ALIBABACLOUD_EHPC_EXPORT ListClustersResult : public ServiceResult
 			{
 			{
 			public:
 			public:
-				struct ClusterInfoSimple
-				{
-					struct Managers
-					{
-						int normalCount;
-						int total;
-						int exceptionCount;
-					};
-					struct Computes
-					{
-						int normalCount;
-						int total;
-						int exceptionCount;
-					};
-					struct TotalResources
-					{
-						int memory;
-						int cpu;
-						int gpu;
-					};
-					struct UsedResources
-					{
-						int memory;
-						int cpu;
-						int gpu;
-					};
-					std::string status;
-					std::string imageOwnerAlias;
-					std::string description;
-					std::string zoneId;
-					std::string createTime;
-					std::string schedulerType;
-					int count;
-					std::string accountType;
-					std::string name;
-					std::vector<UsedResources> usedResources;
-					std::vector<Managers> managers;
-					std::vector<TotalResources> totalResources;
-					std::string osTag;
-					std::string imageId;
-					std::string id;
-					std::string regionId;
-					std::string instanceType;
-					std::string loginNodes;
-					std::vector<Computes> computes;
-				};
+				struct ClusterInfoSimple
+				{
+					struct Managers
+					{
+						int normalCount;
+						int operatingCount;
+						int stoppedCount;
+						int total;
+						int exceptionCount;
+					};
+					struct Computes
+					{
+						int normalCount;
+						int operatingCount;
+						int stoppedCount;
+						int total;
+						int exceptionCount;
+					};
+					struct TotalResources
+					{
+						int memory;
+						int cpu;
+						int gpu;
+					};
+					struct UsedResources
+					{
+						int memory;
+						int cpu;
+						int gpu;
+					};
+					std::string status;
+					std::string imageOwnerAlias;
+					std::string description;
+					std::string zoneId;
+					std::string createTime;
+					std::string schedulerType;
+					int count;
+					std::string accountType;
+					std::string name;
+					UsedResources usedResources;
+					std::string deployMode;
+					Managers managers;
+					TotalResources totalResources;
+					std::string osTag;
+					std::string imageId;
+					std::string id;
+					std::string regionId;
+					std::string instanceType;
+					std::string loginNodes;
+					Computes computes;
+				};
 
 
 
 
 				ListClustersResult();
 				ListClustersResult();
 				explicit ListClustersResult(const std::string &payload);
 				explicit ListClustersResult(const std::string &payload);
 				~ListClustersResult();
 				~ListClustersResult();
-				int getTotalCount()const;
-				int getPageSize()const;
-				int getPageNumber()const;
-				std::vector<ClusterInfoSimple> getClusters()const;
+				int getTotalCount()const;
+				int getPageSize()const;
+				int getPageNumber()const;
+				std::vector<ClusterInfoSimple> getClusters()const;
 
 
 			protected:
 			protected:
 				void parse(const std::string &payload);
 				void parse(const std::string &payload);
 			private:
 			private:
-				int totalCount_;
-				int pageSize_;
-				int pageNumber_;
-				std::vector<ClusterInfoSimple> clusters_;
+				int totalCount_;
+				int pageSize_;
+				int pageNumber_;
+				std::vector<ClusterInfoSimple> clusters_;
 
 
 			};
 			};
 		}
 		}

+ 2 - 2
ehpc/include/alibabacloud/ehpc/model/ListCurrentClientVersionResult.h

@@ -37,12 +37,12 @@ namespace AlibabaCloud
 				ListCurrentClientVersionResult();
 				ListCurrentClientVersionResult();
 				explicit ListCurrentClientVersionResult(const std::string &payload);
 				explicit ListCurrentClientVersionResult(const std::string &payload);
 				~ListCurrentClientVersionResult();
 				~ListCurrentClientVersionResult();
-				std::string getClientVersion()const;
+				std::string getClientVersion()const;
 
 
 			protected:
 			protected:
 				void parse(const std::string &payload);
 				void parse(const std::string &payload);
 			private:
 			private:
-				std::string clientVersion_;
+				std::string clientVersion_;
 
 
 			};
 			};
 		}
 		}

+ 23 - 17
ehpc/include/alibabacloud/ehpc/model/ListCustomImagesResult.h

@@ -32,32 +32,38 @@ namespace AlibabaCloud
 			class ALIBABACLOUD_EHPC_EXPORT ListCustomImagesResult : public ServiceResult
 			class ALIBABACLOUD_EHPC_EXPORT ListCustomImagesResult : public ServiceResult
 			{
 			{
 			public:
 			public:
-				struct ImageInfo
-				{
-					struct BaseOsTag
-					{
-						std::string platform;
-						std::string architecture;
-						std::string version;
-						std::string osTag;
-					};
-					std::string imageOwnerAlias;
-					std::string imageName;
-					std::string description;
-					std::string imageId;
-					std::vector<BaseOsTag> baseOsTag;
-				};
+				struct ImageInfo
+				{
+					struct BaseOsTag
+					{
+						std::string platform;
+						std::string architecture;
+						std::string version;
+						std::string osTag;
+					};
+					std::string imageOwnerAlias;
+					std::string status;
+					std::string uid;
+					std::string imageName;
+					std::string description;
+					std::string postInstallScript;
+					std::string productCode;
+					std::string skuCode;
+					std::string pricingCycle;
+					std::string imageId;
+					BaseOsTag baseOsTag;
+				};
 
 
 
 
 				ListCustomImagesResult();
 				ListCustomImagesResult();
 				explicit ListCustomImagesResult(const std::string &payload);
 				explicit ListCustomImagesResult(const std::string &payload);
 				~ListCustomImagesResult();
 				~ListCustomImagesResult();
-				std::vector<ImageInfo> getImages()const;
+				std::vector<ImageInfo> getImages()const;
 
 
 			protected:
 			protected:
 				void parse(const std::string &payload);
 				void parse(const std::string &payload);
 			private:
 			private:
-				std::vector<ImageInfo> images_;
+				std::vector<ImageInfo> images_;
 
 
 			};
 			};
 		}
 		}

+ 9 - 9
ehpc/include/alibabacloud/ehpc/model/ListImagesResult.h

@@ -32,24 +32,24 @@ namespace AlibabaCloud
 			class ALIBABACLOUD_EHPC_EXPORT ListImagesResult : public ServiceResult
 			class ALIBABACLOUD_EHPC_EXPORT ListImagesResult : public ServiceResult
 			{
 			{
 			public:
 			public:
-				struct OsInfo
-				{
-					std::string platform;
-					std::string architecture;
-					std::string version;
-					std::string osTag;
-				};
+				struct OsInfo
+				{
+					std::string platform;
+					std::string architecture;
+					std::string version;
+					std::string osTag;
+				};
 
 
 
 
 				ListImagesResult();
 				ListImagesResult();
 				explicit ListImagesResult(const std::string &payload);
 				explicit ListImagesResult(const std::string &payload);
 				~ListImagesResult();
 				~ListImagesResult();
-				std::vector<OsInfo> getOsTags()const;
+				std::vector<OsInfo> getOsTags()const;
 
 
 			protected:
 			protected:
 				void parse(const std::string &payload);
 				void parse(const std::string &payload);
 			private:
 			private:
-				std::vector<OsInfo> osTags_;
+				std::vector<OsInfo> osTags_;
 
 
 			};
 			};
 		}
 		}

+ 22 - 22
ehpc/include/alibabacloud/ehpc/model/ListJobTemplatesResult.h

@@ -32,37 +32,37 @@ namespace AlibabaCloud
 			class ALIBABACLOUD_EHPC_EXPORT ListJobTemplatesResult : public ServiceResult
 			class ALIBABACLOUD_EHPC_EXPORT ListJobTemplatesResult : public ServiceResult
 			{
 			{
 			public:
 			public:
-				struct JobTemplates
-				{
-					std::string variables;
-					bool reRunable;
-					std::string commandLine;
-					int priority;
-					std::string stderrRedirectPath;
-					std::string stdoutRedirectPath;
-					std::string id;
-					std::string package;
-					std::string arrayRequest;
-					std::string runasUser;
-					std::string name;
-				};
+				struct JobTemplates
+				{
+					std::string variables;
+					bool reRunable;
+					std::string commandLine;
+					int priority;
+					std::string stderrRedirectPath;
+					std::string stdoutRedirectPath;
+					std::string id;
+					std::string arrayRequest;
+					std::string runasUser;
+					std::string packagePath;
+					std::string name;
+				};
 
 
 
 
 				ListJobTemplatesResult();
 				ListJobTemplatesResult();
 				explicit ListJobTemplatesResult(const std::string &payload);
 				explicit ListJobTemplatesResult(const std::string &payload);
 				~ListJobTemplatesResult();
 				~ListJobTemplatesResult();
-				int getTotalCount()const;
-				int getPageSize()const;
-				int getPageNumber()const;
-				std::vector<JobTemplates> getTemplates()const;
+				int getTotalCount()const;
+				int getPageSize()const;
+				int getPageNumber()const;
+				std::vector<JobTemplates> getTemplates()const;
 
 
 			protected:
 			protected:
 				void parse(const std::string &payload);
 				void parse(const std::string &payload);
 			private:
 			private:
-				int totalCount_;
-				int pageSize_;
-				int pageNumber_;
-				std::vector<JobTemplates> templates_;
+				int totalCount_;
+				int pageSize_;
+				int pageNumber_;
+				std::vector<JobTemplates> templates_;
 
 
 			};
 			};
 		}
 		}

+ 3 - 0
ehpc/include/alibabacloud/ehpc/model/ListJobsRequest.h

@@ -43,6 +43,8 @@ namespace AlibabaCloud
 				void setClusterId(const std::string& clusterId);
 				void setClusterId(const std::string& clusterId);
 				std::string getState()const;
 				std::string getState()const;
 				void setState(const std::string& state);
 				void setState(const std::string& state);
+				std::string getRerunable()const;
+				void setRerunable(const std::string& rerunable);
 				int getPageNumber()const;
 				int getPageNumber()const;
 				void setPageNumber(int pageNumber);
 				void setPageNumber(int pageNumber);
 				std::string getAccessKeyId()const;
 				std::string getAccessKeyId()const;
@@ -53,6 +55,7 @@ namespace AlibabaCloud
 				int pageSize_;
 				int pageSize_;
 				std::string clusterId_;
 				std::string clusterId_;
 				std::string state_;
 				std::string state_;
+				std::string rerunable_;
 				int pageNumber_;
 				int pageNumber_;
 				std::string accessKeyId_;
 				std::string accessKeyId_;
 
 

+ 30 - 29
ehpc/include/alibabacloud/ehpc/model/ListJobsResult.h

@@ -32,44 +32,45 @@ namespace AlibabaCloud
 			class ALIBABACLOUD_EHPC_EXPORT ListJobsResult : public ServiceResult
 			class ALIBABACLOUD_EHPC_EXPORT ListJobsResult : public ServiceResult
 			{
 			{
 			public:
 			public:
-				struct JobInfo
-				{
-					struct Resources
-					{
-						int cores;
-						int nodes;
-					};
-					std::string comment;
-					std::string owner;
-					int priority;
-					std::string startTime;
-					std::string lastModifyTime;
-					std::string submitTime;
-					std::string name;
-					std::string _stderr;
-					std::string state;
-					std::vector<Resources> resources;
-					std::string id;
-					std::string arrayRequest;
-					std::string _stdout;
-				};
+				struct JobInfo
+				{
+					struct Resources
+					{
+						int cores;
+						int nodes;
+					};
+					std::string comment;
+					std::string owner;
+					std::string _stderr;
+					int priority;
+					std::string startTime;
+					std::string lastModifyTime;
+					std::string submitTime;
+					std::string _stdout;
+					std::string name;
+					std::string state;
+					std::string shellPath;
+					Resources resources;
+					std::string id;
+					std::string arrayRequest;
+				};
 
 
 
 
 				ListJobsResult();
 				ListJobsResult();
 				explicit ListJobsResult(const std::string &payload);
 				explicit ListJobsResult(const std::string &payload);
 				~ListJobsResult();
 				~ListJobsResult();
-				int getTotalCount()const;
-				int getPageSize()const;
-				std::vector<JobInfo> getJobs()const;
-				int getPageNumber()const;
+				int getTotalCount()const;
+				int getPageSize()const;
+				std::vector<JobInfo> getJobs()const;
+				int getPageNumber()const;
 
 
 			protected:
 			protected:
 				void parse(const std::string &payload);
 				void parse(const std::string &payload);
 			private:
 			private:
-				int totalCount_;
-				int pageSize_;
-				std::vector<JobInfo> jobs_;
-				int pageNumber_;
+				int totalCount_;
+				int pageSize_;
+				std::vector<JobInfo> jobs_;
+				int pageNumber_;
 
 
 			};
 			};
 		}
 		}

+ 37 - 37
ehpc/include/alibabacloud/ehpc/model/ListNodesNoPagingResult.h

@@ -32,52 +32,52 @@ namespace AlibabaCloud
 			class ALIBABACLOUD_EHPC_EXPORT ListNodesNoPagingResult : public ServiceResult
 			class ALIBABACLOUD_EHPC_EXPORT ListNodesNoPagingResult : public ServiceResult
 			{
 			{
 			public:
 			public:
-				struct NodeInfo
-				{
-					struct TotalResources
-					{
-						int memory;
-						int cpu;
-						int gpu;
-					};
-					struct UsedResources
-					{
-						int memory;
-						int cpu;
-						int gpu;
-					};
-					std::string status;
-					std::string imageOwnerAlias;
-					bool expired;
-					std::string addTime;
-					std::vector<UsedResources> usedResources;
-					std::string role;
-					bool createdByEhpc;
-					std::vector<TotalResources> totalResources;
-					std::string expiredTime;
-					std::string imageId;
-					std::string id;
-					std::string regionId;
-					std::string lockReason;
-					std::string spotStrategy;
-				};
+				struct NodeInfo
+				{
+					struct TotalResources
+					{
+						int memory;
+						int cpu;
+						int gpu;
+					};
+					struct UsedResources
+					{
+						int memory;
+						int cpu;
+						int gpu;
+					};
+					std::string status;
+					std::string imageOwnerAlias;
+					bool expired;
+					std::vector<std::string> roles;
+					std::string addTime;
+					UsedResources usedResources;
+					bool createdByEhpc;
+					TotalResources totalResources;
+					std::string expiredTime;
+					std::string imageId;
+					std::string id;
+					std::string regionId;
+					std::string lockReason;
+					std::string spotStrategy;
+				};
 
 
 
 
 				ListNodesNoPagingResult();
 				ListNodesNoPagingResult();
 				explicit ListNodesNoPagingResult(const std::string &payload);
 				explicit ListNodesNoPagingResult(const std::string &payload);
 				~ListNodesNoPagingResult();
 				~ListNodesNoPagingResult();
-				int getTotalCount()const;
-				int getPageSize()const;
-				int getPageNumber()const;
-				std::vector<NodeInfo> getNodes()const;
+				int getTotalCount()const;
+				int getPageSize()const;
+				int getPageNumber()const;
+				std::vector<NodeInfo> getNodes()const;
 
 
 			protected:
 			protected:
 				void parse(const std::string &payload);
 				void parse(const std::string &payload);
 			private:
 			private:
-				int totalCount_;
-				int pageSize_;
-				int pageNumber_;
-				std::vector<NodeInfo> nodes_;
+				int totalCount_;
+				int pageSize_;
+				int pageNumber_;
+				std::vector<NodeInfo> nodes_;
 
 
 			};
 			};
 		}
 		}

+ 37 - 37
ehpc/include/alibabacloud/ehpc/model/ListNodesResult.h

@@ -32,52 +32,52 @@ namespace AlibabaCloud
 			class ALIBABACLOUD_EHPC_EXPORT ListNodesResult : public ServiceResult
 			class ALIBABACLOUD_EHPC_EXPORT ListNodesResult : public ServiceResult
 			{
 			{
 			public:
 			public:
-				struct NodeInfo
-				{
-					struct TotalResources
-					{
-						int memory;
-						int cpu;
-						int gpu;
-					};
-					struct UsedResources
-					{
-						int memory;
-						int cpu;
-						int gpu;
-					};
-					std::string status;
-					std::string imageOwnerAlias;
-					bool expired;
-					std::string addTime;
-					std::vector<UsedResources> usedResources;
-					std::string role;
-					bool createdByEhpc;
-					std::vector<TotalResources> totalResources;
-					std::string expiredTime;
-					std::string imageId;
-					std::string id;
-					std::string regionId;
-					std::string lockReason;
-					std::string spotStrategy;
-				};
+				struct NodeInfo
+				{
+					struct TotalResources
+					{
+						int memory;
+						int cpu;
+						int gpu;
+					};
+					struct UsedResources
+					{
+						int memory;
+						int cpu;
+						int gpu;
+					};
+					std::string status;
+					std::string imageOwnerAlias;
+					bool expired;
+					std::vector<std::string> roles;
+					std::string addTime;
+					UsedResources usedResources;
+					bool createdByEhpc;
+					TotalResources totalResources;
+					std::string expiredTime;
+					std::string imageId;
+					std::string id;
+					std::string regionId;
+					std::string lockReason;
+					std::string spotStrategy;
+				};
 
 
 
 
 				ListNodesResult();
 				ListNodesResult();
 				explicit ListNodesResult(const std::string &payload);
 				explicit ListNodesResult(const std::string &payload);
 				~ListNodesResult();
 				~ListNodesResult();
-				int getTotalCount()const;
-				int getPageSize()const;
-				int getPageNumber()const;
-				std::vector<NodeInfo> getNodes()const;
+				int getTotalCount()const;
+				int getPageSize()const;
+				int getPageNumber()const;
+				std::vector<NodeInfo> getNodes()const;
 
 
 			protected:
 			protected:
 				void parse(const std::string &payload);
 				void parse(const std::string &payload);
 			private:
 			private:
-				int totalCount_;
-				int pageSize_;
-				int pageNumber_;
-				std::vector<NodeInfo> nodes_;
+				int totalCount_;
+				int pageSize_;
+				int pageNumber_;
+				std::vector<NodeInfo> nodes_;
 
 
 			};
 			};
 		}
 		}

+ 6 - 0
ehpc/include/alibabacloud/ehpc/model/ListPreferredEcsTypesRequest.h

@@ -35,13 +35,19 @@ namespace AlibabaCloud
 				ListPreferredEcsTypesRequest();
 				ListPreferredEcsTypesRequest();
 				~ListPreferredEcsTypesRequest();
 				~ListPreferredEcsTypesRequest();
 
 
+				std::string getSpotStrategy()const;
+				void setSpotStrategy(const std::string& spotStrategy);
 				std::string getZoneId()const;
 				std::string getZoneId()const;
 				void setZoneId(const std::string& zoneId);
 				void setZoneId(const std::string& zoneId);
+				std::string getInstanceChargeType()const;
+				void setInstanceChargeType(const std::string& instanceChargeType);
 				std::string getAccessKeyId()const;
 				std::string getAccessKeyId()const;
 				void setAccessKeyId(const std::string& accessKeyId);
 				void setAccessKeyId(const std::string& accessKeyId);
 
 
             private:
             private:
+				std::string spotStrategy_;
 				std::string zoneId_;
 				std::string zoneId_;
+				std::string instanceChargeType_;
 				std::string accessKeyId_;
 				std::string accessKeyId_;
 
 
 			};
 			};

+ 16 - 14
ehpc/include/alibabacloud/ehpc/model/ListPreferredEcsTypesResult.h

@@ -32,29 +32,31 @@ namespace AlibabaCloud
 			class ALIBABACLOUD_EHPC_EXPORT ListPreferredEcsTypesResult : public ServiceResult
 			class ALIBABACLOUD_EHPC_EXPORT ListPreferredEcsTypesResult : public ServiceResult
 			{
 			{
 			public:
 			public:
-				struct SeriesInfo
-				{
-					struct Roles
-					{
-						std::vector<std::string> compute;
-						std::vector<std::string> login;
-						std::vector<std::string> manager;
-					};
-					std::string seriesId;
-					std::string seriesName;
-					std::vector<Roles> roles;
-				};
+				struct SeriesInfo
+				{
+					struct Roles
+					{
+						std::vector<std::string> compute;
+						std::vector<std::string> login;
+						std::vector<std::string> manager;
+					};
+					std::string seriesId;
+					std::string seriesName;
+					Roles roles;
+				};
 
 
 
 
 				ListPreferredEcsTypesResult();
 				ListPreferredEcsTypesResult();
 				explicit ListPreferredEcsTypesResult(const std::string &payload);
 				explicit ListPreferredEcsTypesResult(const std::string &payload);
 				~ListPreferredEcsTypesResult();
 				~ListPreferredEcsTypesResult();
-				std::vector<SeriesInfo> getSeries()const;
+				std::vector<SeriesInfo> getSeries()const;
+				bool getSupportSpotInstance()const;
 
 
 			protected:
 			protected:
 				void parse(const std::string &payload);
 				void parse(const std::string &payload);
 			private:
 			private:
-				std::vector<SeriesInfo> series_;
+				std::vector<SeriesInfo> series_;
+				bool supportSpotInstance_;
 
 
 			};
 			};
 		}
 		}

+ 7 - 7
ehpc/include/alibabacloud/ehpc/model/ListRegionsResult.h

@@ -32,22 +32,22 @@ namespace AlibabaCloud
 			class ALIBABACLOUD_EHPC_EXPORT ListRegionsResult : public ServiceResult
 			class ALIBABACLOUD_EHPC_EXPORT ListRegionsResult : public ServiceResult
 			{
 			{
 			public:
 			public:
-				struct RegionInfo
-				{
-					std::string regionId;
-					std::string localName;
-				};
+				struct RegionInfo
+				{
+					std::string regionId;
+					std::string localName;
+				};
 
 
 
 
 				ListRegionsResult();
 				ListRegionsResult();
 				explicit ListRegionsResult(const std::string &payload);
 				explicit ListRegionsResult(const std::string &payload);
 				~ListRegionsResult();
 				~ListRegionsResult();
-				std::vector<RegionInfo> getRegions()const;
+				std::vector<RegionInfo> getRegions()const;
 
 
 			protected:
 			protected:
 				void parse(const std::string &payload);
 				void parse(const std::string &payload);
 			private:
 			private:
-				std::vector<RegionInfo> regions_;
+				std::vector<RegionInfo> regions_;
 
 
 			};
 			};
 		}
 		}

+ 19 - 19
ehpc/include/alibabacloud/ehpc/model/ListSoftwaresResult.h

@@ -32,34 +32,34 @@ namespace AlibabaCloud
 			class ALIBABACLOUD_EHPC_EXPORT ListSoftwaresResult : public ServiceResult
 			class ALIBABACLOUD_EHPC_EXPORT ListSoftwaresResult : public ServiceResult
 			{
 			{
 			public:
 			public:
-				struct SoftwareInfo
-				{
-					struct ApplicationInfo
-					{
-						bool required;
-						std::string version;
-						std::string tag;
-						std::string name;
-					};
-					std::vector<SoftwareInfo::ApplicationInfo> applications;
-					std::string schedulerVersion;
-					std::string osTag;
-					std::string schedulerType;
-					std::string accountType;
-					std::string accountVersion;
-					std::string ehpcVersion;
-				};
+				struct SoftwareInfo
+				{
+					struct ApplicationInfo
+					{
+						bool required;
+						std::string version;
+						std::string tag;
+						std::string name;
+					};
+					std::vector<SoftwareInfo::ApplicationInfo> applications;
+					std::string schedulerVersion;
+					std::string osTag;
+					std::string schedulerType;
+					std::string accountType;
+					std::string accountVersion;
+					std::string ehpcVersion;
+				};
 
 
 
 
 				ListSoftwaresResult();
 				ListSoftwaresResult();
 				explicit ListSoftwaresResult(const std::string &payload);
 				explicit ListSoftwaresResult(const std::string &payload);
 				~ListSoftwaresResult();
 				~ListSoftwaresResult();
-				std::vector<SoftwareInfo> getSoftwares()const;
+				std::vector<SoftwareInfo> getSoftwares()const;
 
 
 			protected:
 			protected:
 				void parse(const std::string &payload);
 				void parse(const std::string &payload);
 			private:
 			private:
-				std::vector<SoftwareInfo> softwares_;
+				std::vector<SoftwareInfo> softwares_;
 
 
 			};
 			};
 		}
 		}

+ 14 - 14
ehpc/include/alibabacloud/ehpc/model/ListUsersResult.h

@@ -32,29 +32,29 @@ namespace AlibabaCloud
 			class ALIBABACLOUD_EHPC_EXPORT ListUsersResult : public ServiceResult
 			class ALIBABACLOUD_EHPC_EXPORT ListUsersResult : public ServiceResult
 			{
 			{
 			public:
 			public:
-				struct UserInfo
-				{
-					std::string group;
-					std::string addTime;
-					std::string name;
-				};
+				struct UserInfo
+				{
+					std::string group;
+					std::string addTime;
+					std::string name;
+				};
 
 
 
 
 				ListUsersResult();
 				ListUsersResult();
 				explicit ListUsersResult(const std::string &payload);
 				explicit ListUsersResult(const std::string &payload);
 				~ListUsersResult();
 				~ListUsersResult();
-				int getTotalCount()const;
-				int getPageSize()const;
-				int getPageNumber()const;
-				std::vector<UserInfo> getUsers()const;
+				int getTotalCount()const;
+				int getPageSize()const;
+				int getPageNumber()const;
+				std::vector<UserInfo> getUsers()const;
 
 
 			protected:
 			protected:
 				void parse(const std::string &payload);
 				void parse(const std::string &payload);
 			private:
 			private:
-				int totalCount_;
-				int pageSize_;
-				int pageNumber_;
-				std::vector<UserInfo> users_;
+				int totalCount_;
+				int pageSize_;
+				int pageNumber_;
+				std::vector<UserInfo> users_;
 
 
 			};
 			};
 		}
 		}

+ 19 - 19
ehpc/include/alibabacloud/ehpc/model/ListVolumesResult.h

@@ -32,34 +32,34 @@ namespace AlibabaCloud
 			class ALIBABACLOUD_EHPC_EXPORT ListVolumesResult : public ServiceResult
 			class ALIBABACLOUD_EHPC_EXPORT ListVolumesResult : public ServiceResult
 			{
 			{
 			public:
 			public:
-				struct VolumeInfo
-				{
-					std::string volumeProtocol;
-					std::string volumeId;
-					std::string remoteDirectory;
-					std::string volumeType;
-					std::string clusterId;
-					std::string clusterName;
-					std::string regionId;
-					std::string volumeMountpoint;
-				};
+				struct VolumeInfo
+				{
+					std::string volumeProtocol;
+					std::string volumeId;
+					std::string remoteDirectory;
+					std::string volumeType;
+					std::string clusterId;
+					std::string clusterName;
+					std::string regionId;
+					std::string volumeMountpoint;
+				};
 
 
 
 
 				ListVolumesResult();
 				ListVolumesResult();
 				explicit ListVolumesResult(const std::string &payload);
 				explicit ListVolumesResult(const std::string &payload);
 				~ListVolumesResult();
 				~ListVolumesResult();
-				int getTotalCount()const;
-				std::vector<VolumeInfo> getVolumes()const;
-				int getPageSize()const;
-				int getPageNumber()const;
+				int getTotalCount()const;
+				std::vector<VolumeInfo> getVolumes()const;
+				int getPageSize()const;
+				int getPageNumber()const;
 
 
 			protected:
 			protected:
 				void parse(const std::string &payload);
 				void parse(const std::string &payload);
 			private:
 			private:
-				int totalCount_;
-				std::vector<VolumeInfo> volumes_;
-				int pageSize_;
-				int pageNumber_;
+				int totalCount_;
+				std::vector<VolumeInfo> volumes_;
+				int pageSize_;
+				int pageNumber_;
 
 
 			};
 			};
 		}
 		}

+ 51 - 0
ehpc/include/alibabacloud/ehpc/model/RecoverClusterRequest.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_EHPC_MODEL_RECOVERCLUSTERREQUEST_H_
+#define ALIBABACLOUD_EHPC_MODEL_RECOVERCLUSTERREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/ehpc/EHPCExport.h>
+
+namespace AlibabaCloud
+{
+	namespace EHPC
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_EHPC_EXPORT RecoverClusterRequest : public RpcServiceRequest
+			{
+
+			public:
+				RecoverClusterRequest();
+				~RecoverClusterRequest();
+
+				std::string getClusterId()const;
+				void setClusterId(const std::string& clusterId);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string clusterId_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_EHPC_MODEL_RECOVERCLUSTERREQUEST_H_

+ 49 - 0
ehpc/include/alibabacloud/ehpc/model/RecoverClusterResult.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_EHPC_MODEL_RECOVERCLUSTERRESULT_H_
+#define ALIBABACLOUD_EHPC_MODEL_RECOVERCLUSTERRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/ehpc/EHPCExport.h>
+
+namespace AlibabaCloud
+{
+	namespace EHPC
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_EHPC_EXPORT RecoverClusterResult : public ServiceResult
+			{
+			public:
+
+
+				RecoverClusterResult();
+				explicit RecoverClusterResult(const std::string &payload);
+				~RecoverClusterResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_EHPC_MODEL_RECOVERCLUSTERRESULT_H_

+ 51 - 0
ehpc/include/alibabacloud/ehpc/model/StartClusterRequest.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_EHPC_MODEL_STARTCLUSTERREQUEST_H_
+#define ALIBABACLOUD_EHPC_MODEL_STARTCLUSTERREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/ehpc/EHPCExport.h>
+
+namespace AlibabaCloud
+{
+	namespace EHPC
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_EHPC_EXPORT StartClusterRequest : public RpcServiceRequest
+			{
+
+			public:
+				StartClusterRequest();
+				~StartClusterRequest();
+
+				std::string getClusterId()const;
+				void setClusterId(const std::string& clusterId);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string clusterId_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_EHPC_MODEL_STARTCLUSTERREQUEST_H_

+ 49 - 0
ehpc/include/alibabacloud/ehpc/model/StartClusterResult.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_EHPC_MODEL_STARTCLUSTERRESULT_H_
+#define ALIBABACLOUD_EHPC_MODEL_STARTCLUSTERRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/ehpc/EHPCExport.h>
+
+namespace AlibabaCloud
+{
+	namespace EHPC
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_EHPC_EXPORT StartClusterResult : public ServiceResult
+			{
+			public:
+
+
+				StartClusterResult();
+				explicit StartClusterResult(const std::string &payload);
+				~StartClusterResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_EHPC_MODEL_STARTCLUSTERRESULT_H_

+ 61 - 0
ehpc/include/alibabacloud/ehpc/model/StartNodesRequest.h

@@ -0,0 +1,61 @@
+/*
+ * 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_EHPC_MODEL_STARTNODESREQUEST_H_
+#define ALIBABACLOUD_EHPC_MODEL_STARTNODESREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/ehpc/EHPCExport.h>
+
+namespace AlibabaCloud
+{
+	namespace EHPC
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_EHPC_EXPORT StartNodesRequest : public RpcServiceRequest
+			{
+				struct Instance
+				{
+					std::string id;
+				};
+
+			public:
+				StartNodesRequest();
+				~StartNodesRequest();
+
+				std::string getRole()const;
+				void setRole(const std::string& role);
+				std::vector<Instance> getInstance()const;
+				void setInstance(const std::vector<Instance>& instance);
+				std::string getClusterId()const;
+				void setClusterId(const std::string& clusterId);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string role_;
+				std::vector<Instance> instance_;
+				std::string clusterId_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_EHPC_MODEL_STARTNODESREQUEST_H_

+ 49 - 0
ehpc/include/alibabacloud/ehpc/model/StartNodesResult.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_EHPC_MODEL_STARTNODESRESULT_H_
+#define ALIBABACLOUD_EHPC_MODEL_STARTNODESRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/ehpc/EHPCExport.h>
+
+namespace AlibabaCloud
+{
+	namespace EHPC
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_EHPC_EXPORT StartNodesResult : public ServiceResult
+			{
+			public:
+
+
+				StartNodesResult();
+				explicit StartNodesResult(const std::string &payload);
+				~StartNodesResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_EHPC_MODEL_STARTNODESRESULT_H_

+ 51 - 0
ehpc/include/alibabacloud/ehpc/model/StopClusterRequest.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_EHPC_MODEL_STOPCLUSTERREQUEST_H_
+#define ALIBABACLOUD_EHPC_MODEL_STOPCLUSTERREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/ehpc/EHPCExport.h>
+
+namespace AlibabaCloud
+{
+	namespace EHPC
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_EHPC_EXPORT StopClusterRequest : public RpcServiceRequest
+			{
+
+			public:
+				StopClusterRequest();
+				~StopClusterRequest();
+
+				std::string getClusterId()const;
+				void setClusterId(const std::string& clusterId);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string clusterId_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_EHPC_MODEL_STOPCLUSTERREQUEST_H_

+ 49 - 0
ehpc/include/alibabacloud/ehpc/model/StopClusterResult.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_EHPC_MODEL_STOPCLUSTERRESULT_H_
+#define ALIBABACLOUD_EHPC_MODEL_STOPCLUSTERRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/ehpc/EHPCExport.h>
+
+namespace AlibabaCloud
+{
+	namespace EHPC
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_EHPC_EXPORT StopClusterResult : public ServiceResult
+			{
+			public:
+
+
+				StopClusterResult();
+				explicit StopClusterResult(const std::string &payload);
+				~StopClusterResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_EHPC_MODEL_STOPCLUSTERRESULT_H_

+ 61 - 0
ehpc/include/alibabacloud/ehpc/model/StopNodesRequest.h

@@ -0,0 +1,61 @@
+/*
+ * 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_EHPC_MODEL_STOPNODESREQUEST_H_
+#define ALIBABACLOUD_EHPC_MODEL_STOPNODESREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/ehpc/EHPCExport.h>
+
+namespace AlibabaCloud
+{
+	namespace EHPC
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_EHPC_EXPORT StopNodesRequest : public RpcServiceRequest
+			{
+				struct Instance
+				{
+					std::string id;
+				};
+
+			public:
+				StopNodesRequest();
+				~StopNodesRequest();
+
+				std::string getRole()const;
+				void setRole(const std::string& role);
+				std::vector<Instance> getInstance()const;
+				void setInstance(const std::vector<Instance>& instance);
+				std::string getClusterId()const;
+				void setClusterId(const std::string& clusterId);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string role_;
+				std::vector<Instance> instance_;
+				std::string clusterId_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_EHPC_MODEL_STOPNODESREQUEST_H_

+ 49 - 0
ehpc/include/alibabacloud/ehpc/model/StopNodesResult.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_EHPC_MODEL_STOPNODESRESULT_H_
+#define ALIBABACLOUD_EHPC_MODEL_STOPNODESRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/ehpc/EHPCExport.h>
+
+namespace AlibabaCloud
+{
+	namespace EHPC
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_EHPC_EXPORT StopNodesResult : public ServiceResult
+			{
+			public:
+
+
+				StopNodesResult();
+				explicit StopNodesResult(const std::string &payload);
+				~StopNodesResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_EHPC_MODEL_STOPNODESRESULT_H_

+ 2 - 2
ehpc/include/alibabacloud/ehpc/model/SubmitJobResult.h

@@ -37,12 +37,12 @@ namespace AlibabaCloud
 				SubmitJobResult();
 				SubmitJobResult();
 				explicit SubmitJobResult(const std::string &payload);
 				explicit SubmitJobResult(const std::string &payload);
 				~SubmitJobResult();
 				~SubmitJobResult();
-				std::string getJobId()const;
+				std::string getJobId()const;
 
 
 			protected:
 			protected:
 				void parse(const std::string &payload);
 				void parse(const std::string &payload);
 			private:
 			private:
-				std::string jobId_;
+				std::string jobId_;
 
 
 			};
 			};
 		}
 		}

+ 212 - 32
ehpc/src/EHPCClient.cc

@@ -24,7 +24,7 @@ using namespace AlibabaCloud::EHPC::Model;
 
 
 namespace
 namespace
 {
 {
-	const std::string SERVICE_NAME = "EHPC";
+	const std::string SERVICE_NAME = "EHPC";
 }
 }
 
 
 EHPCClient::EHPCClient(const Credentials &credentials, const ClientConfiguration &configuration) :
 EHPCClient::EHPCClient(const Credentials &credentials, const ClientConfiguration &configuration) :
@@ -86,7 +86,7 @@ EHPCClient::DeleteUsersOutcomeCallable EHPCClient::deleteUsersCallable(const Del
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	return task->get_future();
 	return task->get_future();
 }
 }
-
+
 EHPCClient::DescribeClusterOutcome EHPCClient::describeCluster(const DescribeClusterRequest &request) const
 EHPCClient::DescribeClusterOutcome EHPCClient::describeCluster(const DescribeClusterRequest &request) const
 {
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -122,7 +122,7 @@ EHPCClient::DescribeClusterOutcomeCallable EHPCClient::describeClusterCallable(c
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	return task->get_future();
 	return task->get_future();
 }
 }
-
+
 EHPCClient::ListUsersOutcome EHPCClient::listUsers(const ListUsersRequest &request) const
 EHPCClient::ListUsersOutcome EHPCClient::listUsers(const ListUsersRequest &request) const
 {
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -158,7 +158,7 @@ EHPCClient::ListUsersOutcomeCallable EHPCClient::listUsersCallable(const ListUse
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	return task->get_future();
 	return task->get_future();
 }
 }
-
+
 EHPCClient::UpgradeClientOutcome EHPCClient::upgradeClient(const UpgradeClientRequest &request) const
 EHPCClient::UpgradeClientOutcome EHPCClient::upgradeClient(const UpgradeClientRequest &request) const
 {
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -194,7 +194,43 @@ EHPCClient::UpgradeClientOutcomeCallable EHPCClient::upgradeClientCallable(const
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	return task->get_future();
 	return task->get_future();
 }
 }
+
+EHPCClient::StopNodesOutcome EHPCClient::stopNodes(const StopNodesRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return StopNodesOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return StopNodesOutcome(StopNodesResult(outcome.result()));
+	else
+		return StopNodesOutcome(outcome.error());
+}
+
+void EHPCClient::stopNodesAsync(const StopNodesRequest& request, const StopNodesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, stopNodes(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
 
 
+EHPCClient::StopNodesOutcomeCallable EHPCClient::stopNodesCallable(const StopNodesRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<StopNodesOutcome()>>(
+			[this, request]()
+			{
+			return this->stopNodes(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 EHPCClient::ListCurrentClientVersionOutcome EHPCClient::listCurrentClientVersion(const ListCurrentClientVersionRequest &request) const
 EHPCClient::ListCurrentClientVersionOutcome EHPCClient::listCurrentClientVersion(const ListCurrentClientVersionRequest &request) const
 {
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -230,7 +266,7 @@ EHPCClient::ListCurrentClientVersionOutcomeCallable EHPCClient::listCurrentClien
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	return task->get_future();
 	return task->get_future();
 }
 }
-
+
 EHPCClient::DeleteClusterOutcome EHPCClient::deleteCluster(const DeleteClusterRequest &request) const
 EHPCClient::DeleteClusterOutcome EHPCClient::deleteCluster(const DeleteClusterRequest &request) const
 {
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -266,7 +302,7 @@ EHPCClient::DeleteClusterOutcomeCallable EHPCClient::deleteClusterCallable(const
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	return task->get_future();
 	return task->get_future();
 }
 }
-
+
 EHPCClient::ListImagesOutcome EHPCClient::listImages(const ListImagesRequest &request) const
 EHPCClient::ListImagesOutcome EHPCClient::listImages(const ListImagesRequest &request) const
 {
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -302,7 +338,7 @@ EHPCClient::ListImagesOutcomeCallable EHPCClient::listImagesCallable(const ListI
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	return task->get_future();
 	return task->get_future();
 }
 }
-
+
 EHPCClient::SetAutoScaleConfigOutcome EHPCClient::setAutoScaleConfig(const SetAutoScaleConfigRequest &request) const
 EHPCClient::SetAutoScaleConfigOutcome EHPCClient::setAutoScaleConfig(const SetAutoScaleConfigRequest &request) const
 {
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -338,7 +374,7 @@ EHPCClient::SetAutoScaleConfigOutcomeCallable EHPCClient::setAutoScaleConfigCall
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	return task->get_future();
 	return task->get_future();
 }
 }
-
+
 EHPCClient::ListVolumesOutcome EHPCClient::listVolumes(const ListVolumesRequest &request) const
 EHPCClient::ListVolumesOutcome EHPCClient::listVolumes(const ListVolumesRequest &request) const
 {
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -374,7 +410,7 @@ EHPCClient::ListVolumesOutcomeCallable EHPCClient::listVolumesCallable(const Lis
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	return task->get_future();
 	return task->get_future();
 }
 }
-
+
 EHPCClient::AddNodesOutcome EHPCClient::addNodes(const AddNodesRequest &request) const
 EHPCClient::AddNodesOutcome EHPCClient::addNodes(const AddNodesRequest &request) const
 {
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -410,7 +446,7 @@ EHPCClient::AddNodesOutcomeCallable EHPCClient::addNodesCallable(const AddNodesR
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	return task->get_future();
 	return task->get_future();
 }
 }
-
+
 EHPCClient::ListSoftwaresOutcome EHPCClient::listSoftwares(const ListSoftwaresRequest &request) const
 EHPCClient::ListSoftwaresOutcome EHPCClient::listSoftwares(const ListSoftwaresRequest &request) const
 {
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -446,7 +482,7 @@ EHPCClient::ListSoftwaresOutcomeCallable EHPCClient::listSoftwaresCallable(const
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	return task->get_future();
 	return task->get_future();
 }
 }
-
+
 EHPCClient::StopJobsOutcome EHPCClient::stopJobs(const StopJobsRequest &request) const
 EHPCClient::StopJobsOutcome EHPCClient::stopJobs(const StopJobsRequest &request) const
 {
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -482,7 +518,43 @@ EHPCClient::StopJobsOutcomeCallable EHPCClient::stopJobsCallable(const StopJobsR
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	return task->get_future();
 	return task->get_future();
 }
 }
+
+EHPCClient::StartNodesOutcome EHPCClient::startNodes(const StartNodesRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return StartNodesOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return StartNodesOutcome(StartNodesResult(outcome.result()));
+	else
+		return StartNodesOutcome(outcome.error());
+}
+
+void EHPCClient::startNodesAsync(const StartNodesRequest& request, const StartNodesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, startNodes(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+EHPCClient::StartNodesOutcomeCallable EHPCClient::startNodesCallable(const StartNodesRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<StartNodesOutcome()>>(
+			[this, request]()
+			{
+			return this->startNodes(request);
+			});
 
 
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 EHPCClient::GetAutoScaleConfigOutcome EHPCClient::getAutoScaleConfig(const GetAutoScaleConfigRequest &request) const
 EHPCClient::GetAutoScaleConfigOutcome EHPCClient::getAutoScaleConfig(const GetAutoScaleConfigRequest &request) const
 {
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -518,7 +590,7 @@ EHPCClient::GetAutoScaleConfigOutcomeCallable EHPCClient::getAutoScaleConfigCall
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	return task->get_future();
 	return task->get_future();
 }
 }
-
+
 EHPCClient::ListNodesOutcome EHPCClient::listNodes(const ListNodesRequest &request) const
 EHPCClient::ListNodesOutcome EHPCClient::listNodes(const ListNodesRequest &request) const
 {
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -554,7 +626,7 @@ EHPCClient::ListNodesOutcomeCallable EHPCClient::listNodesCallable(const ListNod
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	return task->get_future();
 	return task->get_future();
 }
 }
-
+
 EHPCClient::SetJobUserOutcome EHPCClient::setJobUser(const SetJobUserRequest &request) const
 EHPCClient::SetJobUserOutcome EHPCClient::setJobUser(const SetJobUserRequest &request) const
 {
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -590,7 +662,7 @@ EHPCClient::SetJobUserOutcomeCallable EHPCClient::setJobUserCallable(const SetJo
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	return task->get_future();
 	return task->get_future();
 }
 }
-
+
 EHPCClient::ModifyUserGroupsOutcome EHPCClient::modifyUserGroups(const ModifyUserGroupsRequest &request) const
 EHPCClient::ModifyUserGroupsOutcome EHPCClient::modifyUserGroups(const ModifyUserGroupsRequest &request) const
 {
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -626,7 +698,43 @@ EHPCClient::ModifyUserGroupsOutcomeCallable EHPCClient::modifyUserGroupsCallable
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	return task->get_future();
 	return task->get_future();
 }
 }
+
+EHPCClient::StartClusterOutcome EHPCClient::startCluster(const StartClusterRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return StartClusterOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return StartClusterOutcome(StartClusterResult(outcome.result()));
+	else
+		return StartClusterOutcome(outcome.error());
+}
+
+void EHPCClient::startClusterAsync(const StartClusterRequest& request, const StartClusterAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, startCluster(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+EHPCClient::StartClusterOutcomeCallable EHPCClient::startClusterCallable(const StartClusterRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<StartClusterOutcome()>>(
+			[this, request]()
+			{
+			return this->startCluster(request);
+			});
 
 
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 EHPCClient::ListClustersOutcome EHPCClient::listClusters(const ListClustersRequest &request) const
 EHPCClient::ListClustersOutcome EHPCClient::listClusters(const ListClustersRequest &request) const
 {
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -662,7 +770,7 @@ EHPCClient::ListClustersOutcomeCallable EHPCClient::listClustersCallable(const L
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	return task->get_future();
 	return task->get_future();
 }
 }
-
+
 EHPCClient::SubmitJobOutcome EHPCClient::submitJob(const SubmitJobRequest &request) const
 EHPCClient::SubmitJobOutcome EHPCClient::submitJob(const SubmitJobRequest &request) const
 {
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -698,7 +806,7 @@ EHPCClient::SubmitJobOutcomeCallable EHPCClient::submitJobCallable(const SubmitJ
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	return task->get_future();
 	return task->get_future();
 }
 }
-
+
 EHPCClient::ListCustomImagesOutcome EHPCClient::listCustomImages(const ListCustomImagesRequest &request) const
 EHPCClient::ListCustomImagesOutcome EHPCClient::listCustomImages(const ListCustomImagesRequest &request) const
 {
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -734,7 +842,7 @@ EHPCClient::ListCustomImagesOutcomeCallable EHPCClient::listCustomImagesCallable
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	return task->get_future();
 	return task->get_future();
 }
 }
-
+
 EHPCClient::ListRegionsOutcome EHPCClient::listRegions(const ListRegionsRequest &request) const
 EHPCClient::ListRegionsOutcome EHPCClient::listRegions(const ListRegionsRequest &request) const
 {
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -770,7 +878,7 @@ EHPCClient::ListRegionsOutcomeCallable EHPCClient::listRegionsCallable(const Lis
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	return task->get_future();
 	return task->get_future();
 }
 }
-
+
 EHPCClient::AddUsersOutcome EHPCClient::addUsers(const AddUsersRequest &request) const
 EHPCClient::AddUsersOutcome EHPCClient::addUsers(const AddUsersRequest &request) const
 {
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -806,7 +914,7 @@ EHPCClient::AddUsersOutcomeCallable EHPCClient::addUsersCallable(const AddUsersR
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	return task->get_future();
 	return task->get_future();
 }
 }
-
+
 EHPCClient::ListJobTemplatesOutcome EHPCClient::listJobTemplates(const ListJobTemplatesRequest &request) const
 EHPCClient::ListJobTemplatesOutcome EHPCClient::listJobTemplates(const ListJobTemplatesRequest &request) const
 {
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -842,7 +950,7 @@ EHPCClient::ListJobTemplatesOutcomeCallable EHPCClient::listJobTemplatesCallable
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	return task->get_future();
 	return task->get_future();
 }
 }
-
+
 EHPCClient::ModifyClusterAttributesOutcome EHPCClient::modifyClusterAttributes(const ModifyClusterAttributesRequest &request) const
 EHPCClient::ModifyClusterAttributesOutcome EHPCClient::modifyClusterAttributes(const ModifyClusterAttributesRequest &request) const
 {
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -878,7 +986,7 @@ EHPCClient::ModifyClusterAttributesOutcomeCallable EHPCClient::modifyClusterAttr
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	return task->get_future();
 	return task->get_future();
 }
 }
-
+
 EHPCClient::DeleteJobTemplatesOutcome EHPCClient::deleteJobTemplates(const DeleteJobTemplatesRequest &request) const
 EHPCClient::DeleteJobTemplatesOutcome EHPCClient::deleteJobTemplates(const DeleteJobTemplatesRequest &request) const
 {
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -914,7 +1022,43 @@ EHPCClient::DeleteJobTemplatesOutcomeCallable EHPCClient::deleteJobTemplatesCall
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	return task->get_future();
 	return task->get_future();
 }
 }
+
+EHPCClient::StopClusterOutcome EHPCClient::stopCluster(const StopClusterRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return StopClusterOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return StopClusterOutcome(StopClusterResult(outcome.result()));
+	else
+		return StopClusterOutcome(outcome.error());
+}
+
+void EHPCClient::stopClusterAsync(const StopClusterRequest& request, const StopClusterAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, stopCluster(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+EHPCClient::StopClusterOutcomeCallable EHPCClient::stopClusterCallable(const StopClusterRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<StopClusterOutcome()>>(
+			[this, request]()
+			{
+			return this->stopCluster(request);
+			});
 
 
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 EHPCClient::ListNodesNoPagingOutcome EHPCClient::listNodesNoPaging(const ListNodesNoPagingRequest &request) const
 EHPCClient::ListNodesNoPagingOutcome EHPCClient::listNodesNoPaging(const ListNodesNoPagingRequest &request) const
 {
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -950,7 +1094,7 @@ EHPCClient::ListNodesNoPagingOutcomeCallable EHPCClient::listNodesNoPagingCallab
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	return task->get_future();
 	return task->get_future();
 }
 }
-
+
 EHPCClient::CreateJobTemplateOutcome EHPCClient::createJobTemplate(const CreateJobTemplateRequest &request) const
 EHPCClient::CreateJobTemplateOutcome EHPCClient::createJobTemplate(const CreateJobTemplateRequest &request) const
 {
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -986,7 +1130,7 @@ EHPCClient::CreateJobTemplateOutcomeCallable EHPCClient::createJobTemplateCallab
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	return task->get_future();
 	return task->get_future();
 }
 }
-
+
 EHPCClient::RerunJobsOutcome EHPCClient::rerunJobs(const RerunJobsRequest &request) const
 EHPCClient::RerunJobsOutcome EHPCClient::rerunJobs(const RerunJobsRequest &request) const
 {
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -1022,7 +1166,7 @@ EHPCClient::RerunJobsOutcomeCallable EHPCClient::rerunJobsCallable(const RerunJo
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	return task->get_future();
 	return task->get_future();
 }
 }
-
+
 EHPCClient::ResetNodesOutcome EHPCClient::resetNodes(const ResetNodesRequest &request) const
 EHPCClient::ResetNodesOutcome EHPCClient::resetNodes(const ResetNodesRequest &request) const
 {
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -1058,7 +1202,7 @@ EHPCClient::ResetNodesOutcomeCallable EHPCClient::resetNodesCallable(const Reset
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	return task->get_future();
 	return task->get_future();
 }
 }
-
+
 EHPCClient::EditJobTemplateOutcome EHPCClient::editJobTemplate(const EditJobTemplateRequest &request) const
 EHPCClient::EditJobTemplateOutcome EHPCClient::editJobTemplate(const EditJobTemplateRequest &request) const
 {
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -1094,7 +1238,7 @@ EHPCClient::EditJobTemplateOutcomeCallable EHPCClient::editJobTemplateCallable(c
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	return task->get_future();
 	return task->get_future();
 }
 }
-
+
 EHPCClient::ListPreferredEcsTypesOutcome EHPCClient::listPreferredEcsTypes(const ListPreferredEcsTypesRequest &request) const
 EHPCClient::ListPreferredEcsTypesOutcome EHPCClient::listPreferredEcsTypes(const ListPreferredEcsTypesRequest &request) const
 {
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -1130,7 +1274,7 @@ EHPCClient::ListPreferredEcsTypesOutcomeCallable EHPCClient::listPreferredEcsTyp
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	return task->get_future();
 	return task->get_future();
 }
 }
-
+
 EHPCClient::ListClusterLogsOutcome EHPCClient::listClusterLogs(const ListClusterLogsRequest &request) const
 EHPCClient::ListClusterLogsOutcome EHPCClient::listClusterLogs(const ListClusterLogsRequest &request) const
 {
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -1166,7 +1310,43 @@ EHPCClient::ListClusterLogsOutcomeCallable EHPCClient::listClusterLogsCallable(c
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	return task->get_future();
 	return task->get_future();
 }
 }
+
+EHPCClient::RecoverClusterOutcome EHPCClient::recoverCluster(const RecoverClusterRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return RecoverClusterOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return RecoverClusterOutcome(RecoverClusterResult(outcome.result()));
+	else
+		return RecoverClusterOutcome(outcome.error());
+}
 
 
+void EHPCClient::recoverClusterAsync(const RecoverClusterRequest& request, const RecoverClusterAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, recoverCluster(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+EHPCClient::RecoverClusterOutcomeCallable EHPCClient::recoverClusterCallable(const RecoverClusterRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<RecoverClusterOutcome()>>(
+			[this, request]()
+			{
+			return this->recoverCluster(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 EHPCClient::DeleteJobsOutcome EHPCClient::deleteJobs(const DeleteJobsRequest &request) const
 EHPCClient::DeleteJobsOutcome EHPCClient::deleteJobs(const DeleteJobsRequest &request) const
 {
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -1202,7 +1382,7 @@ EHPCClient::DeleteJobsOutcomeCallable EHPCClient::deleteJobsCallable(const Delet
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	return task->get_future();
 	return task->get_future();
 }
 }
-
+
 EHPCClient::DeleteNodesOutcome EHPCClient::deleteNodes(const DeleteNodesRequest &request) const
 EHPCClient::DeleteNodesOutcome EHPCClient::deleteNodes(const DeleteNodesRequest &request) const
 {
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -1238,7 +1418,7 @@ EHPCClient::DeleteNodesOutcomeCallable EHPCClient::deleteNodesCallable(const Del
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	return task->get_future();
 	return task->get_future();
 }
 }
-
+
 EHPCClient::ListJobsOutcome EHPCClient::listJobs(const ListJobsRequest &request) const
 EHPCClient::ListJobsOutcome EHPCClient::listJobs(const ListJobsRequest &request) const
 {
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -1274,7 +1454,7 @@ EHPCClient::ListJobsOutcomeCallable EHPCClient::listJobsCallable(const ListJobsR
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	return task->get_future();
 	return task->get_future();
 }
 }
-
+
 EHPCClient::CreateClusterOutcome EHPCClient::createCluster(const CreateClusterRequest &request) const
 EHPCClient::CreateClusterOutcome EHPCClient::createCluster(const CreateClusterRequest &request) const
 {
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -1310,7 +1490,7 @@ EHPCClient::CreateClusterOutcomeCallable EHPCClient::createClusterCallable(const
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	return task->get_future();
 	return task->get_future();
 }
 }
-
+
 EHPCClient::ModifyUserPasswordsOutcome EHPCClient::modifyUserPasswords(const ModifyUserPasswordsRequest &request) const
 EHPCClient::ModifyUserPasswordsOutcome EHPCClient::modifyUserPasswords(const ModifyUserPasswordsRequest &request) const
 {
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -1346,4 +1526,4 @@ EHPCClient::ModifyUserPasswordsOutcomeCallable EHPCClient::modifyUserPasswordsCa
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	return task->get_future();
 	return task->get_future();
 }
 }
-
+

+ 67 - 12
ehpc/src/model/AddNodesRequest.cc

@@ -19,12 +19,34 @@
 using AlibabaCloud::EHPC::Model::AddNodesRequest;
 using AlibabaCloud::EHPC::Model::AddNodesRequest;
 
 
 AddNodesRequest::AddNodesRequest() :
 AddNodesRequest::AddNodesRequest() :
-	RpcServiceRequest("ehpc", "2017-07-14", "AddNodes")
+	RpcServiceRequest("ehpc", "2018-04-12", "AddNodes")
 {}
 {}
 
 
 AddNodesRequest::~AddNodesRequest()
 AddNodesRequest::~AddNodesRequest()
 {}
 {}
 
 
+int AddNodesRequest::getAutoRenewPeriod()const
+{
+	return autoRenewPeriod_;
+}
+
+void AddNodesRequest::setAutoRenewPeriod(int autoRenewPeriod)
+{
+	autoRenewPeriod_ = autoRenewPeriod;
+	setParameter("AutoRenewPeriod", std::to_string(autoRenewPeriod));
+}
+
+int AddNodesRequest::getPeriod()const
+{
+	return period_;
+}
+
+void AddNodesRequest::setPeriod(int period)
+{
+	period_ = period;
+	setParameter("Period", std::to_string(period));
+}
+
 std::string AddNodesRequest::getImageId()const
 std::string AddNodesRequest::getImageId()const
 {
 {
 	return imageId_;
 	return imageId_;
@@ -69,17 +91,6 @@ void AddNodesRequest::setComputeSpotStrategy(const std::string& computeSpotStrat
 	setParameter("ComputeSpotStrategy", computeSpotStrategy);
 	setParameter("ComputeSpotStrategy", computeSpotStrategy);
 }
 }
 
 
-std::string AddNodesRequest::getComputeSpotPriceLimit()const
-{
-	return computeSpotPriceLimit_;
-}
-
-void AddNodesRequest::setComputeSpotPriceLimit(const std::string& computeSpotPriceLimit)
-{
-	computeSpotPriceLimit_ = computeSpotPriceLimit;
-	setParameter("ComputeSpotPriceLimit", computeSpotPriceLimit);
-}
-
 std::string AddNodesRequest::getAccessKeyId()const
 std::string AddNodesRequest::getAccessKeyId()const
 {
 {
 	return accessKeyId_;
 	return accessKeyId_;
@@ -102,3 +113,47 @@ void AddNodesRequest::setImageOwnerAlias(const std::string& imageOwnerAlias)
 	setParameter("ImageOwnerAlias", imageOwnerAlias);
 	setParameter("ImageOwnerAlias", imageOwnerAlias);
 }
 }
 
 
+std::string AddNodesRequest::getPeriodUnit()const
+{
+	return periodUnit_;
+}
+
+void AddNodesRequest::setPeriodUnit(const std::string& periodUnit)
+{
+	periodUnit_ = periodUnit;
+	setParameter("PeriodUnit", periodUnit);
+}
+
+std::string AddNodesRequest::getAutoRenew()const
+{
+	return autoRenew_;
+}
+
+void AddNodesRequest::setAutoRenew(const std::string& autoRenew)
+{
+	autoRenew_ = autoRenew;
+	setParameter("AutoRenew", autoRenew);
+}
+
+std::string AddNodesRequest::getEcsChargeType()const
+{
+	return ecsChargeType_;
+}
+
+void AddNodesRequest::setEcsChargeType(const std::string& ecsChargeType)
+{
+	ecsChargeType_ = ecsChargeType;
+	setParameter("EcsChargeType", ecsChargeType);
+}
+
+std::string AddNodesRequest::getComputeSpotPriceLimit()const
+{
+	return computeSpotPriceLimit_;
+}
+
+void AddNodesRequest::setComputeSpotPriceLimit(const std::string& computeSpotPriceLimit)
+{
+	computeSpotPriceLimit_ = computeSpotPriceLimit;
+	setParameter("ComputeSpotPriceLimit", computeSpotPriceLimit);
+}
+

+ 8 - 8
ehpc/src/model/AddNodesResult.cc

@@ -40,14 +40,14 @@ void AddNodesResult::parse(const std::string &payload)
 	reader.parse(payload, value);
 	reader.parse(payload, value);
 
 
 	setRequestId(value["RequestId"].asString());
 	setRequestId(value["RequestId"].asString());
-	auto allInstanceIds = value["InstanceIds"]["InstanceId"];
-	for (const auto &item : allInstanceIds)
-		instanceIds_.push_back(item.asString());
+	auto allInstanceIds = value["InstanceIds"]["InstanceId"];
+	for (const auto &item : allInstanceIds)
+		instanceIds_.push_back(item.asString());
 
 
 }
 }
 
 
-std::vector<std::string> AddNodesResult::getInstanceIds()const
-{
-	return instanceIds_;
-}
-
+std::vector<std::string> AddNodesResult::getInstanceIds()const
+{
+	return instanceIds_;
+}
+

+ 1 - 1
ehpc/src/model/AddUsersRequest.cc

@@ -19,7 +19,7 @@
 using AlibabaCloud::EHPC::Model::AddUsersRequest;
 using AlibabaCloud::EHPC::Model::AddUsersRequest;
 
 
 AddUsersRequest::AddUsersRequest() :
 AddUsersRequest::AddUsersRequest() :
-	RpcServiceRequest("ehpc", "2017-07-14", "AddUsers")
+	RpcServiceRequest("ehpc", "2018-04-12", "AddUsers")
 {}
 {}
 
 
 AddUsersRequest::~AddUsersRequest()
 AddUsersRequest::~AddUsersRequest()

+ 84 - 1
ehpc/src/model/CreateClusterRequest.cc

@@ -19,7 +19,7 @@
 using AlibabaCloud::EHPC::Model::CreateClusterRequest;
 using AlibabaCloud::EHPC::Model::CreateClusterRequest;
 
 
 CreateClusterRequest::CreateClusterRequest() :
 CreateClusterRequest::CreateClusterRequest() :
-	RpcServiceRequest("ehpc", "2017-07-14", "CreateCluster")
+	RpcServiceRequest("ehpc", "2018-04-12", "CreateCluster")
 {}
 {}
 
 
 CreateClusterRequest::~CreateClusterRequest()
 CreateClusterRequest::~CreateClusterRequest()
@@ -168,6 +168,17 @@ void CreateClusterRequest::setVolumeType(const std::string& volumeType)
 	setParameter("VolumeType", volumeType);
 	setParameter("VolumeType", volumeType);
 }
 }
 
 
+std::string CreateClusterRequest::getDeployMode()const
+{
+	return deployMode_;
+}
+
+void CreateClusterRequest::setDeployMode(const std::string& deployMode)
+{
+	deployMode_ = deployMode;
+	setParameter("DeployMode", deployMode);
+}
+
 int CreateClusterRequest::getEcsOrderManagerCount()const
 int CreateClusterRequest::getEcsOrderManagerCount()const
 {
 {
 	return ecsOrderManagerCount_;
 	return ecsOrderManagerCount_;
@@ -212,6 +223,28 @@ void CreateClusterRequest::setComputeSpotPriceLimit(const std::string& computeSp
 	setParameter("ComputeSpotPriceLimit", computeSpotPriceLimit);
 	setParameter("ComputeSpotPriceLimit", computeSpotPriceLimit);
 }
 }
 
 
+int CreateClusterRequest::getAutoRenewPeriod()const
+{
+	return autoRenewPeriod_;
+}
+
+void CreateClusterRequest::setAutoRenewPeriod(int autoRenewPeriod)
+{
+	autoRenewPeriod_ = autoRenewPeriod;
+	setParameter("AutoRenewPeriod", std::to_string(autoRenewPeriod));
+}
+
+int CreateClusterRequest::getPeriod()const
+{
+	return period_;
+}
+
+void CreateClusterRequest::setPeriod(int period)
+{
+	period_ = period;
+	setParameter("Period", std::to_string(period));
+}
+
 std::string CreateClusterRequest::getVolumeProtocol()const
 std::string CreateClusterRequest::getVolumeProtocol()const
 {
 {
 	return volumeProtocol_;
 	return volumeProtocol_;
@@ -267,6 +300,23 @@ void CreateClusterRequest::setComputeSpotStrategy(const std::string& computeSpot
 	setParameter("ComputeSpotStrategy", computeSpotStrategy);
 	setParameter("ComputeSpotStrategy", computeSpotStrategy);
 }
 }
 
 
+std::vector<CreateClusterRequest::PostInstallScript> CreateClusterRequest::getPostInstallScript()const
+{
+	return postInstallScript_;
+}
+
+void CreateClusterRequest::setPostInstallScript(const std::vector<PostInstallScript>& postInstallScript)
+{
+	postInstallScript_ = postInstallScript;
+	int i = 0;
+	for(int i = 0; i!= postInstallScript.size(); i++)	{
+		auto obj = postInstallScript.at(i);
+		std::string str ="PostInstallScript."+ std::to_string(i);
+		setParameter(str + ".Url", obj.url);
+		setParameter(str + ".Args", obj.args);
+	}
+}
+
 std::string CreateClusterRequest::getVSwitchId()const
 std::string CreateClusterRequest::getVSwitchId()const
 {
 {
 	return vSwitchId_;
 	return vSwitchId_;
@@ -278,6 +328,17 @@ void CreateClusterRequest::setVSwitchId(const std::string& vSwitchId)
 	setParameter("VSwitchId", vSwitchId);
 	setParameter("VSwitchId", vSwitchId);
 }
 }
 
 
+std::string CreateClusterRequest::getPeriodUnit()const
+{
+	return periodUnit_;
+}
+
+void CreateClusterRequest::setPeriodUnit(const std::string& periodUnit)
+{
+	periodUnit_ = periodUnit;
+	setParameter("PeriodUnit", periodUnit);
+}
+
 std::vector<CreateClusterRequest::Application> CreateClusterRequest::getApplication()const
 std::vector<CreateClusterRequest::Application> CreateClusterRequest::getApplication()const
 {
 {
 	return application_;
 	return application_;
@@ -294,6 +355,17 @@ void CreateClusterRequest::setApplication(const std::vector<Application>& applic
 	}
 	}
 }
 }
 
 
+std::string CreateClusterRequest::getAutoRenew()const
+{
+	return autoRenew_;
+}
+
+void CreateClusterRequest::setAutoRenew(const std::string& autoRenew)
+{
+	autoRenew_ = autoRenew;
+	setParameter("AutoRenew", autoRenew);
+}
+
 std::string CreateClusterRequest::getEcsChargeType()const
 std::string CreateClusterRequest::getEcsChargeType()const
 {
 {
 	return ecsChargeType_;
 	return ecsChargeType_;
@@ -305,6 +377,17 @@ void CreateClusterRequest::setEcsChargeType(const std::string& ecsChargeType)
 	setParameter("EcsChargeType", ecsChargeType);
 	setParameter("EcsChargeType", ecsChargeType);
 }
 }
 
 
+std::string CreateClusterRequest::getVpcId()const
+{
+	return vpcId_;
+}
+
+void CreateClusterRequest::setVpcId(const std::string& vpcId)
+{
+	vpcId_ = vpcId;
+	setParameter("VpcId", vpcId);
+}
+
 bool CreateClusterRequest::getHaEnable()const
 bool CreateClusterRequest::getHaEnable()const
 {
 {
 	return haEnable_;
 	return haEnable_;

+ 7 - 7
ehpc/src/model/CreateClusterResult.cc

@@ -40,13 +40,13 @@ void CreateClusterResult::parse(const std::string &payload)
 	reader.parse(payload, value);
 	reader.parse(payload, value);
 
 
 	setRequestId(value["RequestId"].asString());
 	setRequestId(value["RequestId"].asString());
-	if(!value["ClusterId"].isNull())
-		clusterId_ = value["ClusterId"].asString();
+	if(!value["ClusterId"].isNull())
+		clusterId_ = value["ClusterId"].asString();
 
 
 }
 }
 
 
-std::string CreateClusterResult::getClusterId()const
-{
-	return clusterId_;
-}
-
+std::string CreateClusterResult::getClusterId()const
+{
+	return clusterId_;
+}
+

+ 1 - 1
ehpc/src/model/CreateJobTemplateRequest.cc

@@ -19,7 +19,7 @@
 using AlibabaCloud::EHPC::Model::CreateJobTemplateRequest;
 using AlibabaCloud::EHPC::Model::CreateJobTemplateRequest;
 
 
 CreateJobTemplateRequest::CreateJobTemplateRequest() :
 CreateJobTemplateRequest::CreateJobTemplateRequest() :
-	RpcServiceRequest("ehpc", "2017-07-14", "CreateJobTemplate")
+	RpcServiceRequest("ehpc", "2018-04-12", "CreateJobTemplate")
 {}
 {}
 
 
 CreateJobTemplateRequest::~CreateJobTemplateRequest()
 CreateJobTemplateRequest::~CreateJobTemplateRequest()

+ 7 - 7
ehpc/src/model/CreateJobTemplateResult.cc

@@ -40,13 +40,13 @@ void CreateJobTemplateResult::parse(const std::string &payload)
 	reader.parse(payload, value);
 	reader.parse(payload, value);
 
 
 	setRequestId(value["RequestId"].asString());
 	setRequestId(value["RequestId"].asString());
-	if(!value["TemplateId"].isNull())
-		templateId_ = value["TemplateId"].asString();
+	if(!value["TemplateId"].isNull())
+		templateId_ = value["TemplateId"].asString();
 
 
 }
 }
 
 
-std::string CreateJobTemplateResult::getTemplateId()const
-{
-	return templateId_;
-}
-
+std::string CreateJobTemplateResult::getTemplateId()const
+{
+	return templateId_;
+}
+

+ 1 - 1
ehpc/src/model/DeleteClusterRequest.cc

@@ -19,7 +19,7 @@
 using AlibabaCloud::EHPC::Model::DeleteClusterRequest;
 using AlibabaCloud::EHPC::Model::DeleteClusterRequest;
 
 
 DeleteClusterRequest::DeleteClusterRequest() :
 DeleteClusterRequest::DeleteClusterRequest() :
-	RpcServiceRequest("ehpc", "2017-07-14", "DeleteCluster")
+	RpcServiceRequest("ehpc", "2018-04-12", "DeleteCluster")
 {}
 {}
 
 
 DeleteClusterRequest::~DeleteClusterRequest()
 DeleteClusterRequest::~DeleteClusterRequest()

+ 1 - 1
ehpc/src/model/DeleteJobTemplatesRequest.cc

@@ -19,7 +19,7 @@
 using AlibabaCloud::EHPC::Model::DeleteJobTemplatesRequest;
 using AlibabaCloud::EHPC::Model::DeleteJobTemplatesRequest;
 
 
 DeleteJobTemplatesRequest::DeleteJobTemplatesRequest() :
 DeleteJobTemplatesRequest::DeleteJobTemplatesRequest() :
-	RpcServiceRequest("ehpc", "2017-07-14", "DeleteJobTemplates")
+	RpcServiceRequest("ehpc", "2018-04-12", "DeleteJobTemplates")
 {}
 {}
 
 
 DeleteJobTemplatesRequest::~DeleteJobTemplatesRequest()
 DeleteJobTemplatesRequest::~DeleteJobTemplatesRequest()

+ 1 - 1
ehpc/src/model/DeleteJobsRequest.cc

@@ -19,7 +19,7 @@
 using AlibabaCloud::EHPC::Model::DeleteJobsRequest;
 using AlibabaCloud::EHPC::Model::DeleteJobsRequest;
 
 
 DeleteJobsRequest::DeleteJobsRequest() :
 DeleteJobsRequest::DeleteJobsRequest() :
-	RpcServiceRequest("ehpc", "2017-07-14", "DeleteJobs")
+	RpcServiceRequest("ehpc", "2018-04-12", "DeleteJobs")
 {}
 {}
 
 
 DeleteJobsRequest::~DeleteJobsRequest()
 DeleteJobsRequest::~DeleteJobsRequest()

+ 1 - 1
ehpc/src/model/DeleteNodesRequest.cc

@@ -19,7 +19,7 @@
 using AlibabaCloud::EHPC::Model::DeleteNodesRequest;
 using AlibabaCloud::EHPC::Model::DeleteNodesRequest;
 
 
 DeleteNodesRequest::DeleteNodesRequest() :
 DeleteNodesRequest::DeleteNodesRequest() :
-	RpcServiceRequest("ehpc", "2017-07-14", "DeleteNodes")
+	RpcServiceRequest("ehpc", "2018-04-12", "DeleteNodes")
 {}
 {}
 
 
 DeleteNodesRequest::~DeleteNodesRequest()
 DeleteNodesRequest::~DeleteNodesRequest()

+ 1 - 1
ehpc/src/model/DeleteUsersRequest.cc

@@ -19,7 +19,7 @@
 using AlibabaCloud::EHPC::Model::DeleteUsersRequest;
 using AlibabaCloud::EHPC::Model::DeleteUsersRequest;
 
 
 DeleteUsersRequest::DeleteUsersRequest() :
 DeleteUsersRequest::DeleteUsersRequest() :
-	RpcServiceRequest("ehpc", "2017-07-14", "DeleteUsers")
+	RpcServiceRequest("ehpc", "2018-04-12", "DeleteUsers")
 {}
 {}
 
 
 DeleteUsersRequest::~DeleteUsersRequest()
 DeleteUsersRequest::~DeleteUsersRequest()

+ 1 - 1
ehpc/src/model/DescribeClusterRequest.cc

@@ -19,7 +19,7 @@
 using AlibabaCloud::EHPC::Model::DescribeClusterRequest;
 using AlibabaCloud::EHPC::Model::DescribeClusterRequest;
 
 
 DescribeClusterRequest::DescribeClusterRequest() :
 DescribeClusterRequest::DescribeClusterRequest() :
-	RpcServiceRequest("ehpc", "2017-07-14", "DescribeCluster")
+	RpcServiceRequest("ehpc", "2018-04-12", "DescribeCluster")
 {}
 {}
 
 
 DescribeClusterRequest::~DescribeClusterRequest()
 DescribeClusterRequest::~DescribeClusterRequest()

+ 82 - 105
ehpc/src/model/DescribeClusterResult.cc

@@ -40,111 +40,88 @@ void DescribeClusterResult::parse(const std::string &payload)
 	reader.parse(payload, value);
 	reader.parse(payload, value);
 
 
 	setRequestId(value["RequestId"].asString());
 	setRequestId(value["RequestId"].asString());
-	auto allClusterInfo = value["ClusterInfo"];
-	for (auto value : allClusterInfo)
-	{
-		ClusterInfo clusterInfoObject;
-		if(!value["Id"].isNull())
-			clusterInfoObject.id = value["Id"].asString();
-		if(!value["RegionId"].isNull())
-			clusterInfoObject.regionId = value["RegionId"].asString();
-		if(!value["Name"].isNull())
-			clusterInfoObject.name = value["Name"].asString();
-		if(!value["Description"].isNull())
-			clusterInfoObject.description = value["Description"].asString();
-		if(!value["Status"].isNull())
-			clusterInfoObject.status = value["Status"].asString();
-		if(!value["OsTag"].isNull())
-			clusterInfoObject.osTag = value["OsTag"].asString();
-		if(!value["AccountType"].isNull())
-			clusterInfoObject.accountType = value["AccountType"].asString();
-		if(!value["SchedulerType"].isNull())
-			clusterInfoObject.schedulerType = value["SchedulerType"].asString();
-		if(!value["CreateTime"].isNull())
-			clusterInfoObject.createTime = value["CreateTime"].asString();
-		if(!value["SecurityGroupId"].isNull())
-			clusterInfoObject.securityGroupId = value["SecurityGroupId"].asString();
-		if(!value["VSwitchId"].isNull())
-			clusterInfoObject.vSwitchId = value["VSwitchId"].asString();
-		if(!value["VolumeType"].isNull())
-			clusterInfoObject.volumeType = value["VolumeType"].asString();
-		if(!value["VolumeId"].isNull())
-			clusterInfoObject.volumeId = value["VolumeId"].asString();
-		if(!value["VolumeProtocol"].isNull())
-			clusterInfoObject.volumeProtocol = value["VolumeProtocol"].asString();
-		if(!value["VolumeMountpoint"].isNull())
-			clusterInfoObject.volumeMountpoint = value["VolumeMountpoint"].asString();
-		if(!value["RemoteDirectory"].isNull())
-			clusterInfoObject.remoteDirectory = value["RemoteDirectory"].asString();
-		if(!value["HaEnable"].isNull())
-			clusterInfoObject.haEnable = value["HaEnable"].asString() == "true";
-		if(!value["EcsChargeType"].isNull())
-			clusterInfoObject.ecsChargeType = value["EcsChargeType"].asString();
-		if(!value["KeyPairName"].isNull())
-			clusterInfoObject.keyPairName = value["KeyPairName"].asString();
-		if(!value["SccClusterId"].isNull())
-			clusterInfoObject.sccClusterId = value["SccClusterId"].asString();
-		if(!value["ClientVersion"].isNull())
-			clusterInfoObject.clientVersion = value["ClientVersion"].asString();
-		if(!value["ImageOwnerAlias"].isNull())
-			clusterInfoObject.imageOwnerAlias = value["ImageOwnerAlias"].asString();
-		if(!value["ImageId"].isNull())
-			clusterInfoObject.imageId = value["ImageId"].asString();
-		auto allApplicationInfo = value["ApplicationInfo"]["ApplicationInfoItem"];
-		for (auto value : allApplicationInfo)
-		{
-			ClusterInfo::ApplicationInfoItem applicationInfoItemObject;
-			if(!value["Tag"].isNull())
-				applicationInfoItemObject.tag = value["Tag"].asString();
-			if(!value["Name"].isNull())
-				applicationInfoItemObject.name = value["Name"].asString();
-			if(!value["Version"].isNull())
-				applicationInfoItemObject.version = value["Version"].asString();
-			clusterInfoObject.applicationInfo.push_back(applicationInfoItemObject);
-		}
-		auto allEcsInfo = value["EcsInfo"];
-		for (auto value : allEcsInfo)
-		{
-			ClusterInfo::EcsInfo ecsInfoObject;
-			auto allManager = value["Manager"];
-			for (auto value : allManager)
-			{
-				ClusterInfo::EcsInfo::Manager managerObject;
-				if(!value["Count"].isNull())
-					managerObject.count = std::stoi(value["Count"].asString());
-				if(!value["InstanceType"].isNull())
-					managerObject.instanceType = value["InstanceType"].asString();
-				ecsInfoObject.manager.push_back(managerObject);
-			}
-			auto allCompute = value["Compute"];
-			for (auto value : allCompute)
-			{
-				ClusterInfo::EcsInfo::Compute computeObject;
-				if(!value["Count"].isNull())
-					computeObject.count = std::stoi(value["Count"].asString());
-				if(!value["InstanceType"].isNull())
-					computeObject.instanceType = value["InstanceType"].asString();
-				ecsInfoObject.compute.push_back(computeObject);
-			}
-			auto allLogin = value["Login"];
-			for (auto value : allLogin)
-			{
-				ClusterInfo::EcsInfo::Login loginObject;
-				if(!value["Count"].isNull())
-					loginObject.count = std::stoi(value["Count"].asString());
-				if(!value["InstanceType"].isNull())
-					loginObject.instanceType = value["InstanceType"].asString();
-				ecsInfoObject.login.push_back(loginObject);
-			}
-			clusterInfoObject.ecsInfo.push_back(ecsInfoObject);
-		}
-		clusterInfo_.push_back(clusterInfoObject);
-	}
+	auto clusterInfoNode = value["ClusterInfo"];
+	if(!clusterInfoNode["Id"].isNull())
+		clusterInfo_.id = clusterInfoNode["Id"].asString();
+	if(!clusterInfoNode["RegionId"].isNull())
+		clusterInfo_.regionId = clusterInfoNode["RegionId"].asString();
+	if(!clusterInfoNode["Name"].isNull())
+		clusterInfo_.name = clusterInfoNode["Name"].asString();
+	if(!clusterInfoNode["Description"].isNull())
+		clusterInfo_.description = clusterInfoNode["Description"].asString();
+	if(!clusterInfoNode["Status"].isNull())
+		clusterInfo_.status = clusterInfoNode["Status"].asString();
+	if(!clusterInfoNode["OsTag"].isNull())
+		clusterInfo_.osTag = clusterInfoNode["OsTag"].asString();
+	if(!clusterInfoNode["AccountType"].isNull())
+		clusterInfo_.accountType = clusterInfoNode["AccountType"].asString();
+	if(!clusterInfoNode["SchedulerType"].isNull())
+		clusterInfo_.schedulerType = clusterInfoNode["SchedulerType"].asString();
+	if(!clusterInfoNode["CreateTime"].isNull())
+		clusterInfo_.createTime = clusterInfoNode["CreateTime"].asString();
+	if(!clusterInfoNode["SecurityGroupId"].isNull())
+		clusterInfo_.securityGroupId = clusterInfoNode["SecurityGroupId"].asString();
+	if(!clusterInfoNode["VSwitchId"].isNull())
+		clusterInfo_.vSwitchId = clusterInfoNode["VSwitchId"].asString();
+	if(!clusterInfoNode["VolumeType"].isNull())
+		clusterInfo_.volumeType = clusterInfoNode["VolumeType"].asString();
+	if(!clusterInfoNode["VolumeId"].isNull())
+		clusterInfo_.volumeId = clusterInfoNode["VolumeId"].asString();
+	if(!clusterInfoNode["VolumeProtocol"].isNull())
+		clusterInfo_.volumeProtocol = clusterInfoNode["VolumeProtocol"].asString();
+	if(!clusterInfoNode["VolumeMountpoint"].isNull())
+		clusterInfo_.volumeMountpoint = clusterInfoNode["VolumeMountpoint"].asString();
+	if(!clusterInfoNode["RemoteDirectory"].isNull())
+		clusterInfo_.remoteDirectory = clusterInfoNode["RemoteDirectory"].asString();
+	if(!clusterInfoNode["DeployMode"].isNull())
+		clusterInfo_.deployMode = clusterInfoNode["DeployMode"].asString();
+	if(!clusterInfoNode["HaEnable"].isNull())
+		clusterInfo_.haEnable = clusterInfoNode["HaEnable"].asString() == "true";
+	if(!clusterInfoNode["EcsChargeType"].isNull())
+		clusterInfo_.ecsChargeType = clusterInfoNode["EcsChargeType"].asString();
+	if(!clusterInfoNode["KeyPairName"].isNull())
+		clusterInfo_.keyPairName = clusterInfoNode["KeyPairName"].asString();
+	if(!clusterInfoNode["SccClusterId"].isNull())
+		clusterInfo_.sccClusterId = clusterInfoNode["SccClusterId"].asString();
+	if(!clusterInfoNode["ClientVersion"].isNull())
+		clusterInfo_.clientVersion = clusterInfoNode["ClientVersion"].asString();
+	if(!clusterInfoNode["ImageOwnerAlias"].isNull())
+		clusterInfo_.imageOwnerAlias = clusterInfoNode["ImageOwnerAlias"].asString();
+	if(!clusterInfoNode["ImageId"].isNull())
+		clusterInfo_.imageId = clusterInfoNode["ImageId"].asString();
+	auto allApplications = value["Applications"]["ApplicationInfo"];
+	for (auto value : allApplications)
+	{
+		ClusterInfo::ApplicationInfo applicationInfoObject;
+		if(!value["Tag"].isNull())
+			applicationInfoObject.tag = value["Tag"].asString();
+		if(!value["Name"].isNull())
+			applicationInfoObject.name = value["Name"].asString();
+		if(!value["Version"].isNull())
+			applicationInfoObject.version = value["Version"].asString();
+		clusterInfo_.applications.push_back(applicationInfoObject);
+	}
+	auto ecsInfoNode = clusterInfoNode["EcsInfo"];
+	auto managerNode = ecsInfoNode["Manager"];
+	if(!managerNode["Count"].isNull())
+		clusterInfo_.ecsInfo.manager.count = std::stoi(managerNode["Count"].asString());
+	if(!managerNode["InstanceType"].isNull())
+		clusterInfo_.ecsInfo.manager.instanceType = managerNode["InstanceType"].asString();
+	auto computeNode = ecsInfoNode["Compute"];
+	if(!computeNode["Count"].isNull())
+		clusterInfo_.ecsInfo.compute.count = std::stoi(computeNode["Count"].asString());
+	if(!computeNode["InstanceType"].isNull())
+		clusterInfo_.ecsInfo.compute.instanceType = computeNode["InstanceType"].asString();
+	auto loginNode = ecsInfoNode["Login"];
+	if(!loginNode["Count"].isNull())
+		clusterInfo_.ecsInfo.login.count = std::stoi(loginNode["Count"].asString());
+	if(!loginNode["InstanceType"].isNull())
+		clusterInfo_.ecsInfo.login.instanceType = loginNode["InstanceType"].asString();
 
 
 }
 }
 
 
-std::vector<DescribeClusterResult::ClusterInfo> DescribeClusterResult::getClusterInfo()const
-{
-	return clusterInfo_;
-}
-
+DescribeClusterResult::ClusterInfo DescribeClusterResult::getClusterInfo()const
+{
+	return clusterInfo_;
+}
+

+ 12 - 12
ehpc/src/model/EditJobTemplateRequest.cc

@@ -19,7 +19,7 @@
 using AlibabaCloud::EHPC::Model::EditJobTemplateRequest;
 using AlibabaCloud::EHPC::Model::EditJobTemplateRequest;
 
 
 EditJobTemplateRequest::EditJobTemplateRequest() :
 EditJobTemplateRequest::EditJobTemplateRequest() :
-	RpcServiceRequest("ehpc", "2017-07-14", "EditJobTemplate")
+	RpcServiceRequest("ehpc", "2018-04-12", "EditJobTemplate")
 {}
 {}
 
 
 EditJobTemplateRequest::~EditJobTemplateRequest()
 EditJobTemplateRequest::~EditJobTemplateRequest()
@@ -58,6 +58,17 @@ void EditJobTemplateRequest::setRunasUser(const std::string& runasUser)
 	setParameter("RunasUser", runasUser);
 	setParameter("RunasUser", runasUser);
 }
 }
 
 
+bool EditJobTemplateRequest::getReRunable()const
+{
+	return reRunable_;
+}
+
+void EditJobTemplateRequest::setReRunable(bool reRunable)
+{
+	reRunable_ = reRunable;
+	setParameter("ReRunable", std::to_string(reRunable));
+}
+
 std::string EditJobTemplateRequest::getTemplateId()const
 std::string EditJobTemplateRequest::getTemplateId()const
 {
 {
 	return templateId_;
 	return templateId_;
@@ -124,17 +135,6 @@ void EditJobTemplateRequest::setPackagePath(const std::string& packagePath)
 	setParameter("PackagePath", packagePath);
 	setParameter("PackagePath", packagePath);
 }
 }
 
 
-bool EditJobTemplateRequest::getReRunnable()const
-{
-	return reRunnable_;
-}
-
-void EditJobTemplateRequest::setReRunnable(bool reRunnable)
-{
-	reRunnable_ = reRunnable;
-	setParameter("ReRunnable", std::to_string(reRunnable));
-}
-
 std::string EditJobTemplateRequest::getRegionId()const
 std::string EditJobTemplateRequest::getRegionId()const
 {
 {
 	return regionId_;
 	return regionId_;

+ 7 - 7
ehpc/src/model/EditJobTemplateResult.cc

@@ -40,13 +40,13 @@ void EditJobTemplateResult::parse(const std::string &payload)
 	reader.parse(payload, value);
 	reader.parse(payload, value);
 
 
 	setRequestId(value["RequestId"].asString());
 	setRequestId(value["RequestId"].asString());
-	if(!value["TemplateId"].isNull())
-		templateId_ = value["TemplateId"].asString();
+	if(!value["TemplateId"].isNull())
+		templateId_ = value["TemplateId"].asString();
 
 
 }
 }
 
 
-std::string EditJobTemplateResult::getTemplateId()const
-{
-	return templateId_;
-}
-
+std::string EditJobTemplateResult::getTemplateId()const
+{
+	return templateId_;
+}
+

+ 1 - 1
ehpc/src/model/GetAutoScaleConfigRequest.cc

@@ -19,7 +19,7 @@
 using AlibabaCloud::EHPC::Model::GetAutoScaleConfigRequest;
 using AlibabaCloud::EHPC::Model::GetAutoScaleConfigRequest;
 
 
 GetAutoScaleConfigRequest::GetAutoScaleConfigRequest() :
 GetAutoScaleConfigRequest::GetAutoScaleConfigRequest() :
-	RpcServiceRequest("ehpc", "2017-07-14", "GetAutoScaleConfig")
+	RpcServiceRequest("ehpc", "2018-04-12", "GetAutoScaleConfig")
 {}
 {}
 
 
 GetAutoScaleConfigRequest::~GetAutoScaleConfigRequest()
 GetAutoScaleConfigRequest::~GetAutoScaleConfigRequest()

+ 91 - 91
ehpc/src/model/GetAutoScaleConfigResult.cc

@@ -40,97 +40,97 @@ void GetAutoScaleConfigResult::parse(const std::string &payload)
 	reader.parse(payload, value);
 	reader.parse(payload, value);
 
 
 	setRequestId(value["RequestId"].asString());
 	setRequestId(value["RequestId"].asString());
-	if(!value["Uid"].isNull())
-		uid_ = value["Uid"].asString();
-	if(!value["ClusterId"].isNull())
-		clusterId_ = value["ClusterId"].asString();
-	if(!value["ClusterType"].isNull())
-		clusterType_ = value["ClusterType"].asString();
-	if(!value["EnableAutoGrow"].isNull())
-		enableAutoGrow_ = value["EnableAutoGrow"].asString() == "true";
-	if(!value["EnableAutoShrink"].isNull())
-		enableAutoShrink_ = value["EnableAutoShrink"].asString() == "true";
-	if(!value["GrowIntervalInMinutes"].isNull())
-		growIntervalInMinutes_ = std::stoi(value["GrowIntervalInMinutes"].asString());
-	if(!value["ShrinkIntervalInMinutes"].isNull())
-		shrinkIntervalInMinutes_ = std::stoi(value["ShrinkIntervalInMinutes"].asString());
-	if(!value["ShrinkIdleTimes"].isNull())
-		shrinkIdleTimes_ = std::stoi(value["ShrinkIdleTimes"].asString());
-	if(!value["GrowTimeoutInMinutes"].isNull())
-		growTimeoutInMinutes_ = std::stoi(value["GrowTimeoutInMinutes"].asString());
-	if(!value["ExtraNodesGrowRatio"].isNull())
-		extraNodesGrowRatio_ = std::stoi(value["ExtraNodesGrowRatio"].asString());
-	if(!value["GrowRatio"].isNull())
-		growRatio_ = std::stoi(value["GrowRatio"].asString());
-	if(!value["MaxNodesInCluster"].isNull())
-		maxNodesInCluster_ = std::stoi(value["MaxNodesInCluster"].asString());
-	if(!value["ExcludeNodes"].isNull())
-		excludeNodes_ = value["ExcludeNodes"].asString();
+	if(!value["Uid"].isNull())
+		uid_ = value["Uid"].asString();
+	if(!value["ClusterId"].isNull())
+		clusterId_ = value["ClusterId"].asString();
+	if(!value["ClusterType"].isNull())
+		clusterType_ = value["ClusterType"].asString();
+	if(!value["EnableAutoGrow"].isNull())
+		enableAutoGrow_ = value["EnableAutoGrow"].asString() == "true";
+	if(!value["EnableAutoShrink"].isNull())
+		enableAutoShrink_ = value["EnableAutoShrink"].asString() == "true";
+	if(!value["GrowIntervalInMinutes"].isNull())
+		growIntervalInMinutes_ = std::stoi(value["GrowIntervalInMinutes"].asString());
+	if(!value["ShrinkIntervalInMinutes"].isNull())
+		shrinkIntervalInMinutes_ = std::stoi(value["ShrinkIntervalInMinutes"].asString());
+	if(!value["ShrinkIdleTimes"].isNull())
+		shrinkIdleTimes_ = std::stoi(value["ShrinkIdleTimes"].asString());
+	if(!value["GrowTimeoutInMinutes"].isNull())
+		growTimeoutInMinutes_ = std::stoi(value["GrowTimeoutInMinutes"].asString());
+	if(!value["ExtraNodesGrowRatio"].isNull())
+		extraNodesGrowRatio_ = std::stoi(value["ExtraNodesGrowRatio"].asString());
+	if(!value["GrowRatio"].isNull())
+		growRatio_ = std::stoi(value["GrowRatio"].asString());
+	if(!value["MaxNodesInCluster"].isNull())
+		maxNodesInCluster_ = std::stoi(value["MaxNodesInCluster"].asString());
+	if(!value["ExcludeNodes"].isNull())
+		excludeNodes_ = value["ExcludeNodes"].asString();
 
 
 }
 }
 
 
-int GetAutoScaleConfigResult::getExtraNodesGrowRatio()const
-{
-	return extraNodesGrowRatio_;
-}
-
-bool GetAutoScaleConfigResult::getEnableAutoGrow()const
-{
-	return enableAutoGrow_;
-}
-
-std::string GetAutoScaleConfigResult::getClusterId()const
-{
-	return clusterId_;
-}
-
-int GetAutoScaleConfigResult::getShrinkIdleTimes()const
-{
-	return shrinkIdleTimes_;
-}
-
-int GetAutoScaleConfigResult::getMaxNodesInCluster()const
-{
-	return maxNodesInCluster_;
-}
-
-std::string GetAutoScaleConfigResult::getClusterType()const
-{
-	return clusterType_;
-}
-
-bool GetAutoScaleConfigResult::getEnableAutoShrink()const
-{
-	return enableAutoShrink_;
-}
-
-int GetAutoScaleConfigResult::getGrowRatio()const
-{
-	return growRatio_;
-}
-
-int GetAutoScaleConfigResult::getGrowIntervalInMinutes()const
-{
-	return growIntervalInMinutes_;
-}
-
-std::string GetAutoScaleConfigResult::getUid()const
-{
-	return uid_;
-}
-
-int GetAutoScaleConfigResult::getGrowTimeoutInMinutes()const
-{
-	return growTimeoutInMinutes_;
-}
-
-int GetAutoScaleConfigResult::getShrinkIntervalInMinutes()const
-{
-	return shrinkIntervalInMinutes_;
-}
-
-std::string GetAutoScaleConfigResult::getExcludeNodes()const
-{
-	return excludeNodes_;
-}
-
+int GetAutoScaleConfigResult::getExtraNodesGrowRatio()const
+{
+	return extraNodesGrowRatio_;
+}
+
+bool GetAutoScaleConfigResult::getEnableAutoGrow()const
+{
+	return enableAutoGrow_;
+}
+
+std::string GetAutoScaleConfigResult::getClusterId()const
+{
+	return clusterId_;
+}
+
+int GetAutoScaleConfigResult::getShrinkIdleTimes()const
+{
+	return shrinkIdleTimes_;
+}
+
+int GetAutoScaleConfigResult::getMaxNodesInCluster()const
+{
+	return maxNodesInCluster_;
+}
+
+std::string GetAutoScaleConfigResult::getClusterType()const
+{
+	return clusterType_;
+}
+
+bool GetAutoScaleConfigResult::getEnableAutoShrink()const
+{
+	return enableAutoShrink_;
+}
+
+int GetAutoScaleConfigResult::getGrowRatio()const
+{
+	return growRatio_;
+}
+
+int GetAutoScaleConfigResult::getGrowIntervalInMinutes()const
+{
+	return growIntervalInMinutes_;
+}
+
+std::string GetAutoScaleConfigResult::getUid()const
+{
+	return uid_;
+}
+
+int GetAutoScaleConfigResult::getGrowTimeoutInMinutes()const
+{
+	return growTimeoutInMinutes_;
+}
+
+int GetAutoScaleConfigResult::getShrinkIntervalInMinutes()const
+{
+	return shrinkIntervalInMinutes_;
+}
+
+std::string GetAutoScaleConfigResult::getExcludeNodes()const
+{
+	return excludeNodes_;
+}
+

+ 1 - 1
ehpc/src/model/ListClusterLogsRequest.cc

@@ -19,7 +19,7 @@
 using AlibabaCloud::EHPC::Model::ListClusterLogsRequest;
 using AlibabaCloud::EHPC::Model::ListClusterLogsRequest;
 
 
 ListClusterLogsRequest::ListClusterLogsRequest() :
 ListClusterLogsRequest::ListClusterLogsRequest() :
-	RpcServiceRequest("ehpc", "2017-07-14", "ListClusterLogs")
+	RpcServiceRequest("ehpc", "2018-04-12", "ListClusterLogs")
 {}
 {}
 
 
 ListClusterLogsRequest::~ListClusterLogsRequest()
 ListClusterLogsRequest::~ListClusterLogsRequest()

+ 47 - 47
ehpc/src/model/ListClusterLogsResult.cc

@@ -40,53 +40,53 @@ void ListClusterLogsResult::parse(const std::string &payload)
 	reader.parse(payload, value);
 	reader.parse(payload, value);
 
 
 	setRequestId(value["RequestId"].asString());
 	setRequestId(value["RequestId"].asString());
-	auto allLogs = value["Logs"]["LogInfo"];
-	for (auto value : allLogs)
-	{
-		LogInfo logsObject;
-		if(!value["Operation"].isNull())
-			logsObject.operation = value["Operation"].asString();
-		if(!value["Level"].isNull())
-			logsObject.level = value["Level"].asString();
-		if(!value["Message"].isNull())
-			logsObject.message = value["Message"].asString();
-		if(!value["CreateTime"].isNull())
-			logsObject.createTime = value["CreateTime"].asString();
-		logs_.push_back(logsObject);
-	}
-	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());
-	if(!value["ClusterId"].isNull())
-		clusterId_ = value["ClusterId"].asString();
+	auto allLogs = value["Logs"]["LogInfo"];
+	for (auto value : allLogs)
+	{
+		LogInfo logsObject;
+		if(!value["Operation"].isNull())
+			logsObject.operation = value["Operation"].asString();
+		if(!value["Level"].isNull())
+			logsObject.level = value["Level"].asString();
+		if(!value["Message"].isNull())
+			logsObject.message = value["Message"].asString();
+		if(!value["CreateTime"].isNull())
+			logsObject.createTime = value["CreateTime"].asString();
+		logs_.push_back(logsObject);
+	}
+	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());
+	if(!value["ClusterId"].isNull())
+		clusterId_ = value["ClusterId"].asString();
 
 
 }
 }
 
 
-int ListClusterLogsResult::getTotalCount()const
-{
-	return totalCount_;
-}
-
-int ListClusterLogsResult::getPageSize()const
-{
-	return pageSize_;
-}
-
-int ListClusterLogsResult::getPageNumber()const
-{
-	return pageNumber_;
-}
-
-std::string ListClusterLogsResult::getClusterId()const
-{
-	return clusterId_;
-}
-
-std::vector<ListClusterLogsResult::LogInfo> ListClusterLogsResult::getLogs()const
-{
-	return logs_;
-}
-
+int ListClusterLogsResult::getTotalCount()const
+{
+	return totalCount_;
+}
+
+int ListClusterLogsResult::getPageSize()const
+{
+	return pageSize_;
+}
+
+int ListClusterLogsResult::getPageNumber()const
+{
+	return pageNumber_;
+}
+
+std::string ListClusterLogsResult::getClusterId()const
+{
+	return clusterId_;
+}
+
+std::vector<ListClusterLogsResult::LogInfo> ListClusterLogsResult::getLogs()const
+{
+	return logs_;
+}
+

+ 1 - 1
ehpc/src/model/ListClustersRequest.cc

@@ -19,7 +19,7 @@
 using AlibabaCloud::EHPC::Model::ListClustersRequest;
 using AlibabaCloud::EHPC::Model::ListClustersRequest;
 
 
 ListClustersRequest::ListClustersRequest() :
 ListClustersRequest::ListClustersRequest() :
-	RpcServiceRequest("ehpc", "2017-07-14", "ListClusters")
+	RpcServiceRequest("ehpc", "2018-04-12", "ListClusters")
 {}
 {}
 
 
 ListClustersRequest::~ListClustersRequest()
 ListClustersRequest::~ListClustersRequest()

+ 100 - 110
ehpc/src/model/ListClustersResult.cc

@@ -40,116 +40,106 @@ void ListClustersResult::parse(const std::string &payload)
 	reader.parse(payload, value);
 	reader.parse(payload, value);
 
 
 	setRequestId(value["RequestId"].asString());
 	setRequestId(value["RequestId"].asString());
-	auto allClusters = value["Clusters"]["ClusterInfoSimple"];
-	for (auto value : allClusters)
-	{
-		ClusterInfoSimple clustersObject;
-		if(!value["Id"].isNull())
-			clustersObject.id = value["Id"].asString();
-		if(!value["RegionId"].isNull())
-			clustersObject.regionId = value["RegionId"].asString();
-		if(!value["ZoneId"].isNull())
-			clustersObject.zoneId = value["ZoneId"].asString();
-		if(!value["Name"].isNull())
-			clustersObject.name = value["Name"].asString();
-		if(!value["Description"].isNull())
-			clustersObject.description = value["Description"].asString();
-		if(!value["Status"].isNull())
-			clustersObject.status = value["Status"].asString();
-		if(!value["OsTag"].isNull())
-			clustersObject.osTag = value["OsTag"].asString();
-		if(!value["AccountType"].isNull())
-			clustersObject.accountType = value["AccountType"].asString();
-		if(!value["SchedulerType"].isNull())
-			clustersObject.schedulerType = value["SchedulerType"].asString();
-		if(!value["Count"].isNull())
-			clustersObject.count = std::stoi(value["Count"].asString());
-		if(!value["InstanceType"].isNull())
-			clustersObject.instanceType = value["InstanceType"].asString();
-		if(!value["LoginNodes"].isNull())
-			clustersObject.loginNodes = value["LoginNodes"].asString();
-		if(!value["CreateTime"].isNull())
-			clustersObject.createTime = value["CreateTime"].asString();
-		if(!value["ImageOwnerAlias"].isNull())
-			clustersObject.imageOwnerAlias = value["ImageOwnerAlias"].asString();
-		if(!value["ImageId"].isNull())
-			clustersObject.imageId = value["ImageId"].asString();
-		auto allManagers = value["Managers"];
-		for (auto value : allManagers)
-		{
-			ClusterInfoSimple::Managers managersObject;
-			if(!value["Total"].isNull())
-				managersObject.total = std::stoi(value["Total"].asString());
-			if(!value["NormalCount"].isNull())
-				managersObject.normalCount = std::stoi(value["NormalCount"].asString());
-			if(!value["ExceptionCount"].isNull())
-				managersObject.exceptionCount = std::stoi(value["ExceptionCount"].asString());
-			clustersObject.managers.push_back(managersObject);
-		}
-		auto allComputes = value["Computes"];
-		for (auto value : allComputes)
-		{
-			ClusterInfoSimple::Computes computesObject;
-			if(!value["Total"].isNull())
-				computesObject.total = std::stoi(value["Total"].asString());
-			if(!value["NormalCount"].isNull())
-				computesObject.normalCount = std::stoi(value["NormalCount"].asString());
-			if(!value["ExceptionCount"].isNull())
-				computesObject.exceptionCount = std::stoi(value["ExceptionCount"].asString());
-			clustersObject.computes.push_back(computesObject);
-		}
-		auto allTotalResources = value["TotalResources"];
-		for (auto value : allTotalResources)
-		{
-			ClusterInfoSimple::TotalResources totalResourcesObject;
-			if(!value["Cpu"].isNull())
-				totalResourcesObject.cpu = std::stoi(value["Cpu"].asString());
-			if(!value["Memory"].isNull())
-				totalResourcesObject.memory = std::stoi(value["Memory"].asString());
-			if(!value["Gpu"].isNull())
-				totalResourcesObject.gpu = std::stoi(value["Gpu"].asString());
-			clustersObject.totalResources.push_back(totalResourcesObject);
-		}
-		auto allUsedResources = value["UsedResources"];
-		for (auto value : allUsedResources)
-		{
-			ClusterInfoSimple::UsedResources usedResourcesObject;
-			if(!value["Cpu"].isNull())
-				usedResourcesObject.cpu = std::stoi(value["Cpu"].asString());
-			if(!value["Memory"].isNull())
-				usedResourcesObject.memory = std::stoi(value["Memory"].asString());
-			if(!value["Gpu"].isNull())
-				usedResourcesObject.gpu = std::stoi(value["Gpu"].asString());
-			clustersObject.usedResources.push_back(usedResourcesObject);
-		}
-		clusters_.push_back(clustersObject);
-	}
-	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());
+	auto allClusters = value["Clusters"]["ClusterInfoSimple"];
+	for (auto value : allClusters)
+	{
+		ClusterInfoSimple clustersObject;
+		if(!value["Id"].isNull())
+			clustersObject.id = value["Id"].asString();
+		if(!value["RegionId"].isNull())
+			clustersObject.regionId = value["RegionId"].asString();
+		if(!value["ZoneId"].isNull())
+			clustersObject.zoneId = value["ZoneId"].asString();
+		if(!value["Name"].isNull())
+			clustersObject.name = value["Name"].asString();
+		if(!value["Description"].isNull())
+			clustersObject.description = value["Description"].asString();
+		if(!value["Status"].isNull())
+			clustersObject.status = value["Status"].asString();
+		if(!value["OsTag"].isNull())
+			clustersObject.osTag = value["OsTag"].asString();
+		if(!value["AccountType"].isNull())
+			clustersObject.accountType = value["AccountType"].asString();
+		if(!value["SchedulerType"].isNull())
+			clustersObject.schedulerType = value["SchedulerType"].asString();
+		if(!value["DeployMode"].isNull())
+			clustersObject.deployMode = value["DeployMode"].asString();
+		if(!value["Count"].isNull())
+			clustersObject.count = std::stoi(value["Count"].asString());
+		if(!value["InstanceType"].isNull())
+			clustersObject.instanceType = value["InstanceType"].asString();
+		if(!value["LoginNodes"].isNull())
+			clustersObject.loginNodes = value["LoginNodes"].asString();
+		if(!value["CreateTime"].isNull())
+			clustersObject.createTime = value["CreateTime"].asString();
+		if(!value["ImageOwnerAlias"].isNull())
+			clustersObject.imageOwnerAlias = value["ImageOwnerAlias"].asString();
+		if(!value["ImageId"].isNull())
+			clustersObject.imageId = value["ImageId"].asString();
+		auto managersNode = value["Managers"];
+		if(!managersNode["Total"].isNull())
+			clustersObject.managers.total = std::stoi(managersNode["Total"].asString());
+		if(!managersNode["NormalCount"].isNull())
+			clustersObject.managers.normalCount = std::stoi(managersNode["NormalCount"].asString());
+		if(!managersNode["OperatingCount"].isNull())
+			clustersObject.managers.operatingCount = std::stoi(managersNode["OperatingCount"].asString());
+		if(!managersNode["StoppedCount"].isNull())
+			clustersObject.managers.stoppedCount = std::stoi(managersNode["StoppedCount"].asString());
+		if(!managersNode["ExceptionCount"].isNull())
+			clustersObject.managers.exceptionCount = std::stoi(managersNode["ExceptionCount"].asString());
+		auto computesNode = value["Computes"];
+		if(!computesNode["Total"].isNull())
+			clustersObject.computes.total = std::stoi(computesNode["Total"].asString());
+		if(!computesNode["NormalCount"].isNull())
+			clustersObject.computes.normalCount = std::stoi(computesNode["NormalCount"].asString());
+		if(!computesNode["OperatingCount"].isNull())
+			clustersObject.computes.operatingCount = std::stoi(computesNode["OperatingCount"].asString());
+		if(!computesNode["StoppedCount"].isNull())
+			clustersObject.computes.stoppedCount = std::stoi(computesNode["StoppedCount"].asString());
+		if(!computesNode["ExceptionCount"].isNull())
+			clustersObject.computes.exceptionCount = std::stoi(computesNode["ExceptionCount"].asString());
+		auto totalResourcesNode = value["TotalResources"];
+		if(!totalResourcesNode["Cpu"].isNull())
+			clustersObject.totalResources.cpu = std::stoi(totalResourcesNode["Cpu"].asString());
+		if(!totalResourcesNode["Memory"].isNull())
+			clustersObject.totalResources.memory = std::stoi(totalResourcesNode["Memory"].asString());
+		if(!totalResourcesNode["Gpu"].isNull())
+			clustersObject.totalResources.gpu = std::stoi(totalResourcesNode["Gpu"].asString());
+		auto usedResourcesNode = value["UsedResources"];
+		if(!usedResourcesNode["Cpu"].isNull())
+			clustersObject.usedResources.cpu = std::stoi(usedResourcesNode["Cpu"].asString());
+		if(!usedResourcesNode["Memory"].isNull())
+			clustersObject.usedResources.memory = std::stoi(usedResourcesNode["Memory"].asString());
+		if(!usedResourcesNode["Gpu"].isNull())
+			clustersObject.usedResources.gpu = std::stoi(usedResourcesNode["Gpu"].asString());
+		clusters_.push_back(clustersObject);
+	}
+	if(!value["TotalCount"].isNull())
+		totalCount_ = std::stoi(value["TotalCount"].asString());
+	if(!value["PageNumber"].isNull())
+		pageNumber_ = std::stoi(value["PageNumber"].asString());
+	if(!value["PageSize"].isNull())
+		pageSize_ = std::stoi(value["PageSize"].asString());
 
 
 }
 }
 
 
-int ListClustersResult::getTotalCount()const
-{
-	return totalCount_;
-}
-
-int ListClustersResult::getPageSize()const
-{
-	return pageSize_;
-}
-
-int ListClustersResult::getPageNumber()const
-{
-	return pageNumber_;
-}
-
-std::vector<ListClustersResult::ClusterInfoSimple> ListClustersResult::getClusters()const
-{
-	return clusters_;
-}
-
+int ListClustersResult::getTotalCount()const
+{
+	return totalCount_;
+}
+
+int ListClustersResult::getPageSize()const
+{
+	return pageSize_;
+}
+
+int ListClustersResult::getPageNumber()const
+{
+	return pageNumber_;
+}
+
+std::vector<ListClustersResult::ClusterInfoSimple> ListClustersResult::getClusters()const
+{
+	return clusters_;
+}
+

+ 1 - 1
ehpc/src/model/ListCurrentClientVersionRequest.cc

@@ -19,7 +19,7 @@
 using AlibabaCloud::EHPC::Model::ListCurrentClientVersionRequest;
 using AlibabaCloud::EHPC::Model::ListCurrentClientVersionRequest;
 
 
 ListCurrentClientVersionRequest::ListCurrentClientVersionRequest() :
 ListCurrentClientVersionRequest::ListCurrentClientVersionRequest() :
-	RpcServiceRequest("ehpc", "2017-07-14", "ListCurrentClientVersion")
+	RpcServiceRequest("ehpc", "2018-04-12", "ListCurrentClientVersion")
 {}
 {}
 
 
 ListCurrentClientVersionRequest::~ListCurrentClientVersionRequest()
 ListCurrentClientVersionRequest::~ListCurrentClientVersionRequest()

+ 7 - 7
ehpc/src/model/ListCurrentClientVersionResult.cc

@@ -40,13 +40,13 @@ void ListCurrentClientVersionResult::parse(const std::string &payload)
 	reader.parse(payload, value);
 	reader.parse(payload, value);
 
 
 	setRequestId(value["RequestId"].asString());
 	setRequestId(value["RequestId"].asString());
-	if(!value["ClientVersion"].isNull())
-		clientVersion_ = value["ClientVersion"].asString();
+	if(!value["ClientVersion"].isNull())
+		clientVersion_ = value["ClientVersion"].asString();
 
 
 }
 }
 
 
-std::string ListCurrentClientVersionResult::getClientVersion()const
-{
-	return clientVersion_;
-}
-
+std::string ListCurrentClientVersionResult::getClientVersion()const
+{
+	return clientVersion_;
+}
+

+ 1 - 1
ehpc/src/model/ListCustomImagesRequest.cc

@@ -19,7 +19,7 @@
 using AlibabaCloud::EHPC::Model::ListCustomImagesRequest;
 using AlibabaCloud::EHPC::Model::ListCustomImagesRequest;
 
 
 ListCustomImagesRequest::ListCustomImagesRequest() :
 ListCustomImagesRequest::ListCustomImagesRequest() :
-	RpcServiceRequest("ehpc", "2017-07-14", "ListCustomImages")
+	RpcServiceRequest("ehpc", "2018-04-12", "ListCustomImages")
 {}
 {}
 
 
 ListCustomImagesRequest::~ListCustomImagesRequest()
 ListCustomImagesRequest::~ListCustomImagesRequest()

+ 40 - 33
ehpc/src/model/ListCustomImagesResult.cc

@@ -40,39 +40,46 @@ void ListCustomImagesResult::parse(const std::string &payload)
 	reader.parse(payload, value);
 	reader.parse(payload, value);
 
 
 	setRequestId(value["RequestId"].asString());
 	setRequestId(value["RequestId"].asString());
-	auto allImages = value["Images"]["ImageInfo"];
-	for (auto value : allImages)
-	{
-		ImageInfo imagesObject;
-		if(!value["ImageId"].isNull())
-			imagesObject.imageId = value["ImageId"].asString();
-		if(!value["ImageName"].isNull())
-			imagesObject.imageName = value["ImageName"].asString();
-		if(!value["ImageOwnerAlias"].isNull())
-			imagesObject.imageOwnerAlias = value["ImageOwnerAlias"].asString();
-		if(!value["Description"].isNull())
-			imagesObject.description = value["Description"].asString();
-		auto allBaseOsTag = value["BaseOsTag"];
-		for (auto value : allBaseOsTag)
-		{
-			ImageInfo::BaseOsTag baseOsTagObject;
-			if(!value["OsTag"].isNull())
-				baseOsTagObject.osTag = value["OsTag"].asString();
-			if(!value["Platform"].isNull())
-				baseOsTagObject.platform = value["Platform"].asString();
-			if(!value["Version"].isNull())
-				baseOsTagObject.version = value["Version"].asString();
-			if(!value["Architecture"].isNull())
-				baseOsTagObject.architecture = value["Architecture"].asString();
-			imagesObject.baseOsTag.push_back(baseOsTagObject);
-		}
-		images_.push_back(imagesObject);
-	}
+	auto allImages = value["Images"]["ImageInfo"];
+	for (auto value : allImages)
+	{
+		ImageInfo imagesObject;
+		if(!value["Uid"].isNull())
+			imagesObject.uid = value["Uid"].asString();
+		if(!value["ImageId"].isNull())
+			imagesObject.imageId = value["ImageId"].asString();
+		if(!value["ImageName"].isNull())
+			imagesObject.imageName = value["ImageName"].asString();
+		if(!value["ImageOwnerAlias"].isNull())
+			imagesObject.imageOwnerAlias = value["ImageOwnerAlias"].asString();
+		if(!value["Description"].isNull())
+			imagesObject.description = value["Description"].asString();
+		if(!value["Status"].isNull())
+			imagesObject.status = value["Status"].asString();
+		if(!value["ProductCode"].isNull())
+			imagesObject.productCode = value["ProductCode"].asString();
+		if(!value["SkuCode"].isNull())
+			imagesObject.skuCode = value["SkuCode"].asString();
+		if(!value["PricingCycle"].isNull())
+			imagesObject.pricingCycle = value["PricingCycle"].asString();
+		if(!value["PostInstallScript"].isNull())
+			imagesObject.postInstallScript = value["PostInstallScript"].asString();
+		auto baseOsTagNode = value["BaseOsTag"];
+		if(!baseOsTagNode["OsTag"].isNull())
+			imagesObject.baseOsTag.osTag = baseOsTagNode["OsTag"].asString();
+		if(!baseOsTagNode["Platform"].isNull())
+			imagesObject.baseOsTag.platform = baseOsTagNode["Platform"].asString();
+		if(!baseOsTagNode["Version"].isNull())
+			imagesObject.baseOsTag.version = baseOsTagNode["Version"].asString();
+		if(!baseOsTagNode["Architecture"].isNull())
+			imagesObject.baseOsTag.architecture = baseOsTagNode["Architecture"].asString();
+		images_.push_back(imagesObject);
+	}
 
 
 }
 }
 
 
-std::vector<ListCustomImagesResult::ImageInfo> ListCustomImagesResult::getImages()const
-{
-	return images_;
-}
-
+std::vector<ListCustomImagesResult::ImageInfo> ListCustomImagesResult::getImages()const
+{
+	return images_;
+}
+

+ 1 - 1
ehpc/src/model/ListImagesRequest.cc

@@ -19,7 +19,7 @@
 using AlibabaCloud::EHPC::Model::ListImagesRequest;
 using AlibabaCloud::EHPC::Model::ListImagesRequest;
 
 
 ListImagesRequest::ListImagesRequest() :
 ListImagesRequest::ListImagesRequest() :
-	RpcServiceRequest("ehpc", "2017-07-14", "ListImages")
+	RpcServiceRequest("ehpc", "2018-04-12", "ListImages")
 {}
 {}
 
 
 ListImagesRequest::~ListImagesRequest()
 ListImagesRequest::~ListImagesRequest()

+ 19 - 19
ehpc/src/model/ListImagesResult.cc

@@ -40,25 +40,25 @@ void ListImagesResult::parse(const std::string &payload)
 	reader.parse(payload, value);
 	reader.parse(payload, value);
 
 
 	setRequestId(value["RequestId"].asString());
 	setRequestId(value["RequestId"].asString());
-	auto allOsTags = value["OsTags"]["OsInfo"];
-	for (auto value : allOsTags)
-	{
-		OsInfo osTagsObject;
-		if(!value["OsTag"].isNull())
-			osTagsObject.osTag = value["OsTag"].asString();
-		if(!value["Platform"].isNull())
-			osTagsObject.platform = value["Platform"].asString();
-		if(!value["Version"].isNull())
-			osTagsObject.version = value["Version"].asString();
-		if(!value["Architecture"].isNull())
-			osTagsObject.architecture = value["Architecture"].asString();
-		osTags_.push_back(osTagsObject);
-	}
+	auto allOsTags = value["OsTags"]["OsInfo"];
+	for (auto value : allOsTags)
+	{
+		OsInfo osTagsObject;
+		if(!value["OsTag"].isNull())
+			osTagsObject.osTag = value["OsTag"].asString();
+		if(!value["Platform"].isNull())
+			osTagsObject.platform = value["Platform"].asString();
+		if(!value["Version"].isNull())
+			osTagsObject.version = value["Version"].asString();
+		if(!value["Architecture"].isNull())
+			osTagsObject.architecture = value["Architecture"].asString();
+		osTags_.push_back(osTagsObject);
+	}
 
 
 }
 }
 
 
-std::vector<ListImagesResult::OsInfo> ListImagesResult::getOsTags()const
-{
-	return osTags_;
-}
-
+std::vector<ListImagesResult::OsInfo> ListImagesResult::getOsTags()const
+{
+	return osTags_;
+}
+

+ 1 - 1
ehpc/src/model/ListJobTemplatesRequest.cc

@@ -19,7 +19,7 @@
 using AlibabaCloud::EHPC::Model::ListJobTemplatesRequest;
 using AlibabaCloud::EHPC::Model::ListJobTemplatesRequest;
 
 
 ListJobTemplatesRequest::ListJobTemplatesRequest() :
 ListJobTemplatesRequest::ListJobTemplatesRequest() :
-	RpcServiceRequest("ehpc", "2017-07-14", "ListJobTemplates")
+	RpcServiceRequest("ehpc", "2018-04-12", "ListJobTemplates")
 {}
 {}
 
 
 ListJobTemplatesRequest::~ListJobTemplatesRequest()
 ListJobTemplatesRequest::~ListJobTemplatesRequest()

+ 54 - 54
ehpc/src/model/ListJobTemplatesResult.cc

@@ -40,60 +40,60 @@ void ListJobTemplatesResult::parse(const std::string &payload)
 	reader.parse(payload, value);
 	reader.parse(payload, value);
 
 
 	setRequestId(value["RequestId"].asString());
 	setRequestId(value["RequestId"].asString());
-	auto allTemplates = value["Templates"]["JobTemplates"];
-	for (auto value : allTemplates)
-	{
-		JobTemplates templatesObject;
-		if(!value["Id"].isNull())
-			templatesObject.id = value["Id"].asString();
-		if(!value["Name"].isNull())
-			templatesObject.name = value["Name"].asString();
-		if(!value["CommandLine"].isNull())
-			templatesObject.commandLine = value["CommandLine"].asString();
-		if(!value["RunasUser"].isNull())
-			templatesObject.runasUser = value["RunasUser"].asString();
-		if(!value["Priority"].isNull())
-			templatesObject.priority = std::stoi(value["Priority"].asString());
-		if(!value["Package"].isNull())
-			templatesObject.package = value["Package"].asString();
-		if(!value["StdoutRedirectPath"].isNull())
-			templatesObject.stdoutRedirectPath = value["StdoutRedirectPath"].asString();
-		if(!value["StderrRedirectPath"].isNull())
-			templatesObject.stderrRedirectPath = value["StderrRedirectPath"].asString();
-		if(!value["ReRunable"].isNull())
-			templatesObject.reRunable = value["ReRunable"].asString() == "true";
-		if(!value["ArrayRequest"].isNull())
-			templatesObject.arrayRequest = value["ArrayRequest"].asString();
-		if(!value["Variables"].isNull())
-			templatesObject.variables = value["Variables"].asString();
-		templates_.push_back(templatesObject);
-	}
-	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());
+	auto allTemplates = value["Templates"]["JobTemplates"];
+	for (auto value : allTemplates)
+	{
+		JobTemplates templatesObject;
+		if(!value["Id"].isNull())
+			templatesObject.id = value["Id"].asString();
+		if(!value["Name"].isNull())
+			templatesObject.name = value["Name"].asString();
+		if(!value["CommandLine"].isNull())
+			templatesObject.commandLine = value["CommandLine"].asString();
+		if(!value["RunasUser"].isNull())
+			templatesObject.runasUser = value["RunasUser"].asString();
+		if(!value["Priority"].isNull())
+			templatesObject.priority = std::stoi(value["Priority"].asString());
+		if(!value["PackagePath"].isNull())
+			templatesObject.packagePath = value["PackagePath"].asString();
+		if(!value["StdoutRedirectPath"].isNull())
+			templatesObject.stdoutRedirectPath = value["StdoutRedirectPath"].asString();
+		if(!value["StderrRedirectPath"].isNull())
+			templatesObject.stderrRedirectPath = value["StderrRedirectPath"].asString();
+		if(!value["ReRunable"].isNull())
+			templatesObject.reRunable = value["ReRunable"].asString() == "true";
+		if(!value["ArrayRequest"].isNull())
+			templatesObject.arrayRequest = value["ArrayRequest"].asString();
+		if(!value["Variables"].isNull())
+			templatesObject.variables = value["Variables"].asString();
+		templates_.push_back(templatesObject);
+	}
+	if(!value["TotalCount"].isNull())
+		totalCount_ = std::stoi(value["TotalCount"].asString());
+	if(!value["PageNumber"].isNull())
+		pageNumber_ = std::stoi(value["PageNumber"].asString());
+	if(!value["PageSize"].isNull())
+		pageSize_ = std::stoi(value["PageSize"].asString());
 
 
 }
 }
 
 
-int ListJobTemplatesResult::getTotalCount()const
-{
-	return totalCount_;
-}
-
-int ListJobTemplatesResult::getPageSize()const
-{
-	return pageSize_;
-}
-
-int ListJobTemplatesResult::getPageNumber()const
-{
-	return pageNumber_;
-}
-
-std::vector<ListJobTemplatesResult::JobTemplates> ListJobTemplatesResult::getTemplates()const
-{
-	return templates_;
-}
-
+int ListJobTemplatesResult::getTotalCount()const
+{
+	return totalCount_;
+}
+
+int ListJobTemplatesResult::getPageSize()const
+{
+	return pageSize_;
+}
+
+int ListJobTemplatesResult::getPageNumber()const
+{
+	return pageNumber_;
+}
+
+std::vector<ListJobTemplatesResult::JobTemplates> ListJobTemplatesResult::getTemplates()const
+{
+	return templates_;
+}
+

+ 12 - 1
ehpc/src/model/ListJobsRequest.cc

@@ -19,7 +19,7 @@
 using AlibabaCloud::EHPC::Model::ListJobsRequest;
 using AlibabaCloud::EHPC::Model::ListJobsRequest;
 
 
 ListJobsRequest::ListJobsRequest() :
 ListJobsRequest::ListJobsRequest() :
-	RpcServiceRequest("ehpc", "2017-07-14", "ListJobs")
+	RpcServiceRequest("ehpc", "2018-04-12", "ListJobs")
 {}
 {}
 
 
 ListJobsRequest::~ListJobsRequest()
 ListJobsRequest::~ListJobsRequest()
@@ -69,6 +69,17 @@ void ListJobsRequest::setState(const std::string& state)
 	setParameter("State", state);
 	setParameter("State", state);
 }
 }
 
 
+std::string ListJobsRequest::getRerunable()const
+{
+	return rerunable_;
+}
+
+void ListJobsRequest::setRerunable(const std::string& rerunable)
+{
+	rerunable_ = rerunable;
+	setParameter("Rerunable", rerunable);
+}
+
 int ListJobsRequest::getPageNumber()const
 int ListJobsRequest::getPageNumber()const
 {
 {
 	return pageNumber_;
 	return pageNumber_;

+ 63 - 66
ehpc/src/model/ListJobsResult.cc

@@ -40,72 +40,69 @@ void ListJobsResult::parse(const std::string &payload)
 	reader.parse(payload, value);
 	reader.parse(payload, value);
 
 
 	setRequestId(value["RequestId"].asString());
 	setRequestId(value["RequestId"].asString());
-	auto allJobs = value["Jobs"]["JobInfo"];
-	for (auto value : allJobs)
-	{
-		JobInfo jobsObject;
-		if(!value["Id"].isNull())
-			jobsObject.id = value["Id"].asString();
-		if(!value["Name"].isNull())
-			jobsObject.name = value["Name"].asString();
-		if(!value["Owner"].isNull())
-			jobsObject.owner = value["Owner"].asString();
-		if(!value["Priority"].isNull())
-			jobsObject.priority = std::stoi(value["Priority"].asString());
-		if(!value["State"].isNull())
-			jobsObject.state = value["State"].asString();
-		if(!value["SubmitTime"].isNull())
-			jobsObject.submitTime = value["SubmitTime"].asString();
-		if(!value["StartTime"].isNull())
-			jobsObject.startTime = value["StartTime"].asString();
-		if(!value["LastModifyTime"].isNull())
-			jobsObject.lastModifyTime = value["LastModifyTime"].asString();
-		if(!value["Stdout"].isNull())
-			jobsObject._stdout = value["Stdout"].asString();
-		if(!value["Stderr"].isNull())
-			jobsObject._stderr = value["Stderr"].asString();
-		if(!value["Comment"].isNull())
-			jobsObject.comment = value["Comment"].asString();
-		if(!value["ArrayRequest"].isNull())
-			jobsObject.arrayRequest = value["ArrayRequest"].asString();
-		auto allResources = value["Resources"];
-		for (auto value : allResources)
-		{
-			JobInfo::Resources resourcesObject;
-			if(!value["Nodes"].isNull())
-				resourcesObject.nodes = std::stoi(value["Nodes"].asString());
-			if(!value["Cores"].isNull())
-				resourcesObject.cores = std::stoi(value["Cores"].asString());
-			jobsObject.resources.push_back(resourcesObject);
-		}
-		jobs_.push_back(jobsObject);
-	}
-	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());
+	auto allJobs = value["Jobs"]["JobInfo"];
+	for (auto value : allJobs)
+	{
+		JobInfo jobsObject;
+		if(!value["Id"].isNull())
+			jobsObject.id = value["Id"].asString();
+		if(!value["Name"].isNull())
+			jobsObject.name = value["Name"].asString();
+		if(!value["Owner"].isNull())
+			jobsObject.owner = value["Owner"].asString();
+		if(!value["Priority"].isNull())
+			jobsObject.priority = std::stoi(value["Priority"].asString());
+		if(!value["State"].isNull())
+			jobsObject.state = value["State"].asString();
+		if(!value["SubmitTime"].isNull())
+			jobsObject.submitTime = value["SubmitTime"].asString();
+		if(!value["StartTime"].isNull())
+			jobsObject.startTime = value["StartTime"].asString();
+		if(!value["LastModifyTime"].isNull())
+			jobsObject.lastModifyTime = value["LastModifyTime"].asString();
+		if(!value["Stdout"].isNull())
+			jobsObject._stdout = value["Stdout"].asString();
+		if(!value["Stderr"].isNull())
+			jobsObject._stderr = value["Stderr"].asString();
+		if(!value["ShellPath"].isNull())
+			jobsObject.shellPath = value["ShellPath"].asString();
+		if(!value["Comment"].isNull())
+			jobsObject.comment = value["Comment"].asString();
+		if(!value["ArrayRequest"].isNull())
+			jobsObject.arrayRequest = value["ArrayRequest"].asString();
+		auto resourcesNode = value["Resources"];
+		if(!resourcesNode["Nodes"].isNull())
+			jobsObject.resources.nodes = std::stoi(resourcesNode["Nodes"].asString());
+		if(!resourcesNode["Cores"].isNull())
+			jobsObject.resources.cores = std::stoi(resourcesNode["Cores"].asString());
+		jobs_.push_back(jobsObject);
+	}
+	if(!value["TotalCount"].isNull())
+		totalCount_ = std::stoi(value["TotalCount"].asString());
+	if(!value["PageNumber"].isNull())
+		pageNumber_ = std::stoi(value["PageNumber"].asString());
+	if(!value["PageSize"].isNull())
+		pageSize_ = std::stoi(value["PageSize"].asString());
 
 
 }
 }
 
 
-int ListJobsResult::getTotalCount()const
-{
-	return totalCount_;
-}
-
-int ListJobsResult::getPageSize()const
-{
-	return pageSize_;
-}
-
-std::vector<ListJobsResult::JobInfo> ListJobsResult::getJobs()const
-{
-	return jobs_;
-}
-
-int ListJobsResult::getPageNumber()const
-{
-	return pageNumber_;
-}
-
+int ListJobsResult::getTotalCount()const
+{
+	return totalCount_;
+}
+
+int ListJobsResult::getPageSize()const
+{
+	return pageSize_;
+}
+
+std::vector<ListJobsResult::JobInfo> ListJobsResult::getJobs()const
+{
+	return jobs_;
+}
+
+int ListJobsResult::getPageNumber()const
+{
+	return pageNumber_;
+}
+

+ 1 - 1
ehpc/src/model/ListNodesNoPagingRequest.cc

@@ -19,7 +19,7 @@
 using AlibabaCloud::EHPC::Model::ListNodesNoPagingRequest;
 using AlibabaCloud::EHPC::Model::ListNodesNoPagingRequest;
 
 
 ListNodesNoPagingRequest::ListNodesNoPagingRequest() :
 ListNodesNoPagingRequest::ListNodesNoPagingRequest() :
-	RpcServiceRequest("ehpc", "2017-07-14", "ListNodesNoPaging")
+	RpcServiceRequest("ehpc", "2018-04-12", "ListNodesNoPaging")
 {}
 {}
 
 
 ListNodesNoPagingRequest::~ListNodesNoPagingRequest()
 ListNodesNoPagingRequest::~ListNodesNoPagingRequest()

+ 71 - 80
ehpc/src/model/ListNodesNoPagingResult.cc

@@ -40,86 +40,77 @@ void ListNodesNoPagingResult::parse(const std::string &payload)
 	reader.parse(payload, value);
 	reader.parse(payload, value);
 
 
 	setRequestId(value["RequestId"].asString());
 	setRequestId(value["RequestId"].asString());
-	auto allNodes = value["Nodes"]["NodeInfo"];
-	for (auto value : allNodes)
-	{
-		NodeInfo nodesObject;
-		if(!value["Id"].isNull())
-			nodesObject.id = value["Id"].asString();
-		if(!value["RegionId"].isNull())
-			nodesObject.regionId = value["RegionId"].asString();
-		if(!value["Status"].isNull())
-			nodesObject.status = value["Status"].asString();
-		if(!value["CreatedByEhpc"].isNull())
-			nodesObject.createdByEhpc = value["CreatedByEhpc"].asString() == "true";
-		if(!value["Role"].isNull())
-			nodesObject.role = value["Role"].asString();
-		if(!value["AddTime"].isNull())
-			nodesObject.addTime = value["AddTime"].asString();
-		if(!value["Expired"].isNull())
-			nodesObject.expired = value["Expired"].asString() == "true";
-		if(!value["ExpiredTime"].isNull())
-			nodesObject.expiredTime = value["ExpiredTime"].asString();
-		if(!value["SpotStrategy"].isNull())
-			nodesObject.spotStrategy = value["SpotStrategy"].asString();
-		if(!value["LockReason"].isNull())
-			nodesObject.lockReason = value["LockReason"].asString();
-		if(!value["ImageOwnerAlias"].isNull())
-			nodesObject.imageOwnerAlias = value["ImageOwnerAlias"].asString();
-		if(!value["ImageId"].isNull())
-			nodesObject.imageId = value["ImageId"].asString();
-		auto allTotalResources = value["TotalResources"];
-		for (auto value : allTotalResources)
-		{
-			NodeInfo::TotalResources totalResourcesObject;
-			if(!value["Cpu"].isNull())
-				totalResourcesObject.cpu = std::stoi(value["Cpu"].asString());
-			if(!value["Memory"].isNull())
-				totalResourcesObject.memory = std::stoi(value["Memory"].asString());
-			if(!value["Gpu"].isNull())
-				totalResourcesObject.gpu = std::stoi(value["Gpu"].asString());
-			nodesObject.totalResources.push_back(totalResourcesObject);
-		}
-		auto allUsedResources = value["UsedResources"];
-		for (auto value : allUsedResources)
-		{
-			NodeInfo::UsedResources usedResourcesObject;
-			if(!value["Cpu"].isNull())
-				usedResourcesObject.cpu = std::stoi(value["Cpu"].asString());
-			if(!value["Memory"].isNull())
-				usedResourcesObject.memory = std::stoi(value["Memory"].asString());
-			if(!value["Gpu"].isNull())
-				usedResourcesObject.gpu = std::stoi(value["Gpu"].asString());
-			nodesObject.usedResources.push_back(usedResourcesObject);
-		}
-		nodes_.push_back(nodesObject);
-	}
-	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());
+	auto allNodes = value["Nodes"]["NodeInfo"];
+	for (auto value : allNodes)
+	{
+		NodeInfo nodesObject;
+		if(!value["Id"].isNull())
+			nodesObject.id = value["Id"].asString();
+		if(!value["RegionId"].isNull())
+			nodesObject.regionId = value["RegionId"].asString();
+		if(!value["Status"].isNull())
+			nodesObject.status = value["Status"].asString();
+		if(!value["CreatedByEhpc"].isNull())
+			nodesObject.createdByEhpc = value["CreatedByEhpc"].asString() == "true";
+		if(!value["AddTime"].isNull())
+			nodesObject.addTime = value["AddTime"].asString();
+		if(!value["Expired"].isNull())
+			nodesObject.expired = value["Expired"].asString() == "true";
+		if(!value["ExpiredTime"].isNull())
+			nodesObject.expiredTime = value["ExpiredTime"].asString();
+		if(!value["SpotStrategy"].isNull())
+			nodesObject.spotStrategy = value["SpotStrategy"].asString();
+		if(!value["LockReason"].isNull())
+			nodesObject.lockReason = value["LockReason"].asString();
+		if(!value["ImageOwnerAlias"].isNull())
+			nodesObject.imageOwnerAlias = value["ImageOwnerAlias"].asString();
+		if(!value["ImageId"].isNull())
+			nodesObject.imageId = value["ImageId"].asString();
+		auto totalResourcesNode = value["TotalResources"];
+		if(!totalResourcesNode["Cpu"].isNull())
+			nodesObject.totalResources.cpu = std::stoi(totalResourcesNode["Cpu"].asString());
+		if(!totalResourcesNode["Memory"].isNull())
+			nodesObject.totalResources.memory = std::stoi(totalResourcesNode["Memory"].asString());
+		if(!totalResourcesNode["Gpu"].isNull())
+			nodesObject.totalResources.gpu = std::stoi(totalResourcesNode["Gpu"].asString());
+		auto usedResourcesNode = value["UsedResources"];
+		if(!usedResourcesNode["Cpu"].isNull())
+			nodesObject.usedResources.cpu = std::stoi(usedResourcesNode["Cpu"].asString());
+		if(!usedResourcesNode["Memory"].isNull())
+			nodesObject.usedResources.memory = std::stoi(usedResourcesNode["Memory"].asString());
+		if(!usedResourcesNode["Gpu"].isNull())
+			nodesObject.usedResources.gpu = std::stoi(usedResourcesNode["Gpu"].asString());
+		auto allRoles = value["Roles"]["Role"];
+		for (auto value : allRoles)
+			nodesObject.roles.push_back(value.asString());
+		nodes_.push_back(nodesObject);
+	}
+	if(!value["TotalCount"].isNull())
+		totalCount_ = std::stoi(value["TotalCount"].asString());
+	if(!value["PageNumber"].isNull())
+		pageNumber_ = std::stoi(value["PageNumber"].asString());
+	if(!value["PageSize"].isNull())
+		pageSize_ = std::stoi(value["PageSize"].asString());
 
 
 }
 }
 
 
-int ListNodesNoPagingResult::getTotalCount()const
-{
-	return totalCount_;
-}
-
-int ListNodesNoPagingResult::getPageSize()const
-{
-	return pageSize_;
-}
-
-int ListNodesNoPagingResult::getPageNumber()const
-{
-	return pageNumber_;
-}
-
-std::vector<ListNodesNoPagingResult::NodeInfo> ListNodesNoPagingResult::getNodes()const
-{
-	return nodes_;
-}
-
+int ListNodesNoPagingResult::getTotalCount()const
+{
+	return totalCount_;
+}
+
+int ListNodesNoPagingResult::getPageSize()const
+{
+	return pageSize_;
+}
+
+int ListNodesNoPagingResult::getPageNumber()const
+{
+	return pageNumber_;
+}
+
+std::vector<ListNodesNoPagingResult::NodeInfo> ListNodesNoPagingResult::getNodes()const
+{
+	return nodes_;
+}
+

+ 1 - 1
ehpc/src/model/ListNodesRequest.cc

@@ -19,7 +19,7 @@
 using AlibabaCloud::EHPC::Model::ListNodesRequest;
 using AlibabaCloud::EHPC::Model::ListNodesRequest;
 
 
 ListNodesRequest::ListNodesRequest() :
 ListNodesRequest::ListNodesRequest() :
-	RpcServiceRequest("ehpc", "2017-07-14", "ListNodes")
+	RpcServiceRequest("ehpc", "2018-04-12", "ListNodes")
 {}
 {}
 
 
 ListNodesRequest::~ListNodesRequest()
 ListNodesRequest::~ListNodesRequest()

+ 71 - 80
ehpc/src/model/ListNodesResult.cc

@@ -40,86 +40,77 @@ void ListNodesResult::parse(const std::string &payload)
 	reader.parse(payload, value);
 	reader.parse(payload, value);
 
 
 	setRequestId(value["RequestId"].asString());
 	setRequestId(value["RequestId"].asString());
-	auto allNodes = value["Nodes"]["NodeInfo"];
-	for (auto value : allNodes)
-	{
-		NodeInfo nodesObject;
-		if(!value["Id"].isNull())
-			nodesObject.id = value["Id"].asString();
-		if(!value["RegionId"].isNull())
-			nodesObject.regionId = value["RegionId"].asString();
-		if(!value["Status"].isNull())
-			nodesObject.status = value["Status"].asString();
-		if(!value["CreatedByEhpc"].isNull())
-			nodesObject.createdByEhpc = value["CreatedByEhpc"].asString() == "true";
-		if(!value["Role"].isNull())
-			nodesObject.role = value["Role"].asString();
-		if(!value["AddTime"].isNull())
-			nodesObject.addTime = value["AddTime"].asString();
-		if(!value["Expired"].isNull())
-			nodesObject.expired = value["Expired"].asString() == "true";
-		if(!value["ExpiredTime"].isNull())
-			nodesObject.expiredTime = value["ExpiredTime"].asString();
-		if(!value["SpotStrategy"].isNull())
-			nodesObject.spotStrategy = value["SpotStrategy"].asString();
-		if(!value["LockReason"].isNull())
-			nodesObject.lockReason = value["LockReason"].asString();
-		if(!value["ImageOwnerAlias"].isNull())
-			nodesObject.imageOwnerAlias = value["ImageOwnerAlias"].asString();
-		if(!value["ImageId"].isNull())
-			nodesObject.imageId = value["ImageId"].asString();
-		auto allTotalResources = value["TotalResources"];
-		for (auto value : allTotalResources)
-		{
-			NodeInfo::TotalResources totalResourcesObject;
-			if(!value["Cpu"].isNull())
-				totalResourcesObject.cpu = std::stoi(value["Cpu"].asString());
-			if(!value["Memory"].isNull())
-				totalResourcesObject.memory = std::stoi(value["Memory"].asString());
-			if(!value["Gpu"].isNull())
-				totalResourcesObject.gpu = std::stoi(value["Gpu"].asString());
-			nodesObject.totalResources.push_back(totalResourcesObject);
-		}
-		auto allUsedResources = value["UsedResources"];
-		for (auto value : allUsedResources)
-		{
-			NodeInfo::UsedResources usedResourcesObject;
-			if(!value["Cpu"].isNull())
-				usedResourcesObject.cpu = std::stoi(value["Cpu"].asString());
-			if(!value["Memory"].isNull())
-				usedResourcesObject.memory = std::stoi(value["Memory"].asString());
-			if(!value["Gpu"].isNull())
-				usedResourcesObject.gpu = std::stoi(value["Gpu"].asString());
-			nodesObject.usedResources.push_back(usedResourcesObject);
-		}
-		nodes_.push_back(nodesObject);
-	}
-	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());
+	auto allNodes = value["Nodes"]["NodeInfo"];
+	for (auto value : allNodes)
+	{
+		NodeInfo nodesObject;
+		if(!value["Id"].isNull())
+			nodesObject.id = value["Id"].asString();
+		if(!value["RegionId"].isNull())
+			nodesObject.regionId = value["RegionId"].asString();
+		if(!value["Status"].isNull())
+			nodesObject.status = value["Status"].asString();
+		if(!value["CreatedByEhpc"].isNull())
+			nodesObject.createdByEhpc = value["CreatedByEhpc"].asString() == "true";
+		if(!value["AddTime"].isNull())
+			nodesObject.addTime = value["AddTime"].asString();
+		if(!value["Expired"].isNull())
+			nodesObject.expired = value["Expired"].asString() == "true";
+		if(!value["ExpiredTime"].isNull())
+			nodesObject.expiredTime = value["ExpiredTime"].asString();
+		if(!value["SpotStrategy"].isNull())
+			nodesObject.spotStrategy = value["SpotStrategy"].asString();
+		if(!value["LockReason"].isNull())
+			nodesObject.lockReason = value["LockReason"].asString();
+		if(!value["ImageOwnerAlias"].isNull())
+			nodesObject.imageOwnerAlias = value["ImageOwnerAlias"].asString();
+		if(!value["ImageId"].isNull())
+			nodesObject.imageId = value["ImageId"].asString();
+		auto totalResourcesNode = value["TotalResources"];
+		if(!totalResourcesNode["Cpu"].isNull())
+			nodesObject.totalResources.cpu = std::stoi(totalResourcesNode["Cpu"].asString());
+		if(!totalResourcesNode["Memory"].isNull())
+			nodesObject.totalResources.memory = std::stoi(totalResourcesNode["Memory"].asString());
+		if(!totalResourcesNode["Gpu"].isNull())
+			nodesObject.totalResources.gpu = std::stoi(totalResourcesNode["Gpu"].asString());
+		auto usedResourcesNode = value["UsedResources"];
+		if(!usedResourcesNode["Cpu"].isNull())
+			nodesObject.usedResources.cpu = std::stoi(usedResourcesNode["Cpu"].asString());
+		if(!usedResourcesNode["Memory"].isNull())
+			nodesObject.usedResources.memory = std::stoi(usedResourcesNode["Memory"].asString());
+		if(!usedResourcesNode["Gpu"].isNull())
+			nodesObject.usedResources.gpu = std::stoi(usedResourcesNode["Gpu"].asString());
+		auto allRoles = value["Roles"]["Role"];
+		for (auto value : allRoles)
+			nodesObject.roles.push_back(value.asString());
+		nodes_.push_back(nodesObject);
+	}
+	if(!value["TotalCount"].isNull())
+		totalCount_ = std::stoi(value["TotalCount"].asString());
+	if(!value["PageNumber"].isNull())
+		pageNumber_ = std::stoi(value["PageNumber"].asString());
+	if(!value["PageSize"].isNull())
+		pageSize_ = std::stoi(value["PageSize"].asString());
 
 
 }
 }
 
 
-int ListNodesResult::getTotalCount()const
-{
-	return totalCount_;
-}
-
-int ListNodesResult::getPageSize()const
-{
-	return pageSize_;
-}
-
-int ListNodesResult::getPageNumber()const
-{
-	return pageNumber_;
-}
-
-std::vector<ListNodesResult::NodeInfo> ListNodesResult::getNodes()const
-{
-	return nodes_;
-}
-
+int ListNodesResult::getTotalCount()const
+{
+	return totalCount_;
+}
+
+int ListNodesResult::getPageSize()const
+{
+	return pageSize_;
+}
+
+int ListNodesResult::getPageNumber()const
+{
+	return pageNumber_;
+}
+
+std::vector<ListNodesResult::NodeInfo> ListNodesResult::getNodes()const
+{
+	return nodes_;
+}
+

+ 23 - 1
ehpc/src/model/ListPreferredEcsTypesRequest.cc

@@ -19,12 +19,23 @@
 using AlibabaCloud::EHPC::Model::ListPreferredEcsTypesRequest;
 using AlibabaCloud::EHPC::Model::ListPreferredEcsTypesRequest;
 
 
 ListPreferredEcsTypesRequest::ListPreferredEcsTypesRequest() :
 ListPreferredEcsTypesRequest::ListPreferredEcsTypesRequest() :
-	RpcServiceRequest("ehpc", "2017-07-14", "ListPreferredEcsTypes")
+	RpcServiceRequest("ehpc", "2018-04-12", "ListPreferredEcsTypes")
 {}
 {}
 
 
 ListPreferredEcsTypesRequest::~ListPreferredEcsTypesRequest()
 ListPreferredEcsTypesRequest::~ListPreferredEcsTypesRequest()
 {}
 {}
 
 
+std::string ListPreferredEcsTypesRequest::getSpotStrategy()const
+{
+	return spotStrategy_;
+}
+
+void ListPreferredEcsTypesRequest::setSpotStrategy(const std::string& spotStrategy)
+{
+	spotStrategy_ = spotStrategy;
+	setParameter("SpotStrategy", spotStrategy);
+}
+
 std::string ListPreferredEcsTypesRequest::getZoneId()const
 std::string ListPreferredEcsTypesRequest::getZoneId()const
 {
 {
 	return zoneId_;
 	return zoneId_;
@@ -36,6 +47,17 @@ void ListPreferredEcsTypesRequest::setZoneId(const std::string& zoneId)
 	setParameter("ZoneId", zoneId);
 	setParameter("ZoneId", zoneId);
 }
 }
 
 
+std::string ListPreferredEcsTypesRequest::getInstanceChargeType()const
+{
+	return instanceChargeType_;
+}
+
+void ListPreferredEcsTypesRequest::setInstanceChargeType(const std::string& instanceChargeType)
+{
+	instanceChargeType_ = instanceChargeType;
+	setParameter("InstanceChargeType", instanceChargeType);
+}
+
 std::string ListPreferredEcsTypesRequest::getAccessKeyId()const
 std::string ListPreferredEcsTypesRequest::getAccessKeyId()const
 {
 {
 	return accessKeyId_;
 	return accessKeyId_;

+ 32 - 30
ehpc/src/model/ListPreferredEcsTypesResult.cc

@@ -40,36 +40,38 @@ void ListPreferredEcsTypesResult::parse(const std::string &payload)
 	reader.parse(payload, value);
 	reader.parse(payload, value);
 
 
 	setRequestId(value["RequestId"].asString());
 	setRequestId(value["RequestId"].asString());
-	auto allSeries = value["Series"]["SeriesInfo"];
-	for (auto value : allSeries)
-	{
-		SeriesInfo seriesObject;
-		if(!value["SeriesId"].isNull())
-			seriesObject.seriesId = value["SeriesId"].asString();
-		if(!value["SeriesName"].isNull())
-			seriesObject.seriesName = value["SeriesName"].asString();
-		auto allRoles = value["Roles"];
-		for (auto value : allRoles)
-		{
-			SeriesInfo::Roles rolesObject;
-			auto allManager = value["Manager"]["InstanceTypeId"];
-			for (auto value : allManager)
-				rolesObject.manager.push_back(value.asString());
-			auto allCompute = value["Compute"]["InstanceTypeId"];
-			for (auto value : allCompute)
-				rolesObject.compute.push_back(value.asString());
-			auto allLogin = value["Login"]["InstanceTypeId"];
-			for (auto value : allLogin)
-				rolesObject.login.push_back(value.asString());
-			seriesObject.roles.push_back(rolesObject);
-		}
-		series_.push_back(seriesObject);
-	}
+	auto allSeries = value["Series"]["SeriesInfo"];
+	for (auto value : allSeries)
+	{
+		SeriesInfo seriesObject;
+		if(!value["SeriesId"].isNull())
+			seriesObject.seriesId = value["SeriesId"].asString();
+		if(!value["SeriesName"].isNull())
+			seriesObject.seriesName = value["SeriesName"].asString();
+		auto rolesNode = value["Roles"];
+			auto allManager = rolesNode["Manager"]["InstanceTypeId"];
+			for (auto value : allManager)
+				seriesObject.roles.manager.push_back(value.asString());
+			auto allCompute = rolesNode["Compute"]["InstanceTypeId"];
+			for (auto value : allCompute)
+				seriesObject.roles.compute.push_back(value.asString());
+			auto allLogin = rolesNode["Login"]["InstanceTypeId"];
+			for (auto value : allLogin)
+				seriesObject.roles.login.push_back(value.asString());
+		series_.push_back(seriesObject);
+	}
+	if(!value["SupportSpotInstance"].isNull())
+		supportSpotInstance_ = value["SupportSpotInstance"].asString() == "true";
 
 
 }
 }
 
 
-std::vector<ListPreferredEcsTypesResult::SeriesInfo> ListPreferredEcsTypesResult::getSeries()const
-{
-	return series_;
-}
-
+std::vector<ListPreferredEcsTypesResult::SeriesInfo> ListPreferredEcsTypesResult::getSeries()const
+{
+	return series_;
+}
+
+bool ListPreferredEcsTypesResult::getSupportSpotInstance()const
+{
+	return supportSpotInstance_;
+}
+

+ 1 - 1
ehpc/src/model/ListRegionsRequest.cc

@@ -19,7 +19,7 @@
 using AlibabaCloud::EHPC::Model::ListRegionsRequest;
 using AlibabaCloud::EHPC::Model::ListRegionsRequest;
 
 
 ListRegionsRequest::ListRegionsRequest() :
 ListRegionsRequest::ListRegionsRequest() :
-	RpcServiceRequest("ehpc", "2017-07-14", "ListRegions")
+	RpcServiceRequest("ehpc", "2018-04-12", "ListRegions")
 {}
 {}
 
 
 ListRegionsRequest::~ListRegionsRequest()
 ListRegionsRequest::~ListRegionsRequest()

+ 15 - 15
ehpc/src/model/ListRegionsResult.cc

@@ -40,21 +40,21 @@ void ListRegionsResult::parse(const std::string &payload)
 	reader.parse(payload, value);
 	reader.parse(payload, value);
 
 
 	setRequestId(value["RequestId"].asString());
 	setRequestId(value["RequestId"].asString());
-	auto allRegions = value["Regions"]["RegionInfo"];
-	for (auto value : allRegions)
-	{
-		RegionInfo regionsObject;
-		if(!value["RegionId"].isNull())
-			regionsObject.regionId = value["RegionId"].asString();
-		if(!value["LocalName"].isNull())
-			regionsObject.localName = value["LocalName"].asString();
-		regions_.push_back(regionsObject);
-	}
+	auto allRegions = value["Regions"]["RegionInfo"];
+	for (auto value : allRegions)
+	{
+		RegionInfo regionsObject;
+		if(!value["RegionId"].isNull())
+			regionsObject.regionId = value["RegionId"].asString();
+		if(!value["LocalName"].isNull())
+			regionsObject.localName = value["LocalName"].asString();
+		regions_.push_back(regionsObject);
+	}
 
 
 }
 }
 
 
-std::vector<ListRegionsResult::RegionInfo> ListRegionsResult::getRegions()const
-{
-	return regions_;
-}
-
+std::vector<ListRegionsResult::RegionInfo> ListRegionsResult::getRegions()const
+{
+	return regions_;
+}
+

+ 1 - 1
ehpc/src/model/ListSoftwaresRequest.cc

@@ -19,7 +19,7 @@
 using AlibabaCloud::EHPC::Model::ListSoftwaresRequest;
 using AlibabaCloud::EHPC::Model::ListSoftwaresRequest;
 
 
 ListSoftwaresRequest::ListSoftwaresRequest() :
 ListSoftwaresRequest::ListSoftwaresRequest() :
-	RpcServiceRequest("ehpc", "2017-07-14", "ListSoftwares")
+	RpcServiceRequest("ehpc", "2018-04-12", "ListSoftwares")
 {}
 {}
 
 
 ListSoftwaresRequest::~ListSoftwaresRequest()
 ListSoftwaresRequest::~ListSoftwaresRequest()

+ 37 - 37
ehpc/src/model/ListSoftwaresResult.cc

@@ -40,43 +40,43 @@ void ListSoftwaresResult::parse(const std::string &payload)
 	reader.parse(payload, value);
 	reader.parse(payload, value);
 
 
 	setRequestId(value["RequestId"].asString());
 	setRequestId(value["RequestId"].asString());
-	auto allSoftwares = value["Softwares"]["SoftwareInfo"];
-	for (auto value : allSoftwares)
-	{
-		SoftwareInfo softwaresObject;
-		if(!value["EhpcVersion"].isNull())
-			softwaresObject.ehpcVersion = value["EhpcVersion"].asString();
-		if(!value["OsTag"].isNull())
-			softwaresObject.osTag = value["OsTag"].asString();
-		if(!value["SchedulerType"].isNull())
-			softwaresObject.schedulerType = value["SchedulerType"].asString();
-		if(!value["SchedulerVersion"].isNull())
-			softwaresObject.schedulerVersion = value["SchedulerVersion"].asString();
-		if(!value["AccountType"].isNull())
-			softwaresObject.accountType = value["AccountType"].asString();
-		if(!value["AccountVersion"].isNull())
-			softwaresObject.accountVersion = value["AccountVersion"].asString();
-		auto allApplications = value["Applications"]["ApplicationInfo"];
-		for (auto value : allApplications)
-		{
-			SoftwareInfo::ApplicationInfo applicationsObject;
-			if(!value["Tag"].isNull())
-				applicationsObject.tag = value["Tag"].asString();
-			if(!value["Name"].isNull())
-				applicationsObject.name = value["Name"].asString();
-			if(!value["Version"].isNull())
-				applicationsObject.version = value["Version"].asString();
-			if(!value["Required"].isNull())
-				applicationsObject.required = value["Required"].asString() == "true";
-			softwaresObject.applications.push_back(applicationsObject);
-		}
-		softwares_.push_back(softwaresObject);
-	}
+	auto allSoftwares = value["Softwares"]["SoftwareInfo"];
+	for (auto value : allSoftwares)
+	{
+		SoftwareInfo softwaresObject;
+		if(!value["EhpcVersion"].isNull())
+			softwaresObject.ehpcVersion = value["EhpcVersion"].asString();
+		if(!value["OsTag"].isNull())
+			softwaresObject.osTag = value["OsTag"].asString();
+		if(!value["SchedulerType"].isNull())
+			softwaresObject.schedulerType = value["SchedulerType"].asString();
+		if(!value["SchedulerVersion"].isNull())
+			softwaresObject.schedulerVersion = value["SchedulerVersion"].asString();
+		if(!value["AccountType"].isNull())
+			softwaresObject.accountType = value["AccountType"].asString();
+		if(!value["AccountVersion"].isNull())
+			softwaresObject.accountVersion = value["AccountVersion"].asString();
+		auto allApplications = value["Applications"]["ApplicationInfo"];
+		for (auto value : allApplications)
+		{
+			SoftwareInfo::ApplicationInfo applicationsObject;
+			if(!value["Tag"].isNull())
+				applicationsObject.tag = value["Tag"].asString();
+			if(!value["Name"].isNull())
+				applicationsObject.name = value["Name"].asString();
+			if(!value["Version"].isNull())
+				applicationsObject.version = value["Version"].asString();
+			if(!value["Required"].isNull())
+				applicationsObject.required = value["Required"].asString() == "true";
+			softwaresObject.applications.push_back(applicationsObject);
+		}
+		softwares_.push_back(softwaresObject);
+	}
 
 
 }
 }
 
 
-std::vector<ListSoftwaresResult::SoftwareInfo> ListSoftwaresResult::getSoftwares()const
-{
-	return softwares_;
-}
-
+std::vector<ListSoftwaresResult::SoftwareInfo> ListSoftwaresResult::getSoftwares()const
+{
+	return softwares_;
+}
+

+ 1 - 1
ehpc/src/model/ListUsersRequest.cc

@@ -19,7 +19,7 @@
 using AlibabaCloud::EHPC::Model::ListUsersRequest;
 using AlibabaCloud::EHPC::Model::ListUsersRequest;
 
 
 ListUsersRequest::ListUsersRequest() :
 ListUsersRequest::ListUsersRequest() :
-	RpcServiceRequest("ehpc", "2017-07-14", "ListUsers")
+	RpcServiceRequest("ehpc", "2018-04-12", "ListUsers")
 {}
 {}
 
 
 ListUsersRequest::~ListUsersRequest()
 ListUsersRequest::~ListUsersRequest()

+ 38 - 38
ehpc/src/model/ListUsersResult.cc

@@ -40,44 +40,44 @@ void ListUsersResult::parse(const std::string &payload)
 	reader.parse(payload, value);
 	reader.parse(payload, value);
 
 
 	setRequestId(value["RequestId"].asString());
 	setRequestId(value["RequestId"].asString());
-	auto allUsers = value["Users"]["UserInfo"];
-	for (auto value : allUsers)
-	{
-		UserInfo usersObject;
-		if(!value["Name"].isNull())
-			usersObject.name = value["Name"].asString();
-		if(!value["Group"].isNull())
-			usersObject.group = value["Group"].asString();
-		if(!value["AddTime"].isNull())
-			usersObject.addTime = value["AddTime"].asString();
-		users_.push_back(usersObject);
-	}
-	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());
+	auto allUsers = value["Users"]["UserInfo"];
+	for (auto value : allUsers)
+	{
+		UserInfo usersObject;
+		if(!value["Name"].isNull())
+			usersObject.name = value["Name"].asString();
+		if(!value["Group"].isNull())
+			usersObject.group = value["Group"].asString();
+		if(!value["AddTime"].isNull())
+			usersObject.addTime = value["AddTime"].asString();
+		users_.push_back(usersObject);
+	}
+	if(!value["TotalCount"].isNull())
+		totalCount_ = std::stoi(value["TotalCount"].asString());
+	if(!value["PageNumber"].isNull())
+		pageNumber_ = std::stoi(value["PageNumber"].asString());
+	if(!value["PageSize"].isNull())
+		pageSize_ = std::stoi(value["PageSize"].asString());
 
 
 }
 }
 
 
-int ListUsersResult::getTotalCount()const
-{
-	return totalCount_;
-}
-
-int ListUsersResult::getPageSize()const
-{
-	return pageSize_;
-}
-
-int ListUsersResult::getPageNumber()const
-{
-	return pageNumber_;
-}
-
-std::vector<ListUsersResult::UserInfo> ListUsersResult::getUsers()const
-{
-	return users_;
-}
-
+int ListUsersResult::getTotalCount()const
+{
+	return totalCount_;
+}
+
+int ListUsersResult::getPageSize()const
+{
+	return pageSize_;
+}
+
+int ListUsersResult::getPageNumber()const
+{
+	return pageNumber_;
+}
+
+std::vector<ListUsersResult::UserInfo> ListUsersResult::getUsers()const
+{
+	return users_;
+}
+

+ 1 - 1
ehpc/src/model/ListVolumesRequest.cc

@@ -19,7 +19,7 @@
 using AlibabaCloud::EHPC::Model::ListVolumesRequest;
 using AlibabaCloud::EHPC::Model::ListVolumesRequest;
 
 
 ListVolumesRequest::ListVolumesRequest() :
 ListVolumesRequest::ListVolumesRequest() :
-	RpcServiceRequest("ehpc", "2017-07-14", "ListVolumes")
+	RpcServiceRequest("ehpc", "2018-04-12", "ListVolumes")
 {}
 {}
 
 
 ListVolumesRequest::~ListVolumesRequest()
 ListVolumesRequest::~ListVolumesRequest()

+ 48 - 48
ehpc/src/model/ListVolumesResult.cc

@@ -40,54 +40,54 @@ void ListVolumesResult::parse(const std::string &payload)
 	reader.parse(payload, value);
 	reader.parse(payload, value);
 
 
 	setRequestId(value["RequestId"].asString());
 	setRequestId(value["RequestId"].asString());
-	auto allVolumes = value["Volumes"]["VolumeInfo"];
-	for (auto value : allVolumes)
-	{
-		VolumeInfo volumesObject;
-		if(!value["RegionId"].isNull())
-			volumesObject.regionId = value["RegionId"].asString();
-		if(!value["ClusterId"].isNull())
-			volumesObject.clusterId = value["ClusterId"].asString();
-		if(!value["ClusterName"].isNull())
-			volumesObject.clusterName = value["ClusterName"].asString();
-		if(!value["VolumeId"].isNull())
-			volumesObject.volumeId = value["VolumeId"].asString();
-		if(!value["VolumeType"].isNull())
-			volumesObject.volumeType = value["VolumeType"].asString();
-		if(!value["VolumeProtocol"].isNull())
-			volumesObject.volumeProtocol = value["VolumeProtocol"].asString();
-		if(!value["VolumeMountpoint"].isNull())
-			volumesObject.volumeMountpoint = value["VolumeMountpoint"].asString();
-		if(!value["RemoteDirectory"].isNull())
-			volumesObject.remoteDirectory = value["RemoteDirectory"].asString();
-		volumes_.push_back(volumesObject);
-	}
-	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());
+	auto allVolumes = value["Volumes"]["VolumeInfo"];
+	for (auto value : allVolumes)
+	{
+		VolumeInfo volumesObject;
+		if(!value["RegionId"].isNull())
+			volumesObject.regionId = value["RegionId"].asString();
+		if(!value["ClusterId"].isNull())
+			volumesObject.clusterId = value["ClusterId"].asString();
+		if(!value["ClusterName"].isNull())
+			volumesObject.clusterName = value["ClusterName"].asString();
+		if(!value["VolumeId"].isNull())
+			volumesObject.volumeId = value["VolumeId"].asString();
+		if(!value["VolumeType"].isNull())
+			volumesObject.volumeType = value["VolumeType"].asString();
+		if(!value["VolumeProtocol"].isNull())
+			volumesObject.volumeProtocol = value["VolumeProtocol"].asString();
+		if(!value["VolumeMountpoint"].isNull())
+			volumesObject.volumeMountpoint = value["VolumeMountpoint"].asString();
+		if(!value["RemoteDirectory"].isNull())
+			volumesObject.remoteDirectory = value["RemoteDirectory"].asString();
+		volumes_.push_back(volumesObject);
+	}
+	if(!value["TotalCount"].isNull())
+		totalCount_ = std::stoi(value["TotalCount"].asString());
+	if(!value["PageNumber"].isNull())
+		pageNumber_ = std::stoi(value["PageNumber"].asString());
+	if(!value["PageSize"].isNull())
+		pageSize_ = std::stoi(value["PageSize"].asString());
 
 
 }
 }
 
 
-int ListVolumesResult::getTotalCount()const
-{
-	return totalCount_;
-}
-
-std::vector<ListVolumesResult::VolumeInfo> ListVolumesResult::getVolumes()const
-{
-	return volumes_;
-}
-
-int ListVolumesResult::getPageSize()const
-{
-	return pageSize_;
-}
-
-int ListVolumesResult::getPageNumber()const
-{
-	return pageNumber_;
-}
-
+int ListVolumesResult::getTotalCount()const
+{
+	return totalCount_;
+}
+
+std::vector<ListVolumesResult::VolumeInfo> ListVolumesResult::getVolumes()const
+{
+	return volumes_;
+}
+
+int ListVolumesResult::getPageSize()const
+{
+	return pageSize_;
+}
+
+int ListVolumesResult::getPageNumber()const
+{
+	return pageNumber_;
+}
+

+ 1 - 1
ehpc/src/model/ModifyClusterAttributesRequest.cc

@@ -19,7 +19,7 @@
 using AlibabaCloud::EHPC::Model::ModifyClusterAttributesRequest;
 using AlibabaCloud::EHPC::Model::ModifyClusterAttributesRequest;
 
 
 ModifyClusterAttributesRequest::ModifyClusterAttributesRequest() :
 ModifyClusterAttributesRequest::ModifyClusterAttributesRequest() :
-	RpcServiceRequest("ehpc", "2017-07-14", "ModifyClusterAttributes")
+	RpcServiceRequest("ehpc", "2018-04-12", "ModifyClusterAttributes")
 {}
 {}
 
 
 ModifyClusterAttributesRequest::~ModifyClusterAttributesRequest()
 ModifyClusterAttributesRequest::~ModifyClusterAttributesRequest()

+ 1 - 1
ehpc/src/model/ModifyUserGroupsRequest.cc

@@ -19,7 +19,7 @@
 using AlibabaCloud::EHPC::Model::ModifyUserGroupsRequest;
 using AlibabaCloud::EHPC::Model::ModifyUserGroupsRequest;
 
 
 ModifyUserGroupsRequest::ModifyUserGroupsRequest() :
 ModifyUserGroupsRequest::ModifyUserGroupsRequest() :
-	RpcServiceRequest("ehpc", "2017-07-14", "ModifyUserGroups")
+	RpcServiceRequest("ehpc", "2018-04-12", "ModifyUserGroups")
 {}
 {}
 
 
 ModifyUserGroupsRequest::~ModifyUserGroupsRequest()
 ModifyUserGroupsRequest::~ModifyUserGroupsRequest()

+ 1 - 1
ehpc/src/model/ModifyUserPasswordsRequest.cc

@@ -19,7 +19,7 @@
 using AlibabaCloud::EHPC::Model::ModifyUserPasswordsRequest;
 using AlibabaCloud::EHPC::Model::ModifyUserPasswordsRequest;
 
 
 ModifyUserPasswordsRequest::ModifyUserPasswordsRequest() :
 ModifyUserPasswordsRequest::ModifyUserPasswordsRequest() :
-	RpcServiceRequest("ehpc", "2017-07-14", "ModifyUserPasswords")
+	RpcServiceRequest("ehpc", "2018-04-12", "ModifyUserPasswords")
 {}
 {}
 
 
 ModifyUserPasswordsRequest::~ModifyUserPasswordsRequest()
 ModifyUserPasswordsRequest::~ModifyUserPasswordsRequest()

+ 49 - 0
ehpc/src/model/RecoverClusterRequest.cc

@@ -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.
+ */
+
+#include <alibabacloud/ehpc/model/RecoverClusterRequest.h>
+
+using AlibabaCloud::EHPC::Model::RecoverClusterRequest;
+
+RecoverClusterRequest::RecoverClusterRequest() :
+	RpcServiceRequest("ehpc", "2018-04-12", "RecoverCluster")
+{}
+
+RecoverClusterRequest::~RecoverClusterRequest()
+{}
+
+std::string RecoverClusterRequest::getClusterId()const
+{
+	return clusterId_;
+}
+
+void RecoverClusterRequest::setClusterId(const std::string& clusterId)
+{
+	clusterId_ = clusterId;
+	setParameter("ClusterId", clusterId);
+}
+
+std::string RecoverClusterRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void RecoverClusterRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+

+ 45 - 0
ehpc/src/model/RecoverClusterResult.cc

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

+ 1 - 1
ehpc/src/model/RerunJobsRequest.cc

@@ -19,7 +19,7 @@
 using AlibabaCloud::EHPC::Model::RerunJobsRequest;
 using AlibabaCloud::EHPC::Model::RerunJobsRequest;
 
 
 RerunJobsRequest::RerunJobsRequest() :
 RerunJobsRequest::RerunJobsRequest() :
-	RpcServiceRequest("ehpc", "2017-07-14", "RerunJobs")
+	RpcServiceRequest("ehpc", "2018-04-12", "RerunJobs")
 {}
 {}
 
 
 RerunJobsRequest::~RerunJobsRequest()
 RerunJobsRequest::~RerunJobsRequest()

+ 1 - 1
ehpc/src/model/ResetNodesRequest.cc

@@ -19,7 +19,7 @@
 using AlibabaCloud::EHPC::Model::ResetNodesRequest;
 using AlibabaCloud::EHPC::Model::ResetNodesRequest;
 
 
 ResetNodesRequest::ResetNodesRequest() :
 ResetNodesRequest::ResetNodesRequest() :
-	RpcServiceRequest("ehpc", "2017-07-14", "ResetNodes")
+	RpcServiceRequest("ehpc", "2018-04-12", "ResetNodes")
 {}
 {}
 
 
 ResetNodesRequest::~ResetNodesRequest()
 ResetNodesRequest::~ResetNodesRequest()

+ 1 - 1
ehpc/src/model/SetAutoScaleConfigRequest.cc

@@ -19,7 +19,7 @@
 using AlibabaCloud::EHPC::Model::SetAutoScaleConfigRequest;
 using AlibabaCloud::EHPC::Model::SetAutoScaleConfigRequest;
 
 
 SetAutoScaleConfigRequest::SetAutoScaleConfigRequest() :
 SetAutoScaleConfigRequest::SetAutoScaleConfigRequest() :
-	RpcServiceRequest("ehpc", "2017-07-14", "SetAutoScaleConfig")
+	RpcServiceRequest("ehpc", "2018-04-12", "SetAutoScaleConfig")
 {}
 {}
 
 
 SetAutoScaleConfigRequest::~SetAutoScaleConfigRequest()
 SetAutoScaleConfigRequest::~SetAutoScaleConfigRequest()

+ 1 - 1
ehpc/src/model/SetJobUserRequest.cc

@@ -19,7 +19,7 @@
 using AlibabaCloud::EHPC::Model::SetJobUserRequest;
 using AlibabaCloud::EHPC::Model::SetJobUserRequest;
 
 
 SetJobUserRequest::SetJobUserRequest() :
 SetJobUserRequest::SetJobUserRequest() :
-	RpcServiceRequest("ehpc", "2017-07-14", "SetJobUser")
+	RpcServiceRequest("ehpc", "2018-04-12", "SetJobUser")
 {}
 {}
 
 
 SetJobUserRequest::~SetJobUserRequest()
 SetJobUserRequest::~SetJobUserRequest()

+ 49 - 0
ehpc/src/model/StartClusterRequest.cc

@@ -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.
+ */
+
+#include <alibabacloud/ehpc/model/StartClusterRequest.h>
+
+using AlibabaCloud::EHPC::Model::StartClusterRequest;
+
+StartClusterRequest::StartClusterRequest() :
+	RpcServiceRequest("ehpc", "2018-04-12", "StartCluster")
+{}
+
+StartClusterRequest::~StartClusterRequest()
+{}
+
+std::string StartClusterRequest::getClusterId()const
+{
+	return clusterId_;
+}
+
+void StartClusterRequest::setClusterId(const std::string& clusterId)
+{
+	clusterId_ = clusterId;
+	setParameter("ClusterId", clusterId);
+}
+
+std::string StartClusterRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void StartClusterRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+

+ 45 - 0
ehpc/src/model/StartClusterResult.cc

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

+ 76 - 0
ehpc/src/model/StartNodesRequest.cc

@@ -0,0 +1,76 @@
+/*
+ * 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/ehpc/model/StartNodesRequest.h>
+
+using AlibabaCloud::EHPC::Model::StartNodesRequest;
+
+StartNodesRequest::StartNodesRequest() :
+	RpcServiceRequest("ehpc", "2018-04-12", "StartNodes")
+{}
+
+StartNodesRequest::~StartNodesRequest()
+{}
+
+std::string StartNodesRequest::getRole()const
+{
+	return role_;
+}
+
+void StartNodesRequest::setRole(const std::string& role)
+{
+	role_ = role;
+	setParameter("Role", role);
+}
+
+std::vector<StartNodesRequest::Instance> StartNodesRequest::getInstance()const
+{
+	return instance_;
+}
+
+void StartNodesRequest::setInstance(const std::vector<Instance>& instance)
+{
+	instance_ = instance;
+	int i = 0;
+	for(int i = 0; i!= instance.size(); i++)	{
+		auto obj = instance.at(i);
+		std::string str ="Instance."+ std::to_string(i);
+		setParameter(str + ".Id", obj.id);
+	}
+}
+
+std::string StartNodesRequest::getClusterId()const
+{
+	return clusterId_;
+}
+
+void StartNodesRequest::setClusterId(const std::string& clusterId)
+{
+	clusterId_ = clusterId;
+	setParameter("ClusterId", clusterId);
+}
+
+std::string StartNodesRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void StartNodesRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+

+ 45 - 0
ehpc/src/model/StartNodesResult.cc

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

Некоторые файлы не были показаны из-за большого количества измененных файлов