Browse Source

EHPC SDK Auto Released By qianzheng.llc,Version:1.20.0

Signed-off-by: haowei.yao <haowei.yao@alibaba-inc.com>
haowei.yao 8 năm trước cách đây
mục cha
commit
33d0687c01
83 tập tin đã thay đổi với 5109 bổ sung542 xóa
  1. 5 0
      CHANGELOG
  2. 1 1
      VERSION
  3. 110 54
      ehpc/CMakeLists.txt
  4. 216 104
      ehpc/include/alibabacloud/ehpc/EHPCClient.h
  5. 63 0
      ehpc/include/alibabacloud/ehpc/model/AddContainerAppRequest.h
  6. 51 0
      ehpc/include/alibabacloud/ehpc/model/AddContainerAppResult.h
  7. 3 0
      ehpc/include/alibabacloud/ehpc/model/AddNodesRequest.h
  8. 0 3
      ehpc/include/alibabacloud/ehpc/model/AddUsersRequest.h
  9. 115 0
      ehpc/include/alibabacloud/ehpc/model/CreateHybridClusterRequest.h
  10. 51 0
      ehpc/include/alibabacloud/ehpc/model/CreateHybridClusterResult.h
  11. 12 15
      ehpc/include/alibabacloud/ehpc/model/CreateJobTemplateRequest.h
  12. 55 0
      ehpc/include/alibabacloud/ehpc/model/DeleteContainerAppsRequest.h
  13. 49 0
      ehpc/include/alibabacloud/ehpc/model/DeleteContainerAppsResult.h
  14. 0 3
      ehpc/include/alibabacloud/ehpc/model/DeleteJobTemplatesRequest.h
  15. 51 0
      ehpc/include/alibabacloud/ehpc/model/DescribeAutoScaleConfigRequest.h
  16. 79 0
      ehpc/include/alibabacloud/ehpc/model/DescribeAutoScaleConfigResult.h
  17. 2 0
      ehpc/include/alibabacloud/ehpc/model/DescribeClusterResult.h
  18. 51 0
      ehpc/include/alibabacloud/ehpc/model/DescribeContainerAppRequest.h
  19. 61 0
      ehpc/include/alibabacloud/ehpc/model/DescribeContainerAppResult.h
  20. 0 3
      ehpc/include/alibabacloud/ehpc/model/EditJobTemplateRequest.h
  21. 51 0
      ehpc/include/alibabacloud/ehpc/model/GetHybridClusterConfigRequest.h
  22. 51 0
      ehpc/include/alibabacloud/ehpc/model/GetHybridClusterConfigResult.h
  23. 67 0
      ehpc/include/alibabacloud/ehpc/model/InvokeShellCommandRequest.h
  24. 53 0
      ehpc/include/alibabacloud/ehpc/model/InvokeShellCommandResult.h
  25. 1 0
      ehpc/include/alibabacloud/ehpc/model/ListClustersResult.h
  26. 60 0
      ehpc/include/alibabacloud/ehpc/model/ListCommandsRequest.h
  27. 64 0
      ehpc/include/alibabacloud/ehpc/model/ListCommandsResult.h
  28. 54 0
      ehpc/include/alibabacloud/ehpc/model/ListContainerAppsRequest.h
  29. 67 0
      ehpc/include/alibabacloud/ehpc/model/ListContainerAppsResult.h
  30. 60 0
      ehpc/include/alibabacloud/ehpc/model/ListContainerImagesRequest.h
  31. 69 0
      ehpc/include/alibabacloud/ehpc/model/ListContainerImagesResult.h
  32. 0 3
      ehpc/include/alibabacloud/ehpc/model/ListCustomImagesRequest.h
  33. 70 0
      ehpc/include/alibabacloud/ehpc/model/ListInvocationResultsRequest.h
  34. 67 0
      ehpc/include/alibabacloud/ehpc/model/ListInvocationResultsResult.h
  35. 54 0
      ehpc/include/alibabacloud/ehpc/model/ListInvocationStatusRequest.h
  36. 60 0
      ehpc/include/alibabacloud/ehpc/model/ListInvocationStatusResult.h
  37. 0 3
      ehpc/include/alibabacloud/ehpc/model/ListJobTemplatesRequest.h
  38. 1 0
      ehpc/include/alibabacloud/ehpc/model/ListNodesResult.h
  39. 54 0
      ehpc/include/alibabacloud/ehpc/model/ModifyContainerAppAttributesRequest.h
  40. 49 0
      ehpc/include/alibabacloud/ehpc/model/ModifyContainerAppAttributesResult.h
  41. 60 0
      ehpc/include/alibabacloud/ehpc/model/PullImageRequest.h
  42. 49 0
      ehpc/include/alibabacloud/ehpc/model/PullImageResult.h
  43. 12 0
      ehpc/include/alibabacloud/ehpc/model/SubmitJobRequest.h
  44. 747 243
      ehpc/src/EHPCClient.cc
  45. 93 0
      ehpc/src/model/AddContainerAppRequest.cc
  46. 53 0
      ehpc/src/model/AddContainerAppResult.cc
  47. 11 0
      ehpc/src/model/AddNodesRequest.cc
  48. 0 11
      ehpc/src/model/AddUsersRequest.cc
  49. 274 0
      ehpc/src/model/CreateHybridClusterRequest.cc
  50. 52 0
      ehpc/src/model/CreateHybridClusterResult.cc
  51. 44 55
      ehpc/src/model/CreateJobTemplateRequest.cc
  52. 54 0
      ehpc/src/model/DeleteContainerAppsRequest.cc
  53. 45 0
      ehpc/src/model/DeleteContainerAppsResult.cc
  54. 0 11
      ehpc/src/model/DeleteJobTemplatesRequest.cc
  55. 49 0
      ehpc/src/model/DescribeAutoScaleConfigRequest.cc
  56. 150 0
      ehpc/src/model/DescribeAutoScaleConfigResult.cc
  57. 4 0
      ehpc/src/model/DescribeClusterResult.cc
  58. 49 0
      ehpc/src/model/DescribeContainerAppRequest.cc
  59. 65 0
      ehpc/src/model/DescribeContainerAppResult.cc
  60. 0 11
      ehpc/src/model/EditJobTemplateRequest.cc
  61. 49 0
      ehpc/src/model/GetHybridClusterConfigRequest.cc
  62. 52 0
      ehpc/src/model/GetHybridClusterConfigResult.cc
  63. 98 0
      ehpc/src/model/InvokeShellCommandRequest.cc
  64. 60 0
      ehpc/src/model/InvokeShellCommandResult.cc
  65. 2 0
      ehpc/src/model/ListClustersResult.cc
  66. 82 0
      ehpc/src/model/ListCommandsRequest.cc
  67. 85 0
      ehpc/src/model/ListCommandsResult.cc
  68. 60 0
      ehpc/src/model/ListContainerAppsRequest.cc
  69. 91 0
      ehpc/src/model/ListContainerAppsResult.cc
  70. 82 0
      ehpc/src/model/ListContainerImagesRequest.cc
  71. 98 0
      ehpc/src/model/ListContainerImagesResult.cc
  72. 0 11
      ehpc/src/model/ListCustomImagesRequest.cc
  73. 109 0
      ehpc/src/model/ListInvocationResultsRequest.cc
  74. 91 0
      ehpc/src/model/ListInvocationResultsResult.cc
  75. 60 0
      ehpc/src/model/ListInvocationStatusRequest.cc
  76. 74 0
      ehpc/src/model/ListInvocationStatusResult.cc
  77. 0 11
      ehpc/src/model/ListJobTemplatesRequest.cc
  78. 2 0
      ehpc/src/model/ListNodesResult.cc
  79. 60 0
      ehpc/src/model/ModifyContainerAppAttributesRequest.cc
  80. 45 0
      ehpc/src/model/ModifyContainerAppAttributesResult.cc
  81. 82 0
      ehpc/src/model/PullImageRequest.cc
  82. 45 0
      ehpc/src/model/PullImageResult.cc
  83. 44 0
      ehpc/src/model/SubmitJobRequest.cc

+ 5 - 0
CHANGELOG

@@ -1,3 +1,8 @@
+2018-07-13 Version: 1.20.0
+1, New APIs for batch executing commands in cluster: InvokeShellCommand, ListCommands, etc.
+2, New APIs for HybridCluster (link E-HPC with cluster in local IDC): CreateHybridCluster, etc.
+3, New APIs for Container applications: AddContainerApp, etc.
+
 2018-07-11 Version: 1.19.3
 1, new function: Attach and Detach Rds instance of scalingGroup.
 

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.19.3
+1.20.0

+ 110 - 54
ehpc/CMakeLists.txt

@@ -27,20 +27,20 @@ set(ehpc_public_header_model
 	include/alibabacloud/ehpc/model/DescribeClusterResult.h
 	include/alibabacloud/ehpc/model/ListUsersRequest.h
 	include/alibabacloud/ehpc/model/ListUsersResult.h
-	include/alibabacloud/ehpc/model/UpgradeClientRequest.h
-	include/alibabacloud/ehpc/model/UpgradeClientResult.h
 	include/alibabacloud/ehpc/model/StopNodesRequest.h
 	include/alibabacloud/ehpc/model/StopNodesResult.h
+	include/alibabacloud/ehpc/model/PullImageRequest.h
+	include/alibabacloud/ehpc/model/PullImageResult.h
+	include/alibabacloud/ehpc/model/DescribeContainerAppRequest.h
+	include/alibabacloud/ehpc/model/DescribeContainerAppResult.h
 	include/alibabacloud/ehpc/model/ListCurrentClientVersionRequest.h
 	include/alibabacloud/ehpc/model/ListCurrentClientVersionResult.h
-	include/alibabacloud/ehpc/model/DeleteClusterRequest.h
-	include/alibabacloud/ehpc/model/DeleteClusterResult.h
-	include/alibabacloud/ehpc/model/ListImagesRequest.h
-	include/alibabacloud/ehpc/model/ListImagesResult.h
+	include/alibabacloud/ehpc/model/ModifyContainerAppAttributesRequest.h
+	include/alibabacloud/ehpc/model/ModifyContainerAppAttributesResult.h
 	include/alibabacloud/ehpc/model/SetAutoScaleConfigRequest.h
 	include/alibabacloud/ehpc/model/SetAutoScaleConfigResult.h
-	include/alibabacloud/ehpc/model/ListVolumesRequest.h
-	include/alibabacloud/ehpc/model/ListVolumesResult.h
+	include/alibabacloud/ehpc/model/ListInvocationResultsRequest.h
+	include/alibabacloud/ehpc/model/ListInvocationResultsResult.h
 	include/alibabacloud/ehpc/model/AddNodesRequest.h
 	include/alibabacloud/ehpc/model/AddNodesResult.h
 	include/alibabacloud/ehpc/model/ListSoftwaresRequest.h
@@ -53,20 +53,16 @@ set(ehpc_public_header_model
 	include/alibabacloud/ehpc/model/GetAutoScaleConfigResult.h
 	include/alibabacloud/ehpc/model/ListNodesRequest.h
 	include/alibabacloud/ehpc/model/ListNodesResult.h
-	include/alibabacloud/ehpc/model/SetJobUserRequest.h
-	include/alibabacloud/ehpc/model/SetJobUserResult.h
 	include/alibabacloud/ehpc/model/ModifyUserGroupsRequest.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/ListClustersResult.h
-	include/alibabacloud/ehpc/model/SubmitJobRequest.h
-	include/alibabacloud/ehpc/model/SubmitJobResult.h
+	include/alibabacloud/ehpc/model/ListCommandsRequest.h
+	include/alibabacloud/ehpc/model/ListCommandsResult.h
 	include/alibabacloud/ehpc/model/ListCustomImagesRequest.h
 	include/alibabacloud/ehpc/model/ListCustomImagesResult.h
-	include/alibabacloud/ehpc/model/ListRegionsRequest.h
-	include/alibabacloud/ehpc/model/ListRegionsResult.h
+	include/alibabacloud/ehpc/model/InvokeShellCommandRequest.h
+	include/alibabacloud/ehpc/model/InvokeShellCommandResult.h
 	include/alibabacloud/ehpc/model/AddUsersRequest.h
 	include/alibabacloud/ehpc/model/AddUsersResult.h
 	include/alibabacloud/ehpc/model/ListJobTemplatesRequest.h
@@ -79,20 +75,16 @@ set(ehpc_public_header_model
 	include/alibabacloud/ehpc/model/StopClusterResult.h
 	include/alibabacloud/ehpc/model/ListNodesNoPagingRequest.h
 	include/alibabacloud/ehpc/model/ListNodesNoPagingResult.h
+	include/alibabacloud/ehpc/model/GetHybridClusterConfigRequest.h
+	include/alibabacloud/ehpc/model/GetHybridClusterConfigResult.h
 	include/alibabacloud/ehpc/model/CreateJobTemplateRequest.h
 	include/alibabacloud/ehpc/model/CreateJobTemplateResult.h
-	include/alibabacloud/ehpc/model/RerunJobsRequest.h
-	include/alibabacloud/ehpc/model/RerunJobsResult.h
 	include/alibabacloud/ehpc/model/ResetNodesRequest.h
 	include/alibabacloud/ehpc/model/ResetNodesResult.h
-	include/alibabacloud/ehpc/model/EditJobTemplateRequest.h
-	include/alibabacloud/ehpc/model/EditJobTemplateResult.h
-	include/alibabacloud/ehpc/model/ListPreferredEcsTypesRequest.h
-	include/alibabacloud/ehpc/model/ListPreferredEcsTypesResult.h
-	include/alibabacloud/ehpc/model/ListClusterLogsRequest.h
-	include/alibabacloud/ehpc/model/ListClusterLogsResult.h
-	include/alibabacloud/ehpc/model/RecoverClusterRequest.h
-	include/alibabacloud/ehpc/model/RecoverClusterResult.h
+	include/alibabacloud/ehpc/model/CreateHybridClusterRequest.h
+	include/alibabacloud/ehpc/model/CreateHybridClusterResult.h
+	include/alibabacloud/ehpc/model/ListContainerImagesRequest.h
+	include/alibabacloud/ehpc/model/ListContainerImagesResult.h
 	include/alibabacloud/ehpc/model/DeleteJobsRequest.h
 	include/alibabacloud/ehpc/model/DeleteJobsResult.h
 	include/alibabacloud/ehpc/model/DeleteNodesRequest.h
@@ -102,7 +94,43 @@ set(ehpc_public_header_model
 	include/alibabacloud/ehpc/model/CreateClusterRequest.h
 	include/alibabacloud/ehpc/model/CreateClusterResult.h
 	include/alibabacloud/ehpc/model/ModifyUserPasswordsRequest.h
-	include/alibabacloud/ehpc/model/ModifyUserPasswordsResult.h )
+	include/alibabacloud/ehpc/model/ModifyUserPasswordsResult.h
+	include/alibabacloud/ehpc/model/UpgradeClientRequest.h
+	include/alibabacloud/ehpc/model/UpgradeClientResult.h
+	include/alibabacloud/ehpc/model/DeleteClusterRequest.h
+	include/alibabacloud/ehpc/model/DeleteClusterResult.h
+	include/alibabacloud/ehpc/model/ListImagesRequest.h
+	include/alibabacloud/ehpc/model/ListImagesResult.h
+	include/alibabacloud/ehpc/model/ListVolumesRequest.h
+	include/alibabacloud/ehpc/model/ListVolumesResult.h
+	include/alibabacloud/ehpc/model/DeleteContainerAppsRequest.h
+	include/alibabacloud/ehpc/model/DeleteContainerAppsResult.h
+	include/alibabacloud/ehpc/model/ListInvocationStatusRequest.h
+	include/alibabacloud/ehpc/model/ListInvocationStatusResult.h
+	include/alibabacloud/ehpc/model/ListContainerAppsRequest.h
+	include/alibabacloud/ehpc/model/ListContainerAppsResult.h
+	include/alibabacloud/ehpc/model/SetJobUserRequest.h
+	include/alibabacloud/ehpc/model/SetJobUserResult.h
+	include/alibabacloud/ehpc/model/ListClustersRequest.h
+	include/alibabacloud/ehpc/model/ListClustersResult.h
+	include/alibabacloud/ehpc/model/SubmitJobRequest.h
+	include/alibabacloud/ehpc/model/SubmitJobResult.h
+	include/alibabacloud/ehpc/model/ListRegionsRequest.h
+	include/alibabacloud/ehpc/model/ListRegionsResult.h
+	include/alibabacloud/ehpc/model/DescribeAutoScaleConfigRequest.h
+	include/alibabacloud/ehpc/model/DescribeAutoScaleConfigResult.h
+	include/alibabacloud/ehpc/model/RerunJobsRequest.h
+	include/alibabacloud/ehpc/model/RerunJobsResult.h
+	include/alibabacloud/ehpc/model/EditJobTemplateRequest.h
+	include/alibabacloud/ehpc/model/EditJobTemplateResult.h
+	include/alibabacloud/ehpc/model/ListPreferredEcsTypesRequest.h
+	include/alibabacloud/ehpc/model/ListPreferredEcsTypesResult.h
+	include/alibabacloud/ehpc/model/AddContainerAppRequest.h
+	include/alibabacloud/ehpc/model/AddContainerAppResult.h
+	include/alibabacloud/ehpc/model/ListClusterLogsRequest.h
+	include/alibabacloud/ehpc/model/ListClusterLogsResult.h
+	include/alibabacloud/ehpc/model/RecoverClusterRequest.h
+	include/alibabacloud/ehpc/model/RecoverClusterResult.h )
 
 set(ehpc_src 
 	src/EHPCClient.cc
@@ -112,20 +140,20 @@ set(ehpc_src
 	src/model/DescribeClusterResult.cc
 	src/model/ListUsersRequest.cc
 	src/model/ListUsersResult.cc
-	src/model/UpgradeClientRequest.cc
-	src/model/UpgradeClientResult.cc
 	src/model/StopNodesRequest.cc
 	src/model/StopNodesResult.cc
+	src/model/PullImageRequest.cc
+	src/model/PullImageResult.cc
+	src/model/DescribeContainerAppRequest.cc
+	src/model/DescribeContainerAppResult.cc
 	src/model/ListCurrentClientVersionRequest.cc
 	src/model/ListCurrentClientVersionResult.cc
-	src/model/DeleteClusterRequest.cc
-	src/model/DeleteClusterResult.cc
-	src/model/ListImagesRequest.cc
-	src/model/ListImagesResult.cc
+	src/model/ModifyContainerAppAttributesRequest.cc
+	src/model/ModifyContainerAppAttributesResult.cc
 	src/model/SetAutoScaleConfigRequest.cc
 	src/model/SetAutoScaleConfigResult.cc
-	src/model/ListVolumesRequest.cc
-	src/model/ListVolumesResult.cc
+	src/model/ListInvocationResultsRequest.cc
+	src/model/ListInvocationResultsResult.cc
 	src/model/AddNodesRequest.cc
 	src/model/AddNodesResult.cc
 	src/model/ListSoftwaresRequest.cc
@@ -138,20 +166,16 @@ set(ehpc_src
 	src/model/GetAutoScaleConfigResult.cc
 	src/model/ListNodesRequest.cc
 	src/model/ListNodesResult.cc
-	src/model/SetJobUserRequest.cc
-	src/model/SetJobUserResult.cc
 	src/model/ModifyUserGroupsRequest.cc
 	src/model/ModifyUserGroupsResult.cc
 	src/model/StartClusterRequest.cc
 	src/model/StartClusterResult.cc
-	src/model/ListClustersRequest.cc
-	src/model/ListClustersResult.cc
-	src/model/SubmitJobRequest.cc
-	src/model/SubmitJobResult.cc
+	src/model/ListCommandsRequest.cc
+	src/model/ListCommandsResult.cc
 	src/model/ListCustomImagesRequest.cc
 	src/model/ListCustomImagesResult.cc
-	src/model/ListRegionsRequest.cc
-	src/model/ListRegionsResult.cc
+	src/model/InvokeShellCommandRequest.cc
+	src/model/InvokeShellCommandResult.cc
 	src/model/AddUsersRequest.cc
 	src/model/AddUsersResult.cc
 	src/model/ListJobTemplatesRequest.cc
@@ -164,20 +188,16 @@ set(ehpc_src
 	src/model/StopClusterResult.cc
 	src/model/ListNodesNoPagingRequest.cc
 	src/model/ListNodesNoPagingResult.cc
+	src/model/GetHybridClusterConfigRequest.cc
+	src/model/GetHybridClusterConfigResult.cc
 	src/model/CreateJobTemplateRequest.cc
 	src/model/CreateJobTemplateResult.cc
-	src/model/RerunJobsRequest.cc
-	src/model/RerunJobsResult.cc
 	src/model/ResetNodesRequest.cc
 	src/model/ResetNodesResult.cc
-	src/model/EditJobTemplateRequest.cc
-	src/model/EditJobTemplateResult.cc
-	src/model/ListPreferredEcsTypesRequest.cc
-	src/model/ListPreferredEcsTypesResult.cc
-	src/model/ListClusterLogsRequest.cc
-	src/model/ListClusterLogsResult.cc
-	src/model/RecoverClusterRequest.cc
-	src/model/RecoverClusterResult.cc
+	src/model/CreateHybridClusterRequest.cc
+	src/model/CreateHybridClusterResult.cc
+	src/model/ListContainerImagesRequest.cc
+	src/model/ListContainerImagesResult.cc
 	src/model/DeleteJobsRequest.cc
 	src/model/DeleteJobsResult.cc
 	src/model/DeleteNodesRequest.cc
@@ -187,7 +207,43 @@ set(ehpc_src
 	src/model/CreateClusterRequest.cc
 	src/model/CreateClusterResult.cc
 	src/model/ModifyUserPasswordsRequest.cc
-	src/model/ModifyUserPasswordsResult.cc )
+	src/model/ModifyUserPasswordsResult.cc
+	src/model/UpgradeClientRequest.cc
+	src/model/UpgradeClientResult.cc
+	src/model/DeleteClusterRequest.cc
+	src/model/DeleteClusterResult.cc
+	src/model/ListImagesRequest.cc
+	src/model/ListImagesResult.cc
+	src/model/ListVolumesRequest.cc
+	src/model/ListVolumesResult.cc
+	src/model/DeleteContainerAppsRequest.cc
+	src/model/DeleteContainerAppsResult.cc
+	src/model/ListInvocationStatusRequest.cc
+	src/model/ListInvocationStatusResult.cc
+	src/model/ListContainerAppsRequest.cc
+	src/model/ListContainerAppsResult.cc
+	src/model/SetJobUserRequest.cc
+	src/model/SetJobUserResult.cc
+	src/model/ListClustersRequest.cc
+	src/model/ListClustersResult.cc
+	src/model/SubmitJobRequest.cc
+	src/model/SubmitJobResult.cc
+	src/model/ListRegionsRequest.cc
+	src/model/ListRegionsResult.cc
+	src/model/DescribeAutoScaleConfigRequest.cc
+	src/model/DescribeAutoScaleConfigResult.cc
+	src/model/RerunJobsRequest.cc
+	src/model/RerunJobsResult.cc
+	src/model/EditJobTemplateRequest.cc
+	src/model/EditJobTemplateResult.cc
+	src/model/ListPreferredEcsTypesRequest.cc
+	src/model/ListPreferredEcsTypesResult.cc
+	src/model/AddContainerAppRequest.cc
+	src/model/AddContainerAppResult.cc
+	src/model/ListClusterLogsRequest.cc
+	src/model/ListClusterLogsResult.cc
+	src/model/RecoverClusterRequest.cc
+	src/model/RecoverClusterResult.cc )
 
 add_library(ehpc ${LIB_TYPE}
 	${ehpc_public_header}

+ 216 - 104
ehpc/include/alibabacloud/ehpc/EHPCClient.h

@@ -28,20 +28,20 @@
 #include "model/DescribeClusterResult.h"
 #include "model/ListUsersRequest.h"
 #include "model/ListUsersResult.h"
-#include "model/UpgradeClientRequest.h"
-#include "model/UpgradeClientResult.h"
 #include "model/StopNodesRequest.h"
 #include "model/StopNodesResult.h"
+#include "model/PullImageRequest.h"
+#include "model/PullImageResult.h"
+#include "model/DescribeContainerAppRequest.h"
+#include "model/DescribeContainerAppResult.h"
 #include "model/ListCurrentClientVersionRequest.h"
 #include "model/ListCurrentClientVersionResult.h"
-#include "model/DeleteClusterRequest.h"
-#include "model/DeleteClusterResult.h"
-#include "model/ListImagesRequest.h"
-#include "model/ListImagesResult.h"
+#include "model/ModifyContainerAppAttributesRequest.h"
+#include "model/ModifyContainerAppAttributesResult.h"
 #include "model/SetAutoScaleConfigRequest.h"
 #include "model/SetAutoScaleConfigResult.h"
-#include "model/ListVolumesRequest.h"
-#include "model/ListVolumesResult.h"
+#include "model/ListInvocationResultsRequest.h"
+#include "model/ListInvocationResultsResult.h"
 #include "model/AddNodesRequest.h"
 #include "model/AddNodesResult.h"
 #include "model/ListSoftwaresRequest.h"
@@ -54,20 +54,16 @@
 #include "model/GetAutoScaleConfigResult.h"
 #include "model/ListNodesRequest.h"
 #include "model/ListNodesResult.h"
-#include "model/SetJobUserRequest.h"
-#include "model/SetJobUserResult.h"
 #include "model/ModifyUserGroupsRequest.h"
 #include "model/ModifyUserGroupsResult.h"
 #include "model/StartClusterRequest.h"
 #include "model/StartClusterResult.h"
-#include "model/ListClustersRequest.h"
-#include "model/ListClustersResult.h"
-#include "model/SubmitJobRequest.h"
-#include "model/SubmitJobResult.h"
+#include "model/ListCommandsRequest.h"
+#include "model/ListCommandsResult.h"
 #include "model/ListCustomImagesRequest.h"
 #include "model/ListCustomImagesResult.h"
-#include "model/ListRegionsRequest.h"
-#include "model/ListRegionsResult.h"
+#include "model/InvokeShellCommandRequest.h"
+#include "model/InvokeShellCommandResult.h"
 #include "model/AddUsersRequest.h"
 #include "model/AddUsersResult.h"
 #include "model/ListJobTemplatesRequest.h"
@@ -80,20 +76,16 @@
 #include "model/StopClusterResult.h"
 #include "model/ListNodesNoPagingRequest.h"
 #include "model/ListNodesNoPagingResult.h"
+#include "model/GetHybridClusterConfigRequest.h"
+#include "model/GetHybridClusterConfigResult.h"
 #include "model/CreateJobTemplateRequest.h"
 #include "model/CreateJobTemplateResult.h"
-#include "model/RerunJobsRequest.h"
-#include "model/RerunJobsResult.h"
 #include "model/ResetNodesRequest.h"
 #include "model/ResetNodesResult.h"
-#include "model/EditJobTemplateRequest.h"
-#include "model/EditJobTemplateResult.h"
-#include "model/ListPreferredEcsTypesRequest.h"
-#include "model/ListPreferredEcsTypesResult.h"
-#include "model/ListClusterLogsRequest.h"
-#include "model/ListClusterLogsResult.h"
-#include "model/RecoverClusterRequest.h"
-#include "model/RecoverClusterResult.h"
+#include "model/CreateHybridClusterRequest.h"
+#include "model/CreateHybridClusterResult.h"
+#include "model/ListContainerImagesRequest.h"
+#include "model/ListContainerImagesResult.h"
 #include "model/DeleteJobsRequest.h"
 #include "model/DeleteJobsResult.h"
 #include "model/DeleteNodesRequest.h"
@@ -104,6 +96,42 @@
 #include "model/CreateClusterResult.h"
 #include "model/ModifyUserPasswordsRequest.h"
 #include "model/ModifyUserPasswordsResult.h"
+#include "model/UpgradeClientRequest.h"
+#include "model/UpgradeClientResult.h"
+#include "model/DeleteClusterRequest.h"
+#include "model/DeleteClusterResult.h"
+#include "model/ListImagesRequest.h"
+#include "model/ListImagesResult.h"
+#include "model/ListVolumesRequest.h"
+#include "model/ListVolumesResult.h"
+#include "model/DeleteContainerAppsRequest.h"
+#include "model/DeleteContainerAppsResult.h"
+#include "model/ListInvocationStatusRequest.h"
+#include "model/ListInvocationStatusResult.h"
+#include "model/ListContainerAppsRequest.h"
+#include "model/ListContainerAppsResult.h"
+#include "model/SetJobUserRequest.h"
+#include "model/SetJobUserResult.h"
+#include "model/ListClustersRequest.h"
+#include "model/ListClustersResult.h"
+#include "model/SubmitJobRequest.h"
+#include "model/SubmitJobResult.h"
+#include "model/ListRegionsRequest.h"
+#include "model/ListRegionsResult.h"
+#include "model/DescribeAutoScaleConfigRequest.h"
+#include "model/DescribeAutoScaleConfigResult.h"
+#include "model/RerunJobsRequest.h"
+#include "model/RerunJobsResult.h"
+#include "model/EditJobTemplateRequest.h"
+#include "model/EditJobTemplateResult.h"
+#include "model/ListPreferredEcsTypesRequest.h"
+#include "model/ListPreferredEcsTypesResult.h"
+#include "model/AddContainerAppRequest.h"
+#include "model/AddContainerAppResult.h"
+#include "model/ListClusterLogsRequest.h"
+#include "model/ListClusterLogsResult.h"
+#include "model/RecoverClusterRequest.h"
+#include "model/RecoverClusterResult.h"
 
 
 namespace AlibabaCloud
@@ -122,27 +150,27 @@ namespace AlibabaCloud
 			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 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 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::PullImageResult> PullImageOutcome;
+			typedef std::future<PullImageOutcome> PullImageOutcomeCallable;
+			typedef std::function<void(const EHPCClient*, const Model::PullImageRequest&, const PullImageOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> PullImageAsyncHandler;
+			typedef Outcome<Error, Model::DescribeContainerAppResult> DescribeContainerAppOutcome;
+			typedef std::future<DescribeContainerAppOutcome> DescribeContainerAppOutcomeCallable;
+			typedef std::function<void(const EHPCClient*, const Model::DescribeContainerAppRequest&, const DescribeContainerAppOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeContainerAppAsyncHandler;
 			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 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 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 Outcome<Error, Model::ModifyContainerAppAttributesResult> ModifyContainerAppAttributesOutcome;
+			typedef std::future<ModifyContainerAppAttributesOutcome> ModifyContainerAppAttributesOutcomeCallable;
+			typedef std::function<void(const EHPCClient*, const Model::ModifyContainerAppAttributesRequest&, const ModifyContainerAppAttributesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyContainerAppAttributesAsyncHandler;
 			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 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 Outcome<Error, Model::ListInvocationResultsResult> ListInvocationResultsOutcome;
+			typedef std::future<ListInvocationResultsOutcome> ListInvocationResultsOutcomeCallable;
+			typedef std::function<void(const EHPCClient*, const Model::ListInvocationResultsRequest&, const ListInvocationResultsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListInvocationResultsAsyncHandler;
 			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;
@@ -161,27 +189,21 @@ namespace AlibabaCloud
 			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 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 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 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 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 Outcome<Error, Model::ListCommandsResult> ListCommandsOutcome;
+			typedef std::future<ListCommandsOutcome> ListCommandsOutcomeCallable;
+			typedef std::function<void(const EHPCClient*, const Model::ListCommandsRequest&, const ListCommandsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListCommandsAsyncHandler;
 			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 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 Outcome<Error, Model::InvokeShellCommandResult> InvokeShellCommandOutcome;
+			typedef std::future<InvokeShellCommandOutcome> InvokeShellCommandOutcomeCallable;
+			typedef std::function<void(const EHPCClient*, const Model::InvokeShellCommandRequest&, const InvokeShellCommandOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> InvokeShellCommandAsyncHandler;
 			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;
@@ -200,27 +222,21 @@ namespace AlibabaCloud
 			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 Outcome<Error, Model::GetHybridClusterConfigResult> GetHybridClusterConfigOutcome;
+			typedef std::future<GetHybridClusterConfigOutcome> GetHybridClusterConfigOutcomeCallable;
+			typedef std::function<void(const EHPCClient*, const Model::GetHybridClusterConfigRequest&, const GetHybridClusterConfigOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetHybridClusterConfigAsyncHandler;
 			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 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 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 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 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 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 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::CreateHybridClusterResult> CreateHybridClusterOutcome;
+			typedef std::future<CreateHybridClusterOutcome> CreateHybridClusterOutcomeCallable;
+			typedef std::function<void(const EHPCClient*, const Model::CreateHybridClusterRequest&, const CreateHybridClusterOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateHybridClusterAsyncHandler;
+			typedef Outcome<Error, Model::ListContainerImagesResult> ListContainerImagesOutcome;
+			typedef std::future<ListContainerImagesOutcome> ListContainerImagesOutcomeCallable;
+			typedef std::function<void(const EHPCClient*, const Model::ListContainerImagesRequest&, const ListContainerImagesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListContainerImagesAsyncHandler;
 			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;
@@ -236,6 +252,60 @@ namespace AlibabaCloud
 			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 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 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 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 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 Outcome<Error, Model::DeleteContainerAppsResult> DeleteContainerAppsOutcome;
+			typedef std::future<DeleteContainerAppsOutcome> DeleteContainerAppsOutcomeCallable;
+			typedef std::function<void(const EHPCClient*, const Model::DeleteContainerAppsRequest&, const DeleteContainerAppsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteContainerAppsAsyncHandler;
+			typedef Outcome<Error, Model::ListInvocationStatusResult> ListInvocationStatusOutcome;
+			typedef std::future<ListInvocationStatusOutcome> ListInvocationStatusOutcomeCallable;
+			typedef std::function<void(const EHPCClient*, const Model::ListInvocationStatusRequest&, const ListInvocationStatusOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListInvocationStatusAsyncHandler;
+			typedef Outcome<Error, Model::ListContainerAppsResult> ListContainerAppsOutcome;
+			typedef std::future<ListContainerAppsOutcome> ListContainerAppsOutcomeCallable;
+			typedef std::function<void(const EHPCClient*, const Model::ListContainerAppsRequest&, const ListContainerAppsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListContainerAppsAsyncHandler;
+			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 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 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 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 Outcome<Error, Model::DescribeAutoScaleConfigResult> DescribeAutoScaleConfigOutcome;
+			typedef std::future<DescribeAutoScaleConfigOutcome> DescribeAutoScaleConfigOutcomeCallable;
+			typedef std::function<void(const EHPCClient*, const Model::DescribeAutoScaleConfigRequest&, const DescribeAutoScaleConfigOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeAutoScaleConfigAsyncHandler;
+			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 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 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 Outcome<Error, Model::AddContainerAppResult> AddContainerAppOutcome;
+			typedef std::future<AddContainerAppOutcome> AddContainerAppOutcomeCallable;
+			typedef std::function<void(const EHPCClient*, const Model::AddContainerAppRequest&, const AddContainerAppOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> AddContainerAppAsyncHandler;
+			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 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;
 
 			EHPCClient(const Credentials &credentials, const ClientConfiguration &configuration);
 			EHPCClient(const std::shared_ptr<CredentialsProvider> &credentialsProvider, const ClientConfiguration &configuration);
@@ -250,27 +320,27 @@ namespace AlibabaCloud
 			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;
+			PullImageOutcome pullImage(const Model::PullImageRequest &request)const;
+			void pullImageAsync(const Model::PullImageRequest& request, const PullImageAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			PullImageOutcomeCallable pullImageCallable(const Model::PullImageRequest& request) const;
+			DescribeContainerAppOutcome describeContainerApp(const Model::DescribeContainerAppRequest &request)const;
+			void describeContainerAppAsync(const Model::DescribeContainerAppRequest& request, const DescribeContainerAppAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeContainerAppOutcomeCallable describeContainerAppCallable(const Model::DescribeContainerAppRequest& 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;
+			ModifyContainerAppAttributesOutcome modifyContainerAppAttributes(const Model::ModifyContainerAppAttributesRequest &request)const;
+			void modifyContainerAppAttributesAsync(const Model::ModifyContainerAppAttributesRequest& request, const ModifyContainerAppAttributesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ModifyContainerAppAttributesOutcomeCallable modifyContainerAppAttributesCallable(const Model::ModifyContainerAppAttributesRequest& 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;
+			ListInvocationResultsOutcome listInvocationResults(const Model::ListInvocationResultsRequest &request)const;
+			void listInvocationResultsAsync(const Model::ListInvocationResultsRequest& request, const ListInvocationResultsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListInvocationResultsOutcomeCallable listInvocationResultsCallable(const Model::ListInvocationResultsRequest& 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;
@@ -289,27 +359,21 @@ namespace AlibabaCloud
 			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;
+			ListCommandsOutcome listCommands(const Model::ListCommandsRequest &request)const;
+			void listCommandsAsync(const Model::ListCommandsRequest& request, const ListCommandsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListCommandsOutcomeCallable listCommandsCallable(const Model::ListCommandsRequest& 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;
+			InvokeShellCommandOutcome invokeShellCommand(const Model::InvokeShellCommandRequest &request)const;
+			void invokeShellCommandAsync(const Model::InvokeShellCommandRequest& request, const InvokeShellCommandAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			InvokeShellCommandOutcomeCallable invokeShellCommandCallable(const Model::InvokeShellCommandRequest& 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;
@@ -328,27 +392,21 @@ namespace AlibabaCloud
 			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;
+			GetHybridClusterConfigOutcome getHybridClusterConfig(const Model::GetHybridClusterConfigRequest &request)const;
+			void getHybridClusterConfigAsync(const Model::GetHybridClusterConfigRequest& request, const GetHybridClusterConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			GetHybridClusterConfigOutcomeCallable getHybridClusterConfigCallable(const Model::GetHybridClusterConfigRequest& 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;
+			CreateHybridClusterOutcome createHybridCluster(const Model::CreateHybridClusterRequest &request)const;
+			void createHybridClusterAsync(const Model::CreateHybridClusterRequest& request, const CreateHybridClusterAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateHybridClusterOutcomeCallable createHybridClusterCallable(const Model::CreateHybridClusterRequest& request) const;
+			ListContainerImagesOutcome listContainerImages(const Model::ListContainerImagesRequest &request)const;
+			void listContainerImagesAsync(const Model::ListContainerImagesRequest& request, const ListContainerImagesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListContainerImagesOutcomeCallable listContainerImagesCallable(const Model::ListContainerImagesRequest& 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;
@@ -364,6 +422,60 @@ namespace AlibabaCloud
 			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;
+			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;
+			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;
+			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;
+			DeleteContainerAppsOutcome deleteContainerApps(const Model::DeleteContainerAppsRequest &request)const;
+			void deleteContainerAppsAsync(const Model::DeleteContainerAppsRequest& request, const DeleteContainerAppsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteContainerAppsOutcomeCallable deleteContainerAppsCallable(const Model::DeleteContainerAppsRequest& request) const;
+			ListInvocationStatusOutcome listInvocationStatus(const Model::ListInvocationStatusRequest &request)const;
+			void listInvocationStatusAsync(const Model::ListInvocationStatusRequest& request, const ListInvocationStatusAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListInvocationStatusOutcomeCallable listInvocationStatusCallable(const Model::ListInvocationStatusRequest& request) const;
+			ListContainerAppsOutcome listContainerApps(const Model::ListContainerAppsRequest &request)const;
+			void listContainerAppsAsync(const Model::ListContainerAppsRequest& request, const ListContainerAppsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListContainerAppsOutcomeCallable listContainerAppsCallable(const Model::ListContainerAppsRequest& 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;
+			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;
+			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;
+			DescribeAutoScaleConfigOutcome describeAutoScaleConfig(const Model::DescribeAutoScaleConfigRequest &request)const;
+			void describeAutoScaleConfigAsync(const Model::DescribeAutoScaleConfigRequest& request, const DescribeAutoScaleConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeAutoScaleConfigOutcomeCallable describeAutoScaleConfigCallable(const Model::DescribeAutoScaleConfigRequest& 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;
+			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;
+			AddContainerAppOutcome addContainerApp(const Model::AddContainerAppRequest &request)const;
+			void addContainerAppAsync(const Model::AddContainerAppRequest& request, const AddContainerAppAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			AddContainerAppOutcomeCallable addContainerAppCallable(const Model::AddContainerAppRequest& 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;
 	
 		private:
 			std::shared_ptr<EndpointProvider> endpointProvider_;

+ 63 - 0
ehpc/include/alibabacloud/ehpc/model/AddContainerAppRequest.h

@@ -0,0 +1,63 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_EHPC_MODEL_ADDCONTAINERAPPREQUEST_H_
+#define ALIBABACLOUD_EHPC_MODEL_ADDCONTAINERAPPREQUEST_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 AddContainerAppRequest : public RpcServiceRequest
+			{
+
+			public:
+				AddContainerAppRequest();
+				~AddContainerAppRequest();
+
+				std::string getContainerType()const;
+				void setContainerType(const std::string& containerType);
+				std::string getName()const;
+				void setName(const std::string& name);
+				std::string getDescription()const;
+				void setDescription(const std::string& description);
+				std::string getRepository()const;
+				void setRepository(const std::string& repository);
+				std::string getImageTag()const;
+				void setImageTag(const std::string& imageTag);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string containerType_;
+				std::string name_;
+				std::string description_;
+				std::string repository_;
+				std::string imageTag_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_EHPC_MODEL_ADDCONTAINERAPPREQUEST_H_

+ 51 - 0
ehpc/include/alibabacloud/ehpc/model/AddContainerAppResult.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_ADDCONTAINERAPPRESULT_H_
+#define ALIBABACLOUD_EHPC_MODEL_ADDCONTAINERAPPRESULT_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 AddContainerAppResult : public ServiceResult
+			{
+			public:
+
+
+				AddContainerAppResult();
+				explicit AddContainerAppResult(const std::string &payload);
+				~AddContainerAppResult();
+				std::vector<std::string> getContainerId()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<std::string> containerId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_EHPC_MODEL_ADDCONTAINERAPPRESULT_H_

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

@@ -57,6 +57,8 @@ namespace AlibabaCloud
 				void setAutoRenew(const std::string& autoRenew);
 				std::string getEcsChargeType()const;
 				void setEcsChargeType(const std::string& ecsChargeType);
+				std::string getInstanceType()const;
+				void setInstanceType(const std::string& instanceType);
 				std::string getComputeSpotPriceLimit()const;
 				void setComputeSpotPriceLimit(const std::string& computeSpotPriceLimit);
 
@@ -72,6 +74,7 @@ namespace AlibabaCloud
 				std::string periodUnit_;
 				std::string autoRenew_;
 				std::string ecsChargeType_;
+				std::string instanceType_;
 				std::string computeSpotPriceLimit_;
 
 			};

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

@@ -41,8 +41,6 @@ namespace AlibabaCloud
 				AddUsersRequest();
 				~AddUsersRequest();
 
-				bool getReleaseInstance()const;
-				void setReleaseInstance(bool releaseInstance);
 				std::string getClusterId()const;
 				void setClusterId(const std::string& clusterId);
 				std::vector<User> getUser()const;
@@ -51,7 +49,6 @@ namespace AlibabaCloud
 				void setAccessKeyId(const std::string& accessKeyId);
 
             private:
-				bool releaseInstance_;
 				std::string clusterId_;
 				std::vector<User> user_;
 				std::string accessKeyId_;

+ 115 - 0
ehpc/include/alibabacloud/ehpc/model/CreateHybridClusterRequest.h

@@ -0,0 +1,115 @@
+/*
+ * 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_CREATEHYBRIDCLUSTERREQUEST_H_
+#define ALIBABACLOUD_EHPC_MODEL_CREATEHYBRIDCLUSTERREQUEST_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 CreateHybridClusterRequest : public RpcServiceRequest
+			{
+				struct Application
+				{
+					std::string tag;
+				};
+
+			public:
+				CreateHybridClusterRequest();
+				~CreateHybridClusterRequest();
+
+				std::string getVolumeProtocol()const;
+				void setVolumeProtocol(const std::string& volumeProtocol);
+				std::string getOsTag()const;
+				void setOsTag(const std::string& osTag);
+				std::string getRemoteDirectory()const;
+				void setRemoteDirectory(const std::string& remoteDirectory);
+				std::string getEhpcVersion()const;
+				void setEhpcVersion(const std::string& ehpcVersion);
+				std::string getSecurityGroupId()const;
+				void setSecurityGroupId(const std::string& securityGroupId);
+				std::string getDescription()const;
+				void setDescription(const std::string& description);
+				std::string getKeyPairName()const;
+				void setKeyPairName(const std::string& keyPairName);
+				std::string getSecurityGroupName()const;
+				void setSecurityGroupName(const std::string& securityGroupName);
+				std::string getEcsOrderComputeInstanceType()const;
+				void setEcsOrderComputeInstanceType(const std::string& ecsOrderComputeInstanceType);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+				std::string getVSwitchId()const;
+				void setVSwitchId(const std::string& vSwitchId);
+				std::string getVolumeType()const;
+				void setVolumeType(const std::string& volumeType);
+				std::string getPassword()const;
+				void setPassword(const std::string& password);
+				std::string getNodes()const;
+				void setNodes(const std::string& nodes);
+				std::vector<Application> getApplication()const;
+				void setApplication(const std::vector<Application>& application);
+				std::string getDomain()const;
+				void setDomain(const std::string& domain);
+				std::string getVpcId()const;
+				void setVpcId(const std::string& vpcId);
+				std::string getName()const;
+				void setName(const std::string& name);
+				std::string getVolumeId()const;
+				void setVolumeId(const std::string& volumeId);
+				std::string getVolumeMountpoint()const;
+				void setVolumeMountpoint(const std::string& volumeMountpoint);
+				std::string getZoneId()const;
+				void setZoneId(const std::string& zoneId);
+				std::string getLocation()const;
+				void setLocation(const std::string& location);
+
+            private:
+				std::string volumeProtocol_;
+				std::string osTag_;
+				std::string remoteDirectory_;
+				std::string ehpcVersion_;
+				std::string securityGroupId_;
+				std::string description_;
+				std::string keyPairName_;
+				std::string securityGroupName_;
+				std::string ecsOrderComputeInstanceType_;
+				std::string accessKeyId_;
+				std::string vSwitchId_;
+				std::string volumeType_;
+				std::string password_;
+				std::string nodes_;
+				std::vector<Application> application_;
+				std::string domain_;
+				std::string vpcId_;
+				std::string name_;
+				std::string volumeId_;
+				std::string volumeMountpoint_;
+				std::string zoneId_;
+				std::string location_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_EHPC_MODEL_CREATEHYBRIDCLUSTERREQUEST_H_

+ 51 - 0
ehpc/include/alibabacloud/ehpc/model/CreateHybridClusterResult.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_CREATEHYBRIDCLUSTERRESULT_H_
+#define ALIBABACLOUD_EHPC_MODEL_CREATEHYBRIDCLUSTERRESULT_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 CreateHybridClusterResult : public ServiceResult
+			{
+			public:
+
+
+				CreateHybridClusterResult();
+				explicit CreateHybridClusterResult(const std::string &payload);
+				~CreateHybridClusterResult();
+				std::string getClusterId()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string clusterId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_EHPC_MODEL_CREATEHYBRIDCLUSTERRESULT_H_

+ 12 - 15
ehpc/include/alibabacloud/ehpc/model/CreateJobTemplateRequest.h

@@ -37,10 +37,18 @@ namespace AlibabaCloud
 
 				std::string getStderrRedirectPath()const;
 				void setStderrRedirectPath(const std::string& stderrRedirectPath);
+				std::string getArrayRequest()const;
+				void setArrayRequest(const std::string& arrayRequest);
+				std::string getPackagePath()const;
+				void setPackagePath(const std::string& packagePath);
 				std::string getVariables()const;
 				void setVariables(const std::string& variables);
+				std::string getName()const;
+				void setName(const std::string& name);
 				std::string getRunasUser()const;
 				void setRunasUser(const std::string& runasUser);
+				std::string getStdoutRedirectPath()const;
+				void setStdoutRedirectPath(const std::string& stdoutRedirectPath);
 				bool getReRunable()const;
 				void setReRunable(bool reRunable);
 				int getPriority()const;
@@ -49,30 +57,19 @@ namespace AlibabaCloud
 				void setCommandLine(const std::string& commandLine);
 				std::string getAccessKeyId()const;
 				void setAccessKeyId(const std::string& accessKeyId);
-				std::string getArrayRequest()const;
-				void setArrayRequest(const std::string& arrayRequest);
-				std::string getPackagePath()const;
-				void setPackagePath(const std::string& packagePath);
-				std::string getRegionId()const;
-				void setRegionId(const std::string& regionId);
-				std::string getName()const;
-				void setName(const std::string& name);
-				std::string getStdoutRedirectPath()const;
-				void setStdoutRedirectPath(const std::string& stdoutRedirectPath);
 
             private:
 				std::string stderrRedirectPath_;
+				std::string arrayRequest_;
+				std::string packagePath_;
 				std::string variables_;
+				std::string name_;
 				std::string runasUser_;
+				std::string stdoutRedirectPath_;
 				bool reRunable_;
 				int priority_;
 				std::string commandLine_;
 				std::string accessKeyId_;
-				std::string arrayRequest_;
-				std::string packagePath_;
-				std::string regionId_;
-				std::string name_;
-				std::string stdoutRedirectPath_;
 
 			};
 		}

+ 55 - 0
ehpc/include/alibabacloud/ehpc/model/DeleteContainerAppsRequest.h

@@ -0,0 +1,55 @@
+/*
+ * 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_DELETECONTAINERAPPSREQUEST_H_
+#define ALIBABACLOUD_EHPC_MODEL_DELETECONTAINERAPPSREQUEST_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 DeleteContainerAppsRequest : public RpcServiceRequest
+			{
+				struct ContainerApp
+				{
+					std::string id;
+				};
+
+			public:
+				DeleteContainerAppsRequest();
+				~DeleteContainerAppsRequest();
+
+				std::vector<ContainerApp> getContainerApp()const;
+				void setContainerApp(const std::vector<ContainerApp>& containerApp);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::vector<ContainerApp> containerApp_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_EHPC_MODEL_DELETECONTAINERAPPSREQUEST_H_

+ 49 - 0
ehpc/include/alibabacloud/ehpc/model/DeleteContainerAppsResult.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_DELETECONTAINERAPPSRESULT_H_
+#define ALIBABACLOUD_EHPC_MODEL_DELETECONTAINERAPPSRESULT_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 DeleteContainerAppsResult : public ServiceResult
+			{
+			public:
+
+
+				DeleteContainerAppsResult();
+				explicit DeleteContainerAppsResult(const std::string &payload);
+				~DeleteContainerAppsResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_EHPC_MODEL_DELETECONTAINERAPPSRESULT_H_

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

@@ -35,15 +35,12 @@ namespace AlibabaCloud
 				DeleteJobTemplatesRequest();
 				~DeleteJobTemplatesRequest();
 
-				std::string getRegionId()const;
-				void setRegionId(const std::string& regionId);
 				std::string getTemplates()const;
 				void setTemplates(const std::string& templates);
 				std::string getAccessKeyId()const;
 				void setAccessKeyId(const std::string& accessKeyId);
 
             private:
-				std::string regionId_;
 				std::string templates_;
 				std::string accessKeyId_;
 

+ 51 - 0
ehpc/include/alibabacloud/ehpc/model/DescribeAutoScaleConfigRequest.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_DESCRIBEAUTOSCALECONFIGREQUEST_H_
+#define ALIBABACLOUD_EHPC_MODEL_DESCRIBEAUTOSCALECONFIGREQUEST_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 DescribeAutoScaleConfigRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeAutoScaleConfigRequest();
+				~DescribeAutoScaleConfigRequest();
+
+				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_DESCRIBEAUTOSCALECONFIGREQUEST_H_

+ 79 - 0
ehpc/include/alibabacloud/ehpc/model/DescribeAutoScaleConfigResult.h

@@ -0,0 +1,79 @@
+/*
+ * 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_DESCRIBEAUTOSCALECONFIGRESULT_H_
+#define ALIBABACLOUD_EHPC_MODEL_DESCRIBEAUTOSCALECONFIGRESULT_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 DescribeAutoScaleConfigResult : public ServiceResult
+			{
+			public:
+
+
+				DescribeAutoScaleConfigResult();
+				explicit DescribeAutoScaleConfigResult(const std::string &payload);
+				~DescribeAutoScaleConfigResult();
+				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 getSpotPriceLimit()const;
+				std::string getExcludeNodes()const;
+				std::string getSpotStrategy()const;
+
+			protected:
+				void parse(const std::string &payload);
+			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 spotPriceLimit_;
+				std::string excludeNodes_;
+				std::string spotStrategy_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_EHPC_MODEL_DESCRIBEAUTOSCALECONFIGRESULT_H_

+ 2 - 0
ehpc/include/alibabacloud/ehpc/model/DescribeClusterResult.h

@@ -81,12 +81,14 @@ namespace AlibabaCloud
 					std::string schedulerType;
 					std::string accountType;
 					std::string volumeMountpoint;
+					std::string vpcId;
 					EcsInfo ecsInfo;
 					bool haEnable;
 					std::string osTag;
 					std::string id;
 					std::string regionId;
 					std::string ecsChargeType;
+					std::string location;
 				};
 
 

+ 51 - 0
ehpc/include/alibabacloud/ehpc/model/DescribeContainerAppRequest.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_DESCRIBECONTAINERAPPREQUEST_H_
+#define ALIBABACLOUD_EHPC_MODEL_DESCRIBECONTAINERAPPREQUEST_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 DescribeContainerAppRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeContainerAppRequest();
+				~DescribeContainerAppRequest();
+
+				std::string getContainerId()const;
+				void setContainerId(const std::string& containerId);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string containerId_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_EHPC_MODEL_DESCRIBECONTAINERAPPREQUEST_H_

+ 61 - 0
ehpc/include/alibabacloud/ehpc/model/DescribeContainerAppResult.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_DESCRIBECONTAINERAPPRESULT_H_
+#define ALIBABACLOUD_EHPC_MODEL_DESCRIBECONTAINERAPPRESULT_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 DescribeContainerAppResult : public ServiceResult
+			{
+			public:
+				struct ContainerAppInfo
+				{
+					std::string repository;
+					std::string imageTag;
+					std::string type;
+					std::string description;
+					std::string createTime;
+					std::string id;
+					std::string name;
+				};
+
+
+				DescribeContainerAppResult();
+				explicit DescribeContainerAppResult(const std::string &payload);
+				~DescribeContainerAppResult();
+				ContainerAppInfo getContainerAppInfo()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				ContainerAppInfo containerAppInfo_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_EHPC_MODEL_DESCRIBECONTAINERAPPRESULT_H_

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

@@ -55,8 +55,6 @@ namespace AlibabaCloud
 				void setArrayRequest(const std::string& arrayRequest);
 				std::string getPackagePath()const;
 				void setPackagePath(const std::string& packagePath);
-				std::string getRegionId()const;
-				void setRegionId(const std::string& regionId);
 				std::string getName()const;
 				void setName(const std::string& name);
 				std::string getStdoutRedirectPath()const;
@@ -73,7 +71,6 @@ namespace AlibabaCloud
 				std::string accessKeyId_;
 				std::string arrayRequest_;
 				std::string packagePath_;
-				std::string regionId_;
 				std::string name_;
 				std::string stdoutRedirectPath_;
 

+ 51 - 0
ehpc/include/alibabacloud/ehpc/model/GetHybridClusterConfigRequest.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_GETHYBRIDCLUSTERCONFIGREQUEST_H_
+#define ALIBABACLOUD_EHPC_MODEL_GETHYBRIDCLUSTERCONFIGREQUEST_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 GetHybridClusterConfigRequest : public RpcServiceRequest
+			{
+
+			public:
+				GetHybridClusterConfigRequest();
+				~GetHybridClusterConfigRequest();
+
+				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_GETHYBRIDCLUSTERCONFIGREQUEST_H_

+ 51 - 0
ehpc/include/alibabacloud/ehpc/model/GetHybridClusterConfigResult.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_GETHYBRIDCLUSTERCONFIGRESULT_H_
+#define ALIBABACLOUD_EHPC_MODEL_GETHYBRIDCLUSTERCONFIGRESULT_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 GetHybridClusterConfigResult : public ServiceResult
+			{
+			public:
+
+
+				GetHybridClusterConfigResult();
+				explicit GetHybridClusterConfigResult(const std::string &payload);
+				~GetHybridClusterConfigResult();
+				std::string getClusterConfig()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string clusterConfig_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_EHPC_MODEL_GETHYBRIDCLUSTERCONFIGRESULT_H_

+ 67 - 0
ehpc/include/alibabacloud/ehpc/model/InvokeShellCommandRequest.h

@@ -0,0 +1,67 @@
+/*
+ * 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_INVOKESHELLCOMMANDREQUEST_H_
+#define ALIBABACLOUD_EHPC_MODEL_INVOKESHELLCOMMANDREQUEST_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 InvokeShellCommandRequest : public RpcServiceRequest
+			{
+				struct Instance
+				{
+					std::string id;
+				};
+
+			public:
+				InvokeShellCommandRequest();
+				~InvokeShellCommandRequest();
+
+				std::vector<Instance> getInstance()const;
+				void setInstance(const std::vector<Instance>& instance);
+				std::string getWorkingDir()const;
+				void setWorkingDir(const std::string& workingDir);
+				std::string getClusterId()const;
+				void setClusterId(const std::string& clusterId);
+				std::string getCommand()const;
+				void setCommand(const std::string& command);
+				int getTimeout()const;
+				void setTimeout(int timeout);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::vector<Instance> instance_;
+				std::string workingDir_;
+				std::string clusterId_;
+				std::string command_;
+				int timeout_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_EHPC_MODEL_INVOKESHELLCOMMANDREQUEST_H_

+ 53 - 0
ehpc/include/alibabacloud/ehpc/model/InvokeShellCommandResult.h

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

+ 1 - 0
ehpc/include/alibabacloud/ehpc/model/ListClustersResult.h

@@ -82,6 +82,7 @@ namespace AlibabaCloud
 					std::string instanceType;
 					std::string loginNodes;
 					Computes computes;
+					std::string location;
 				};
 
 

+ 60 - 0
ehpc/include/alibabacloud/ehpc/model/ListCommandsRequest.h

@@ -0,0 +1,60 @@
+/*
+ * 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_LISTCOMMANDSREQUEST_H_
+#define ALIBABACLOUD_EHPC_MODEL_LISTCOMMANDSREQUEST_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 ListCommandsRequest : public RpcServiceRequest
+			{
+
+			public:
+				ListCommandsRequest();
+				~ListCommandsRequest();
+
+				int getPageSize()const;
+				void setPageSize(int pageSize);
+				std::string getClusterId()const;
+				void setClusterId(const std::string& clusterId);
+				std::string getCommandId()const;
+				void setCommandId(const std::string& commandId);
+				int getPageNumber()const;
+				void setPageNumber(int pageNumber);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				int pageSize_;
+				std::string clusterId_;
+				std::string commandId_;
+				int pageNumber_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_EHPC_MODEL_LISTCOMMANDSREQUEST_H_

+ 64 - 0
ehpc/include/alibabacloud/ehpc/model/ListCommandsResult.h

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

+ 54 - 0
ehpc/include/alibabacloud/ehpc/model/ListContainerAppsRequest.h

@@ -0,0 +1,54 @@
+/*
+ * 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_LISTCONTAINERAPPSREQUEST_H_
+#define ALIBABACLOUD_EHPC_MODEL_LISTCONTAINERAPPSREQUEST_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 ListContainerAppsRequest : public RpcServiceRequest
+			{
+
+			public:
+				ListContainerAppsRequest();
+				~ListContainerAppsRequest();
+
+				int getPageSize()const;
+				void setPageSize(int pageSize);
+				int getPageNumber()const;
+				void setPageNumber(int pageNumber);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				int pageSize_;
+				int pageNumber_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_EHPC_MODEL_LISTCONTAINERAPPSREQUEST_H_

+ 67 - 0
ehpc/include/alibabacloud/ehpc/model/ListContainerAppsResult.h

@@ -0,0 +1,67 @@
+/*
+ * 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_LISTCONTAINERAPPSRESULT_H_
+#define ALIBABACLOUD_EHPC_MODEL_LISTCONTAINERAPPSRESULT_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 ListContainerAppsResult : public ServiceResult
+			{
+			public:
+				struct ContainerAppsItem
+				{
+					std::string repository;
+					std::string imageTag;
+					std::string type;
+					std::string description;
+					std::string createTime;
+					std::string id;
+					std::string name;
+				};
+
+
+				ListContainerAppsResult();
+				explicit ListContainerAppsResult(const std::string &payload);
+				~ListContainerAppsResult();
+				std::vector<ContainerAppsItem> getContainerApps()const;
+				int getTotalCount()const;
+				int getPageSize()const;
+				int getPageNumber()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<ContainerAppsItem> containerApps_;
+				int totalCount_;
+				int pageSize_;
+				int pageNumber_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_EHPC_MODEL_LISTCONTAINERAPPSRESULT_H_

+ 60 - 0
ehpc/include/alibabacloud/ehpc/model/ListContainerImagesRequest.h

@@ -0,0 +1,60 @@
+/*
+ * 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_LISTCONTAINERIMAGESREQUEST_H_
+#define ALIBABACLOUD_EHPC_MODEL_LISTCONTAINERIMAGESREQUEST_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 ListContainerImagesRequest : public RpcServiceRequest
+			{
+
+			public:
+				ListContainerImagesRequest();
+				~ListContainerImagesRequest();
+
+				std::string getContainerType()const;
+				void setContainerType(const std::string& containerType);
+				int getPageSize()const;
+				void setPageSize(int pageSize);
+				std::string getClusterId()const;
+				void setClusterId(const std::string& clusterId);
+				int getPageNumber()const;
+				void setPageNumber(int pageNumber);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string containerType_;
+				int pageSize_;
+				std::string clusterId_;
+				int pageNumber_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_EHPC_MODEL_LISTCONTAINERIMAGESREQUEST_H_

+ 69 - 0
ehpc/include/alibabacloud/ehpc/model/ListContainerImagesResult.h

@@ -0,0 +1,69 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_EHPC_MODEL_LISTCONTAINERIMAGESRESULT_H_
+#define ALIBABACLOUD_EHPC_MODEL_LISTCONTAINERIMAGESRESULT_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 ListContainerImagesResult : public ServiceResult
+			{
+			public:
+				struct ImagesItem
+				{
+					std::string status;
+					std::string type;
+					std::string repository;
+					std::string imageId;
+					std::string updateDateTime;
+					std::string tag;
+					std::string system;
+				};
+
+
+				ListContainerImagesResult();
+				explicit ListContainerImagesResult(const std::string &payload);
+				~ListContainerImagesResult();
+				int getTotalCount()const;
+				std::string getDBInfo()const;
+				int getPageSize()const;
+				int getPageNumber()const;
+				std::vector<ImagesItem> getImages()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				int totalCount_;
+				std::string dBInfo_;
+				int pageSize_;
+				int pageNumber_;
+				std::vector<ImagesItem> images_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_EHPC_MODEL_LISTCONTAINERIMAGESRESULT_H_

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

@@ -35,8 +35,6 @@ namespace AlibabaCloud
 				ListCustomImagesRequest();
 				~ListCustomImagesRequest();
 
-				std::string getRegionId()const;
-				void setRegionId(const std::string& regionId);
 				std::string getBaseOsTag()const;
 				void setBaseOsTag(const std::string& baseOsTag);
 				std::string getAccessKeyId()const;
@@ -45,7 +43,6 @@ namespace AlibabaCloud
 				void setImageOwnerAlias(const std::string& imageOwnerAlias);
 
             private:
-				std::string regionId_;
 				std::string baseOsTag_;
 				std::string accessKeyId_;
 				std::string imageOwnerAlias_;

+ 70 - 0
ehpc/include/alibabacloud/ehpc/model/ListInvocationResultsRequest.h

@@ -0,0 +1,70 @@
+/*
+ * 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_LISTINVOCATIONRESULTSREQUEST_H_
+#define ALIBABACLOUD_EHPC_MODEL_LISTINVOCATIONRESULTSREQUEST_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 ListInvocationResultsRequest : public RpcServiceRequest
+			{
+				struct Instance
+				{
+					std::string id;
+				};
+
+			public:
+				ListInvocationResultsRequest();
+				~ListInvocationResultsRequest();
+
+				std::vector<Instance> getInstance()const;
+				void setInstance(const std::vector<Instance>& instance);
+				std::string getInvokeRecordStatus()const;
+				void setInvokeRecordStatus(const std::string& invokeRecordStatus);
+				int getPageSize()const;
+				void setPageSize(int pageSize);
+				std::string getClusterId()const;
+				void setClusterId(const std::string& clusterId);
+				std::string getCommandId()const;
+				void setCommandId(const std::string& commandId);
+				int getPageNumber()const;
+				void setPageNumber(int pageNumber);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::vector<Instance> instance_;
+				std::string invokeRecordStatus_;
+				int pageSize_;
+				std::string clusterId_;
+				std::string commandId_;
+				int pageNumber_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_EHPC_MODEL_LISTINVOCATIONRESULTSREQUEST_H_

+ 67 - 0
ehpc/include/alibabacloud/ehpc/model/ListInvocationResultsResult.h

@@ -0,0 +1,67 @@
+/*
+ * 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_LISTINVOCATIONRESULTSRESULT_H_
+#define ALIBABACLOUD_EHPC_MODEL_LISTINVOCATIONRESULTSRESULT_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 ListInvocationResultsResult : public ServiceResult
+			{
+			public:
+				struct InvocationResult
+				{
+					std::string message;
+					std::string instanceId;
+					int exitCode;
+					std::string commandId;
+					std::string invokeRecordStatus;
+					std::string finishedTime;
+					bool success;
+				};
+
+
+				ListInvocationResultsResult();
+				explicit ListInvocationResultsResult(const std::string &payload);
+				~ListInvocationResultsResult();
+				std::vector<InvocationResult> getInvocationResults()const;
+				int getTotalCount()const;
+				int getPageSize()const;
+				int getPageNumber()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<InvocationResult> invocationResults_;
+				int totalCount_;
+				int pageSize_;
+				int pageNumber_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_EHPC_MODEL_LISTINVOCATIONRESULTSRESULT_H_

+ 54 - 0
ehpc/include/alibabacloud/ehpc/model/ListInvocationStatusRequest.h

@@ -0,0 +1,54 @@
+/*
+ * 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_LISTINVOCATIONSTATUSREQUEST_H_
+#define ALIBABACLOUD_EHPC_MODEL_LISTINVOCATIONSTATUSREQUEST_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 ListInvocationStatusRequest : public RpcServiceRequest
+			{
+
+			public:
+				ListInvocationStatusRequest();
+				~ListInvocationStatusRequest();
+
+				std::string getClusterId()const;
+				void setClusterId(const std::string& clusterId);
+				std::string getCommandId()const;
+				void setCommandId(const std::string& commandId);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string clusterId_;
+				std::string commandId_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_EHPC_MODEL_LISTINVOCATIONSTATUSREQUEST_H_

+ 60 - 0
ehpc/include/alibabacloud/ehpc/model/ListInvocationStatusResult.h

@@ -0,0 +1,60 @@
+/*
+ * 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_LISTINVOCATIONSTATUSRESULT_H_
+#define ALIBABACLOUD_EHPC_MODEL_LISTINVOCATIONSTATUSRESULT_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 ListInvocationStatusResult : public ServiceResult
+			{
+			public:
+				struct InvokeInstance
+				{
+					std::string instanceId;
+					std::string instanceInvokeStatus;
+				};
+
+
+				ListInvocationStatusResult();
+				explicit ListInvocationStatusResult(const std::string &payload);
+				~ListInvocationStatusResult();
+				std::string getInvokeStatus()const;
+				std::string getCommandId()const;
+				std::vector<InvokeInstance> getInvokeInstances()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string invokeStatus_;
+				std::string commandId_;
+				std::vector<InvokeInstance> invokeInstances_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_EHPC_MODEL_LISTINVOCATIONSTATUSRESULT_H_

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

@@ -35,8 +35,6 @@ namespace AlibabaCloud
 				ListJobTemplatesRequest();
 				~ListJobTemplatesRequest();
 
-				std::string getRegionId()const;
-				void setRegionId(const std::string& regionId);
 				std::string getName()const;
 				void setName(const std::string& name);
 				int getPageSize()const;
@@ -47,7 +45,6 @@ namespace AlibabaCloud
 				void setAccessKeyId(const std::string& accessKeyId);
 
             private:
-				std::string regionId_;
 				std::string name_;
 				int pageSize_;
 				int pageNumber_;

+ 1 - 0
ehpc/include/alibabacloud/ehpc/model/ListNodesResult.h

@@ -60,6 +60,7 @@ namespace AlibabaCloud
 					std::string regionId;
 					std::string lockReason;
 					std::string spotStrategy;
+					std::string location;
 				};
 
 

+ 54 - 0
ehpc/include/alibabacloud/ehpc/model/ModifyContainerAppAttributesRequest.h

@@ -0,0 +1,54 @@
+/*
+ * 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_MODIFYCONTAINERAPPATTRIBUTESREQUEST_H_
+#define ALIBABACLOUD_EHPC_MODEL_MODIFYCONTAINERAPPATTRIBUTESREQUEST_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 ModifyContainerAppAttributesRequest : public RpcServiceRequest
+			{
+
+			public:
+				ModifyContainerAppAttributesRequest();
+				~ModifyContainerAppAttributesRequest();
+
+				std::string getDescription()const;
+				void setDescription(const std::string& description);
+				std::string getContainerId()const;
+				void setContainerId(const std::string& containerId);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string description_;
+				std::string containerId_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_EHPC_MODEL_MODIFYCONTAINERAPPATTRIBUTESREQUEST_H_

+ 49 - 0
ehpc/include/alibabacloud/ehpc/model/ModifyContainerAppAttributesResult.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_MODIFYCONTAINERAPPATTRIBUTESRESULT_H_
+#define ALIBABACLOUD_EHPC_MODEL_MODIFYCONTAINERAPPATTRIBUTESRESULT_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 ModifyContainerAppAttributesResult : public ServiceResult
+			{
+			public:
+
+
+				ModifyContainerAppAttributesResult();
+				explicit ModifyContainerAppAttributesResult(const std::string &payload);
+				~ModifyContainerAppAttributesResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_EHPC_MODEL_MODIFYCONTAINERAPPATTRIBUTESRESULT_H_

+ 60 - 0
ehpc/include/alibabacloud/ehpc/model/PullImageRequest.h

@@ -0,0 +1,60 @@
+/*
+ * 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_PULLIMAGEREQUEST_H_
+#define ALIBABACLOUD_EHPC_MODEL_PULLIMAGEREQUEST_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 PullImageRequest : public RpcServiceRequest
+			{
+
+			public:
+				PullImageRequest();
+				~PullImageRequest();
+
+				std::string getContainerType()const;
+				void setContainerType(const std::string& containerType);
+				std::string getClusterId()const;
+				void setClusterId(const std::string& clusterId);
+				std::string getRepository()const;
+				void setRepository(const std::string& repository);
+				std::string getImageTag()const;
+				void setImageTag(const std::string& imageTag);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string containerType_;
+				std::string clusterId_;
+				std::string repository_;
+				std::string imageTag_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_EHPC_MODEL_PULLIMAGEREQUEST_H_

+ 49 - 0
ehpc/include/alibabacloud/ehpc/model/PullImageResult.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_PULLIMAGERESULT_H_
+#define ALIBABACLOUD_EHPC_MODEL_PULLIMAGERESULT_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 PullImageResult : public ServiceResult
+			{
+			public:
+
+
+				PullImageResult();
+				explicit PullImageResult(const std::string &payload);
+				~PullImageResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_EHPC_MODEL_PULLIMAGERESULT_H_

+ 12 - 0
ehpc/include/alibabacloud/ehpc/model/SubmitJobRequest.h

@@ -41,6 +41,8 @@ namespace AlibabaCloud
 				void setVariables(const std::string& variables);
 				std::string getRunasUserPassword()const;
 				void setRunasUserPassword(const std::string& runasUserPassword);
+				std::string getPostCmdLine()const;
+				void setPostCmdLine(const std::string& postCmdLine);
 				std::string getRunasUser()const;
 				void setRunasUser(const std::string& runasUser);
 				std::string getClusterId()const;
@@ -55,17 +57,24 @@ namespace AlibabaCloud
 				void setAccessKeyId(const std::string& accessKeyId);
 				std::string getArrayRequest()const;
 				void setArrayRequest(const std::string& arrayRequest);
+				std::string getUnzipCmd()const;
+				void setUnzipCmd(const std::string& unzipCmd);
 				std::string getPackagePath()const;
 				void setPackagePath(const std::string& packagePath);
+				std::string getInputFileUrl()const;
+				void setInputFileUrl(const std::string& inputFileUrl);
 				std::string getName()const;
 				void setName(const std::string& name);
 				std::string getStdoutRedirectPath()const;
 				void setStdoutRedirectPath(const std::string& stdoutRedirectPath);
+				std::string getContainerId()const;
+				void setContainerId(const std::string& containerId);
 
             private:
 				std::string stderrRedirectPath_;
 				std::string variables_;
 				std::string runasUserPassword_;
+				std::string postCmdLine_;
 				std::string runasUser_;
 				std::string clusterId_;
 				bool reRunable_;
@@ -73,9 +82,12 @@ namespace AlibabaCloud
 				std::string commandLine_;
 				std::string accessKeyId_;
 				std::string arrayRequest_;
+				std::string unzipCmd_;
 				std::string packagePath_;
+				std::string inputFileUrl_;
 				std::string name_;
 				std::string stdoutRedirectPath_;
+				std::string containerId_;
 
 			};
 		}

+ 747 - 243
ehpc/src/EHPCClient.cc

@@ -159,180 +159,180 @@ EHPCClient::ListUsersOutcomeCallable EHPCClient::listUsersCallable(const ListUse
 	return task->get_future();
 }
 
-EHPCClient::UpgradeClientOutcome EHPCClient::upgradeClient(const UpgradeClientRequest &request) const
+EHPCClient::StopNodesOutcome EHPCClient::stopNodes(const StopNodesRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	if (!endpointOutcome.isSuccess())
-		return UpgradeClientOutcome(endpointOutcome.error());
+		return StopNodesOutcome(endpointOutcome.error());
 
 	auto outcome = makeRequest(endpointOutcome.result(), request);
 
 	if (outcome.isSuccess())
-		return UpgradeClientOutcome(UpgradeClientResult(outcome.result()));
+		return StopNodesOutcome(StopNodesResult(outcome.result()));
 	else
-		return UpgradeClientOutcome(outcome.error());
+		return StopNodesOutcome(outcome.error());
 }
 
-void EHPCClient::upgradeClientAsync(const UpgradeClientRequest& request, const UpgradeClientAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+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, upgradeClient(request), context);
+		handler(this, request, stopNodes(request), context);
 	};
 
 	asyncExecute(new Runnable(fn));
 }
 
-EHPCClient::UpgradeClientOutcomeCallable EHPCClient::upgradeClientCallable(const UpgradeClientRequest &request) const
+EHPCClient::StopNodesOutcomeCallable EHPCClient::stopNodesCallable(const StopNodesRequest &request) const
 {
-	auto task = std::make_shared<std::packaged_task<UpgradeClientOutcome()>>(
+	auto task = std::make_shared<std::packaged_task<StopNodesOutcome()>>(
 			[this, request]()
 			{
-			return this->upgradeClient(request);
+			return this->stopNodes(request);
 			});
 
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	return task->get_future();
 }
 
-EHPCClient::StopNodesOutcome EHPCClient::stopNodes(const StopNodesRequest &request) const
+EHPCClient::PullImageOutcome EHPCClient::pullImage(const PullImageRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	if (!endpointOutcome.isSuccess())
-		return StopNodesOutcome(endpointOutcome.error());
+		return PullImageOutcome(endpointOutcome.error());
 
 	auto outcome = makeRequest(endpointOutcome.result(), request);
 
 	if (outcome.isSuccess())
-		return StopNodesOutcome(StopNodesResult(outcome.result()));
+		return PullImageOutcome(PullImageResult(outcome.result()));
 	else
-		return StopNodesOutcome(outcome.error());
+		return PullImageOutcome(outcome.error());
 }
 
-void EHPCClient::stopNodesAsync(const StopNodesRequest& request, const StopNodesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+void EHPCClient::pullImageAsync(const PullImageRequest& request, const PullImageAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
 {
 	auto fn = [this, request, handler, context]()
 	{
-		handler(this, request, stopNodes(request), context);
+		handler(this, request, pullImage(request), context);
 	};
 
 	asyncExecute(new Runnable(fn));
 }
 
-EHPCClient::StopNodesOutcomeCallable EHPCClient::stopNodesCallable(const StopNodesRequest &request) const
+EHPCClient::PullImageOutcomeCallable EHPCClient::pullImageCallable(const PullImageRequest &request) const
 {
-	auto task = std::make_shared<std::packaged_task<StopNodesOutcome()>>(
+	auto task = std::make_shared<std::packaged_task<PullImageOutcome()>>(
 			[this, request]()
 			{
-			return this->stopNodes(request);
+			return this->pullImage(request);
 			});
 
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	return task->get_future();
 }
 
-EHPCClient::ListCurrentClientVersionOutcome EHPCClient::listCurrentClientVersion(const ListCurrentClientVersionRequest &request) const
+EHPCClient::DescribeContainerAppOutcome EHPCClient::describeContainerApp(const DescribeContainerAppRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	if (!endpointOutcome.isSuccess())
-		return ListCurrentClientVersionOutcome(endpointOutcome.error());
+		return DescribeContainerAppOutcome(endpointOutcome.error());
 
 	auto outcome = makeRequest(endpointOutcome.result(), request);
 
 	if (outcome.isSuccess())
-		return ListCurrentClientVersionOutcome(ListCurrentClientVersionResult(outcome.result()));
+		return DescribeContainerAppOutcome(DescribeContainerAppResult(outcome.result()));
 	else
-		return ListCurrentClientVersionOutcome(outcome.error());
+		return DescribeContainerAppOutcome(outcome.error());
 }
 
-void EHPCClient::listCurrentClientVersionAsync(const ListCurrentClientVersionRequest& request, const ListCurrentClientVersionAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+void EHPCClient::describeContainerAppAsync(const DescribeContainerAppRequest& request, const DescribeContainerAppAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
 {
 	auto fn = [this, request, handler, context]()
 	{
-		handler(this, request, listCurrentClientVersion(request), context);
+		handler(this, request, describeContainerApp(request), context);
 	};
 
 	asyncExecute(new Runnable(fn));
 }
 
-EHPCClient::ListCurrentClientVersionOutcomeCallable EHPCClient::listCurrentClientVersionCallable(const ListCurrentClientVersionRequest &request) const
+EHPCClient::DescribeContainerAppOutcomeCallable EHPCClient::describeContainerAppCallable(const DescribeContainerAppRequest &request) const
 {
-	auto task = std::make_shared<std::packaged_task<ListCurrentClientVersionOutcome()>>(
+	auto task = std::make_shared<std::packaged_task<DescribeContainerAppOutcome()>>(
 			[this, request]()
 			{
-			return this->listCurrentClientVersion(request);
+			return this->describeContainerApp(request);
 			});
 
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	return task->get_future();
 }
 
-EHPCClient::DeleteClusterOutcome EHPCClient::deleteCluster(const DeleteClusterRequest &request) const
+EHPCClient::ListCurrentClientVersionOutcome EHPCClient::listCurrentClientVersion(const ListCurrentClientVersionRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	if (!endpointOutcome.isSuccess())
-		return DeleteClusterOutcome(endpointOutcome.error());
+		return ListCurrentClientVersionOutcome(endpointOutcome.error());
 
 	auto outcome = makeRequest(endpointOutcome.result(), request);
 
 	if (outcome.isSuccess())
-		return DeleteClusterOutcome(DeleteClusterResult(outcome.result()));
+		return ListCurrentClientVersionOutcome(ListCurrentClientVersionResult(outcome.result()));
 	else
-		return DeleteClusterOutcome(outcome.error());
+		return ListCurrentClientVersionOutcome(outcome.error());
 }
 
-void EHPCClient::deleteClusterAsync(const DeleteClusterRequest& request, const DeleteClusterAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+void EHPCClient::listCurrentClientVersionAsync(const ListCurrentClientVersionRequest& request, const ListCurrentClientVersionAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
 {
 	auto fn = [this, request, handler, context]()
 	{
-		handler(this, request, deleteCluster(request), context);
+		handler(this, request, listCurrentClientVersion(request), context);
 	};
 
 	asyncExecute(new Runnable(fn));
 }
 
-EHPCClient::DeleteClusterOutcomeCallable EHPCClient::deleteClusterCallable(const DeleteClusterRequest &request) const
+EHPCClient::ListCurrentClientVersionOutcomeCallable EHPCClient::listCurrentClientVersionCallable(const ListCurrentClientVersionRequest &request) const
 {
-	auto task = std::make_shared<std::packaged_task<DeleteClusterOutcome()>>(
+	auto task = std::make_shared<std::packaged_task<ListCurrentClientVersionOutcome()>>(
 			[this, request]()
 			{
-			return this->deleteCluster(request);
+			return this->listCurrentClientVersion(request);
 			});
 
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	return task->get_future();
 }
 
-EHPCClient::ListImagesOutcome EHPCClient::listImages(const ListImagesRequest &request) const
+EHPCClient::ModifyContainerAppAttributesOutcome EHPCClient::modifyContainerAppAttributes(const ModifyContainerAppAttributesRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	if (!endpointOutcome.isSuccess())
-		return ListImagesOutcome(endpointOutcome.error());
+		return ModifyContainerAppAttributesOutcome(endpointOutcome.error());
 
 	auto outcome = makeRequest(endpointOutcome.result(), request);
 
 	if (outcome.isSuccess())
-		return ListImagesOutcome(ListImagesResult(outcome.result()));
+		return ModifyContainerAppAttributesOutcome(ModifyContainerAppAttributesResult(outcome.result()));
 	else
-		return ListImagesOutcome(outcome.error());
+		return ModifyContainerAppAttributesOutcome(outcome.error());
 }
 
-void EHPCClient::listImagesAsync(const ListImagesRequest& request, const ListImagesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+void EHPCClient::modifyContainerAppAttributesAsync(const ModifyContainerAppAttributesRequest& request, const ModifyContainerAppAttributesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
 {
 	auto fn = [this, request, handler, context]()
 	{
-		handler(this, request, listImages(request), context);
+		handler(this, request, modifyContainerAppAttributes(request), context);
 	};
 
 	asyncExecute(new Runnable(fn));
 }
 
-EHPCClient::ListImagesOutcomeCallable EHPCClient::listImagesCallable(const ListImagesRequest &request) const
+EHPCClient::ModifyContainerAppAttributesOutcomeCallable EHPCClient::modifyContainerAppAttributesCallable(const ModifyContainerAppAttributesRequest &request) const
 {
-	auto task = std::make_shared<std::packaged_task<ListImagesOutcome()>>(
+	auto task = std::make_shared<std::packaged_task<ModifyContainerAppAttributesOutcome()>>(
 			[this, request]()
 			{
-			return this->listImages(request);
+			return this->modifyContainerAppAttributes(request);
 			});
 
 	asyncExecute(new Runnable([task]() { (*task)(); }));
@@ -375,36 +375,36 @@ EHPCClient::SetAutoScaleConfigOutcomeCallable EHPCClient::setAutoScaleConfigCall
 	return task->get_future();
 }
 
-EHPCClient::ListVolumesOutcome EHPCClient::listVolumes(const ListVolumesRequest &request) const
+EHPCClient::ListInvocationResultsOutcome EHPCClient::listInvocationResults(const ListInvocationResultsRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	if (!endpointOutcome.isSuccess())
-		return ListVolumesOutcome(endpointOutcome.error());
+		return ListInvocationResultsOutcome(endpointOutcome.error());
 
 	auto outcome = makeRequest(endpointOutcome.result(), request);
 
 	if (outcome.isSuccess())
-		return ListVolumesOutcome(ListVolumesResult(outcome.result()));
+		return ListInvocationResultsOutcome(ListInvocationResultsResult(outcome.result()));
 	else
-		return ListVolumesOutcome(outcome.error());
+		return ListInvocationResultsOutcome(outcome.error());
 }
 
-void EHPCClient::listVolumesAsync(const ListVolumesRequest& request, const ListVolumesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+void EHPCClient::listInvocationResultsAsync(const ListInvocationResultsRequest& request, const ListInvocationResultsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
 {
 	auto fn = [this, request, handler, context]()
 	{
-		handler(this, request, listVolumes(request), context);
+		handler(this, request, listInvocationResults(request), context);
 	};
 
 	asyncExecute(new Runnable(fn));
 }
 
-EHPCClient::ListVolumesOutcomeCallable EHPCClient::listVolumesCallable(const ListVolumesRequest &request) const
+EHPCClient::ListInvocationResultsOutcomeCallable EHPCClient::listInvocationResultsCallable(const ListInvocationResultsRequest &request) const
 {
-	auto task = std::make_shared<std::packaged_task<ListVolumesOutcome()>>(
+	auto task = std::make_shared<std::packaged_task<ListInvocationResultsOutcome()>>(
 			[this, request]()
 			{
-			return this->listVolumes(request);
+			return this->listInvocationResults(request);
 			});
 
 	asyncExecute(new Runnable([task]() { (*task)(); }));
@@ -627,42 +627,6 @@ EHPCClient::ListNodesOutcomeCallable EHPCClient::listNodesCallable(const ListNod
 	return task->get_future();
 }
 
-EHPCClient::SetJobUserOutcome EHPCClient::setJobUser(const SetJobUserRequest &request) const
-{
-	auto endpointOutcome = endpointProvider_->getEndpoint();
-	if (!endpointOutcome.isSuccess())
-		return SetJobUserOutcome(endpointOutcome.error());
-
-	auto outcome = makeRequest(endpointOutcome.result(), request);
-
-	if (outcome.isSuccess())
-		return SetJobUserOutcome(SetJobUserResult(outcome.result()));
-	else
-		return SetJobUserOutcome(outcome.error());
-}
-
-void EHPCClient::setJobUserAsync(const SetJobUserRequest& request, const SetJobUserAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
-{
-	auto fn = [this, request, handler, context]()
-	{
-		handler(this, request, setJobUser(request), context);
-	};
-
-	asyncExecute(new Runnable(fn));
-}
-
-EHPCClient::SetJobUserOutcomeCallable EHPCClient::setJobUserCallable(const SetJobUserRequest &request) const
-{
-	auto task = std::make_shared<std::packaged_task<SetJobUserOutcome()>>(
-			[this, request]()
-			{
-			return this->setJobUser(request);
-			});
-
-	asyncExecute(new Runnable([task]() { (*task)(); }));
-	return task->get_future();
-}
-
 EHPCClient::ModifyUserGroupsOutcome EHPCClient::modifyUserGroups(const ModifyUserGroupsRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -735,72 +699,36 @@ EHPCClient::StartClusterOutcomeCallable EHPCClient::startClusterCallable(const S
 	return task->get_future();
 }
 
-EHPCClient::ListClustersOutcome EHPCClient::listClusters(const ListClustersRequest &request) const
-{
-	auto endpointOutcome = endpointProvider_->getEndpoint();
-	if (!endpointOutcome.isSuccess())
-		return ListClustersOutcome(endpointOutcome.error());
-
-	auto outcome = makeRequest(endpointOutcome.result(), request);
-
-	if (outcome.isSuccess())
-		return ListClustersOutcome(ListClustersResult(outcome.result()));
-	else
-		return ListClustersOutcome(outcome.error());
-}
-
-void EHPCClient::listClustersAsync(const ListClustersRequest& request, const ListClustersAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
-{
-	auto fn = [this, request, handler, context]()
-	{
-		handler(this, request, listClusters(request), context);
-	};
-
-	asyncExecute(new Runnable(fn));
-}
-
-EHPCClient::ListClustersOutcomeCallable EHPCClient::listClustersCallable(const ListClustersRequest &request) const
-{
-	auto task = std::make_shared<std::packaged_task<ListClustersOutcome()>>(
-			[this, request]()
-			{
-			return this->listClusters(request);
-			});
-
-	asyncExecute(new Runnable([task]() { (*task)(); }));
-	return task->get_future();
-}
-
-EHPCClient::SubmitJobOutcome EHPCClient::submitJob(const SubmitJobRequest &request) const
+EHPCClient::ListCommandsOutcome EHPCClient::listCommands(const ListCommandsRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	if (!endpointOutcome.isSuccess())
-		return SubmitJobOutcome(endpointOutcome.error());
+		return ListCommandsOutcome(endpointOutcome.error());
 
 	auto outcome = makeRequest(endpointOutcome.result(), request);
 
 	if (outcome.isSuccess())
-		return SubmitJobOutcome(SubmitJobResult(outcome.result()));
+		return ListCommandsOutcome(ListCommandsResult(outcome.result()));
 	else
-		return SubmitJobOutcome(outcome.error());
+		return ListCommandsOutcome(outcome.error());
 }
 
-void EHPCClient::submitJobAsync(const SubmitJobRequest& request, const SubmitJobAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+void EHPCClient::listCommandsAsync(const ListCommandsRequest& request, const ListCommandsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
 {
 	auto fn = [this, request, handler, context]()
 	{
-		handler(this, request, submitJob(request), context);
+		handler(this, request, listCommands(request), context);
 	};
 
 	asyncExecute(new Runnable(fn));
 }
 
-EHPCClient::SubmitJobOutcomeCallable EHPCClient::submitJobCallable(const SubmitJobRequest &request) const
+EHPCClient::ListCommandsOutcomeCallable EHPCClient::listCommandsCallable(const ListCommandsRequest &request) const
 {
-	auto task = std::make_shared<std::packaged_task<SubmitJobOutcome()>>(
+	auto task = std::make_shared<std::packaged_task<ListCommandsOutcome()>>(
 			[this, request]()
 			{
-			return this->submitJob(request);
+			return this->listCommands(request);
 			});
 
 	asyncExecute(new Runnable([task]() { (*task)(); }));
@@ -843,36 +771,36 @@ EHPCClient::ListCustomImagesOutcomeCallable EHPCClient::listCustomImagesCallable
 	return task->get_future();
 }
 
-EHPCClient::ListRegionsOutcome EHPCClient::listRegions(const ListRegionsRequest &request) const
+EHPCClient::InvokeShellCommandOutcome EHPCClient::invokeShellCommand(const InvokeShellCommandRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	if (!endpointOutcome.isSuccess())
-		return ListRegionsOutcome(endpointOutcome.error());
+		return InvokeShellCommandOutcome(endpointOutcome.error());
 
 	auto outcome = makeRequest(endpointOutcome.result(), request);
 
 	if (outcome.isSuccess())
-		return ListRegionsOutcome(ListRegionsResult(outcome.result()));
+		return InvokeShellCommandOutcome(InvokeShellCommandResult(outcome.result()));
 	else
-		return ListRegionsOutcome(outcome.error());
+		return InvokeShellCommandOutcome(outcome.error());
 }
 
-void EHPCClient::listRegionsAsync(const ListRegionsRequest& request, const ListRegionsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+void EHPCClient::invokeShellCommandAsync(const InvokeShellCommandRequest& request, const InvokeShellCommandAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
 {
 	auto fn = [this, request, handler, context]()
 	{
-		handler(this, request, listRegions(request), context);
+		handler(this, request, invokeShellCommand(request), context);
 	};
 
 	asyncExecute(new Runnable(fn));
 }
 
-EHPCClient::ListRegionsOutcomeCallable EHPCClient::listRegionsCallable(const ListRegionsRequest &request) const
+EHPCClient::InvokeShellCommandOutcomeCallable EHPCClient::invokeShellCommandCallable(const InvokeShellCommandRequest &request) const
 {
-	auto task = std::make_shared<std::packaged_task<ListRegionsOutcome()>>(
+	auto task = std::make_shared<std::packaged_task<InvokeShellCommandOutcome()>>(
 			[this, request]()
 			{
-			return this->listRegions(request);
+			return this->invokeShellCommand(request);
 			});
 
 	asyncExecute(new Runnable([task]() { (*task)(); }));
@@ -1095,72 +1023,72 @@ EHPCClient::ListNodesNoPagingOutcomeCallable EHPCClient::listNodesNoPagingCallab
 	return task->get_future();
 }
 
-EHPCClient::CreateJobTemplateOutcome EHPCClient::createJobTemplate(const CreateJobTemplateRequest &request) const
+EHPCClient::GetHybridClusterConfigOutcome EHPCClient::getHybridClusterConfig(const GetHybridClusterConfigRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	if (!endpointOutcome.isSuccess())
-		return CreateJobTemplateOutcome(endpointOutcome.error());
+		return GetHybridClusterConfigOutcome(endpointOutcome.error());
 
 	auto outcome = makeRequest(endpointOutcome.result(), request);
 
 	if (outcome.isSuccess())
-		return CreateJobTemplateOutcome(CreateJobTemplateResult(outcome.result()));
+		return GetHybridClusterConfigOutcome(GetHybridClusterConfigResult(outcome.result()));
 	else
-		return CreateJobTemplateOutcome(outcome.error());
+		return GetHybridClusterConfigOutcome(outcome.error());
 }
 
-void EHPCClient::createJobTemplateAsync(const CreateJobTemplateRequest& request, const CreateJobTemplateAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+void EHPCClient::getHybridClusterConfigAsync(const GetHybridClusterConfigRequest& request, const GetHybridClusterConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
 {
 	auto fn = [this, request, handler, context]()
 	{
-		handler(this, request, createJobTemplate(request), context);
+		handler(this, request, getHybridClusterConfig(request), context);
 	};
 
 	asyncExecute(new Runnable(fn));
 }
 
-EHPCClient::CreateJobTemplateOutcomeCallable EHPCClient::createJobTemplateCallable(const CreateJobTemplateRequest &request) const
+EHPCClient::GetHybridClusterConfigOutcomeCallable EHPCClient::getHybridClusterConfigCallable(const GetHybridClusterConfigRequest &request) const
 {
-	auto task = std::make_shared<std::packaged_task<CreateJobTemplateOutcome()>>(
+	auto task = std::make_shared<std::packaged_task<GetHybridClusterConfigOutcome()>>(
 			[this, request]()
 			{
-			return this->createJobTemplate(request);
+			return this->getHybridClusterConfig(request);
 			});
 
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	return task->get_future();
 }
 
-EHPCClient::RerunJobsOutcome EHPCClient::rerunJobs(const RerunJobsRequest &request) const
+EHPCClient::CreateJobTemplateOutcome EHPCClient::createJobTemplate(const CreateJobTemplateRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	if (!endpointOutcome.isSuccess())
-		return RerunJobsOutcome(endpointOutcome.error());
+		return CreateJobTemplateOutcome(endpointOutcome.error());
 
 	auto outcome = makeRequest(endpointOutcome.result(), request);
 
 	if (outcome.isSuccess())
-		return RerunJobsOutcome(RerunJobsResult(outcome.result()));
+		return CreateJobTemplateOutcome(CreateJobTemplateResult(outcome.result()));
 	else
-		return RerunJobsOutcome(outcome.error());
+		return CreateJobTemplateOutcome(outcome.error());
 }
 
-void EHPCClient::rerunJobsAsync(const RerunJobsRequest& request, const RerunJobsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+void EHPCClient::createJobTemplateAsync(const CreateJobTemplateRequest& request, const CreateJobTemplateAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
 {
 	auto fn = [this, request, handler, context]()
 	{
-		handler(this, request, rerunJobs(request), context);
+		handler(this, request, createJobTemplate(request), context);
 	};
 
 	asyncExecute(new Runnable(fn));
 }
 
-EHPCClient::RerunJobsOutcomeCallable EHPCClient::rerunJobsCallable(const RerunJobsRequest &request) const
+EHPCClient::CreateJobTemplateOutcomeCallable EHPCClient::createJobTemplateCallable(const CreateJobTemplateRequest &request) const
 {
-	auto task = std::make_shared<std::packaged_task<RerunJobsOutcome()>>(
+	auto task = std::make_shared<std::packaged_task<CreateJobTemplateOutcome()>>(
 			[this, request]()
 			{
-			return this->rerunJobs(request);
+			return this->createJobTemplate(request);
 			});
 
 	asyncExecute(new Runnable([task]() { (*task)(); }));
@@ -1203,324 +1131,900 @@ EHPCClient::ResetNodesOutcomeCallable EHPCClient::resetNodesCallable(const Reset
 	return task->get_future();
 }
 
-EHPCClient::EditJobTemplateOutcome EHPCClient::editJobTemplate(const EditJobTemplateRequest &request) const
+EHPCClient::CreateHybridClusterOutcome EHPCClient::createHybridCluster(const CreateHybridClusterRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	if (!endpointOutcome.isSuccess())
-		return EditJobTemplateOutcome(endpointOutcome.error());
+		return CreateHybridClusterOutcome(endpointOutcome.error());
 
 	auto outcome = makeRequest(endpointOutcome.result(), request);
 
 	if (outcome.isSuccess())
-		return EditJobTemplateOutcome(EditJobTemplateResult(outcome.result()));
+		return CreateHybridClusterOutcome(CreateHybridClusterResult(outcome.result()));
 	else
-		return EditJobTemplateOutcome(outcome.error());
+		return CreateHybridClusterOutcome(outcome.error());
 }
 
-void EHPCClient::editJobTemplateAsync(const EditJobTemplateRequest& request, const EditJobTemplateAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+void EHPCClient::createHybridClusterAsync(const CreateHybridClusterRequest& request, const CreateHybridClusterAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
 {
 	auto fn = [this, request, handler, context]()
 	{
-		handler(this, request, editJobTemplate(request), context);
+		handler(this, request, createHybridCluster(request), context);
 	};
 
 	asyncExecute(new Runnable(fn));
 }
 
-EHPCClient::EditJobTemplateOutcomeCallable EHPCClient::editJobTemplateCallable(const EditJobTemplateRequest &request) const
+EHPCClient::CreateHybridClusterOutcomeCallable EHPCClient::createHybridClusterCallable(const CreateHybridClusterRequest &request) const
 {
-	auto task = std::make_shared<std::packaged_task<EditJobTemplateOutcome()>>(
+	auto task = std::make_shared<std::packaged_task<CreateHybridClusterOutcome()>>(
 			[this, request]()
 			{
-			return this->editJobTemplate(request);
+			return this->createHybridCluster(request);
 			});
 
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	return task->get_future();
 }
 
-EHPCClient::ListPreferredEcsTypesOutcome EHPCClient::listPreferredEcsTypes(const ListPreferredEcsTypesRequest &request) const
+EHPCClient::ListContainerImagesOutcome EHPCClient::listContainerImages(const ListContainerImagesRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	if (!endpointOutcome.isSuccess())
-		return ListPreferredEcsTypesOutcome(endpointOutcome.error());
+		return ListContainerImagesOutcome(endpointOutcome.error());
 
 	auto outcome = makeRequest(endpointOutcome.result(), request);
 
 	if (outcome.isSuccess())
-		return ListPreferredEcsTypesOutcome(ListPreferredEcsTypesResult(outcome.result()));
+		return ListContainerImagesOutcome(ListContainerImagesResult(outcome.result()));
 	else
-		return ListPreferredEcsTypesOutcome(outcome.error());
+		return ListContainerImagesOutcome(outcome.error());
 }
 
-void EHPCClient::listPreferredEcsTypesAsync(const ListPreferredEcsTypesRequest& request, const ListPreferredEcsTypesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+void EHPCClient::listContainerImagesAsync(const ListContainerImagesRequest& request, const ListContainerImagesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
 {
 	auto fn = [this, request, handler, context]()
 	{
-		handler(this, request, listPreferredEcsTypes(request), context);
+		handler(this, request, listContainerImages(request), context);
 	};
 
 	asyncExecute(new Runnable(fn));
 }
 
-EHPCClient::ListPreferredEcsTypesOutcomeCallable EHPCClient::listPreferredEcsTypesCallable(const ListPreferredEcsTypesRequest &request) const
+EHPCClient::ListContainerImagesOutcomeCallable EHPCClient::listContainerImagesCallable(const ListContainerImagesRequest &request) const
 {
-	auto task = std::make_shared<std::packaged_task<ListPreferredEcsTypesOutcome()>>(
+	auto task = std::make_shared<std::packaged_task<ListContainerImagesOutcome()>>(
 			[this, request]()
 			{
-			return this->listPreferredEcsTypes(request);
+			return this->listContainerImages(request);
 			});
 
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	return task->get_future();
 }
 
-EHPCClient::ListClusterLogsOutcome EHPCClient::listClusterLogs(const ListClusterLogsRequest &request) const
+EHPCClient::DeleteJobsOutcome EHPCClient::deleteJobs(const DeleteJobsRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	if (!endpointOutcome.isSuccess())
-		return ListClusterLogsOutcome(endpointOutcome.error());
+		return DeleteJobsOutcome(endpointOutcome.error());
 
 	auto outcome = makeRequest(endpointOutcome.result(), request);
 
 	if (outcome.isSuccess())
-		return ListClusterLogsOutcome(ListClusterLogsResult(outcome.result()));
+		return DeleteJobsOutcome(DeleteJobsResult(outcome.result()));
 	else
-		return ListClusterLogsOutcome(outcome.error());
+		return DeleteJobsOutcome(outcome.error());
 }
 
-void EHPCClient::listClusterLogsAsync(const ListClusterLogsRequest& request, const ListClusterLogsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+void EHPCClient::deleteJobsAsync(const DeleteJobsRequest& request, const DeleteJobsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
 {
 	auto fn = [this, request, handler, context]()
 	{
-		handler(this, request, listClusterLogs(request), context);
+		handler(this, request, deleteJobs(request), context);
 	};
 
 	asyncExecute(new Runnable(fn));
 }
 
-EHPCClient::ListClusterLogsOutcomeCallable EHPCClient::listClusterLogsCallable(const ListClusterLogsRequest &request) const
+EHPCClient::DeleteJobsOutcomeCallable EHPCClient::deleteJobsCallable(const DeleteJobsRequest &request) const
 {
-	auto task = std::make_shared<std::packaged_task<ListClusterLogsOutcome()>>(
+	auto task = std::make_shared<std::packaged_task<DeleteJobsOutcome()>>(
 			[this, request]()
 			{
-			return this->listClusterLogs(request);
+			return this->deleteJobs(request);
 			});
 
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	return task->get_future();
 }
 
-EHPCClient::RecoverClusterOutcome EHPCClient::recoverCluster(const RecoverClusterRequest &request) const
+EHPCClient::DeleteNodesOutcome EHPCClient::deleteNodes(const DeleteNodesRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	if (!endpointOutcome.isSuccess())
-		return RecoverClusterOutcome(endpointOutcome.error());
+		return DeleteNodesOutcome(endpointOutcome.error());
 
 	auto outcome = makeRequest(endpointOutcome.result(), request);
 
 	if (outcome.isSuccess())
-		return RecoverClusterOutcome(RecoverClusterResult(outcome.result()));
+		return DeleteNodesOutcome(DeleteNodesResult(outcome.result()));
 	else
-		return RecoverClusterOutcome(outcome.error());
+		return DeleteNodesOutcome(outcome.error());
 }
 
-void EHPCClient::recoverClusterAsync(const RecoverClusterRequest& request, const RecoverClusterAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+void EHPCClient::deleteNodesAsync(const DeleteNodesRequest& request, const DeleteNodesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
 {
 	auto fn = [this, request, handler, context]()
 	{
-		handler(this, request, recoverCluster(request), context);
+		handler(this, request, deleteNodes(request), context);
 	};
 
 	asyncExecute(new Runnable(fn));
 }
 
-EHPCClient::RecoverClusterOutcomeCallable EHPCClient::recoverClusterCallable(const RecoverClusterRequest &request) const
+EHPCClient::DeleteNodesOutcomeCallable EHPCClient::deleteNodesCallable(const DeleteNodesRequest &request) const
 {
-	auto task = std::make_shared<std::packaged_task<RecoverClusterOutcome()>>(
+	auto task = std::make_shared<std::packaged_task<DeleteNodesOutcome()>>(
 			[this, request]()
 			{
-			return this->recoverCluster(request);
+			return this->deleteNodes(request);
 			});
 
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	return task->get_future();
 }
 
-EHPCClient::DeleteJobsOutcome EHPCClient::deleteJobs(const DeleteJobsRequest &request) const
+EHPCClient::ListJobsOutcome EHPCClient::listJobs(const ListJobsRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	if (!endpointOutcome.isSuccess())
-		return DeleteJobsOutcome(endpointOutcome.error());
+		return ListJobsOutcome(endpointOutcome.error());
 
 	auto outcome = makeRequest(endpointOutcome.result(), request);
 
 	if (outcome.isSuccess())
-		return DeleteJobsOutcome(DeleteJobsResult(outcome.result()));
+		return ListJobsOutcome(ListJobsResult(outcome.result()));
 	else
-		return DeleteJobsOutcome(outcome.error());
+		return ListJobsOutcome(outcome.error());
 }
 
-void EHPCClient::deleteJobsAsync(const DeleteJobsRequest& request, const DeleteJobsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+void EHPCClient::listJobsAsync(const ListJobsRequest& request, const ListJobsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
 {
 	auto fn = [this, request, handler, context]()
 	{
-		handler(this, request, deleteJobs(request), context);
+		handler(this, request, listJobs(request), context);
 	};
 
 	asyncExecute(new Runnable(fn));
 }
 
-EHPCClient::DeleteJobsOutcomeCallable EHPCClient::deleteJobsCallable(const DeleteJobsRequest &request) const
+EHPCClient::ListJobsOutcomeCallable EHPCClient::listJobsCallable(const ListJobsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ListJobsOutcome()>>(
+			[this, request]()
+			{
+			return this->listJobs(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+EHPCClient::CreateClusterOutcome EHPCClient::createCluster(const CreateClusterRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return CreateClusterOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return CreateClusterOutcome(CreateClusterResult(outcome.result()));
+	else
+		return CreateClusterOutcome(outcome.error());
+}
+
+void EHPCClient::createClusterAsync(const CreateClusterRequest& request, const CreateClusterAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, createCluster(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+EHPCClient::CreateClusterOutcomeCallable EHPCClient::createClusterCallable(const CreateClusterRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<CreateClusterOutcome()>>(
+			[this, request]()
+			{
+			return this->createCluster(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+EHPCClient::ModifyUserPasswordsOutcome EHPCClient::modifyUserPasswords(const ModifyUserPasswordsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ModifyUserPasswordsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ModifyUserPasswordsOutcome(ModifyUserPasswordsResult(outcome.result()));
+	else
+		return ModifyUserPasswordsOutcome(outcome.error());
+}
+
+void EHPCClient::modifyUserPasswordsAsync(const ModifyUserPasswordsRequest& request, const ModifyUserPasswordsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, modifyUserPasswords(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+EHPCClient::ModifyUserPasswordsOutcomeCallable EHPCClient::modifyUserPasswordsCallable(const ModifyUserPasswordsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ModifyUserPasswordsOutcome()>>(
+			[this, request]()
+			{
+			return this->modifyUserPasswords(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+EHPCClient::UpgradeClientOutcome EHPCClient::upgradeClient(const UpgradeClientRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return UpgradeClientOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return UpgradeClientOutcome(UpgradeClientResult(outcome.result()));
+	else
+		return UpgradeClientOutcome(outcome.error());
+}
+
+void EHPCClient::upgradeClientAsync(const UpgradeClientRequest& request, const UpgradeClientAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, upgradeClient(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+EHPCClient::UpgradeClientOutcomeCallable EHPCClient::upgradeClientCallable(const UpgradeClientRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<UpgradeClientOutcome()>>(
+			[this, request]()
+			{
+			return this->upgradeClient(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+EHPCClient::DeleteClusterOutcome EHPCClient::deleteCluster(const DeleteClusterRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DeleteClusterOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DeleteClusterOutcome(DeleteClusterResult(outcome.result()));
+	else
+		return DeleteClusterOutcome(outcome.error());
+}
+
+void EHPCClient::deleteClusterAsync(const DeleteClusterRequest& request, const DeleteClusterAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, deleteCluster(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+EHPCClient::DeleteClusterOutcomeCallable EHPCClient::deleteClusterCallable(const DeleteClusterRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DeleteClusterOutcome()>>(
+			[this, request]()
+			{
+			return this->deleteCluster(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+EHPCClient::ListImagesOutcome EHPCClient::listImages(const ListImagesRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ListImagesOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ListImagesOutcome(ListImagesResult(outcome.result()));
+	else
+		return ListImagesOutcome(outcome.error());
+}
+
+void EHPCClient::listImagesAsync(const ListImagesRequest& request, const ListImagesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, listImages(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+EHPCClient::ListImagesOutcomeCallable EHPCClient::listImagesCallable(const ListImagesRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ListImagesOutcome()>>(
+			[this, request]()
+			{
+			return this->listImages(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+EHPCClient::ListVolumesOutcome EHPCClient::listVolumes(const ListVolumesRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ListVolumesOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ListVolumesOutcome(ListVolumesResult(outcome.result()));
+	else
+		return ListVolumesOutcome(outcome.error());
+}
+
+void EHPCClient::listVolumesAsync(const ListVolumesRequest& request, const ListVolumesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, listVolumes(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+EHPCClient::ListVolumesOutcomeCallable EHPCClient::listVolumesCallable(const ListVolumesRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ListVolumesOutcome()>>(
+			[this, request]()
+			{
+			return this->listVolumes(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+EHPCClient::DeleteContainerAppsOutcome EHPCClient::deleteContainerApps(const DeleteContainerAppsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DeleteContainerAppsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DeleteContainerAppsOutcome(DeleteContainerAppsResult(outcome.result()));
+	else
+		return DeleteContainerAppsOutcome(outcome.error());
+}
+
+void EHPCClient::deleteContainerAppsAsync(const DeleteContainerAppsRequest& request, const DeleteContainerAppsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, deleteContainerApps(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+EHPCClient::DeleteContainerAppsOutcomeCallable EHPCClient::deleteContainerAppsCallable(const DeleteContainerAppsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DeleteContainerAppsOutcome()>>(
+			[this, request]()
+			{
+			return this->deleteContainerApps(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+EHPCClient::ListInvocationStatusOutcome EHPCClient::listInvocationStatus(const ListInvocationStatusRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ListInvocationStatusOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ListInvocationStatusOutcome(ListInvocationStatusResult(outcome.result()));
+	else
+		return ListInvocationStatusOutcome(outcome.error());
+}
+
+void EHPCClient::listInvocationStatusAsync(const ListInvocationStatusRequest& request, const ListInvocationStatusAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, listInvocationStatus(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+EHPCClient::ListInvocationStatusOutcomeCallable EHPCClient::listInvocationStatusCallable(const ListInvocationStatusRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ListInvocationStatusOutcome()>>(
+			[this, request]()
+			{
+			return this->listInvocationStatus(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+EHPCClient::ListContainerAppsOutcome EHPCClient::listContainerApps(const ListContainerAppsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ListContainerAppsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ListContainerAppsOutcome(ListContainerAppsResult(outcome.result()));
+	else
+		return ListContainerAppsOutcome(outcome.error());
+}
+
+void EHPCClient::listContainerAppsAsync(const ListContainerAppsRequest& request, const ListContainerAppsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, listContainerApps(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+EHPCClient::ListContainerAppsOutcomeCallable EHPCClient::listContainerAppsCallable(const ListContainerAppsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ListContainerAppsOutcome()>>(
+			[this, request]()
+			{
+			return this->listContainerApps(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+EHPCClient::SetJobUserOutcome EHPCClient::setJobUser(const SetJobUserRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return SetJobUserOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return SetJobUserOutcome(SetJobUserResult(outcome.result()));
+	else
+		return SetJobUserOutcome(outcome.error());
+}
+
+void EHPCClient::setJobUserAsync(const SetJobUserRequest& request, const SetJobUserAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, setJobUser(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+EHPCClient::SetJobUserOutcomeCallable EHPCClient::setJobUserCallable(const SetJobUserRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<SetJobUserOutcome()>>(
+			[this, request]()
+			{
+			return this->setJobUser(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+EHPCClient::ListClustersOutcome EHPCClient::listClusters(const ListClustersRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ListClustersOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ListClustersOutcome(ListClustersResult(outcome.result()));
+	else
+		return ListClustersOutcome(outcome.error());
+}
+
+void EHPCClient::listClustersAsync(const ListClustersRequest& request, const ListClustersAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
 {
-	auto task = std::make_shared<std::packaged_task<DeleteJobsOutcome()>>(
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, listClusters(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+EHPCClient::ListClustersOutcomeCallable EHPCClient::listClustersCallable(const ListClustersRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ListClustersOutcome()>>(
 			[this, request]()
 			{
-			return this->deleteJobs(request);
+			return this->listClusters(request);
 			});
 
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	return task->get_future();
 }
 
-EHPCClient::DeleteNodesOutcome EHPCClient::deleteNodes(const DeleteNodesRequest &request) const
+EHPCClient::SubmitJobOutcome EHPCClient::submitJob(const SubmitJobRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	if (!endpointOutcome.isSuccess())
-		return DeleteNodesOutcome(endpointOutcome.error());
+		return SubmitJobOutcome(endpointOutcome.error());
 
 	auto outcome = makeRequest(endpointOutcome.result(), request);
 
 	if (outcome.isSuccess())
-		return DeleteNodesOutcome(DeleteNodesResult(outcome.result()));
+		return SubmitJobOutcome(SubmitJobResult(outcome.result()));
 	else
-		return DeleteNodesOutcome(outcome.error());
+		return SubmitJobOutcome(outcome.error());
 }
 
-void EHPCClient::deleteNodesAsync(const DeleteNodesRequest& request, const DeleteNodesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+void EHPCClient::submitJobAsync(const SubmitJobRequest& request, const SubmitJobAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
 {
 	auto fn = [this, request, handler, context]()
 	{
-		handler(this, request, deleteNodes(request), context);
+		handler(this, request, submitJob(request), context);
 	};
 
 	asyncExecute(new Runnable(fn));
 }
 
-EHPCClient::DeleteNodesOutcomeCallable EHPCClient::deleteNodesCallable(const DeleteNodesRequest &request) const
+EHPCClient::SubmitJobOutcomeCallable EHPCClient::submitJobCallable(const SubmitJobRequest &request) const
 {
-	auto task = std::make_shared<std::packaged_task<DeleteNodesOutcome()>>(
+	auto task = std::make_shared<std::packaged_task<SubmitJobOutcome()>>(
 			[this, request]()
 			{
-			return this->deleteNodes(request);
+			return this->submitJob(request);
 			});
 
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	return task->get_future();
 }
 
-EHPCClient::ListJobsOutcome EHPCClient::listJobs(const ListJobsRequest &request) const
+EHPCClient::ListRegionsOutcome EHPCClient::listRegions(const ListRegionsRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	if (!endpointOutcome.isSuccess())
-		return ListJobsOutcome(endpointOutcome.error());
+		return ListRegionsOutcome(endpointOutcome.error());
 
 	auto outcome = makeRequest(endpointOutcome.result(), request);
 
 	if (outcome.isSuccess())
-		return ListJobsOutcome(ListJobsResult(outcome.result()));
+		return ListRegionsOutcome(ListRegionsResult(outcome.result()));
 	else
-		return ListJobsOutcome(outcome.error());
+		return ListRegionsOutcome(outcome.error());
 }
 
-void EHPCClient::listJobsAsync(const ListJobsRequest& request, const ListJobsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+void EHPCClient::listRegionsAsync(const ListRegionsRequest& request, const ListRegionsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
 {
 	auto fn = [this, request, handler, context]()
 	{
-		handler(this, request, listJobs(request), context);
+		handler(this, request, listRegions(request), context);
 	};
 
 	asyncExecute(new Runnable(fn));
 }
 
-EHPCClient::ListJobsOutcomeCallable EHPCClient::listJobsCallable(const ListJobsRequest &request) const
+EHPCClient::ListRegionsOutcomeCallable EHPCClient::listRegionsCallable(const ListRegionsRequest &request) const
 {
-	auto task = std::make_shared<std::packaged_task<ListJobsOutcome()>>(
+	auto task = std::make_shared<std::packaged_task<ListRegionsOutcome()>>(
 			[this, request]()
 			{
-			return this->listJobs(request);
+			return this->listRegions(request);
 			});
 
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	return task->get_future();
 }
 
-EHPCClient::CreateClusterOutcome EHPCClient::createCluster(const CreateClusterRequest &request) const
+EHPCClient::DescribeAutoScaleConfigOutcome EHPCClient::describeAutoScaleConfig(const DescribeAutoScaleConfigRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	if (!endpointOutcome.isSuccess())
-		return CreateClusterOutcome(endpointOutcome.error());
+		return DescribeAutoScaleConfigOutcome(endpointOutcome.error());
 
 	auto outcome = makeRequest(endpointOutcome.result(), request);
 
 	if (outcome.isSuccess())
-		return CreateClusterOutcome(CreateClusterResult(outcome.result()));
+		return DescribeAutoScaleConfigOutcome(DescribeAutoScaleConfigResult(outcome.result()));
 	else
-		return CreateClusterOutcome(outcome.error());
+		return DescribeAutoScaleConfigOutcome(outcome.error());
 }
 
-void EHPCClient::createClusterAsync(const CreateClusterRequest& request, const CreateClusterAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+void EHPCClient::describeAutoScaleConfigAsync(const DescribeAutoScaleConfigRequest& request, const DescribeAutoScaleConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
 {
 	auto fn = [this, request, handler, context]()
 	{
-		handler(this, request, createCluster(request), context);
+		handler(this, request, describeAutoScaleConfig(request), context);
 	};
 
 	asyncExecute(new Runnable(fn));
 }
 
-EHPCClient::CreateClusterOutcomeCallable EHPCClient::createClusterCallable(const CreateClusterRequest &request) const
+EHPCClient::DescribeAutoScaleConfigOutcomeCallable EHPCClient::describeAutoScaleConfigCallable(const DescribeAutoScaleConfigRequest &request) const
 {
-	auto task = std::make_shared<std::packaged_task<CreateClusterOutcome()>>(
+	auto task = std::make_shared<std::packaged_task<DescribeAutoScaleConfigOutcome()>>(
 			[this, request]()
 			{
-			return this->createCluster(request);
+			return this->describeAutoScaleConfig(request);
 			});
 
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	return task->get_future();
 }
 
-EHPCClient::ModifyUserPasswordsOutcome EHPCClient::modifyUserPasswords(const ModifyUserPasswordsRequest &request) const
+EHPCClient::RerunJobsOutcome EHPCClient::rerunJobs(const RerunJobsRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	if (!endpointOutcome.isSuccess())
-		return ModifyUserPasswordsOutcome(endpointOutcome.error());
+		return RerunJobsOutcome(endpointOutcome.error());
 
 	auto outcome = makeRequest(endpointOutcome.result(), request);
 
 	if (outcome.isSuccess())
-		return ModifyUserPasswordsOutcome(ModifyUserPasswordsResult(outcome.result()));
+		return RerunJobsOutcome(RerunJobsResult(outcome.result()));
 	else
-		return ModifyUserPasswordsOutcome(outcome.error());
+		return RerunJobsOutcome(outcome.error());
 }
 
-void EHPCClient::modifyUserPasswordsAsync(const ModifyUserPasswordsRequest& request, const ModifyUserPasswordsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+void EHPCClient::rerunJobsAsync(const RerunJobsRequest& request, const RerunJobsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
 {
 	auto fn = [this, request, handler, context]()
 	{
-		handler(this, request, modifyUserPasswords(request), context);
+		handler(this, request, rerunJobs(request), context);
 	};
 
 	asyncExecute(new Runnable(fn));
 }
 
-EHPCClient::ModifyUserPasswordsOutcomeCallable EHPCClient::modifyUserPasswordsCallable(const ModifyUserPasswordsRequest &request) const
+EHPCClient::RerunJobsOutcomeCallable EHPCClient::rerunJobsCallable(const RerunJobsRequest &request) const
 {
-	auto task = std::make_shared<std::packaged_task<ModifyUserPasswordsOutcome()>>(
+	auto task = std::make_shared<std::packaged_task<RerunJobsOutcome()>>(
 			[this, request]()
 			{
-			return this->modifyUserPasswords(request);
+			return this->rerunJobs(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+EHPCClient::EditJobTemplateOutcome EHPCClient::editJobTemplate(const EditJobTemplateRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return EditJobTemplateOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return EditJobTemplateOutcome(EditJobTemplateResult(outcome.result()));
+	else
+		return EditJobTemplateOutcome(outcome.error());
+}
+
+void EHPCClient::editJobTemplateAsync(const EditJobTemplateRequest& request, const EditJobTemplateAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, editJobTemplate(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+EHPCClient::EditJobTemplateOutcomeCallable EHPCClient::editJobTemplateCallable(const EditJobTemplateRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<EditJobTemplateOutcome()>>(
+			[this, request]()
+			{
+			return this->editJobTemplate(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+EHPCClient::ListPreferredEcsTypesOutcome EHPCClient::listPreferredEcsTypes(const ListPreferredEcsTypesRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ListPreferredEcsTypesOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ListPreferredEcsTypesOutcome(ListPreferredEcsTypesResult(outcome.result()));
+	else
+		return ListPreferredEcsTypesOutcome(outcome.error());
+}
+
+void EHPCClient::listPreferredEcsTypesAsync(const ListPreferredEcsTypesRequest& request, const ListPreferredEcsTypesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, listPreferredEcsTypes(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+EHPCClient::ListPreferredEcsTypesOutcomeCallable EHPCClient::listPreferredEcsTypesCallable(const ListPreferredEcsTypesRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ListPreferredEcsTypesOutcome()>>(
+			[this, request]()
+			{
+			return this->listPreferredEcsTypes(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+EHPCClient::AddContainerAppOutcome EHPCClient::addContainerApp(const AddContainerAppRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return AddContainerAppOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return AddContainerAppOutcome(AddContainerAppResult(outcome.result()));
+	else
+		return AddContainerAppOutcome(outcome.error());
+}
+
+void EHPCClient::addContainerAppAsync(const AddContainerAppRequest& request, const AddContainerAppAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, addContainerApp(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+EHPCClient::AddContainerAppOutcomeCallable EHPCClient::addContainerAppCallable(const AddContainerAppRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<AddContainerAppOutcome()>>(
+			[this, request]()
+			{
+			return this->addContainerApp(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+EHPCClient::ListClusterLogsOutcome EHPCClient::listClusterLogs(const ListClusterLogsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ListClusterLogsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ListClusterLogsOutcome(ListClusterLogsResult(outcome.result()));
+	else
+		return ListClusterLogsOutcome(outcome.error());
+}
+
+void EHPCClient::listClusterLogsAsync(const ListClusterLogsRequest& request, const ListClusterLogsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, listClusterLogs(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+EHPCClient::ListClusterLogsOutcomeCallable EHPCClient::listClusterLogsCallable(const ListClusterLogsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ListClusterLogsOutcome()>>(
+			[this, request]()
+			{
+			return this->listClusterLogs(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	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)(); }));

+ 93 - 0
ehpc/src/model/AddContainerAppRequest.cc

@@ -0,0 +1,93 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/ehpc/model/AddContainerAppRequest.h>
+
+using AlibabaCloud::EHPC::Model::AddContainerAppRequest;
+
+AddContainerAppRequest::AddContainerAppRequest() :
+	RpcServiceRequest("ehpc", "2018-04-12", "AddContainerApp")
+{}
+
+AddContainerAppRequest::~AddContainerAppRequest()
+{}
+
+std::string AddContainerAppRequest::getContainerType()const
+{
+	return containerType_;
+}
+
+void AddContainerAppRequest::setContainerType(const std::string& containerType)
+{
+	containerType_ = containerType;
+	setParameter("ContainerType", containerType);
+}
+
+std::string AddContainerAppRequest::getName()const
+{
+	return name_;
+}
+
+void AddContainerAppRequest::setName(const std::string& name)
+{
+	name_ = name;
+	setParameter("Name", name);
+}
+
+std::string AddContainerAppRequest::getDescription()const
+{
+	return description_;
+}
+
+void AddContainerAppRequest::setDescription(const std::string& description)
+{
+	description_ = description;
+	setParameter("Description", description);
+}
+
+std::string AddContainerAppRequest::getRepository()const
+{
+	return repository_;
+}
+
+void AddContainerAppRequest::setRepository(const std::string& repository)
+{
+	repository_ = repository;
+	setParameter("Repository", repository);
+}
+
+std::string AddContainerAppRequest::getImageTag()const
+{
+	return imageTag_;
+}
+
+void AddContainerAppRequest::setImageTag(const std::string& imageTag)
+{
+	imageTag_ = imageTag;
+	setParameter("ImageTag", imageTag);
+}
+
+std::string AddContainerAppRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void AddContainerAppRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+

+ 53 - 0
ehpc/src/model/AddContainerAppResult.cc

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

+ 11 - 0
ehpc/src/model/AddNodesRequest.cc

@@ -146,6 +146,17 @@ void AddNodesRequest::setEcsChargeType(const std::string& ecsChargeType)
 	setParameter("EcsChargeType", ecsChargeType);
 }
 
+std::string AddNodesRequest::getInstanceType()const
+{
+	return instanceType_;
+}
+
+void AddNodesRequest::setInstanceType(const std::string& instanceType)
+{
+	instanceType_ = instanceType;
+	setParameter("InstanceType", instanceType);
+}
+
 std::string AddNodesRequest::getComputeSpotPriceLimit()const
 {
 	return computeSpotPriceLimit_;

+ 0 - 11
ehpc/src/model/AddUsersRequest.cc

@@ -25,17 +25,6 @@ AddUsersRequest::AddUsersRequest() :
 AddUsersRequest::~AddUsersRequest()
 {}
 
-bool AddUsersRequest::getReleaseInstance()const
-{
-	return releaseInstance_;
-}
-
-void AddUsersRequest::setReleaseInstance(bool releaseInstance)
-{
-	releaseInstance_ = releaseInstance;
-	setParameter("ReleaseInstance", std::to_string(releaseInstance));
-}
-
 std::string AddUsersRequest::getClusterId()const
 {
 	return clusterId_;

+ 274 - 0
ehpc/src/model/CreateHybridClusterRequest.cc

@@ -0,0 +1,274 @@
+/*
+ * 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/CreateHybridClusterRequest.h>
+
+using AlibabaCloud::EHPC::Model::CreateHybridClusterRequest;
+
+CreateHybridClusterRequest::CreateHybridClusterRequest() :
+	RpcServiceRequest("ehpc", "2018-04-12", "CreateHybridCluster")
+{}
+
+CreateHybridClusterRequest::~CreateHybridClusterRequest()
+{}
+
+std::string CreateHybridClusterRequest::getVolumeProtocol()const
+{
+	return volumeProtocol_;
+}
+
+void CreateHybridClusterRequest::setVolumeProtocol(const std::string& volumeProtocol)
+{
+	volumeProtocol_ = volumeProtocol;
+	setParameter("VolumeProtocol", volumeProtocol);
+}
+
+std::string CreateHybridClusterRequest::getOsTag()const
+{
+	return osTag_;
+}
+
+void CreateHybridClusterRequest::setOsTag(const std::string& osTag)
+{
+	osTag_ = osTag;
+	setParameter("OsTag", osTag);
+}
+
+std::string CreateHybridClusterRequest::getRemoteDirectory()const
+{
+	return remoteDirectory_;
+}
+
+void CreateHybridClusterRequest::setRemoteDirectory(const std::string& remoteDirectory)
+{
+	remoteDirectory_ = remoteDirectory;
+	setParameter("RemoteDirectory", remoteDirectory);
+}
+
+std::string CreateHybridClusterRequest::getEhpcVersion()const
+{
+	return ehpcVersion_;
+}
+
+void CreateHybridClusterRequest::setEhpcVersion(const std::string& ehpcVersion)
+{
+	ehpcVersion_ = ehpcVersion;
+	setParameter("EhpcVersion", ehpcVersion);
+}
+
+std::string CreateHybridClusterRequest::getSecurityGroupId()const
+{
+	return securityGroupId_;
+}
+
+void CreateHybridClusterRequest::setSecurityGroupId(const std::string& securityGroupId)
+{
+	securityGroupId_ = securityGroupId;
+	setParameter("SecurityGroupId", securityGroupId);
+}
+
+std::string CreateHybridClusterRequest::getDescription()const
+{
+	return description_;
+}
+
+void CreateHybridClusterRequest::setDescription(const std::string& description)
+{
+	description_ = description;
+	setParameter("Description", description);
+}
+
+std::string CreateHybridClusterRequest::getKeyPairName()const
+{
+	return keyPairName_;
+}
+
+void CreateHybridClusterRequest::setKeyPairName(const std::string& keyPairName)
+{
+	keyPairName_ = keyPairName;
+	setParameter("KeyPairName", keyPairName);
+}
+
+std::string CreateHybridClusterRequest::getSecurityGroupName()const
+{
+	return securityGroupName_;
+}
+
+void CreateHybridClusterRequest::setSecurityGroupName(const std::string& securityGroupName)
+{
+	securityGroupName_ = securityGroupName;
+	setParameter("SecurityGroupName", securityGroupName);
+}
+
+std::string CreateHybridClusterRequest::getEcsOrderComputeInstanceType()const
+{
+	return ecsOrderComputeInstanceType_;
+}
+
+void CreateHybridClusterRequest::setEcsOrderComputeInstanceType(const std::string& ecsOrderComputeInstanceType)
+{
+	ecsOrderComputeInstanceType_ = ecsOrderComputeInstanceType;
+	setParameter("EcsOrderComputeInstanceType", ecsOrderComputeInstanceType);
+}
+
+std::string CreateHybridClusterRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void CreateHybridClusterRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+
+std::string CreateHybridClusterRequest::getVSwitchId()const
+{
+	return vSwitchId_;
+}
+
+void CreateHybridClusterRequest::setVSwitchId(const std::string& vSwitchId)
+{
+	vSwitchId_ = vSwitchId;
+	setParameter("VSwitchId", vSwitchId);
+}
+
+std::string CreateHybridClusterRequest::getVolumeType()const
+{
+	return volumeType_;
+}
+
+void CreateHybridClusterRequest::setVolumeType(const std::string& volumeType)
+{
+	volumeType_ = volumeType;
+	setParameter("VolumeType", volumeType);
+}
+
+std::string CreateHybridClusterRequest::getPassword()const
+{
+	return password_;
+}
+
+void CreateHybridClusterRequest::setPassword(const std::string& password)
+{
+	password_ = password;
+	setParameter("Password", password);
+}
+
+std::string CreateHybridClusterRequest::getNodes()const
+{
+	return nodes_;
+}
+
+void CreateHybridClusterRequest::setNodes(const std::string& nodes)
+{
+	nodes_ = nodes;
+	setParameter("Nodes", nodes);
+}
+
+std::vector<CreateHybridClusterRequest::Application> CreateHybridClusterRequest::getApplication()const
+{
+	return application_;
+}
+
+void CreateHybridClusterRequest::setApplication(const std::vector<Application>& application)
+{
+	application_ = application;
+	int i = 0;
+	for(int i = 0; i!= application.size(); i++)	{
+		auto obj = application.at(i);
+		std::string str ="Application."+ std::to_string(i);
+		setParameter(str + ".Tag", obj.tag);
+	}
+}
+
+std::string CreateHybridClusterRequest::getDomain()const
+{
+	return domain_;
+}
+
+void CreateHybridClusterRequest::setDomain(const std::string& domain)
+{
+	domain_ = domain;
+	setParameter("Domain", domain);
+}
+
+std::string CreateHybridClusterRequest::getVpcId()const
+{
+	return vpcId_;
+}
+
+void CreateHybridClusterRequest::setVpcId(const std::string& vpcId)
+{
+	vpcId_ = vpcId;
+	setParameter("VpcId", vpcId);
+}
+
+std::string CreateHybridClusterRequest::getName()const
+{
+	return name_;
+}
+
+void CreateHybridClusterRequest::setName(const std::string& name)
+{
+	name_ = name;
+	setParameter("Name", name);
+}
+
+std::string CreateHybridClusterRequest::getVolumeId()const
+{
+	return volumeId_;
+}
+
+void CreateHybridClusterRequest::setVolumeId(const std::string& volumeId)
+{
+	volumeId_ = volumeId;
+	setParameter("VolumeId", volumeId);
+}
+
+std::string CreateHybridClusterRequest::getVolumeMountpoint()const
+{
+	return volumeMountpoint_;
+}
+
+void CreateHybridClusterRequest::setVolumeMountpoint(const std::string& volumeMountpoint)
+{
+	volumeMountpoint_ = volumeMountpoint;
+	setParameter("VolumeMountpoint", volumeMountpoint);
+}
+
+std::string CreateHybridClusterRequest::getZoneId()const
+{
+	return zoneId_;
+}
+
+void CreateHybridClusterRequest::setZoneId(const std::string& zoneId)
+{
+	zoneId_ = zoneId;
+	setParameter("ZoneId", zoneId);
+}
+
+std::string CreateHybridClusterRequest::getLocation()const
+{
+	return location_;
+}
+
+void CreateHybridClusterRequest::setLocation(const std::string& location)
+{
+	location_ = location;
+	setParameter("Location", location);
+}
+

+ 52 - 0
ehpc/src/model/CreateHybridClusterResult.cc

@@ -0,0 +1,52 @@
+/*
+ * 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/CreateHybridClusterResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::EHPC;
+using namespace AlibabaCloud::EHPC::Model;
+
+CreateHybridClusterResult::CreateHybridClusterResult() :
+	ServiceResult()
+{}
+
+CreateHybridClusterResult::CreateHybridClusterResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+CreateHybridClusterResult::~CreateHybridClusterResult()
+{}
+
+void CreateHybridClusterResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	if(!value["ClusterId"].isNull())
+		clusterId_ = value["ClusterId"].asString();
+
+}
+
+std::string CreateHybridClusterResult::getClusterId()const
+{
+	return clusterId_;
+}
+

+ 44 - 55
ehpc/src/model/CreateJobTemplateRequest.cc

@@ -36,6 +36,28 @@ void CreateJobTemplateRequest::setStderrRedirectPath(const std::string& stderrRe
 	setParameter("StderrRedirectPath", stderrRedirectPath);
 }
 
+std::string CreateJobTemplateRequest::getArrayRequest()const
+{
+	return arrayRequest_;
+}
+
+void CreateJobTemplateRequest::setArrayRequest(const std::string& arrayRequest)
+{
+	arrayRequest_ = arrayRequest;
+	setParameter("ArrayRequest", arrayRequest);
+}
+
+std::string CreateJobTemplateRequest::getPackagePath()const
+{
+	return packagePath_;
+}
+
+void CreateJobTemplateRequest::setPackagePath(const std::string& packagePath)
+{
+	packagePath_ = packagePath;
+	setParameter("PackagePath", packagePath);
+}
+
 std::string CreateJobTemplateRequest::getVariables()const
 {
 	return variables_;
@@ -47,6 +69,17 @@ void CreateJobTemplateRequest::setVariables(const std::string& variables)
 	setParameter("Variables", variables);
 }
 
+std::string CreateJobTemplateRequest::getName()const
+{
+	return name_;
+}
+
+void CreateJobTemplateRequest::setName(const std::string& name)
+{
+	name_ = name;
+	setParameter("Name", name);
+}
+
 std::string CreateJobTemplateRequest::getRunasUser()const
 {
 	return runasUser_;
@@ -58,6 +91,17 @@ void CreateJobTemplateRequest::setRunasUser(const std::string& runasUser)
 	setParameter("RunasUser", runasUser);
 }
 
+std::string CreateJobTemplateRequest::getStdoutRedirectPath()const
+{
+	return stdoutRedirectPath_;
+}
+
+void CreateJobTemplateRequest::setStdoutRedirectPath(const std::string& stdoutRedirectPath)
+{
+	stdoutRedirectPath_ = stdoutRedirectPath;
+	setParameter("StdoutRedirectPath", stdoutRedirectPath);
+}
+
 bool CreateJobTemplateRequest::getReRunable()const
 {
 	return reRunable_;
@@ -102,58 +146,3 @@ void CreateJobTemplateRequest::setAccessKeyId(const std::string& accessKeyId)
 	setParameter("AccessKeyId", accessKeyId);
 }
 
-std::string CreateJobTemplateRequest::getArrayRequest()const
-{
-	return arrayRequest_;
-}
-
-void CreateJobTemplateRequest::setArrayRequest(const std::string& arrayRequest)
-{
-	arrayRequest_ = arrayRequest;
-	setParameter("ArrayRequest", arrayRequest);
-}
-
-std::string CreateJobTemplateRequest::getPackagePath()const
-{
-	return packagePath_;
-}
-
-void CreateJobTemplateRequest::setPackagePath(const std::string& packagePath)
-{
-	packagePath_ = packagePath;
-	setParameter("PackagePath", packagePath);
-}
-
-std::string CreateJobTemplateRequest::getRegionId()const
-{
-	return regionId_;
-}
-
-void CreateJobTemplateRequest::setRegionId(const std::string& regionId)
-{
-	regionId_ = regionId;
-	setParameter("RegionId", regionId);
-}
-
-std::string CreateJobTemplateRequest::getName()const
-{
-	return name_;
-}
-
-void CreateJobTemplateRequest::setName(const std::string& name)
-{
-	name_ = name;
-	setParameter("Name", name);
-}
-
-std::string CreateJobTemplateRequest::getStdoutRedirectPath()const
-{
-	return stdoutRedirectPath_;
-}
-
-void CreateJobTemplateRequest::setStdoutRedirectPath(const std::string& stdoutRedirectPath)
-{
-	stdoutRedirectPath_ = stdoutRedirectPath;
-	setParameter("StdoutRedirectPath", stdoutRedirectPath);
-}
-

+ 54 - 0
ehpc/src/model/DeleteContainerAppsRequest.cc

@@ -0,0 +1,54 @@
+/*
+ * 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/DeleteContainerAppsRequest.h>
+
+using AlibabaCloud::EHPC::Model::DeleteContainerAppsRequest;
+
+DeleteContainerAppsRequest::DeleteContainerAppsRequest() :
+	RpcServiceRequest("ehpc", "2018-04-12", "DeleteContainerApps")
+{}
+
+DeleteContainerAppsRequest::~DeleteContainerAppsRequest()
+{}
+
+std::vector<DeleteContainerAppsRequest::ContainerApp> DeleteContainerAppsRequest::getContainerApp()const
+{
+	return containerApp_;
+}
+
+void DeleteContainerAppsRequest::setContainerApp(const std::vector<ContainerApp>& containerApp)
+{
+	containerApp_ = containerApp;
+	int i = 0;
+	for(int i = 0; i!= containerApp.size(); i++)	{
+		auto obj = containerApp.at(i);
+		std::string str ="ContainerApp."+ std::to_string(i);
+		setParameter(str + ".Id", obj.id);
+	}
+}
+
+std::string DeleteContainerAppsRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void DeleteContainerAppsRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+

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

+ 0 - 11
ehpc/src/model/DeleteJobTemplatesRequest.cc

@@ -25,17 +25,6 @@ DeleteJobTemplatesRequest::DeleteJobTemplatesRequest() :
 DeleteJobTemplatesRequest::~DeleteJobTemplatesRequest()
 {}
 
-std::string DeleteJobTemplatesRequest::getRegionId()const
-{
-	return regionId_;
-}
-
-void DeleteJobTemplatesRequest::setRegionId(const std::string& regionId)
-{
-	regionId_ = regionId;
-	setParameter("RegionId", regionId);
-}
-
 std::string DeleteJobTemplatesRequest::getTemplates()const
 {
 	return templates_;

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

+ 150 - 0
ehpc/src/model/DescribeAutoScaleConfigResult.cc

@@ -0,0 +1,150 @@
+/*
+ * 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/DescribeAutoScaleConfigResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::EHPC;
+using namespace AlibabaCloud::EHPC::Model;
+
+DescribeAutoScaleConfigResult::DescribeAutoScaleConfigResult() :
+	ServiceResult()
+{}
+
+DescribeAutoScaleConfigResult::DescribeAutoScaleConfigResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeAutoScaleConfigResult::~DescribeAutoScaleConfigResult()
+{}
+
+void DescribeAutoScaleConfigResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	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["SpotStrategy"].isNull())
+		spotStrategy_ = value["SpotStrategy"].asString();
+	if(!value["SpotPriceLimit"].isNull())
+		spotPriceLimit_ = value["SpotPriceLimit"].asString();
+
+}
+
+int DescribeAutoScaleConfigResult::getExtraNodesGrowRatio()const
+{
+	return extraNodesGrowRatio_;
+}
+
+bool DescribeAutoScaleConfigResult::getEnableAutoGrow()const
+{
+	return enableAutoGrow_;
+}
+
+std::string DescribeAutoScaleConfigResult::getClusterId()const
+{
+	return clusterId_;
+}
+
+int DescribeAutoScaleConfigResult::getShrinkIdleTimes()const
+{
+	return shrinkIdleTimes_;
+}
+
+int DescribeAutoScaleConfigResult::getMaxNodesInCluster()const
+{
+	return maxNodesInCluster_;
+}
+
+std::string DescribeAutoScaleConfigResult::getClusterType()const
+{
+	return clusterType_;
+}
+
+bool DescribeAutoScaleConfigResult::getEnableAutoShrink()const
+{
+	return enableAutoShrink_;
+}
+
+int DescribeAutoScaleConfigResult::getGrowRatio()const
+{
+	return growRatio_;
+}
+
+int DescribeAutoScaleConfigResult::getGrowIntervalInMinutes()const
+{
+	return growIntervalInMinutes_;
+}
+
+std::string DescribeAutoScaleConfigResult::getUid()const
+{
+	return uid_;
+}
+
+int DescribeAutoScaleConfigResult::getGrowTimeoutInMinutes()const
+{
+	return growTimeoutInMinutes_;
+}
+
+int DescribeAutoScaleConfigResult::getShrinkIntervalInMinutes()const
+{
+	return shrinkIntervalInMinutes_;
+}
+
+std::string DescribeAutoScaleConfigResult::getSpotPriceLimit()const
+{
+	return spotPriceLimit_;
+}
+
+std::string DescribeAutoScaleConfigResult::getExcludeNodes()const
+{
+	return excludeNodes_;
+}
+
+std::string DescribeAutoScaleConfigResult::getSpotStrategy()const
+{
+	return spotStrategy_;
+}
+

+ 4 - 0
ehpc/src/model/DescribeClusterResult.cc

@@ -61,6 +61,8 @@ void DescribeClusterResult::parse(const std::string &payload)
 		clusterInfo_.createTime = clusterInfoNode["CreateTime"].asString();
 	if(!clusterInfoNode["SecurityGroupId"].isNull())
 		clusterInfo_.securityGroupId = clusterInfoNode["SecurityGroupId"].asString();
+	if(!clusterInfoNode["VpcId"].isNull())
+		clusterInfo_.vpcId = clusterInfoNode["VpcId"].asString();
 	if(!clusterInfoNode["VSwitchId"].isNull())
 		clusterInfo_.vSwitchId = clusterInfoNode["VSwitchId"].asString();
 	if(!clusterInfoNode["VolumeType"].isNull())
@@ -89,6 +91,8 @@ void DescribeClusterResult::parse(const std::string &payload)
 		clusterInfo_.imageOwnerAlias = clusterInfoNode["ImageOwnerAlias"].asString();
 	if(!clusterInfoNode["ImageId"].isNull())
 		clusterInfo_.imageId = clusterInfoNode["ImageId"].asString();
+	if(!clusterInfoNode["Location"].isNull())
+		clusterInfo_.location = clusterInfoNode["Location"].asString();
 	auto allApplications = value["Applications"]["ApplicationInfo"];
 	for (auto value : allApplications)
 	{

+ 49 - 0
ehpc/src/model/DescribeContainerAppRequest.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/DescribeContainerAppRequest.h>
+
+using AlibabaCloud::EHPC::Model::DescribeContainerAppRequest;
+
+DescribeContainerAppRequest::DescribeContainerAppRequest() :
+	RpcServiceRequest("ehpc", "2018-04-12", "DescribeContainerApp")
+{}
+
+DescribeContainerAppRequest::~DescribeContainerAppRequest()
+{}
+
+std::string DescribeContainerAppRequest::getContainerId()const
+{
+	return containerId_;
+}
+
+void DescribeContainerAppRequest::setContainerId(const std::string& containerId)
+{
+	containerId_ = containerId;
+	setParameter("ContainerId", containerId);
+}
+
+std::string DescribeContainerAppRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void DescribeContainerAppRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+

+ 65 - 0
ehpc/src/model/DescribeContainerAppResult.cc

@@ -0,0 +1,65 @@
+/*
+ * 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/DescribeContainerAppResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::EHPC;
+using namespace AlibabaCloud::EHPC::Model;
+
+DescribeContainerAppResult::DescribeContainerAppResult() :
+	ServiceResult()
+{}
+
+DescribeContainerAppResult::DescribeContainerAppResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeContainerAppResult::~DescribeContainerAppResult()
+{}
+
+void DescribeContainerAppResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	auto containerAppInfoNode = value["ContainerAppInfo"];
+	if(!containerAppInfoNode["Id"].isNull())
+		containerAppInfo_.id = containerAppInfoNode["Id"].asString();
+	if(!containerAppInfoNode["Name"].isNull())
+		containerAppInfo_.name = containerAppInfoNode["Name"].asString();
+	if(!containerAppInfoNode["Description"].isNull())
+		containerAppInfo_.description = containerAppInfoNode["Description"].asString();
+	if(!containerAppInfoNode["Repository"].isNull())
+		containerAppInfo_.repository = containerAppInfoNode["Repository"].asString();
+	if(!containerAppInfoNode["ImageTag"].isNull())
+		containerAppInfo_.imageTag = containerAppInfoNode["ImageTag"].asString();
+	if(!containerAppInfoNode["CreateTime"].isNull())
+		containerAppInfo_.createTime = containerAppInfoNode["CreateTime"].asString();
+	if(!containerAppInfoNode["Type"].isNull())
+		containerAppInfo_.type = containerAppInfoNode["Type"].asString();
+
+}
+
+DescribeContainerAppResult::ContainerAppInfo DescribeContainerAppResult::getContainerAppInfo()const
+{
+	return containerAppInfo_;
+}
+

+ 0 - 11
ehpc/src/model/EditJobTemplateRequest.cc

@@ -135,17 +135,6 @@ void EditJobTemplateRequest::setPackagePath(const std::string& packagePath)
 	setParameter("PackagePath", packagePath);
 }
 
-std::string EditJobTemplateRequest::getRegionId()const
-{
-	return regionId_;
-}
-
-void EditJobTemplateRequest::setRegionId(const std::string& regionId)
-{
-	regionId_ = regionId;
-	setParameter("RegionId", regionId);
-}
-
 std::string EditJobTemplateRequest::getName()const
 {
 	return name_;

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

+ 52 - 0
ehpc/src/model/GetHybridClusterConfigResult.cc

@@ -0,0 +1,52 @@
+/*
+ * 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/GetHybridClusterConfigResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::EHPC;
+using namespace AlibabaCloud::EHPC::Model;
+
+GetHybridClusterConfigResult::GetHybridClusterConfigResult() :
+	ServiceResult()
+{}
+
+GetHybridClusterConfigResult::GetHybridClusterConfigResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+GetHybridClusterConfigResult::~GetHybridClusterConfigResult()
+{}
+
+void GetHybridClusterConfigResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	if(!value["ClusterConfig"].isNull())
+		clusterConfig_ = value["ClusterConfig"].asString();
+
+}
+
+std::string GetHybridClusterConfigResult::getClusterConfig()const
+{
+	return clusterConfig_;
+}
+

+ 98 - 0
ehpc/src/model/InvokeShellCommandRequest.cc

@@ -0,0 +1,98 @@
+/*
+ * 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/InvokeShellCommandRequest.h>
+
+using AlibabaCloud::EHPC::Model::InvokeShellCommandRequest;
+
+InvokeShellCommandRequest::InvokeShellCommandRequest() :
+	RpcServiceRequest("ehpc", "2018-04-12", "InvokeShellCommand")
+{}
+
+InvokeShellCommandRequest::~InvokeShellCommandRequest()
+{}
+
+std::vector<InvokeShellCommandRequest::Instance> InvokeShellCommandRequest::getInstance()const
+{
+	return instance_;
+}
+
+void InvokeShellCommandRequest::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 InvokeShellCommandRequest::getWorkingDir()const
+{
+	return workingDir_;
+}
+
+void InvokeShellCommandRequest::setWorkingDir(const std::string& workingDir)
+{
+	workingDir_ = workingDir;
+	setParameter("WorkingDir", workingDir);
+}
+
+std::string InvokeShellCommandRequest::getClusterId()const
+{
+	return clusterId_;
+}
+
+void InvokeShellCommandRequest::setClusterId(const std::string& clusterId)
+{
+	clusterId_ = clusterId;
+	setParameter("ClusterId", clusterId);
+}
+
+std::string InvokeShellCommandRequest::getCommand()const
+{
+	return command_;
+}
+
+void InvokeShellCommandRequest::setCommand(const std::string& command)
+{
+	command_ = command;
+	setParameter("Command", command);
+}
+
+int InvokeShellCommandRequest::getTimeout()const
+{
+	return timeout_;
+}
+
+void InvokeShellCommandRequest::setTimeout(int timeout)
+{
+	timeout_ = timeout;
+	setParameter("Timeout", std::to_string(timeout));
+}
+
+std::string InvokeShellCommandRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void InvokeShellCommandRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+

+ 60 - 0
ehpc/src/model/InvokeShellCommandResult.cc

@@ -0,0 +1,60 @@
+/*
+ * 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/InvokeShellCommandResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::EHPC;
+using namespace AlibabaCloud::EHPC::Model;
+
+InvokeShellCommandResult::InvokeShellCommandResult() :
+	ServiceResult()
+{}
+
+InvokeShellCommandResult::InvokeShellCommandResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+InvokeShellCommandResult::~InvokeShellCommandResult()
+{}
+
+void InvokeShellCommandResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	auto allInstanceIds = value["InstanceIds"]["InstanceId"];
+	for (const auto &item : allInstanceIds)
+		instanceIds_.push_back(item.asString());
+	if(!value["CommandId"].isNull())
+		commandId_ = value["CommandId"].asString();
+
+}
+
+std::string InvokeShellCommandResult::getCommandId()const
+{
+	return commandId_;
+}
+
+std::vector<std::string> InvokeShellCommandResult::getInstanceIds()const
+{
+	return instanceIds_;
+}
+

+ 2 - 0
ehpc/src/model/ListClustersResult.cc

@@ -76,6 +76,8 @@ void ListClustersResult::parse(const std::string &payload)
 			clustersObject.imageOwnerAlias = value["ImageOwnerAlias"].asString();
 		if(!value["ImageId"].isNull())
 			clustersObject.imageId = value["ImageId"].asString();
+		if(!value["Location"].isNull())
+			clustersObject.location = value["Location"].asString();
 		auto managersNode = value["Managers"];
 		if(!managersNode["Total"].isNull())
 			clustersObject.managers.total = std::stoi(managersNode["Total"].asString());

+ 82 - 0
ehpc/src/model/ListCommandsRequest.cc

@@ -0,0 +1,82 @@
+/*
+ * 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/ListCommandsRequest.h>
+
+using AlibabaCloud::EHPC::Model::ListCommandsRequest;
+
+ListCommandsRequest::ListCommandsRequest() :
+	RpcServiceRequest("ehpc", "2018-04-12", "ListCommands")
+{}
+
+ListCommandsRequest::~ListCommandsRequest()
+{}
+
+int ListCommandsRequest::getPageSize()const
+{
+	return pageSize_;
+}
+
+void ListCommandsRequest::setPageSize(int pageSize)
+{
+	pageSize_ = pageSize;
+	setParameter("PageSize", std::to_string(pageSize));
+}
+
+std::string ListCommandsRequest::getClusterId()const
+{
+	return clusterId_;
+}
+
+void ListCommandsRequest::setClusterId(const std::string& clusterId)
+{
+	clusterId_ = clusterId;
+	setParameter("ClusterId", clusterId);
+}
+
+std::string ListCommandsRequest::getCommandId()const
+{
+	return commandId_;
+}
+
+void ListCommandsRequest::setCommandId(const std::string& commandId)
+{
+	commandId_ = commandId;
+	setParameter("CommandId", commandId);
+}
+
+int ListCommandsRequest::getPageNumber()const
+{
+	return pageNumber_;
+}
+
+void ListCommandsRequest::setPageNumber(int pageNumber)
+{
+	pageNumber_ = pageNumber;
+	setParameter("PageNumber", std::to_string(pageNumber));
+}
+
+std::string ListCommandsRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void ListCommandsRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+

+ 85 - 0
ehpc/src/model/ListCommandsResult.cc

@@ -0,0 +1,85 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/ehpc/model/ListCommandsResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::EHPC;
+using namespace AlibabaCloud::EHPC::Model;
+
+ListCommandsResult::ListCommandsResult() :
+	ServiceResult()
+{}
+
+ListCommandsResult::ListCommandsResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ListCommandsResult::~ListCommandsResult()
+{}
+
+void ListCommandsResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	auto allCommands = value["Commands"]["Command"];
+	for (auto value : allCommands)
+	{
+		Command commandsObject;
+		if(!value["CommandId"].isNull())
+			commandsObject.commandId = value["CommandId"].asString();
+		if(!value["CommandContent"].isNull())
+			commandsObject.commandContent = value["CommandContent"].asString();
+		if(!value["WorkingDir"].isNull())
+			commandsObject.workingDir = value["WorkingDir"].asString();
+		if(!value["Timeout"].isNull())
+			commandsObject.timeout = value["Timeout"].asString();
+		commands_.push_back(commandsObject);
+	}
+	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 ListCommandsResult::getTotalCount()const
+{
+	return totalCount_;
+}
+
+int ListCommandsResult::getPageSize()const
+{
+	return pageSize_;
+}
+
+int ListCommandsResult::getPageNumber()const
+{
+	return pageNumber_;
+}
+
+std::vector<ListCommandsResult::Command> ListCommandsResult::getCommands()const
+{
+	return commands_;
+}
+

+ 60 - 0
ehpc/src/model/ListContainerAppsRequest.cc

@@ -0,0 +1,60 @@
+/*
+ * 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/ListContainerAppsRequest.h>
+
+using AlibabaCloud::EHPC::Model::ListContainerAppsRequest;
+
+ListContainerAppsRequest::ListContainerAppsRequest() :
+	RpcServiceRequest("ehpc", "2018-04-12", "ListContainerApps")
+{}
+
+ListContainerAppsRequest::~ListContainerAppsRequest()
+{}
+
+int ListContainerAppsRequest::getPageSize()const
+{
+	return pageSize_;
+}
+
+void ListContainerAppsRequest::setPageSize(int pageSize)
+{
+	pageSize_ = pageSize;
+	setParameter("PageSize", std::to_string(pageSize));
+}
+
+int ListContainerAppsRequest::getPageNumber()const
+{
+	return pageNumber_;
+}
+
+void ListContainerAppsRequest::setPageNumber(int pageNumber)
+{
+	pageNumber_ = pageNumber;
+	setParameter("PageNumber", std::to_string(pageNumber));
+}
+
+std::string ListContainerAppsRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void ListContainerAppsRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+

+ 91 - 0
ehpc/src/model/ListContainerAppsResult.cc

@@ -0,0 +1,91 @@
+/*
+ * 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/ListContainerAppsResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::EHPC;
+using namespace AlibabaCloud::EHPC::Model;
+
+ListContainerAppsResult::ListContainerAppsResult() :
+	ServiceResult()
+{}
+
+ListContainerAppsResult::ListContainerAppsResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ListContainerAppsResult::~ListContainerAppsResult()
+{}
+
+void ListContainerAppsResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	auto allContainerApps = value["ContainerApps"]["ContainerAppsItem"];
+	for (auto value : allContainerApps)
+	{
+		ContainerAppsItem containerAppsObject;
+		if(!value["Id"].isNull())
+			containerAppsObject.id = value["Id"].asString();
+		if(!value["Name"].isNull())
+			containerAppsObject.name = value["Name"].asString();
+		if(!value["Description"].isNull())
+			containerAppsObject.description = value["Description"].asString();
+		if(!value["Repository"].isNull())
+			containerAppsObject.repository = value["Repository"].asString();
+		if(!value["ImageTag"].isNull())
+			containerAppsObject.imageTag = value["ImageTag"].asString();
+		if(!value["CreateTime"].isNull())
+			containerAppsObject.createTime = value["CreateTime"].asString();
+		if(!value["Type"].isNull())
+			containerAppsObject.type = value["Type"].asString();
+		containerApps_.push_back(containerAppsObject);
+	}
+	if(!value["TotalCount"].isNull())
+		totalCount_ = std::stoi(value["TotalCount"].asString());
+	if(!value["PageNumber"].isNull())
+		pageNumber_ = std::stoi(value["PageNumber"].asString());
+	if(!value["PageSize"].isNull())
+		pageSize_ = std::stoi(value["PageSize"].asString());
+
+}
+
+std::vector<ListContainerAppsResult::ContainerAppsItem> ListContainerAppsResult::getContainerApps()const
+{
+	return containerApps_;
+}
+
+int ListContainerAppsResult::getTotalCount()const
+{
+	return totalCount_;
+}
+
+int ListContainerAppsResult::getPageSize()const
+{
+	return pageSize_;
+}
+
+int ListContainerAppsResult::getPageNumber()const
+{
+	return pageNumber_;
+}
+

+ 82 - 0
ehpc/src/model/ListContainerImagesRequest.cc

@@ -0,0 +1,82 @@
+/*
+ * 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/ListContainerImagesRequest.h>
+
+using AlibabaCloud::EHPC::Model::ListContainerImagesRequest;
+
+ListContainerImagesRequest::ListContainerImagesRequest() :
+	RpcServiceRequest("ehpc", "2018-04-12", "ListContainerImages")
+{}
+
+ListContainerImagesRequest::~ListContainerImagesRequest()
+{}
+
+std::string ListContainerImagesRequest::getContainerType()const
+{
+	return containerType_;
+}
+
+void ListContainerImagesRequest::setContainerType(const std::string& containerType)
+{
+	containerType_ = containerType;
+	setParameter("ContainerType", containerType);
+}
+
+int ListContainerImagesRequest::getPageSize()const
+{
+	return pageSize_;
+}
+
+void ListContainerImagesRequest::setPageSize(int pageSize)
+{
+	pageSize_ = pageSize;
+	setParameter("PageSize", std::to_string(pageSize));
+}
+
+std::string ListContainerImagesRequest::getClusterId()const
+{
+	return clusterId_;
+}
+
+void ListContainerImagesRequest::setClusterId(const std::string& clusterId)
+{
+	clusterId_ = clusterId;
+	setParameter("ClusterId", clusterId);
+}
+
+int ListContainerImagesRequest::getPageNumber()const
+{
+	return pageNumber_;
+}
+
+void ListContainerImagesRequest::setPageNumber(int pageNumber)
+{
+	pageNumber_ = pageNumber;
+	setParameter("PageNumber", std::to_string(pageNumber));
+}
+
+std::string ListContainerImagesRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void ListContainerImagesRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+

+ 98 - 0
ehpc/src/model/ListContainerImagesResult.cc

@@ -0,0 +1,98 @@
+/*
+ * 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/ListContainerImagesResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::EHPC;
+using namespace AlibabaCloud::EHPC::Model;
+
+ListContainerImagesResult::ListContainerImagesResult() :
+	ServiceResult()
+{}
+
+ListContainerImagesResult::ListContainerImagesResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ListContainerImagesResult::~ListContainerImagesResult()
+{}
+
+void ListContainerImagesResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	auto allImages = value["Images"]["ImagesItem"];
+	for (auto value : allImages)
+	{
+		ImagesItem imagesObject;
+		if(!value["System"].isNull())
+			imagesObject.system = value["System"].asString();
+		if(!value["Type"].isNull())
+			imagesObject.type = value["Type"].asString();
+		if(!value["Status"].isNull())
+			imagesObject.status = value["Status"].asString();
+		if(!value["ImageId"].isNull())
+			imagesObject.imageId = value["ImageId"].asString();
+		if(!value["UpdateDateTime"].isNull())
+			imagesObject.updateDateTime = value["UpdateDateTime"].asString();
+		if(!value["Repository"].isNull())
+			imagesObject.repository = value["Repository"].asString();
+		if(!value["Tag"].isNull())
+			imagesObject.tag = value["Tag"].asString();
+		images_.push_back(imagesObject);
+	}
+	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["DBInfo"].isNull())
+		dBInfo_ = value["DBInfo"].asString();
+
+}
+
+int ListContainerImagesResult::getTotalCount()const
+{
+	return totalCount_;
+}
+
+std::string ListContainerImagesResult::getDBInfo()const
+{
+	return dBInfo_;
+}
+
+int ListContainerImagesResult::getPageSize()const
+{
+	return pageSize_;
+}
+
+int ListContainerImagesResult::getPageNumber()const
+{
+	return pageNumber_;
+}
+
+std::vector<ListContainerImagesResult::ImagesItem> ListContainerImagesResult::getImages()const
+{
+	return images_;
+}
+

+ 0 - 11
ehpc/src/model/ListCustomImagesRequest.cc

@@ -25,17 +25,6 @@ ListCustomImagesRequest::ListCustomImagesRequest() :
 ListCustomImagesRequest::~ListCustomImagesRequest()
 {}
 
-std::string ListCustomImagesRequest::getRegionId()const
-{
-	return regionId_;
-}
-
-void ListCustomImagesRequest::setRegionId(const std::string& regionId)
-{
-	regionId_ = regionId;
-	setParameter("RegionId", regionId);
-}
-
 std::string ListCustomImagesRequest::getBaseOsTag()const
 {
 	return baseOsTag_;

+ 109 - 0
ehpc/src/model/ListInvocationResultsRequest.cc

@@ -0,0 +1,109 @@
+/*
+ * 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/ListInvocationResultsRequest.h>
+
+using AlibabaCloud::EHPC::Model::ListInvocationResultsRequest;
+
+ListInvocationResultsRequest::ListInvocationResultsRequest() :
+	RpcServiceRequest("ehpc", "2018-04-12", "ListInvocationResults")
+{}
+
+ListInvocationResultsRequest::~ListInvocationResultsRequest()
+{}
+
+std::vector<ListInvocationResultsRequest::Instance> ListInvocationResultsRequest::getInstance()const
+{
+	return instance_;
+}
+
+void ListInvocationResultsRequest::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 ListInvocationResultsRequest::getInvokeRecordStatus()const
+{
+	return invokeRecordStatus_;
+}
+
+void ListInvocationResultsRequest::setInvokeRecordStatus(const std::string& invokeRecordStatus)
+{
+	invokeRecordStatus_ = invokeRecordStatus;
+	setParameter("InvokeRecordStatus", invokeRecordStatus);
+}
+
+int ListInvocationResultsRequest::getPageSize()const
+{
+	return pageSize_;
+}
+
+void ListInvocationResultsRequest::setPageSize(int pageSize)
+{
+	pageSize_ = pageSize;
+	setParameter("PageSize", std::to_string(pageSize));
+}
+
+std::string ListInvocationResultsRequest::getClusterId()const
+{
+	return clusterId_;
+}
+
+void ListInvocationResultsRequest::setClusterId(const std::string& clusterId)
+{
+	clusterId_ = clusterId;
+	setParameter("ClusterId", clusterId);
+}
+
+std::string ListInvocationResultsRequest::getCommandId()const
+{
+	return commandId_;
+}
+
+void ListInvocationResultsRequest::setCommandId(const std::string& commandId)
+{
+	commandId_ = commandId;
+	setParameter("CommandId", commandId);
+}
+
+int ListInvocationResultsRequest::getPageNumber()const
+{
+	return pageNumber_;
+}
+
+void ListInvocationResultsRequest::setPageNumber(int pageNumber)
+{
+	pageNumber_ = pageNumber;
+	setParameter("PageNumber", std::to_string(pageNumber));
+}
+
+std::string ListInvocationResultsRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void ListInvocationResultsRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+

+ 91 - 0
ehpc/src/model/ListInvocationResultsResult.cc

@@ -0,0 +1,91 @@
+/*
+ * 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/ListInvocationResultsResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::EHPC;
+using namespace AlibabaCloud::EHPC::Model;
+
+ListInvocationResultsResult::ListInvocationResultsResult() :
+	ServiceResult()
+{}
+
+ListInvocationResultsResult::ListInvocationResultsResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ListInvocationResultsResult::~ListInvocationResultsResult()
+{}
+
+void ListInvocationResultsResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	auto allInvocationResults = value["InvocationResults"]["InvocationResult"];
+	for (auto value : allInvocationResults)
+	{
+		InvocationResult invocationResultsObject;
+		if(!value["Success"].isNull())
+			invocationResultsObject.success = value["Success"].asString() == "true";
+		if(!value["CommandId"].isNull())
+			invocationResultsObject.commandId = value["CommandId"].asString();
+		if(!value["InstanceId"].isNull())
+			invocationResultsObject.instanceId = value["InstanceId"].asString();
+		if(!value["InvokeRecordStatus"].isNull())
+			invocationResultsObject.invokeRecordStatus = value["InvokeRecordStatus"].asString();
+		if(!value["FinishedTime"].isNull())
+			invocationResultsObject.finishedTime = value["FinishedTime"].asString();
+		if(!value["ExitCode"].isNull())
+			invocationResultsObject.exitCode = std::stoi(value["ExitCode"].asString());
+		if(!value["Message"].isNull())
+			invocationResultsObject.message = value["Message"].asString();
+		invocationResults_.push_back(invocationResultsObject);
+	}
+	if(!value["TotalCount"].isNull())
+		totalCount_ = std::stoi(value["TotalCount"].asString());
+	if(!value["PageNumber"].isNull())
+		pageNumber_ = std::stoi(value["PageNumber"].asString());
+	if(!value["PageSize"].isNull())
+		pageSize_ = std::stoi(value["PageSize"].asString());
+
+}
+
+std::vector<ListInvocationResultsResult::InvocationResult> ListInvocationResultsResult::getInvocationResults()const
+{
+	return invocationResults_;
+}
+
+int ListInvocationResultsResult::getTotalCount()const
+{
+	return totalCount_;
+}
+
+int ListInvocationResultsResult::getPageSize()const
+{
+	return pageSize_;
+}
+
+int ListInvocationResultsResult::getPageNumber()const
+{
+	return pageNumber_;
+}
+

+ 60 - 0
ehpc/src/model/ListInvocationStatusRequest.cc

@@ -0,0 +1,60 @@
+/*
+ * 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/ListInvocationStatusRequest.h>
+
+using AlibabaCloud::EHPC::Model::ListInvocationStatusRequest;
+
+ListInvocationStatusRequest::ListInvocationStatusRequest() :
+	RpcServiceRequest("ehpc", "2018-04-12", "ListInvocationStatus")
+{}
+
+ListInvocationStatusRequest::~ListInvocationStatusRequest()
+{}
+
+std::string ListInvocationStatusRequest::getClusterId()const
+{
+	return clusterId_;
+}
+
+void ListInvocationStatusRequest::setClusterId(const std::string& clusterId)
+{
+	clusterId_ = clusterId;
+	setParameter("ClusterId", clusterId);
+}
+
+std::string ListInvocationStatusRequest::getCommandId()const
+{
+	return commandId_;
+}
+
+void ListInvocationStatusRequest::setCommandId(const std::string& commandId)
+{
+	commandId_ = commandId;
+	setParameter("CommandId", commandId);
+}
+
+std::string ListInvocationStatusRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void ListInvocationStatusRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+

+ 74 - 0
ehpc/src/model/ListInvocationStatusResult.cc

@@ -0,0 +1,74 @@
+/*
+ * 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/ListInvocationStatusResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::EHPC;
+using namespace AlibabaCloud::EHPC::Model;
+
+ListInvocationStatusResult::ListInvocationStatusResult() :
+	ServiceResult()
+{}
+
+ListInvocationStatusResult::ListInvocationStatusResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ListInvocationStatusResult::~ListInvocationStatusResult()
+{}
+
+void ListInvocationStatusResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+
+	setRequestId(value["RequestId"].asString());
+	auto allInvokeInstances = value["InvokeInstances"]["InvokeInstance"];
+	for (auto value : allInvokeInstances)
+	{
+		InvokeInstance invokeInstancesObject;
+		if(!value["InstanceId"].isNull())
+			invokeInstancesObject.instanceId = value["InstanceId"].asString();
+		if(!value["InstanceInvokeStatus"].isNull())
+			invokeInstancesObject.instanceInvokeStatus = value["InstanceInvokeStatus"].asString();
+		invokeInstances_.push_back(invokeInstancesObject);
+	}
+	if(!value["CommandId"].isNull())
+		commandId_ = value["CommandId"].asString();
+	if(!value["InvokeStatus"].isNull())
+		invokeStatus_ = value["InvokeStatus"].asString();
+
+}
+
+std::string ListInvocationStatusResult::getInvokeStatus()const
+{
+	return invokeStatus_;
+}
+
+std::string ListInvocationStatusResult::getCommandId()const
+{
+	return commandId_;
+}
+
+std::vector<ListInvocationStatusResult::InvokeInstance> ListInvocationStatusResult::getInvokeInstances()const
+{
+	return invokeInstances_;
+}
+

+ 0 - 11
ehpc/src/model/ListJobTemplatesRequest.cc

@@ -25,17 +25,6 @@ ListJobTemplatesRequest::ListJobTemplatesRequest() :
 ListJobTemplatesRequest::~ListJobTemplatesRequest()
 {}
 
-std::string ListJobTemplatesRequest::getRegionId()const
-{
-	return regionId_;
-}
-
-void ListJobTemplatesRequest::setRegionId(const std::string& regionId)
-{
-	regionId_ = regionId;
-	setParameter("RegionId", regionId);
-}
-
 std::string ListJobTemplatesRequest::getName()const
 {
 	return name_;

+ 2 - 0
ehpc/src/model/ListNodesResult.cc

@@ -66,6 +66,8 @@ void ListNodesResult::parse(const std::string &payload)
 			nodesObject.imageOwnerAlias = value["ImageOwnerAlias"].asString();
 		if(!value["ImageId"].isNull())
 			nodesObject.imageId = value["ImageId"].asString();
+		if(!value["Location"].isNull())
+			nodesObject.location = value["Location"].asString();
 		auto totalResourcesNode = value["TotalResources"];
 		if(!totalResourcesNode["Cpu"].isNull())
 			nodesObject.totalResources.cpu = std::stoi(totalResourcesNode["Cpu"].asString());

+ 60 - 0
ehpc/src/model/ModifyContainerAppAttributesRequest.cc

@@ -0,0 +1,60 @@
+/*
+ * 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/ModifyContainerAppAttributesRequest.h>
+
+using AlibabaCloud::EHPC::Model::ModifyContainerAppAttributesRequest;
+
+ModifyContainerAppAttributesRequest::ModifyContainerAppAttributesRequest() :
+	RpcServiceRequest("ehpc", "2018-04-12", "ModifyContainerAppAttributes")
+{}
+
+ModifyContainerAppAttributesRequest::~ModifyContainerAppAttributesRequest()
+{}
+
+std::string ModifyContainerAppAttributesRequest::getDescription()const
+{
+	return description_;
+}
+
+void ModifyContainerAppAttributesRequest::setDescription(const std::string& description)
+{
+	description_ = description;
+	setParameter("Description", description);
+}
+
+std::string ModifyContainerAppAttributesRequest::getContainerId()const
+{
+	return containerId_;
+}
+
+void ModifyContainerAppAttributesRequest::setContainerId(const std::string& containerId)
+{
+	containerId_ = containerId;
+	setParameter("ContainerId", containerId);
+}
+
+std::string ModifyContainerAppAttributesRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void ModifyContainerAppAttributesRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+

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

+ 82 - 0
ehpc/src/model/PullImageRequest.cc

@@ -0,0 +1,82 @@
+/*
+ * 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/PullImageRequest.h>
+
+using AlibabaCloud::EHPC::Model::PullImageRequest;
+
+PullImageRequest::PullImageRequest() :
+	RpcServiceRequest("ehpc", "2018-04-12", "PullImage")
+{}
+
+PullImageRequest::~PullImageRequest()
+{}
+
+std::string PullImageRequest::getContainerType()const
+{
+	return containerType_;
+}
+
+void PullImageRequest::setContainerType(const std::string& containerType)
+{
+	containerType_ = containerType;
+	setParameter("ContainerType", containerType);
+}
+
+std::string PullImageRequest::getClusterId()const
+{
+	return clusterId_;
+}
+
+void PullImageRequest::setClusterId(const std::string& clusterId)
+{
+	clusterId_ = clusterId;
+	setParameter("ClusterId", clusterId);
+}
+
+std::string PullImageRequest::getRepository()const
+{
+	return repository_;
+}
+
+void PullImageRequest::setRepository(const std::string& repository)
+{
+	repository_ = repository;
+	setParameter("Repository", repository);
+}
+
+std::string PullImageRequest::getImageTag()const
+{
+	return imageTag_;
+}
+
+void PullImageRequest::setImageTag(const std::string& imageTag)
+{
+	imageTag_ = imageTag;
+	setParameter("ImageTag", imageTag);
+}
+
+std::string PullImageRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void PullImageRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+

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

+ 44 - 0
ehpc/src/model/SubmitJobRequest.cc

@@ -58,6 +58,17 @@ void SubmitJobRequest::setRunasUserPassword(const std::string& runasUserPassword
 	setParameter("RunasUserPassword", runasUserPassword);
 }
 
+std::string SubmitJobRequest::getPostCmdLine()const
+{
+	return postCmdLine_;
+}
+
+void SubmitJobRequest::setPostCmdLine(const std::string& postCmdLine)
+{
+	postCmdLine_ = postCmdLine;
+	setParameter("PostCmdLine", postCmdLine);
+}
+
 std::string SubmitJobRequest::getRunasUser()const
 {
 	return runasUser_;
@@ -135,6 +146,17 @@ void SubmitJobRequest::setArrayRequest(const std::string& arrayRequest)
 	setParameter("ArrayRequest", arrayRequest);
 }
 
+std::string SubmitJobRequest::getUnzipCmd()const
+{
+	return unzipCmd_;
+}
+
+void SubmitJobRequest::setUnzipCmd(const std::string& unzipCmd)
+{
+	unzipCmd_ = unzipCmd;
+	setParameter("UnzipCmd", unzipCmd);
+}
+
 std::string SubmitJobRequest::getPackagePath()const
 {
 	return packagePath_;
@@ -146,6 +168,17 @@ void SubmitJobRequest::setPackagePath(const std::string& packagePath)
 	setParameter("PackagePath", packagePath);
 }
 
+std::string SubmitJobRequest::getInputFileUrl()const
+{
+	return inputFileUrl_;
+}
+
+void SubmitJobRequest::setInputFileUrl(const std::string& inputFileUrl)
+{
+	inputFileUrl_ = inputFileUrl;
+	setParameter("InputFileUrl", inputFileUrl);
+}
+
 std::string SubmitJobRequest::getName()const
 {
 	return name_;
@@ -168,3 +201,14 @@ void SubmitJobRequest::setStdoutRedirectPath(const std::string& stdoutRedirectPa
 	setParameter("StdoutRedirectPath", stdoutRedirectPath);
 }
 
+std::string SubmitJobRequest::getContainerId()const
+{
+	return containerId_;
+}
+
+void SubmitJobRequest::setContainerId(const std::string& containerId)
+{
+	containerId_ = containerId;
+	setParameter("ContainerId", containerId);
+}
+