Explorar o código

Support ACR EE, OSS, EIP for deploy.

sdk-team %!s(int64=4) %!d(string=hai) anos
pai
achega
6aa3c65c39
Modificáronse 89 ficheiros con 4568 adicións e 544 borrados
  1. 3 0
      CHANGELOG
  2. 1 1
      VERSION
  3. 42 2
      sae/CMakeLists.txt
  4. 80 0
      sae/include/alibabacloud/sae/SaeClient.h
  5. 72 48
      sae/include/alibabacloud/sae/model/CreateApplicationRequest.h
  6. 3 0
      sae/include/alibabacloud/sae/model/CreateApplicationScalingRuleRequest.h
  7. 1 1
      sae/include/alibabacloud/sae/model/CreateApplicationScalingRuleResult.h
  8. 60 0
      sae/include/alibabacloud/sae/model/CreateGreyTagRouteRequest.h
  9. 65 0
      sae/include/alibabacloud/sae/model/CreateGreyTagRouteResult.h
  10. 1 1
      sae/include/alibabacloud/sae/model/CreateNamespaceResult.h
  11. 48 0
      sae/include/alibabacloud/sae/model/DeleteGreyTagRouteRequest.h
  12. 65 0
      sae/include/alibabacloud/sae/model/DeleteGreyTagRouteResult.h
  13. 27 0
      sae/include/alibabacloud/sae/model/DeployApplicationRequest.h
  14. 1 0
      sae/include/alibabacloud/sae/model/DeployApplicationResult.h
  15. 60 0
      sae/include/alibabacloud/sae/model/DescribeAppServiceDetailRequest.h
  16. 92 0
      sae/include/alibabacloud/sae/model/DescribeAppServiceDetailResult.h
  17. 45 27
      sae/include/alibabacloud/sae/model/DescribeApplicationConfigResult.h
  18. 3 0
      sae/include/alibabacloud/sae/model/DescribeApplicationInstancesRequest.h
  19. 3 2
      sae/include/alibabacloud/sae/model/DescribeApplicationInstancesResult.h
  20. 25 7
      sae/include/alibabacloud/sae/model/DescribeApplicationScalingRulesResult.h
  21. 3 0
      sae/include/alibabacloud/sae/model/DescribeApplicationStatusResult.h
  22. 5 3
      sae/include/alibabacloud/sae/model/DescribeChangeOrderResult.h
  23. 48 0
      sae/include/alibabacloud/sae/model/DescribeGreyTagRouteRequest.h
  24. 106 0
      sae/include/alibabacloud/sae/model/DescribeGreyTagRouteResult.h
  25. 3 3
      sae/include/alibabacloud/sae/model/DescribePipelineResult.h
  26. 1 0
      sae/include/alibabacloud/sae/model/DescribeRegionsResult.h
  27. 54 0
      sae/include/alibabacloud/sae/model/DownloadFilesRequest.h
  28. 61 0
      sae/include/alibabacloud/sae/model/DownloadFilesResult.h
  29. 57 0
      sae/include/alibabacloud/sae/model/ListAppServicesPageRequest.h
  30. 80 0
      sae/include/alibabacloud/sae/model/ListAppServicesPageResult.h
  31. 12 0
      sae/include/alibabacloud/sae/model/ListApplicationsRequest.h
  32. 9 3
      sae/include/alibabacloud/sae/model/ListApplicationsResult.h
  33. 48 0
      sae/include/alibabacloud/sae/model/ListGreyTagRouteRequest.h
  34. 113 0
      sae/include/alibabacloud/sae/model/ListGreyTagRouteResult.h
  35. 51 0
      sae/include/alibabacloud/sae/model/ReduceApplicationCapacityByInstanceIdsRequest.h
  36. 65 0
      sae/include/alibabacloud/sae/model/ReduceApplicationCapacityByInstanceIdsResult.h
  37. 3 0
      sae/include/alibabacloud/sae/model/RescaleApplicationRequest.h
  38. 1 0
      sae/include/alibabacloud/sae/model/RollbackApplicationResult.h
  39. 57 0
      sae/include/alibabacloud/sae/model/UpdateGreyTagRouteRequest.h
  40. 65 0
      sae/include/alibabacloud/sae/model/UpdateGreyTagRouteResult.h
  41. 57 0
      sae/include/alibabacloud/sae/model/UploadFilesRequest.h
  42. 61 0
      sae/include/alibabacloud/sae/model/UploadFilesResult.h
  43. 360 0
      sae/src/SaeClient.cc
  44. 251 163
      sae/src/model/CreateApplicationRequest.cc
  45. 2 2
      sae/src/model/CreateApplicationResult.cc
  46. 11 0
      sae/src/model/CreateApplicationScalingRuleRequest.cc
  47. 16 16
      sae/src/model/CreateApplicationScalingRuleResult.cc
  48. 4 4
      sae/src/model/CreateConfigMapResult.cc
  49. 85 0
      sae/src/model/CreateGreyTagRouteRequest.cc
  50. 87 0
      sae/src/model/CreateGreyTagRouteResult.cc
  51. 10 10
      sae/src/model/CreateNamespaceResult.cc
  52. 41 0
      sae/src/model/DeleteGreyTagRouteRequest.cc
  53. 87 0
      sae/src/model/DeleteGreyTagRouteResult.cc
  54. 6 6
      sae/src/model/DeleteIngressResult.cc
  55. 6 6
      sae/src/model/DeleteNamespaceResult.cc
  56. 99 0
      sae/src/model/DeployApplicationRequest.cc
  57. 4 2
      sae/src/model/DeployApplicationResult.cc
  58. 85 0
      sae/src/model/DescribeAppServiceDetailRequest.cc
  59. 141 0
      sae/src/model/DescribeAppServiceDetailResult.cc
  60. 124 90
      sae/src/model/DescribeApplicationConfigResult.cc
  61. 11 0
      sae/src/model/DescribeApplicationInstancesRequest.cc
  62. 16 14
      sae/src/model/DescribeApplicationInstancesResult.cc
  63. 54 32
      sae/src/model/DescribeApplicationScalingRulesResult.cc
  64. 22 16
      sae/src/model/DescribeApplicationStatusResult.cc
  65. 30 26
      sae/src/model/DescribeChangeOrderResult.cc
  66. 41 0
      sae/src/model/DescribeGreyTagRouteRequest.cc
  67. 161 0
      sae/src/model/DescribeGreyTagRouteResult.cc
  68. 20 20
      sae/src/model/DescribePipelineResult.cc
  69. 9 6
      sae/src/model/DescribeRegionsResult.cc
  70. 63 0
      sae/src/model/DownloadFilesRequest.cc
  71. 86 0
      sae/src/model/DownloadFilesResult.cc
  72. 74 0
      sae/src/model/ListAppServicesPageRequest.cc
  73. 120 0
      sae/src/model/ListAppServicesPageResult.cc
  74. 44 0
      sae/src/model/ListApplicationsRequest.cc
  75. 39 18
      sae/src/model/ListApplicationsResult.cc
  76. 41 0
      sae/src/model/ListGreyTagRouteRequest.cc
  77. 173 0
      sae/src/model/ListGreyTagRouteResult.cc
  78. 52 0
      sae/src/model/ReduceApplicationCapacityByInstanceIdsRequest.cc
  79. 87 0
      sae/src/model/ReduceApplicationCapacityByInstanceIdsResult.cc
  80. 11 0
      sae/src/model/RescaleApplicationRequest.cc
  81. 4 4
      sae/src/model/RescaleApplicationResult.cc
  82. 6 6
      sae/src/model/RestartApplicationResult.cc
  83. 2 0
      sae/src/model/RollbackApplicationResult.cc
  84. 1 1
      sae/src/model/UpdateConfigMapRequest.cc
  85. 4 4
      sae/src/model/UpdateConfigMapResult.cc
  86. 74 0
      sae/src/model/UpdateGreyTagRouteRequest.cc
  87. 87 0
      sae/src/model/UpdateGreyTagRouteResult.cc
  88. 74 0
      sae/src/model/UploadFilesRequest.cc
  89. 86 0
      sae/src/model/UploadFilesResult.cc

+ 3 - 0
CHANGELOG

@@ -1,3 +1,6 @@
+2021-12-09 Version: 1.36.973
+- Support ACR EE, OSS, EIP for deploy.
+
 2021-12-08 Version: 1.36.972
 - Add API for New Features.
 

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.36.972
+1.36.973

+ 42 - 2
sae/CMakeLists.txt

@@ -39,6 +39,8 @@ set(sae_public_header_model
 	include/alibabacloud/sae/model/CreateApplicationScalingRuleResult.h
 	include/alibabacloud/sae/model/CreateConfigMapRequest.h
 	include/alibabacloud/sae/model/CreateConfigMapResult.h
+	include/alibabacloud/sae/model/CreateGreyTagRouteRequest.h
+	include/alibabacloud/sae/model/CreateGreyTagRouteResult.h
 	include/alibabacloud/sae/model/CreateIngressRequest.h
 	include/alibabacloud/sae/model/CreateIngressResult.h
 	include/alibabacloud/sae/model/CreateNamespaceRequest.h
@@ -49,12 +51,16 @@ set(sae_public_header_model
 	include/alibabacloud/sae/model/DeleteApplicationScalingRuleResult.h
 	include/alibabacloud/sae/model/DeleteConfigMapRequest.h
 	include/alibabacloud/sae/model/DeleteConfigMapResult.h
+	include/alibabacloud/sae/model/DeleteGreyTagRouteRequest.h
+	include/alibabacloud/sae/model/DeleteGreyTagRouteResult.h
 	include/alibabacloud/sae/model/DeleteIngressRequest.h
 	include/alibabacloud/sae/model/DeleteIngressResult.h
 	include/alibabacloud/sae/model/DeleteNamespaceRequest.h
 	include/alibabacloud/sae/model/DeleteNamespaceResult.h
 	include/alibabacloud/sae/model/DeployApplicationRequest.h
 	include/alibabacloud/sae/model/DeployApplicationResult.h
+	include/alibabacloud/sae/model/DescribeAppServiceDetailRequest.h
+	include/alibabacloud/sae/model/DescribeAppServiceDetailResult.h
 	include/alibabacloud/sae/model/DescribeApplicationConfigRequest.h
 	include/alibabacloud/sae/model/DescribeApplicationConfigResult.h
 	include/alibabacloud/sae/model/DescribeApplicationGroupsRequest.h
@@ -77,6 +83,8 @@ set(sae_public_header_model
 	include/alibabacloud/sae/model/DescribeConfigMapResult.h
 	include/alibabacloud/sae/model/DescribeEdasContainersRequest.h
 	include/alibabacloud/sae/model/DescribeEdasContainersResult.h
+	include/alibabacloud/sae/model/DescribeGreyTagRouteRequest.h
+	include/alibabacloud/sae/model/DescribeGreyTagRouteResult.h
 	include/alibabacloud/sae/model/DescribeIngressRequest.h
 	include/alibabacloud/sae/model/DescribeIngressResult.h
 	include/alibabacloud/sae/model/DescribeInstanceLogRequest.h
@@ -97,10 +105,14 @@ set(sae_public_header_model
 	include/alibabacloud/sae/model/DescribeRegionsResult.h
 	include/alibabacloud/sae/model/DisableApplicationScalingRuleRequest.h
 	include/alibabacloud/sae/model/DisableApplicationScalingRuleResult.h
+	include/alibabacloud/sae/model/DownloadFilesRequest.h
+	include/alibabacloud/sae/model/DownloadFilesResult.h
 	include/alibabacloud/sae/model/EnableApplicationScalingRuleRequest.h
 	include/alibabacloud/sae/model/EnableApplicationScalingRuleResult.h
 	include/alibabacloud/sae/model/ListAppEventsRequest.h
 	include/alibabacloud/sae/model/ListAppEventsResult.h
+	include/alibabacloud/sae/model/ListAppServicesPageRequest.h
+	include/alibabacloud/sae/model/ListAppServicesPageResult.h
 	include/alibabacloud/sae/model/ListAppVersionsRequest.h
 	include/alibabacloud/sae/model/ListAppVersionsResult.h
 	include/alibabacloud/sae/model/ListApplicationsRequest.h
@@ -109,6 +121,8 @@ set(sae_public_header_model
 	include/alibabacloud/sae/model/ListChangeOrdersResult.h
 	include/alibabacloud/sae/model/ListConsumedServicesRequest.h
 	include/alibabacloud/sae/model/ListConsumedServicesResult.h
+	include/alibabacloud/sae/model/ListGreyTagRouteRequest.h
+	include/alibabacloud/sae/model/ListGreyTagRouteResult.h
 	include/alibabacloud/sae/model/ListIngressesRequest.h
 	include/alibabacloud/sae/model/ListIngressesResult.h
 	include/alibabacloud/sae/model/ListLogConfigsRequest.h
@@ -125,6 +139,8 @@ set(sae_public_header_model
 	include/alibabacloud/sae/model/OpenSaeServiceResult.h
 	include/alibabacloud/sae/model/QueryResourceStaticsRequest.h
 	include/alibabacloud/sae/model/QueryResourceStaticsResult.h
+	include/alibabacloud/sae/model/ReduceApplicationCapacityByInstanceIdsRequest.h
+	include/alibabacloud/sae/model/ReduceApplicationCapacityByInstanceIdsResult.h
 	include/alibabacloud/sae/model/RescaleApplicationRequest.h
 	include/alibabacloud/sae/model/RescaleApplicationResult.h
 	include/alibabacloud/sae/model/RescaleApplicationVerticallyRequest.h
@@ -151,12 +167,16 @@ set(sae_public_header_model
 	include/alibabacloud/sae/model/UpdateApplicationScalingRuleResult.h
 	include/alibabacloud/sae/model/UpdateConfigMapRequest.h
 	include/alibabacloud/sae/model/UpdateConfigMapResult.h
+	include/alibabacloud/sae/model/UpdateGreyTagRouteRequest.h
+	include/alibabacloud/sae/model/UpdateGreyTagRouteResult.h
 	include/alibabacloud/sae/model/UpdateIngressRequest.h
 	include/alibabacloud/sae/model/UpdateIngressResult.h
 	include/alibabacloud/sae/model/UpdateNamespaceRequest.h
 	include/alibabacloud/sae/model/UpdateNamespaceResult.h
 	include/alibabacloud/sae/model/UpdateNamespaceVpcRequest.h
-	include/alibabacloud/sae/model/UpdateNamespaceVpcResult.h )
+	include/alibabacloud/sae/model/UpdateNamespaceVpcResult.h
+	include/alibabacloud/sae/model/UploadFilesRequest.h
+	include/alibabacloud/sae/model/UploadFilesResult.h )
 
 set(sae_src 
 	src/SaeClient.cc
@@ -178,6 +198,8 @@ set(sae_src
 	src/model/CreateApplicationScalingRuleResult.cc
 	src/model/CreateConfigMapRequest.cc
 	src/model/CreateConfigMapResult.cc
+	src/model/CreateGreyTagRouteRequest.cc
+	src/model/CreateGreyTagRouteResult.cc
 	src/model/CreateIngressRequest.cc
 	src/model/CreateIngressResult.cc
 	src/model/CreateNamespaceRequest.cc
@@ -188,12 +210,16 @@ set(sae_src
 	src/model/DeleteApplicationScalingRuleResult.cc
 	src/model/DeleteConfigMapRequest.cc
 	src/model/DeleteConfigMapResult.cc
+	src/model/DeleteGreyTagRouteRequest.cc
+	src/model/DeleteGreyTagRouteResult.cc
 	src/model/DeleteIngressRequest.cc
 	src/model/DeleteIngressResult.cc
 	src/model/DeleteNamespaceRequest.cc
 	src/model/DeleteNamespaceResult.cc
 	src/model/DeployApplicationRequest.cc
 	src/model/DeployApplicationResult.cc
+	src/model/DescribeAppServiceDetailRequest.cc
+	src/model/DescribeAppServiceDetailResult.cc
 	src/model/DescribeApplicationConfigRequest.cc
 	src/model/DescribeApplicationConfigResult.cc
 	src/model/DescribeApplicationGroupsRequest.cc
@@ -216,6 +242,8 @@ set(sae_src
 	src/model/DescribeConfigMapResult.cc
 	src/model/DescribeEdasContainersRequest.cc
 	src/model/DescribeEdasContainersResult.cc
+	src/model/DescribeGreyTagRouteRequest.cc
+	src/model/DescribeGreyTagRouteResult.cc
 	src/model/DescribeIngressRequest.cc
 	src/model/DescribeIngressResult.cc
 	src/model/DescribeInstanceLogRequest.cc
@@ -236,10 +264,14 @@ set(sae_src
 	src/model/DescribeRegionsResult.cc
 	src/model/DisableApplicationScalingRuleRequest.cc
 	src/model/DisableApplicationScalingRuleResult.cc
+	src/model/DownloadFilesRequest.cc
+	src/model/DownloadFilesResult.cc
 	src/model/EnableApplicationScalingRuleRequest.cc
 	src/model/EnableApplicationScalingRuleResult.cc
 	src/model/ListAppEventsRequest.cc
 	src/model/ListAppEventsResult.cc
+	src/model/ListAppServicesPageRequest.cc
+	src/model/ListAppServicesPageResult.cc
 	src/model/ListAppVersionsRequest.cc
 	src/model/ListAppVersionsResult.cc
 	src/model/ListApplicationsRequest.cc
@@ -248,6 +280,8 @@ set(sae_src
 	src/model/ListChangeOrdersResult.cc
 	src/model/ListConsumedServicesRequest.cc
 	src/model/ListConsumedServicesResult.cc
+	src/model/ListGreyTagRouteRequest.cc
+	src/model/ListGreyTagRouteResult.cc
 	src/model/ListIngressesRequest.cc
 	src/model/ListIngressesResult.cc
 	src/model/ListLogConfigsRequest.cc
@@ -264,6 +298,8 @@ set(sae_src
 	src/model/OpenSaeServiceResult.cc
 	src/model/QueryResourceStaticsRequest.cc
 	src/model/QueryResourceStaticsResult.cc
+	src/model/ReduceApplicationCapacityByInstanceIdsRequest.cc
+	src/model/ReduceApplicationCapacityByInstanceIdsResult.cc
 	src/model/RescaleApplicationRequest.cc
 	src/model/RescaleApplicationResult.cc
 	src/model/RescaleApplicationVerticallyRequest.cc
@@ -290,12 +326,16 @@ set(sae_src
 	src/model/UpdateApplicationScalingRuleResult.cc
 	src/model/UpdateConfigMapRequest.cc
 	src/model/UpdateConfigMapResult.cc
+	src/model/UpdateGreyTagRouteRequest.cc
+	src/model/UpdateGreyTagRouteResult.cc
 	src/model/UpdateIngressRequest.cc
 	src/model/UpdateIngressResult.cc
 	src/model/UpdateNamespaceRequest.cc
 	src/model/UpdateNamespaceResult.cc
 	src/model/UpdateNamespaceVpcRequest.cc
-	src/model/UpdateNamespaceVpcResult.cc )
+	src/model/UpdateNamespaceVpcResult.cc
+	src/model/UploadFilesRequest.cc
+	src/model/UploadFilesResult.cc )
 
 add_library(sae ${LIB_TYPE}
 	${sae_public_header}

+ 80 - 0
sae/include/alibabacloud/sae/SaeClient.h

@@ -40,6 +40,8 @@
 #include "model/CreateApplicationScalingRuleResult.h"
 #include "model/CreateConfigMapRequest.h"
 #include "model/CreateConfigMapResult.h"
+#include "model/CreateGreyTagRouteRequest.h"
+#include "model/CreateGreyTagRouteResult.h"
 #include "model/CreateIngressRequest.h"
 #include "model/CreateIngressResult.h"
 #include "model/CreateNamespaceRequest.h"
@@ -50,12 +52,16 @@
 #include "model/DeleteApplicationScalingRuleResult.h"
 #include "model/DeleteConfigMapRequest.h"
 #include "model/DeleteConfigMapResult.h"
+#include "model/DeleteGreyTagRouteRequest.h"
+#include "model/DeleteGreyTagRouteResult.h"
 #include "model/DeleteIngressRequest.h"
 #include "model/DeleteIngressResult.h"
 #include "model/DeleteNamespaceRequest.h"
 #include "model/DeleteNamespaceResult.h"
 #include "model/DeployApplicationRequest.h"
 #include "model/DeployApplicationResult.h"
+#include "model/DescribeAppServiceDetailRequest.h"
+#include "model/DescribeAppServiceDetailResult.h"
 #include "model/DescribeApplicationConfigRequest.h"
 #include "model/DescribeApplicationConfigResult.h"
 #include "model/DescribeApplicationGroupsRequest.h"
@@ -78,6 +84,8 @@
 #include "model/DescribeConfigMapResult.h"
 #include "model/DescribeEdasContainersRequest.h"
 #include "model/DescribeEdasContainersResult.h"
+#include "model/DescribeGreyTagRouteRequest.h"
+#include "model/DescribeGreyTagRouteResult.h"
 #include "model/DescribeIngressRequest.h"
 #include "model/DescribeIngressResult.h"
 #include "model/DescribeInstanceLogRequest.h"
@@ -98,10 +106,14 @@
 #include "model/DescribeRegionsResult.h"
 #include "model/DisableApplicationScalingRuleRequest.h"
 #include "model/DisableApplicationScalingRuleResult.h"
+#include "model/DownloadFilesRequest.h"
+#include "model/DownloadFilesResult.h"
 #include "model/EnableApplicationScalingRuleRequest.h"
 #include "model/EnableApplicationScalingRuleResult.h"
 #include "model/ListAppEventsRequest.h"
 #include "model/ListAppEventsResult.h"
+#include "model/ListAppServicesPageRequest.h"
+#include "model/ListAppServicesPageResult.h"
 #include "model/ListAppVersionsRequest.h"
 #include "model/ListAppVersionsResult.h"
 #include "model/ListApplicationsRequest.h"
@@ -110,6 +122,8 @@
 #include "model/ListChangeOrdersResult.h"
 #include "model/ListConsumedServicesRequest.h"
 #include "model/ListConsumedServicesResult.h"
+#include "model/ListGreyTagRouteRequest.h"
+#include "model/ListGreyTagRouteResult.h"
 #include "model/ListIngressesRequest.h"
 #include "model/ListIngressesResult.h"
 #include "model/ListLogConfigsRequest.h"
@@ -126,6 +140,8 @@
 #include "model/OpenSaeServiceResult.h"
 #include "model/QueryResourceStaticsRequest.h"
 #include "model/QueryResourceStaticsResult.h"
+#include "model/ReduceApplicationCapacityByInstanceIdsRequest.h"
+#include "model/ReduceApplicationCapacityByInstanceIdsResult.h"
 #include "model/RescaleApplicationRequest.h"
 #include "model/RescaleApplicationResult.h"
 #include "model/RescaleApplicationVerticallyRequest.h"
@@ -152,12 +168,16 @@
 #include "model/UpdateApplicationScalingRuleResult.h"
 #include "model/UpdateConfigMapRequest.h"
 #include "model/UpdateConfigMapResult.h"
+#include "model/UpdateGreyTagRouteRequest.h"
+#include "model/UpdateGreyTagRouteResult.h"
 #include "model/UpdateIngressRequest.h"
 #include "model/UpdateIngressResult.h"
 #include "model/UpdateNamespaceRequest.h"
 #include "model/UpdateNamespaceResult.h"
 #include "model/UpdateNamespaceVpcRequest.h"
 #include "model/UpdateNamespaceVpcResult.h"
+#include "model/UploadFilesRequest.h"
+#include "model/UploadFilesResult.h"
 
 
 namespace AlibabaCloud
@@ -194,6 +214,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::CreateConfigMapResult> CreateConfigMapOutcome;
 			typedef std::future<CreateConfigMapOutcome> CreateConfigMapOutcomeCallable;
 			typedef std::function<void(const SaeClient*, const Model::CreateConfigMapRequest&, const CreateConfigMapOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateConfigMapAsyncHandler;
+			typedef Outcome<Error, Model::CreateGreyTagRouteResult> CreateGreyTagRouteOutcome;
+			typedef std::future<CreateGreyTagRouteOutcome> CreateGreyTagRouteOutcomeCallable;
+			typedef std::function<void(const SaeClient*, const Model::CreateGreyTagRouteRequest&, const CreateGreyTagRouteOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateGreyTagRouteAsyncHandler;
 			typedef Outcome<Error, Model::CreateIngressResult> CreateIngressOutcome;
 			typedef std::future<CreateIngressOutcome> CreateIngressOutcomeCallable;
 			typedef std::function<void(const SaeClient*, const Model::CreateIngressRequest&, const CreateIngressOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateIngressAsyncHandler;
@@ -209,6 +232,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DeleteConfigMapResult> DeleteConfigMapOutcome;
 			typedef std::future<DeleteConfigMapOutcome> DeleteConfigMapOutcomeCallable;
 			typedef std::function<void(const SaeClient*, const Model::DeleteConfigMapRequest&, const DeleteConfigMapOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteConfigMapAsyncHandler;
+			typedef Outcome<Error, Model::DeleteGreyTagRouteResult> DeleteGreyTagRouteOutcome;
+			typedef std::future<DeleteGreyTagRouteOutcome> DeleteGreyTagRouteOutcomeCallable;
+			typedef std::function<void(const SaeClient*, const Model::DeleteGreyTagRouteRequest&, const DeleteGreyTagRouteOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteGreyTagRouteAsyncHandler;
 			typedef Outcome<Error, Model::DeleteIngressResult> DeleteIngressOutcome;
 			typedef std::future<DeleteIngressOutcome> DeleteIngressOutcomeCallable;
 			typedef std::function<void(const SaeClient*, const Model::DeleteIngressRequest&, const DeleteIngressOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteIngressAsyncHandler;
@@ -218,6 +244,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DeployApplicationResult> DeployApplicationOutcome;
 			typedef std::future<DeployApplicationOutcome> DeployApplicationOutcomeCallable;
 			typedef std::function<void(const SaeClient*, const Model::DeployApplicationRequest&, const DeployApplicationOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeployApplicationAsyncHandler;
+			typedef Outcome<Error, Model::DescribeAppServiceDetailResult> DescribeAppServiceDetailOutcome;
+			typedef std::future<DescribeAppServiceDetailOutcome> DescribeAppServiceDetailOutcomeCallable;
+			typedef std::function<void(const SaeClient*, const Model::DescribeAppServiceDetailRequest&, const DescribeAppServiceDetailOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeAppServiceDetailAsyncHandler;
 			typedef Outcome<Error, Model::DescribeApplicationConfigResult> DescribeApplicationConfigOutcome;
 			typedef std::future<DescribeApplicationConfigOutcome> DescribeApplicationConfigOutcomeCallable;
 			typedef std::function<void(const SaeClient*, const Model::DescribeApplicationConfigRequest&, const DescribeApplicationConfigOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeApplicationConfigAsyncHandler;
@@ -251,6 +280,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DescribeEdasContainersResult> DescribeEdasContainersOutcome;
 			typedef std::future<DescribeEdasContainersOutcome> DescribeEdasContainersOutcomeCallable;
 			typedef std::function<void(const SaeClient*, const Model::DescribeEdasContainersRequest&, const DescribeEdasContainersOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeEdasContainersAsyncHandler;
+			typedef Outcome<Error, Model::DescribeGreyTagRouteResult> DescribeGreyTagRouteOutcome;
+			typedef std::future<DescribeGreyTagRouteOutcome> DescribeGreyTagRouteOutcomeCallable;
+			typedef std::function<void(const SaeClient*, const Model::DescribeGreyTagRouteRequest&, const DescribeGreyTagRouteOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeGreyTagRouteAsyncHandler;
 			typedef Outcome<Error, Model::DescribeIngressResult> DescribeIngressOutcome;
 			typedef std::future<DescribeIngressOutcome> DescribeIngressOutcomeCallable;
 			typedef std::function<void(const SaeClient*, const Model::DescribeIngressRequest&, const DescribeIngressOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeIngressAsyncHandler;
@@ -281,12 +313,18 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DisableApplicationScalingRuleResult> DisableApplicationScalingRuleOutcome;
 			typedef std::future<DisableApplicationScalingRuleOutcome> DisableApplicationScalingRuleOutcomeCallable;
 			typedef std::function<void(const SaeClient*, const Model::DisableApplicationScalingRuleRequest&, const DisableApplicationScalingRuleOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DisableApplicationScalingRuleAsyncHandler;
+			typedef Outcome<Error, Model::DownloadFilesResult> DownloadFilesOutcome;
+			typedef std::future<DownloadFilesOutcome> DownloadFilesOutcomeCallable;
+			typedef std::function<void(const SaeClient*, const Model::DownloadFilesRequest&, const DownloadFilesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DownloadFilesAsyncHandler;
 			typedef Outcome<Error, Model::EnableApplicationScalingRuleResult> EnableApplicationScalingRuleOutcome;
 			typedef std::future<EnableApplicationScalingRuleOutcome> EnableApplicationScalingRuleOutcomeCallable;
 			typedef std::function<void(const SaeClient*, const Model::EnableApplicationScalingRuleRequest&, const EnableApplicationScalingRuleOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> EnableApplicationScalingRuleAsyncHandler;
 			typedef Outcome<Error, Model::ListAppEventsResult> ListAppEventsOutcome;
 			typedef std::future<ListAppEventsOutcome> ListAppEventsOutcomeCallable;
 			typedef std::function<void(const SaeClient*, const Model::ListAppEventsRequest&, const ListAppEventsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListAppEventsAsyncHandler;
+			typedef Outcome<Error, Model::ListAppServicesPageResult> ListAppServicesPageOutcome;
+			typedef std::future<ListAppServicesPageOutcome> ListAppServicesPageOutcomeCallable;
+			typedef std::function<void(const SaeClient*, const Model::ListAppServicesPageRequest&, const ListAppServicesPageOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListAppServicesPageAsyncHandler;
 			typedef Outcome<Error, Model::ListAppVersionsResult> ListAppVersionsOutcome;
 			typedef std::future<ListAppVersionsOutcome> ListAppVersionsOutcomeCallable;
 			typedef std::function<void(const SaeClient*, const Model::ListAppVersionsRequest&, const ListAppVersionsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListAppVersionsAsyncHandler;
@@ -299,6 +337,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::ListConsumedServicesResult> ListConsumedServicesOutcome;
 			typedef std::future<ListConsumedServicesOutcome> ListConsumedServicesOutcomeCallable;
 			typedef std::function<void(const SaeClient*, const Model::ListConsumedServicesRequest&, const ListConsumedServicesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListConsumedServicesAsyncHandler;
+			typedef Outcome<Error, Model::ListGreyTagRouteResult> ListGreyTagRouteOutcome;
+			typedef std::future<ListGreyTagRouteOutcome> ListGreyTagRouteOutcomeCallable;
+			typedef std::function<void(const SaeClient*, const Model::ListGreyTagRouteRequest&, const ListGreyTagRouteOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListGreyTagRouteAsyncHandler;
 			typedef Outcome<Error, Model::ListIngressesResult> ListIngressesOutcome;
 			typedef std::future<ListIngressesOutcome> ListIngressesOutcomeCallable;
 			typedef std::function<void(const SaeClient*, const Model::ListIngressesRequest&, const ListIngressesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListIngressesAsyncHandler;
@@ -323,6 +364,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::QueryResourceStaticsResult> QueryResourceStaticsOutcome;
 			typedef std::future<QueryResourceStaticsOutcome> QueryResourceStaticsOutcomeCallable;
 			typedef std::function<void(const SaeClient*, const Model::QueryResourceStaticsRequest&, const QueryResourceStaticsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryResourceStaticsAsyncHandler;
+			typedef Outcome<Error, Model::ReduceApplicationCapacityByInstanceIdsResult> ReduceApplicationCapacityByInstanceIdsOutcome;
+			typedef std::future<ReduceApplicationCapacityByInstanceIdsOutcome> ReduceApplicationCapacityByInstanceIdsOutcomeCallable;
+			typedef std::function<void(const SaeClient*, const Model::ReduceApplicationCapacityByInstanceIdsRequest&, const ReduceApplicationCapacityByInstanceIdsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ReduceApplicationCapacityByInstanceIdsAsyncHandler;
 			typedef Outcome<Error, Model::RescaleApplicationResult> RescaleApplicationOutcome;
 			typedef std::future<RescaleApplicationOutcome> RescaleApplicationOutcomeCallable;
 			typedef std::function<void(const SaeClient*, const Model::RescaleApplicationRequest&, const RescaleApplicationOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> RescaleApplicationAsyncHandler;
@@ -362,6 +406,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::UpdateConfigMapResult> UpdateConfigMapOutcome;
 			typedef std::future<UpdateConfigMapOutcome> UpdateConfigMapOutcomeCallable;
 			typedef std::function<void(const SaeClient*, const Model::UpdateConfigMapRequest&, const UpdateConfigMapOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateConfigMapAsyncHandler;
+			typedef Outcome<Error, Model::UpdateGreyTagRouteResult> UpdateGreyTagRouteOutcome;
+			typedef std::future<UpdateGreyTagRouteOutcome> UpdateGreyTagRouteOutcomeCallable;
+			typedef std::function<void(const SaeClient*, const Model::UpdateGreyTagRouteRequest&, const UpdateGreyTagRouteOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateGreyTagRouteAsyncHandler;
 			typedef Outcome<Error, Model::UpdateIngressResult> UpdateIngressOutcome;
 			typedef std::future<UpdateIngressOutcome> UpdateIngressOutcomeCallable;
 			typedef std::function<void(const SaeClient*, const Model::UpdateIngressRequest&, const UpdateIngressOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateIngressAsyncHandler;
@@ -371,6 +418,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::UpdateNamespaceVpcResult> UpdateNamespaceVpcOutcome;
 			typedef std::future<UpdateNamespaceVpcOutcome> UpdateNamespaceVpcOutcomeCallable;
 			typedef std::function<void(const SaeClient*, const Model::UpdateNamespaceVpcRequest&, const UpdateNamespaceVpcOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateNamespaceVpcAsyncHandler;
+			typedef Outcome<Error, Model::UploadFilesResult> UploadFilesOutcome;
+			typedef std::future<UploadFilesOutcome> UploadFilesOutcomeCallable;
+			typedef std::function<void(const SaeClient*, const Model::UploadFilesRequest&, const UploadFilesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UploadFilesAsyncHandler;
 
 			SaeClient(const Credentials &credentials, const ClientConfiguration &configuration);
 			SaeClient(const std::shared_ptr<CredentialsProvider> &credentialsProvider, const ClientConfiguration &configuration);
@@ -403,6 +453,9 @@ namespace AlibabaCloud
 			CreateConfigMapOutcome createConfigMap(const Model::CreateConfigMapRequest &request)const;
 			void createConfigMapAsync(const Model::CreateConfigMapRequest& request, const CreateConfigMapAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CreateConfigMapOutcomeCallable createConfigMapCallable(const Model::CreateConfigMapRequest& request) const;
+			CreateGreyTagRouteOutcome createGreyTagRoute(const Model::CreateGreyTagRouteRequest &request)const;
+			void createGreyTagRouteAsync(const Model::CreateGreyTagRouteRequest& request, const CreateGreyTagRouteAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateGreyTagRouteOutcomeCallable createGreyTagRouteCallable(const Model::CreateGreyTagRouteRequest& request) const;
 			CreateIngressOutcome createIngress(const Model::CreateIngressRequest &request)const;
 			void createIngressAsync(const Model::CreateIngressRequest& request, const CreateIngressAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CreateIngressOutcomeCallable createIngressCallable(const Model::CreateIngressRequest& request) const;
@@ -418,6 +471,9 @@ namespace AlibabaCloud
 			DeleteConfigMapOutcome deleteConfigMap(const Model::DeleteConfigMapRequest &request)const;
 			void deleteConfigMapAsync(const Model::DeleteConfigMapRequest& request, const DeleteConfigMapAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeleteConfigMapOutcomeCallable deleteConfigMapCallable(const Model::DeleteConfigMapRequest& request) const;
+			DeleteGreyTagRouteOutcome deleteGreyTagRoute(const Model::DeleteGreyTagRouteRequest &request)const;
+			void deleteGreyTagRouteAsync(const Model::DeleteGreyTagRouteRequest& request, const DeleteGreyTagRouteAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteGreyTagRouteOutcomeCallable deleteGreyTagRouteCallable(const Model::DeleteGreyTagRouteRequest& request) const;
 			DeleteIngressOutcome deleteIngress(const Model::DeleteIngressRequest &request)const;
 			void deleteIngressAsync(const Model::DeleteIngressRequest& request, const DeleteIngressAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeleteIngressOutcomeCallable deleteIngressCallable(const Model::DeleteIngressRequest& request) const;
@@ -427,6 +483,9 @@ namespace AlibabaCloud
 			DeployApplicationOutcome deployApplication(const Model::DeployApplicationRequest &request)const;
 			void deployApplicationAsync(const Model::DeployApplicationRequest& request, const DeployApplicationAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeployApplicationOutcomeCallable deployApplicationCallable(const Model::DeployApplicationRequest& request) const;
+			DescribeAppServiceDetailOutcome describeAppServiceDetail(const Model::DescribeAppServiceDetailRequest &request)const;
+			void describeAppServiceDetailAsync(const Model::DescribeAppServiceDetailRequest& request, const DescribeAppServiceDetailAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeAppServiceDetailOutcomeCallable describeAppServiceDetailCallable(const Model::DescribeAppServiceDetailRequest& request) const;
 			DescribeApplicationConfigOutcome describeApplicationConfig(const Model::DescribeApplicationConfigRequest &request)const;
 			void describeApplicationConfigAsync(const Model::DescribeApplicationConfigRequest& request, const DescribeApplicationConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeApplicationConfigOutcomeCallable describeApplicationConfigCallable(const Model::DescribeApplicationConfigRequest& request) const;
@@ -460,6 +519,9 @@ namespace AlibabaCloud
 			DescribeEdasContainersOutcome describeEdasContainers(const Model::DescribeEdasContainersRequest &request)const;
 			void describeEdasContainersAsync(const Model::DescribeEdasContainersRequest& request, const DescribeEdasContainersAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeEdasContainersOutcomeCallable describeEdasContainersCallable(const Model::DescribeEdasContainersRequest& request) const;
+			DescribeGreyTagRouteOutcome describeGreyTagRoute(const Model::DescribeGreyTagRouteRequest &request)const;
+			void describeGreyTagRouteAsync(const Model::DescribeGreyTagRouteRequest& request, const DescribeGreyTagRouteAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeGreyTagRouteOutcomeCallable describeGreyTagRouteCallable(const Model::DescribeGreyTagRouteRequest& request) const;
 			DescribeIngressOutcome describeIngress(const Model::DescribeIngressRequest &request)const;
 			void describeIngressAsync(const Model::DescribeIngressRequest& request, const DescribeIngressAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeIngressOutcomeCallable describeIngressCallable(const Model::DescribeIngressRequest& request) const;
@@ -490,12 +552,18 @@ namespace AlibabaCloud
 			DisableApplicationScalingRuleOutcome disableApplicationScalingRule(const Model::DisableApplicationScalingRuleRequest &request)const;
 			void disableApplicationScalingRuleAsync(const Model::DisableApplicationScalingRuleRequest& request, const DisableApplicationScalingRuleAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DisableApplicationScalingRuleOutcomeCallable disableApplicationScalingRuleCallable(const Model::DisableApplicationScalingRuleRequest& request) const;
+			DownloadFilesOutcome downloadFiles(const Model::DownloadFilesRequest &request)const;
+			void downloadFilesAsync(const Model::DownloadFilesRequest& request, const DownloadFilesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DownloadFilesOutcomeCallable downloadFilesCallable(const Model::DownloadFilesRequest& request) const;
 			EnableApplicationScalingRuleOutcome enableApplicationScalingRule(const Model::EnableApplicationScalingRuleRequest &request)const;
 			void enableApplicationScalingRuleAsync(const Model::EnableApplicationScalingRuleRequest& request, const EnableApplicationScalingRuleAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			EnableApplicationScalingRuleOutcomeCallable enableApplicationScalingRuleCallable(const Model::EnableApplicationScalingRuleRequest& request) const;
 			ListAppEventsOutcome listAppEvents(const Model::ListAppEventsRequest &request)const;
 			void listAppEventsAsync(const Model::ListAppEventsRequest& request, const ListAppEventsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ListAppEventsOutcomeCallable listAppEventsCallable(const Model::ListAppEventsRequest& request) const;
+			ListAppServicesPageOutcome listAppServicesPage(const Model::ListAppServicesPageRequest &request)const;
+			void listAppServicesPageAsync(const Model::ListAppServicesPageRequest& request, const ListAppServicesPageAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListAppServicesPageOutcomeCallable listAppServicesPageCallable(const Model::ListAppServicesPageRequest& request) const;
 			ListAppVersionsOutcome listAppVersions(const Model::ListAppVersionsRequest &request)const;
 			void listAppVersionsAsync(const Model::ListAppVersionsRequest& request, const ListAppVersionsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ListAppVersionsOutcomeCallable listAppVersionsCallable(const Model::ListAppVersionsRequest& request) const;
@@ -508,6 +576,9 @@ namespace AlibabaCloud
 			ListConsumedServicesOutcome listConsumedServices(const Model::ListConsumedServicesRequest &request)const;
 			void listConsumedServicesAsync(const Model::ListConsumedServicesRequest& request, const ListConsumedServicesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ListConsumedServicesOutcomeCallable listConsumedServicesCallable(const Model::ListConsumedServicesRequest& request) const;
+			ListGreyTagRouteOutcome listGreyTagRoute(const Model::ListGreyTagRouteRequest &request)const;
+			void listGreyTagRouteAsync(const Model::ListGreyTagRouteRequest& request, const ListGreyTagRouteAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListGreyTagRouteOutcomeCallable listGreyTagRouteCallable(const Model::ListGreyTagRouteRequest& request) const;
 			ListIngressesOutcome listIngresses(const Model::ListIngressesRequest &request)const;
 			void listIngressesAsync(const Model::ListIngressesRequest& request, const ListIngressesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ListIngressesOutcomeCallable listIngressesCallable(const Model::ListIngressesRequest& request) const;
@@ -532,6 +603,9 @@ namespace AlibabaCloud
 			QueryResourceStaticsOutcome queryResourceStatics(const Model::QueryResourceStaticsRequest &request)const;
 			void queryResourceStaticsAsync(const Model::QueryResourceStaticsRequest& request, const QueryResourceStaticsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			QueryResourceStaticsOutcomeCallable queryResourceStaticsCallable(const Model::QueryResourceStaticsRequest& request) const;
+			ReduceApplicationCapacityByInstanceIdsOutcome reduceApplicationCapacityByInstanceIds(const Model::ReduceApplicationCapacityByInstanceIdsRequest &request)const;
+			void reduceApplicationCapacityByInstanceIdsAsync(const Model::ReduceApplicationCapacityByInstanceIdsRequest& request, const ReduceApplicationCapacityByInstanceIdsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ReduceApplicationCapacityByInstanceIdsOutcomeCallable reduceApplicationCapacityByInstanceIdsCallable(const Model::ReduceApplicationCapacityByInstanceIdsRequest& request) const;
 			RescaleApplicationOutcome rescaleApplication(const Model::RescaleApplicationRequest &request)const;
 			void rescaleApplicationAsync(const Model::RescaleApplicationRequest& request, const RescaleApplicationAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			RescaleApplicationOutcomeCallable rescaleApplicationCallable(const Model::RescaleApplicationRequest& request) const;
@@ -571,6 +645,9 @@ namespace AlibabaCloud
 			UpdateConfigMapOutcome updateConfigMap(const Model::UpdateConfigMapRequest &request)const;
 			void updateConfigMapAsync(const Model::UpdateConfigMapRequest& request, const UpdateConfigMapAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			UpdateConfigMapOutcomeCallable updateConfigMapCallable(const Model::UpdateConfigMapRequest& request) const;
+			UpdateGreyTagRouteOutcome updateGreyTagRoute(const Model::UpdateGreyTagRouteRequest &request)const;
+			void updateGreyTagRouteAsync(const Model::UpdateGreyTagRouteRequest& request, const UpdateGreyTagRouteAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			UpdateGreyTagRouteOutcomeCallable updateGreyTagRouteCallable(const Model::UpdateGreyTagRouteRequest& request) const;
 			UpdateIngressOutcome updateIngress(const Model::UpdateIngressRequest &request)const;
 			void updateIngressAsync(const Model::UpdateIngressRequest& request, const UpdateIngressAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			UpdateIngressOutcomeCallable updateIngressCallable(const Model::UpdateIngressRequest& request) const;
@@ -580,6 +657,9 @@ namespace AlibabaCloud
 			UpdateNamespaceVpcOutcome updateNamespaceVpc(const Model::UpdateNamespaceVpcRequest &request)const;
 			void updateNamespaceVpcAsync(const Model::UpdateNamespaceVpcRequest& request, const UpdateNamespaceVpcAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			UpdateNamespaceVpcOutcomeCallable updateNamespaceVpcCallable(const Model::UpdateNamespaceVpcRequest& request) const;
+			UploadFilesOutcome uploadFiles(const Model::UploadFilesRequest &request)const;
+			void uploadFilesAsync(const Model::UploadFilesRequest& request, const UploadFilesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			UploadFilesOutcomeCallable uploadFilesCallable(const Model::UploadFilesRequest& request) const;
 	
 		private:
 			std::shared_ptr<EndpointProvider> endpointProvider_;

+ 72 - 48
sae/include/alibabacloud/sae/model/CreateApplicationRequest.h

@@ -37,10 +37,50 @@ namespace AlibabaCloud
 
 				std::string getNasId()const;
 				void setNasId(const std::string& nasId);
-				std::string getWebContainer()const;
-				void setWebContainer(const std::string& webContainer);
 				std::string getJarStartArgs()const;
 				void setJarStartArgs(const std::string& jarStartArgs);
+				std::string getOssAkSecret()const;
+				void setOssAkSecret(const std::string& ossAkSecret);
+				std::string getMountHost()const;
+				void setMountHost(const std::string& mountHost);
+				bool getAutoConfig()const;
+				void setAutoConfig(bool autoConfig);
+				std::string getEnvs()const;
+				void setEnvs(const std::string& envs);
+				std::string getPhpPECLExtensions()const;
+				void setPhpPECLExtensions(const std::string& phpPECLExtensions);
+				std::string getPhpArmsConfigLocation()const;
+				void setPhpArmsConfigLocation(const std::string& phpArmsConfigLocation);
+				std::string getCustomHostAlias()const;
+				void setCustomHostAlias(const std::string& customHostAlias);
+				bool getDeploy()const;
+				void setDeploy(bool deploy);
+				std::string getJarStartOptions()const;
+				void setJarStartOptions(const std::string& jarStartOptions);
+				std::string getAppName()const;
+				void setAppName(const std::string& appName);
+				std::string getNamespaceId()const;
+				void setNamespaceId(const std::string& namespaceId);
+				std::string getConfigMapMountDesc()const;
+				void setConfigMapMountDesc(const std::string& configMapMountDesc);
+				std::string getOssMountDescs()const;
+				void setOssMountDescs(const std::string& ossMountDescs);
+				std::string getPreStop()const;
+				void setPreStop(const std::string& preStop);
+				int getCpu()const;
+				void setCpu(int cpu);
+				std::string getVSwitchId()const;
+				void setVSwitchId(const std::string& vSwitchId);
+				std::string getPackageType()const;
+				void setPackageType(const std::string& packageType);
+				std::string getPostStart()const;
+				void setPostStart(const std::string& postStart);
+				std::string getPhpExtensions()const;
+				void setPhpExtensions(const std::string& phpExtensions);
+				bool getAssociateEip()const;
+				void setAssociateEip(bool associateEip);
+				std::string getWebContainer()const;
+				void setWebContainer(const std::string& webContainer);
 				int getMemory()const;
 				void setMemory(int memory);
 				std::string getSlsConfigs()const;
@@ -53,113 +93,97 @@ namespace AlibabaCloud
 				void setReadiness(const std::string& readiness);
 				std::string getTimezone()const;
 				void setTimezone(const std::string& timezone);
-				std::string getMountHost()const;
-				void setMountHost(const std::string& mountHost);
-				bool getAutoConfig()const;
-				void setAutoConfig(bool autoConfig);
+				std::string getOssAkId()const;
+				void setOssAkId(const std::string& ossAkId);
 				std::string getLiveness()const;
 				void setLiveness(const std::string& liveness);
 				std::string getSecurityGroupId()const;
 				void setSecurityGroupId(const std::string& securityGroupId);
-				std::string getEnvs()const;
-				void setEnvs(const std::string& envs);
-				std::string getPhpArmsConfigLocation()const;
-				void setPhpArmsConfigLocation(const std::string& phpArmsConfigLocation);
 				std::string getPackageVersion()const;
 				void setPackageVersion(const std::string& packageVersion);
 				std::string getTomcatConfig()const;
 				void setTomcatConfig(const std::string& tomcatConfig);
-				std::string getCustomHostAlias()const;
-				void setCustomHostAlias(const std::string& customHostAlias);
-				bool getDeploy()const;
-				void setDeploy(bool deploy);
 				std::string getWarStartOptions()const;
 				void setWarStartOptions(const std::string& warStartOptions);
-				std::string getJarStartOptions()const;
-				void setJarStartOptions(const std::string& jarStartOptions);
 				std::string getEdasContainerVersion()const;
 				void setEdasContainerVersion(const std::string& edasContainerVersion);
-				std::string getAppName()const;
-				void setAppName(const std::string& appName);
-				std::string getNamespaceId()const;
-				void setNamespaceId(const std::string& namespaceId);
 				std::string getPackageUrl()const;
 				void setPackageUrl(const std::string& packageUrl);
 				int getTerminationGracePeriodSeconds()const;
 				void setTerminationGracePeriodSeconds(int terminationGracePeriodSeconds);
-				std::string getConfigMapMountDesc()const;
-				void setConfigMapMountDesc(const std::string& configMapMountDesc);
 				std::string getPhpConfig()const;
 				void setPhpConfig(const std::string& phpConfig);
-				std::string getPreStop()const;
-				void setPreStop(const std::string& preStop);
 				int getReplicas()const;
 				void setReplicas(int replicas);
-				int getCpu()const;
-				void setCpu(int cpu);
 				std::string getCommand()const;
 				void setCommand(const std::string& command);
 				std::string getMountDesc()const;
 				void setMountDesc(const std::string& mountDesc);
-				std::string getVSwitchId()const;
-				void setVSwitchId(const std::string& vSwitchId);
 				std::string getJdk()const;
 				void setJdk(const std::string& jdk);
 				std::string getAppDescription()const;
 				void setAppDescription(const std::string& appDescription);
+				std::string getAcrInstanceId()const;
+				void setAcrInstanceId(const std::string& acrInstanceId);
 				std::string getVpcId()const;
 				void setVpcId(const std::string& vpcId);
 				std::string getImageUrl()const;
 				void setImageUrl(const std::string& imageUrl);
-				std::string getPackageType()const;
-				void setPackageType(const std::string& packageType);
+				std::string getPhp()const;
+				void setPhp(const std::string& php);
 				std::string getPhpConfigLocation()const;
 				void setPhpConfigLocation(const std::string& phpConfigLocation);
-				std::string getPostStart()const;
-				void setPostStart(const std::string& postStart);
 
             private:
 				std::string nasId_;
-				std::string webContainer_;
 				std::string jarStartArgs_;
+				std::string ossAkSecret_;
+				std::string mountHost_;
+				bool autoConfig_;
+				std::string envs_;
+				std::string phpPECLExtensions_;
+				std::string phpArmsConfigLocation_;
+				std::string customHostAlias_;
+				bool deploy_;
+				std::string jarStartOptions_;
+				std::string appName_;
+				std::string namespaceId_;
+				std::string configMapMountDesc_;
+				std::string ossMountDescs_;
+				std::string preStop_;
+				int cpu_;
+				std::string vSwitchId_;
+				std::string packageType_;
+				std::string postStart_;
+				std::string phpExtensions_;
+				bool associateEip_;
+				std::string webContainer_;
 				int memory_;
 				std::string slsConfigs_;
 				std::string commandArgs_;
 				std::string acrAssumeRoleArn_;
 				std::string readiness_;
 				std::string timezone_;
-				std::string mountHost_;
-				bool autoConfig_;
+				std::string ossAkId_;
 				std::string liveness_;
 				std::string securityGroupId_;
-				std::string envs_;
-				std::string phpArmsConfigLocation_;
 				std::string packageVersion_;
 				std::string tomcatConfig_;
-				std::string customHostAlias_;
-				bool deploy_;
 				std::string warStartOptions_;
-				std::string jarStartOptions_;
 				std::string edasContainerVersion_;
-				std::string appName_;
-				std::string namespaceId_;
 				std::string packageUrl_;
 				int terminationGracePeriodSeconds_;
-				std::string configMapMountDesc_;
 				std::string phpConfig_;
-				std::string preStop_;
 				int replicas_;
-				int cpu_;
 				std::string command_;
 				std::string mountDesc_;
-				std::string vSwitchId_;
 				std::string jdk_;
 				std::string appDescription_;
+				std::string acrInstanceId_;
 				std::string vpcId_;
 				std::string imageUrl_;
-				std::string packageType_;
+				std::string php_;
 				std::string phpConfigLocation_;
-				std::string postStart_;
 
 			};
 		}

+ 3 - 0
sae/include/alibabacloud/sae/model/CreateApplicationScalingRuleRequest.h

@@ -39,6 +39,8 @@ namespace AlibabaCloud
 				void setScalingRuleName(const std::string& scalingRuleName);
 				std::string getMinReadyInstances()const;
 				void setMinReadyInstances(const std::string& minReadyInstances);
+				bool getScalingRuleEnable()const;
+				void setScalingRuleEnable(bool scalingRuleEnable);
 				std::string getScalingRuleTimer()const;
 				void setScalingRuleTimer(const std::string& scalingRuleTimer);
 				std::string getScalingRuleMetric()const;
@@ -51,6 +53,7 @@ namespace AlibabaCloud
             private:
 				std::string scalingRuleName_;
 				std::string minReadyInstances_;
+				bool scalingRuleEnable_;
 				std::string scalingRuleTimer_;
 				std::string scalingRuleMetric_;
 				std::string appId_;

+ 1 - 1
sae/include/alibabacloud/sae/model/CreateApplicationScalingRuleResult.h

@@ -59,8 +59,8 @@ namespace AlibabaCloud
 					};
 					bool scaleRuleEnabled;
 					Timer timer;
-					long lastDisableTime;
 					std::string appId;
+					long lastDisableTime;
 					long createTime;
 					long updateTime;
 					Metric metric;

+ 60 - 0
sae/include/alibabacloud/sae/model/CreateGreyTagRouteRequest.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_SAE_MODEL_CREATEGREYTAGROUTEREQUEST_H_
+#define ALIBABACLOUD_SAE_MODEL_CREATEGREYTAGROUTEREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RoaServiceRequest.h>
+#include <alibabacloud/sae/SaeExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Sae
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SAE_EXPORT CreateGreyTagRouteRequest : public RoaServiceRequest
+			{
+
+			public:
+				CreateGreyTagRouteRequest();
+				~CreateGreyTagRouteRequest();
+
+				std::string getAppId()const;
+				void setAppId(const std::string& appId);
+				std::string getName()const;
+				void setName(const std::string& name);
+				std::string getDescription()const;
+				void setDescription(const std::string& description);
+				std::string getDubboRules()const;
+				void setDubboRules(const std::string& dubboRules);
+				std::string getScRules()const;
+				void setScRules(const std::string& scRules);
+
+            private:
+				std::string appId_;
+				std::string name_;
+				std::string description_;
+				std::string dubboRules_;
+				std::string scRules_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SAE_MODEL_CREATEGREYTAGROUTEREQUEST_H_

+ 65 - 0
sae/include/alibabacloud/sae/model/CreateGreyTagRouteResult.h

@@ -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.
+ */
+
+#ifndef ALIBABACLOUD_SAE_MODEL_CREATEGREYTAGROUTERESULT_H_
+#define ALIBABACLOUD_SAE_MODEL_CREATEGREYTAGROUTERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/sae/SaeExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Sae
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SAE_EXPORT CreateGreyTagRouteResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					long greyTagRouteId;
+				};
+
+
+				CreateGreyTagRouteResult();
+				explicit CreateGreyTagRouteResult(const std::string &payload);
+				~CreateGreyTagRouteResult();
+				std::string getMessage()const;
+				std::string getTraceId()const;
+				Data getData()const;
+				std::string getErrorCode()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				std::string traceId_;
+				Data data_;
+				std::string errorCode_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SAE_MODEL_CREATEGREYTAGROUTERESULT_H_

+ 1 - 1
sae/include/alibabacloud/sae/model/CreateNamespaceResult.h

@@ -35,8 +35,8 @@ namespace AlibabaCloud
 				struct Data
 				{
 					std::string namespaceName;
-					std::string regionId;
 					std::string namespaceId;
+					std::string regionId;
 					std::string namespaceDescription;
 				};
 

+ 48 - 0
sae/include/alibabacloud/sae/model/DeleteGreyTagRouteRequest.h

@@ -0,0 +1,48 @@
+/*
+ * 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_SAE_MODEL_DELETEGREYTAGROUTEREQUEST_H_
+#define ALIBABACLOUD_SAE_MODEL_DELETEGREYTAGROUTEREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RoaServiceRequest.h>
+#include <alibabacloud/sae/SaeExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Sae
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SAE_EXPORT DeleteGreyTagRouteRequest : public RoaServiceRequest
+			{
+
+			public:
+				DeleteGreyTagRouteRequest();
+				~DeleteGreyTagRouteRequest();
+
+				long getGreyTagRouteId()const;
+				void setGreyTagRouteId(long greyTagRouteId);
+
+            private:
+				long greyTagRouteId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SAE_MODEL_DELETEGREYTAGROUTEREQUEST_H_

+ 65 - 0
sae/include/alibabacloud/sae/model/DeleteGreyTagRouteResult.h

@@ -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.
+ */
+
+#ifndef ALIBABACLOUD_SAE_MODEL_DELETEGREYTAGROUTERESULT_H_
+#define ALIBABACLOUD_SAE_MODEL_DELETEGREYTAGROUTERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/sae/SaeExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Sae
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SAE_EXPORT DeleteGreyTagRouteResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					long greyTagRouteId;
+				};
+
+
+				DeleteGreyTagRouteResult();
+				explicit DeleteGreyTagRouteResult(const std::string &payload);
+				~DeleteGreyTagRouteResult();
+				std::string getMessage()const;
+				std::string getTraceId()const;
+				Data getData()const;
+				std::string getErrorCode()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				std::string traceId_;
+				Data data_;
+				std::string errorCode_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SAE_MODEL_DELETEGREYTAGROUTERESULT_H_

+ 27 - 0
sae/include/alibabacloud/sae/model/DeployApplicationRequest.h

@@ -45,6 +45,8 @@ namespace AlibabaCloud
 				void setEnableAhas(const std::string& enableAhas);
 				std::string getSlsConfigs()const;
 				void setSlsConfigs(const std::string& slsConfigs);
+				std::string getOssAkSecret()const;
+				void setOssAkSecret(const std::string& ossAkSecret);
 				std::string getCommandArgs()const;
 				void setCommandArgs(const std::string& commandArgs);
 				std::string getAcrAssumeRoleArn()const;
@@ -57,10 +59,14 @@ namespace AlibabaCloud
 				void setMountHost(const std::string& mountHost);
 				int getBatchWaitTime()const;
 				void setBatchWaitTime(int batchWaitTime);
+				std::string getOssAkId()const;
+				void setOssAkId(const std::string& ossAkId);
 				std::string getLiveness()const;
 				void setLiveness(const std::string& liveness);
 				std::string getEnvs()const;
 				void setEnvs(const std::string& envs);
+				std::string getPhpPECLExtensions()const;
+				void setPhpPECLExtensions(const std::string& phpPECLExtensions);
 				std::string getPhpArmsConfigLocation()const;
 				void setPhpArmsConfigLocation(const std::string& phpArmsConfigLocation);
 				std::string getPackageVersion()const;
@@ -81,10 +87,14 @@ namespace AlibabaCloud
 				void setTerminationGracePeriodSeconds(int terminationGracePeriodSeconds);
 				std::string getConfigMapMountDesc()const;
 				void setConfigMapMountDesc(const std::string& configMapMountDesc);
+				std::string getOssMountDescs()const;
+				void setOssMountDescs(const std::string& ossMountDescs);
 				std::string getPhpConfig()const;
 				void setPhpConfig(const std::string& phpConfig);
 				std::string getPreStop()const;
 				void setPreStop(const std::string& preStop);
+				bool getEnableGreyTagRoute()const;
+				void setEnableGreyTagRoute(bool enableGreyTagRoute);
 				std::string getCommand()const;
 				void setCommand(const std::string& command);
 				std::string getUpdateStrategy()const;
@@ -97,16 +107,24 @@ namespace AlibabaCloud
 				void setMinReadyInstances(int minReadyInstances);
 				std::string getChangeOrderDesc()const;
 				void setChangeOrderDesc(const std::string& changeOrderDesc);
+				std::string getAcrInstanceId()const;
+				void setAcrInstanceId(const std::string& acrInstanceId);
 				std::string getAppId()const;
 				void setAppId(const std::string& appId);
 				std::string getImageUrl()const;
 				void setImageUrl(const std::string& imageUrl);
+				std::string getPhp()const;
+				void setPhp(const std::string& php);
 				bool getAutoEnableApplicationScalingRule()const;
 				void setAutoEnableApplicationScalingRule(bool autoEnableApplicationScalingRule);
 				std::string getPhpConfigLocation()const;
 				void setPhpConfigLocation(const std::string& phpConfigLocation);
 				std::string getPostStart()const;
 				void setPostStart(const std::string& postStart);
+				std::string getPhpExtensions()const;
+				void setPhpExtensions(const std::string& phpExtensions);
+				bool getAssociateEip()const;
+				void setAssociateEip(bool associateEip);
 
             private:
 				std::string nasId_;
@@ -114,14 +132,17 @@ namespace AlibabaCloud
 				std::string jarStartArgs_;
 				std::string enableAhas_;
 				std::string slsConfigs_;
+				std::string ossAkSecret_;
 				std::string commandArgs_;
 				std::string acrAssumeRoleArn_;
 				std::string readiness_;
 				std::string timezone_;
 				std::string mountHost_;
 				int batchWaitTime_;
+				std::string ossAkId_;
 				std::string liveness_;
 				std::string envs_;
+				std::string phpPECLExtensions_;
 				std::string phpArmsConfigLocation_;
 				std::string packageVersion_;
 				std::string tomcatConfig_;
@@ -132,19 +153,25 @@ namespace AlibabaCloud
 				std::string packageUrl_;
 				int terminationGracePeriodSeconds_;
 				std::string configMapMountDesc_;
+				std::string ossMountDescs_;
 				std::string phpConfig_;
 				std::string preStop_;
+				bool enableGreyTagRoute_;
 				std::string command_;
 				std::string updateStrategy_;
 				std::string mountDesc_;
 				std::string jdk_;
 				int minReadyInstances_;
 				std::string changeOrderDesc_;
+				std::string acrInstanceId_;
 				std::string appId_;
 				std::string imageUrl_;
+				std::string php_;
 				bool autoEnableApplicationScalingRule_;
 				std::string phpConfigLocation_;
 				std::string postStart_;
+				std::string phpExtensions_;
+				bool associateEip_;
 
 			};
 		}

+ 1 - 0
sae/include/alibabacloud/sae/model/DeployApplicationResult.h

@@ -36,6 +36,7 @@ namespace AlibabaCloud
 				{
 					std::string appId;
 					std::string changeOrderId;
+					bool isNeedApproval;
 				};
 
 

+ 60 - 0
sae/include/alibabacloud/sae/model/DescribeAppServiceDetailRequest.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_SAE_MODEL_DESCRIBEAPPSERVICEDETAILREQUEST_H_
+#define ALIBABACLOUD_SAE_MODEL_DESCRIBEAPPSERVICEDETAILREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RoaServiceRequest.h>
+#include <alibabacloud/sae/SaeExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Sae
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SAE_EXPORT DescribeAppServiceDetailRequest : public RoaServiceRequest
+			{
+
+			public:
+				DescribeAppServiceDetailRequest();
+				~DescribeAppServiceDetailRequest();
+
+				std::string getServiceType()const;
+				void setServiceType(const std::string& serviceType);
+				std::string getAppId()const;
+				void setAppId(const std::string& appId);
+				std::string getServiceVersion()const;
+				void setServiceVersion(const std::string& serviceVersion);
+				std::string getServiceName()const;
+				void setServiceName(const std::string& serviceName);
+				std::string getServiceGroup()const;
+				void setServiceGroup(const std::string& serviceGroup);
+
+            private:
+				std::string serviceType_;
+				std::string appId_;
+				std::string serviceVersion_;
+				std::string serviceName_;
+				std::string serviceGroup_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SAE_MODEL_DESCRIBEAPPSERVICEDETAILREQUEST_H_

+ 92 - 0
sae/include/alibabacloud/sae/model/DescribeAppServiceDetailResult.h

@@ -0,0 +1,92 @@
+/*
+ * 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_SAE_MODEL_DESCRIBEAPPSERVICEDETAILRESULT_H_
+#define ALIBABACLOUD_SAE_MODEL_DESCRIBEAPPSERVICEDETAILRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/sae/SaeExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Sae
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SAE_EXPORT DescribeAppServiceDetailResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					struct Method
+					{
+						struct ParameterDefinition
+						{
+							std::string type;
+							std::string description;
+							std::string name;
+						};
+						std::vector<Method::ParameterDefinition> parameterDefinitions;
+						std::vector<std::string> parameterDetails;
+						std::string methodController;
+						std::vector<std::string> requestMethods;
+						std::vector<std::string> parameterTypes;
+						std::vector<std::string> paths;
+						std::string returnType;
+						std::string returnDetails;
+						std::string name;
+						std::string nameDetail;
+					};
+					std::string group;
+					std::string serviceName;
+					std::string version;
+					std::string serviceType;
+					std::string edasAppName;
+					std::string metadata;
+					std::vector<Method> methods;
+					std::string springApplicationName;
+					std::string dubboApplicationName;
+				};
+
+
+				DescribeAppServiceDetailResult();
+				explicit DescribeAppServiceDetailResult(const std::string &payload);
+				~DescribeAppServiceDetailResult();
+				std::string getMessage()const;
+				std::string getTraceId()const;
+				Data getData()const;
+				std::string getErrorCode()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				std::string traceId_;
+				Data data_;
+				std::string errorCode_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SAE_MODEL_DESCRIBEAPPSERVICEDETAILRESULT_H_

+ 45 - 27
sae/include/alibabacloud/sae/model/DescribeApplicationConfigResult.h

@@ -34,68 +34,86 @@ namespace AlibabaCloud
 			public:
 				struct Data
 				{
-					struct MountDescItem
+					struct ConfigMapMountDescItem
 					{
 						std::string mountPath;
-						std::string nasPath;
+						long configMapId;
+						std::string configMapName;
+						std::string key;
 					};
 					struct Tag
 					{
 						std::string value;
 						std::string key;
 					};
-					struct ConfigMapMountDescItem
+					struct MountDescItem
 					{
 						std::string mountPath;
-						long configMapId;
-						std::string configMapName;
-						std::string key;
+						std::string nasPath;
+					};
+					struct OssMountDesc
+					{
+						std::string mountPath;
+						bool readOnly;
+						std::string bucketName;
+						std::string bucketPath;
 					};
 					std::string timezone;
-					std::string appDescription;
 					std::string phpConfig;
 					std::vector<MountDescItem> mountDesc;
-					std::string nasId;
-					std::string warStartOptions;
 					std::string liveness;
+					std::string warStartOptions;
 					int memory;
 					std::string webContainer;
-					std::string slsConfigs;
 					int cpu;
-					std::string packageVersion;
-					std::string appName;
-					std::string jdk;
 					std::string jarStartArgs;
-					int minReadyInstances;
 					std::string preStop;
-					std::string readiness;
+					int minReadyInstances;
 					std::string phpArmsConfigLocation;
 					std::string packageType;
 					std::vector<Tag> tags;
+					std::string ossAkSecret;
+					std::string mseApplicationId;
+					std::string vSwitchId;
+					std::string imageUrl;
+					std::string postStart;
+					std::vector<ConfigMapMountDescItem> configMapMountDesc;
+					std::string phpExtensions;
+					std::string vpcId;
+					std::string appId;
+					std::string edasContainerVersion;
+					std::string namespaceId;
+					std::string tomcatConfig;
+					std::string appDescription;
+					std::string nasId;
+					std::string acrInstanceId;
+					std::string slsConfigs;
+					std::string updateStrategy;
+					std::string ossAkId;
+					std::vector<OssMountDesc> ossMountDescs;
+					std::string packageVersion;
+					std::string appName;
+					bool enableGreyTagRoute;
+					std::string jdk;
+					std::string readiness;
+					std::string php;
 					std::string commandArgs;
 					std::string acrAssumeRoleArn;
 					int terminationGracePeriodSeconds;
-					std::string envs;
-					std::string vSwitchId;
 					std::string securityGroupId;
-					std::string postStart;
-					std::string imageUrl;
-					std::string mountHost;
+					std::string envs;
 					std::string jarStartOptions;
+					std::string mountHost;
 					int replicas;
 					std::string customHostAlias;
-					std::vector<ConfigMapMountDescItem> configMapMountDesc;
-					std::string appId;
-					std::string vpcId;
-					std::string edasContainerVersion;
 					std::string command;
-					std::string phpConfigLocation;
+					bool associateEip;
 					std::string packageUrl;
+					std::string phpConfigLocation;
 					int batchWaitTime;
+					std::string phpPECLExtensions;
 					std::string regionId;
-					std::string namespaceId;
 					std::string enableAhas;
-					std::string tomcatConfig;
 				};
 
 

+ 3 - 0
sae/include/alibabacloud/sae/model/DescribeApplicationInstancesRequest.h

@@ -43,12 +43,15 @@ namespace AlibabaCloud
 				void setPageSize(int pageSize);
 				int getCurrentPage()const;
 				void setCurrentPage(int currentPage);
+				bool getReverse()const;
+				void setReverse(bool reverse);
 
             private:
 				std::string appId_;
 				std::string groupId_;
 				int pageSize_;
 				int currentPage_;
+				bool reverse_;
 
 			};
 		}

+ 3 - 2
sae/include/alibabacloud/sae/model/DescribeApplicationInstancesResult.h

@@ -36,14 +36,15 @@ namespace AlibabaCloud
 				{
 					struct Instance
 					{
-						std::string instanceContainerIp;
 						std::string instanceHealthStatus;
+						std::string instanceContainerIp;
 						std::string instanceId;
 						std::string vSwitchId;
 						std::string imageUrl;
 						long instanceContainerRestarts;
-						std::string packageVersion;
 						std::string instanceContainerStatus;
+						std::string packageVersion;
+						std::string eip;
 						long createTimeStamp;
 						std::string groupId;
 					};

+ 25 - 7
sae/include/alibabacloud/sae/model/DescribeApplicationScalingRulesResult.h

@@ -42,6 +42,8 @@ namespace AlibabaCloud
 							{
 								int targetReplicas;
 								std::string atTime;
+								long minReplicas;
+								long maxReplicas;
 							};
 							std::vector<Schedule> schedules;
 							std::string period;
@@ -52,25 +54,39 @@ namespace AlibabaCloud
 						{
 							struct MetricsStatus
 							{
-								struct NextScaleMetric
-								{
-									int nextScaleInAverageUtilization;
-									std::string name;
-									int nextScaleOutAverageUtilization;
-								};
 								struct CurrentMetric
 								{
 									std::string type;
 									long currentValue;
 									std::string name;
 								};
+								struct NextScaleMetric
+								{
+									int nextScaleInAverageUtilization;
+									int nextScaleOutAverageUtilization;
+									std::string name;
+								};
 								std::vector<NextScaleMetric> nextScaleMetrics;
 								long desiredReplicas;
 								std::vector<CurrentMetric> currentMetrics;
 								long currentReplicas;
+								long minReplicas;
 								int nextScaleTimePeriod;
+								long maxReplicas;
 								std::string lastScaleTime;
 							};
+							struct ScaleUpRules
+							{
+								long step;
+								long stabilizationWindowSeconds;
+								bool disabled;
+							};
+							struct ScaleDownRules
+							{
+								long step;
+								long stabilizationWindowSeconds;
+								bool disabled;
+							};
 							struct Metric1
 							{
 								std::string metricType;
@@ -78,13 +94,15 @@ namespace AlibabaCloud
 							};
 							std::vector<Metric1> metrics;
 							int minReplicas;
+							ScaleDownRules scaleDownRules;
 							int maxReplicas;
 							MetricsStatus metricsStatus;
+							ScaleUpRules scaleUpRules;
 						};
 						bool scaleRuleEnabled;
 						Timer timer;
-						long lastDisableTime;
 						std::string appId;
+						long lastDisableTime;
 						long createTime;
 						long updateTime;
 						Metric metric;

+ 3 - 0
sae/include/alibabacloud/sae/model/DescribeApplicationStatusResult.h

@@ -34,6 +34,7 @@ namespace AlibabaCloud
 			public:
 				struct Data
 				{
+					bool enableAgent;
 					std::string armsAdvancedEnabled;
 					std::string armsApmInfo;
 					std::string appId;
@@ -42,7 +43,9 @@ namespace AlibabaCloud
 					std::string lastChangeOrderId;
 					std::string createTime;
 					int runningInstances;
+					std::string subStatus;
 					std::string lastChangeOrderStatus;
+					long fileSizeLimit;
 				};
 
 

+ 5 - 3
sae/include/alibabacloud/sae/model/DescribeChangeOrderResult.h

@@ -38,9 +38,9 @@ namespace AlibabaCloud
 					{
 						int status;
 						std::string pipelineName;
-						int parallelCount;
-						long updateTime;
 						long startTime;
+						long updateTime;
+						int parallelCount;
 						std::string pipelineId;
 						int batchType;
 					};
@@ -50,14 +50,16 @@ namespace AlibabaCloud
 					bool supportAbortFreeze;
 					std::vector<std::string> coTargets;
 					std::string createTime;
+					std::string approvalId;
 					std::string changeOrderId;
 					std::string batchType;
 					std::string appName;
 					std::string currentPipelineId;
-					bool _auto;
 					std::string coTypeCode;
+					bool _auto;
 					bool supportRollback;
 					int batchWaitTime;
+					int subStatus;
 					std::string errorMessage;
 					std::string coType;
 					int batchCount;

+ 48 - 0
sae/include/alibabacloud/sae/model/DescribeGreyTagRouteRequest.h

@@ -0,0 +1,48 @@
+/*
+ * 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_SAE_MODEL_DESCRIBEGREYTAGROUTEREQUEST_H_
+#define ALIBABACLOUD_SAE_MODEL_DESCRIBEGREYTAGROUTEREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RoaServiceRequest.h>
+#include <alibabacloud/sae/SaeExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Sae
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SAE_EXPORT DescribeGreyTagRouteRequest : public RoaServiceRequest
+			{
+
+			public:
+				DescribeGreyTagRouteRequest();
+				~DescribeGreyTagRouteRequest();
+
+				long getGreyTagRouteId()const;
+				void setGreyTagRouteId(long greyTagRouteId);
+
+            private:
+				long greyTagRouteId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SAE_MODEL_DESCRIBEGREYTAGROUTEREQUEST_H_

+ 106 - 0
sae/include/alibabacloud/sae/model/DescribeGreyTagRouteResult.h

@@ -0,0 +1,106 @@
+/*
+ * 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_SAE_MODEL_DESCRIBEGREYTAGROUTERESULT_H_
+#define ALIBABACLOUD_SAE_MODEL_DESCRIBEGREYTAGROUTERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/sae/SaeExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Sae
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SAE_EXPORT DescribeGreyTagRouteResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					struct ScRule
+					{
+						struct Item
+						{
+							std::string type;
+							std::string cond;
+							std::string expr;
+							std::string value;
+							int index;
+							std::string _operator;
+							std::string name;
+						};
+						std::string path;
+						std::string condition;
+						std::vector<ScRule::Item> items;
+					};
+					struct DubboRule
+					{
+						struct Item2
+						{
+							std::string type;
+							std::string cond;
+							std::string expr;
+							std::string value;
+							int index;
+							std::string _operator;
+							std::string name;
+						};
+						std::string condition;
+						std::string group;
+						std::string serviceName;
+						std::string version;
+						std::string methodName;
+						std::vector<DubboRule::Item2> items1;
+					};
+					std::string description;
+					long greyTagRouteId;
+					long createTime;
+					std::vector<ScRule> scRules;
+					long updateTime;
+					std::vector<DubboRule> dubboRules;
+					std::string name;
+				};
+
+
+				DescribeGreyTagRouteResult();
+				explicit DescribeGreyTagRouteResult(const std::string &payload);
+				~DescribeGreyTagRouteResult();
+				std::string getMessage()const;
+				std::string getTraceId()const;
+				Data getData()const;
+				std::string getErrorCode()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				std::string traceId_;
+				Data data_;
+				std::string errorCode_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SAE_MODEL_DESCRIBEGREYTAGROUTERESULT_H_

+ 3 - 3
sae/include/alibabacloud/sae/model/DescribePipelineResult.h

@@ -42,8 +42,8 @@ namespace AlibabaCloud
 							int errorIgnore;
 							std::string taskId;
 							std::string message;
-							bool showManualIgnore;
 							std::string taskName;
+							bool showManualIgnore;
 							std::string stageId;
 							std::string errorCode;
 							std::string errorMessage;
@@ -51,16 +51,16 @@ namespace AlibabaCloud
 						int status;
 						std::string stageName;
 						std::vector<Stage::Task> taskList;
-						int executorType;
 						std::string stageId;
+						int executorType;
 					};
 					int pipelineStatus;
 					bool showBatch;
 					int currentPoint;
 					std::string pipelineName;
 					std::vector<Stage> stageList;
-					std::string pipelineId;
 					std::string currentStageId;
+					std::string pipelineId;
 					std::string coStatus;
 					std::string nextPipelineId;
 				};

+ 1 - 0
sae/include/alibabacloud/sae/model/DescribeRegionsResult.h

@@ -34,6 +34,7 @@ namespace AlibabaCloud
 			public:
 				struct Region
 				{
+					std::vector<std::string> recommendZones;
 					std::string regionId;
 					std::string regionEndpoint;
 					std::string localName;

+ 54 - 0
sae/include/alibabacloud/sae/model/DownloadFilesRequest.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_SAE_MODEL_DOWNLOADFILESREQUEST_H_
+#define ALIBABACLOUD_SAE_MODEL_DOWNLOADFILESREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RoaServiceRequest.h>
+#include <alibabacloud/sae/SaeExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Sae
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SAE_EXPORT DownloadFilesRequest : public RoaServiceRequest
+			{
+
+			public:
+				DownloadFilesRequest();
+				~DownloadFilesRequest();
+
+				std::string getInstanceId()const;
+				void setInstanceId(const std::string& instanceId);
+				std::string getLocalpath()const;
+				void setLocalpath(const std::string& localpath);
+				std::string getAppId()const;
+				void setAppId(const std::string& appId);
+
+            private:
+				std::string instanceId_;
+				std::string localpath_;
+				std::string appId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SAE_MODEL_DOWNLOADFILESREQUEST_H_

+ 61 - 0
sae/include/alibabacloud/sae/model/DownloadFilesResult.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_SAE_MODEL_DOWNLOADFILESRESULT_H_
+#define ALIBABACLOUD_SAE_MODEL_DOWNLOADFILESRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/sae/SaeExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Sae
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SAE_EXPORT DownloadFilesResult : public ServiceResult
+			{
+			public:
+
+
+				DownloadFilesResult();
+				explicit DownloadFilesResult(const std::string &payload);
+				~DownloadFilesResult();
+				std::string getMessage()const;
+				std::string getTraceId()const;
+				std::string getData()const;
+				std::string getErrorCode()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				std::string traceId_;
+				std::string data_;
+				std::string errorCode_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SAE_MODEL_DOWNLOADFILESRESULT_H_

+ 57 - 0
sae/include/alibabacloud/sae/model/ListAppServicesPageRequest.h

@@ -0,0 +1,57 @@
+/*
+ * 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_SAE_MODEL_LISTAPPSERVICESPAGEREQUEST_H_
+#define ALIBABACLOUD_SAE_MODEL_LISTAPPSERVICESPAGEREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RoaServiceRequest.h>
+#include <alibabacloud/sae/SaeExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Sae
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SAE_EXPORT ListAppServicesPageRequest : public RoaServiceRequest
+			{
+
+			public:
+				ListAppServicesPageRequest();
+				~ListAppServicesPageRequest();
+
+				std::string getServiceType()const;
+				void setServiceType(const std::string& serviceType);
+				std::string getAppId()const;
+				void setAppId(const std::string& appId);
+				int getPageSize()const;
+				void setPageSize(int pageSize);
+				int getPageNumber()const;
+				void setPageNumber(int pageNumber);
+
+            private:
+				std::string serviceType_;
+				std::string appId_;
+				int pageSize_;
+				int pageNumber_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SAE_MODEL_LISTAPPSERVICESPAGEREQUEST_H_

+ 80 - 0
sae/include/alibabacloud/sae/model/ListAppServicesPageResult.h

@@ -0,0 +1,80 @@
+/*
+ * 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_SAE_MODEL_LISTAPPSERVICESPAGERESULT_H_
+#define ALIBABACLOUD_SAE_MODEL_LISTAPPSERVICESPAGERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/sae/SaeExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Sae
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SAE_EXPORT ListAppServicesPageResult : public ServiceResult
+			{
+			public:
+				struct DataItem
+				{
+					struct MscAgentServiceResponse
+					{
+						std::string group;
+						std::string edasAppId;
+						std::string gmtModifyTime;
+						std::string version;
+						std::string serviceName;
+						std::string edasAppName;
+						std::string clusterName;
+						long instanceNum;
+					};
+					std::string pageSize;
+					std::string currentPage;
+					std::string pageNumber;
+					std::string totalSize;
+					std::vector<DataItem::MscAgentServiceResponse> result;
+				};
+
+
+				ListAppServicesPageResult();
+				explicit ListAppServicesPageResult(const std::string &payload);
+				~ListAppServicesPageResult();
+				std::string getMessage()const;
+				std::string getTraceId()const;
+				std::vector<DataItem> getData()const;
+				std::string getErrorCode()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				std::string traceId_;
+				std::vector<DataItem> data_;
+				std::string errorCode_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SAE_MODEL_LISTAPPSERVICESPAGERESULT_H_

+ 12 - 0
sae/include/alibabacloud/sae/model/ListApplicationsRequest.h

@@ -41,8 +41,16 @@ namespace AlibabaCloud
 				void setNamespaceId(const std::string& namespaceId);
 				int getPageSize()const;
 				void setPageSize(int pageSize);
+				std::string getOrderBy()const;
+				void setOrderBy(const std::string& orderBy);
 				int getCurrentPage()const;
 				void setCurrentPage(int currentPage);
+				std::string getFieldValue()const;
+				void setFieldValue(const std::string& fieldValue);
+				bool getReverse()const;
+				void setReverse(bool reverse);
+				std::string getFieldType()const;
+				void setFieldType(const std::string& fieldType);
 				std::string getTags()const;
 				void setTags(const std::string& tags);
 
@@ -50,7 +58,11 @@ namespace AlibabaCloud
 				std::string appName_;
 				std::string namespaceId_;
 				int pageSize_;
+				std::string orderBy_;
 				int currentPage_;
+				std::string fieldValue_;
+				bool reverse_;
+				std::string fieldType_;
 				std::string tags_;
 
 			};

+ 9 - 3
sae/include/alibabacloud/sae/model/ListApplicationsResult.h

@@ -41,15 +41,15 @@ namespace AlibabaCloud
 							std::string value;
 							std::string key;
 						};
-						int instances;
 						bool scaleRuleEnabled;
+						int instances;
 						std::string appDescription;
 						std::string appId;
 						int runningInstances;
-						std::string regionId;
 						std::string namespaceId;
-						std::string scaleRuleType;
+						std::string regionId;
 						bool appDeletingStatus;
+						std::string scaleRuleType;
 						std::vector<Application::TagsItem> tags;
 						std::string appName;
 					};
@@ -64,8 +64,11 @@ namespace AlibabaCloud
 				explicit ListApplicationsResult(const std::string &payload);
 				~ListApplicationsResult();
 				std::string getMessage()const;
+				int getPageSize()const;
+				int getCurrentPage()const;
 				Data getData()const;
 				std::string getErrorCode()const;
+				int getTotalSize()const;
 				std::string getCode()const;
 				bool getSuccess()const;
 
@@ -73,8 +76,11 @@ namespace AlibabaCloud
 				void parse(const std::string &payload);
 			private:
 				std::string message_;
+				int pageSize_;
+				int currentPage_;
 				Data data_;
 				std::string errorCode_;
+				int totalSize_;
 				std::string code_;
 				bool success_;
 

+ 48 - 0
sae/include/alibabacloud/sae/model/ListGreyTagRouteRequest.h

@@ -0,0 +1,48 @@
+/*
+ * 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_SAE_MODEL_LISTGREYTAGROUTEREQUEST_H_
+#define ALIBABACLOUD_SAE_MODEL_LISTGREYTAGROUTEREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RoaServiceRequest.h>
+#include <alibabacloud/sae/SaeExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Sae
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SAE_EXPORT ListGreyTagRouteRequest : public RoaServiceRequest
+			{
+
+			public:
+				ListGreyTagRouteRequest();
+				~ListGreyTagRouteRequest();
+
+				std::string getAppId()const;
+				void setAppId(const std::string& appId);
+
+            private:
+				std::string appId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SAE_MODEL_LISTGREYTAGROUTEREQUEST_H_

+ 113 - 0
sae/include/alibabacloud/sae/model/ListGreyTagRouteResult.h

@@ -0,0 +1,113 @@
+/*
+ * 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_SAE_MODEL_LISTGREYTAGROUTERESULT_H_
+#define ALIBABACLOUD_SAE_MODEL_LISTGREYTAGROUTERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/sae/SaeExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Sae
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SAE_EXPORT ListGreyTagRouteResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					struct ResultItem
+					{
+						struct ScRule
+						{
+							struct Item
+							{
+								std::string type;
+								std::string cond;
+								std::string expr;
+								std::string value;
+								int index;
+								std::string _operator;
+								std::string name;
+							};
+							std::string path;
+							std::string condition;
+							std::vector<ScRule::Item> items;
+						};
+						struct DubboRule
+						{
+							struct Item2
+							{
+								std::string type;
+								std::string cond;
+								std::string expr;
+								std::string value;
+								int index;
+								std::string _operator;
+								std::string name;
+							};
+							std::string condition;
+							std::string group;
+							std::string serviceName;
+							std::string version;
+							std::string methodName;
+							std::vector<DubboRule::Item2> items1;
+						};
+						std::string description;
+						long greyTagRouteId;
+						long createTime;
+						std::vector<ResultItem::ScRule> scRules;
+						long updateTime;
+						std::vector<ResultItem::DubboRule> dubboRules;
+						std::string name;
+					};
+					int pageSize;
+					int currentPage;
+					long totalSize;
+					std::vector<ResultItem> result;
+				};
+
+
+				ListGreyTagRouteResult();
+				explicit ListGreyTagRouteResult(const std::string &payload);
+				~ListGreyTagRouteResult();
+				std::string getMessage()const;
+				std::string getTraceId()const;
+				Data getData()const;
+				std::string getErrorCode()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				std::string traceId_;
+				Data data_;
+				std::string errorCode_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SAE_MODEL_LISTGREYTAGROUTERESULT_H_

+ 51 - 0
sae/include/alibabacloud/sae/model/ReduceApplicationCapacityByInstanceIdsRequest.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_SAE_MODEL_REDUCEAPPLICATIONCAPACITYBYINSTANCEIDSREQUEST_H_
+#define ALIBABACLOUD_SAE_MODEL_REDUCEAPPLICATIONCAPACITYBYINSTANCEIDSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RoaServiceRequest.h>
+#include <alibabacloud/sae/SaeExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Sae
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SAE_EXPORT ReduceApplicationCapacityByInstanceIdsRequest : public RoaServiceRequest
+			{
+
+			public:
+				ReduceApplicationCapacityByInstanceIdsRequest();
+				~ReduceApplicationCapacityByInstanceIdsRequest();
+
+				std::string getInstanceIds()const;
+				void setInstanceIds(const std::string& instanceIds);
+				std::string getAppId()const;
+				void setAppId(const std::string& appId);
+
+            private:
+				std::string instanceIds_;
+				std::string appId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SAE_MODEL_REDUCEAPPLICATIONCAPACITYBYINSTANCEIDSREQUEST_H_

+ 65 - 0
sae/include/alibabacloud/sae/model/ReduceApplicationCapacityByInstanceIdsResult.h

@@ -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.
+ */
+
+#ifndef ALIBABACLOUD_SAE_MODEL_REDUCEAPPLICATIONCAPACITYBYINSTANCEIDSRESULT_H_
+#define ALIBABACLOUD_SAE_MODEL_REDUCEAPPLICATIONCAPACITYBYINSTANCEIDSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/sae/SaeExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Sae
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SAE_EXPORT ReduceApplicationCapacityByInstanceIdsResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					std::string changeOrderId;
+				};
+
+
+				ReduceApplicationCapacityByInstanceIdsResult();
+				explicit ReduceApplicationCapacityByInstanceIdsResult(const std::string &payload);
+				~ReduceApplicationCapacityByInstanceIdsResult();
+				std::string getMessage()const;
+				std::string getTraceId()const;
+				Data getData()const;
+				std::string getErrorCode()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				std::string traceId_;
+				Data data_;
+				std::string errorCode_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SAE_MODEL_REDUCEAPPLICATIONCAPACITYBYINSTANCEIDSRESULT_H_

+ 3 - 0
sae/include/alibabacloud/sae/model/RescaleApplicationRequest.h

@@ -41,11 +41,14 @@ namespace AlibabaCloud
 				void setReplicas(int replicas);
 				std::string getAppId()const;
 				void setAppId(const std::string& appId);
+				bool getAutoEnableApplicationScalingRule()const;
+				void setAutoEnableApplicationScalingRule(bool autoEnableApplicationScalingRule);
 
             private:
 				int minReadyInstances_;
 				int replicas_;
 				std::string appId_;
+				bool autoEnableApplicationScalingRule_;
 
 			};
 		}

+ 1 - 0
sae/include/alibabacloud/sae/model/RollbackApplicationResult.h

@@ -35,6 +35,7 @@ namespace AlibabaCloud
 				struct Data
 				{
 					std::string changeOrderId;
+					bool isNeedApproval;
 				};
 
 

+ 57 - 0
sae/include/alibabacloud/sae/model/UpdateGreyTagRouteRequest.h

@@ -0,0 +1,57 @@
+/*
+ * 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_SAE_MODEL_UPDATEGREYTAGROUTEREQUEST_H_
+#define ALIBABACLOUD_SAE_MODEL_UPDATEGREYTAGROUTEREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RoaServiceRequest.h>
+#include <alibabacloud/sae/SaeExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Sae
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SAE_EXPORT UpdateGreyTagRouteRequest : public RoaServiceRequest
+			{
+
+			public:
+				UpdateGreyTagRouteRequest();
+				~UpdateGreyTagRouteRequest();
+
+				long getGreyTagRouteId()const;
+				void setGreyTagRouteId(long greyTagRouteId);
+				std::string getDescription()const;
+				void setDescription(const std::string& description);
+				std::string getDubboRules()const;
+				void setDubboRules(const std::string& dubboRules);
+				std::string getScRules()const;
+				void setScRules(const std::string& scRules);
+
+            private:
+				long greyTagRouteId_;
+				std::string description_;
+				std::string dubboRules_;
+				std::string scRules_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SAE_MODEL_UPDATEGREYTAGROUTEREQUEST_H_

+ 65 - 0
sae/include/alibabacloud/sae/model/UpdateGreyTagRouteResult.h

@@ -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.
+ */
+
+#ifndef ALIBABACLOUD_SAE_MODEL_UPDATEGREYTAGROUTERESULT_H_
+#define ALIBABACLOUD_SAE_MODEL_UPDATEGREYTAGROUTERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/sae/SaeExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Sae
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SAE_EXPORT UpdateGreyTagRouteResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					long greyTagRouteId;
+				};
+
+
+				UpdateGreyTagRouteResult();
+				explicit UpdateGreyTagRouteResult(const std::string &payload);
+				~UpdateGreyTagRouteResult();
+				std::string getMessage()const;
+				std::string getTraceId()const;
+				Data getData()const;
+				std::string getErrorCode()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				std::string traceId_;
+				Data data_;
+				std::string errorCode_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SAE_MODEL_UPDATEGREYTAGROUTERESULT_H_

+ 57 - 0
sae/include/alibabacloud/sae/model/UploadFilesRequest.h

@@ -0,0 +1,57 @@
+/*
+ * 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_SAE_MODEL_UPLOADFILESREQUEST_H_
+#define ALIBABACLOUD_SAE_MODEL_UPLOADFILESREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RoaServiceRequest.h>
+#include <alibabacloud/sae/SaeExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Sae
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SAE_EXPORT UploadFilesRequest : public RoaServiceRequest
+			{
+
+			public:
+				UploadFilesRequest();
+				~UploadFilesRequest();
+
+				std::string getInstanceId()const;
+				void setInstanceId(const std::string& instanceId);
+				std::string getCloudUrl()const;
+				void setCloudUrl(const std::string& cloudUrl);
+				std::string getLocalpath()const;
+				void setLocalpath(const std::string& localpath);
+				std::string getAppId()const;
+				void setAppId(const std::string& appId);
+
+            private:
+				std::string instanceId_;
+				std::string cloudUrl_;
+				std::string localpath_;
+				std::string appId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SAE_MODEL_UPLOADFILESREQUEST_H_

+ 61 - 0
sae/include/alibabacloud/sae/model/UploadFilesResult.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_SAE_MODEL_UPLOADFILESRESULT_H_
+#define ALIBABACLOUD_SAE_MODEL_UPLOADFILESRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/sae/SaeExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Sae
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_SAE_EXPORT UploadFilesResult : public ServiceResult
+			{
+			public:
+
+
+				UploadFilesResult();
+				explicit UploadFilesResult(const std::string &payload);
+				~UploadFilesResult();
+				std::string getMessage()const;
+				std::string getTraceId()const;
+				std::string getData()const;
+				std::string getErrorCode()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				std::string traceId_;
+				std::string data_;
+				std::string errorCode_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_SAE_MODEL_UPLOADFILESRESULT_H_

+ 360 - 0
sae/src/SaeClient.cc

@@ -375,6 +375,42 @@ SaeClient::CreateConfigMapOutcomeCallable SaeClient::createConfigMapCallable(con
 	return task->get_future();
 }
 
+SaeClient::CreateGreyTagRouteOutcome SaeClient::createGreyTagRoute(const CreateGreyTagRouteRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return CreateGreyTagRouteOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return CreateGreyTagRouteOutcome(CreateGreyTagRouteResult(outcome.result()));
+	else
+		return CreateGreyTagRouteOutcome(outcome.error());
+}
+
+void SaeClient::createGreyTagRouteAsync(const CreateGreyTagRouteRequest& request, const CreateGreyTagRouteAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, createGreyTagRoute(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+SaeClient::CreateGreyTagRouteOutcomeCallable SaeClient::createGreyTagRouteCallable(const CreateGreyTagRouteRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<CreateGreyTagRouteOutcome()>>(
+			[this, request]()
+			{
+			return this->createGreyTagRoute(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 SaeClient::CreateIngressOutcome SaeClient::createIngress(const CreateIngressRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -555,6 +591,42 @@ SaeClient::DeleteConfigMapOutcomeCallable SaeClient::deleteConfigMapCallable(con
 	return task->get_future();
 }
 
+SaeClient::DeleteGreyTagRouteOutcome SaeClient::deleteGreyTagRoute(const DeleteGreyTagRouteRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DeleteGreyTagRouteOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DeleteGreyTagRouteOutcome(DeleteGreyTagRouteResult(outcome.result()));
+	else
+		return DeleteGreyTagRouteOutcome(outcome.error());
+}
+
+void SaeClient::deleteGreyTagRouteAsync(const DeleteGreyTagRouteRequest& request, const DeleteGreyTagRouteAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, deleteGreyTagRoute(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+SaeClient::DeleteGreyTagRouteOutcomeCallable SaeClient::deleteGreyTagRouteCallable(const DeleteGreyTagRouteRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DeleteGreyTagRouteOutcome()>>(
+			[this, request]()
+			{
+			return this->deleteGreyTagRoute(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 SaeClient::DeleteIngressOutcome SaeClient::deleteIngress(const DeleteIngressRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -663,6 +735,42 @@ SaeClient::DeployApplicationOutcomeCallable SaeClient::deployApplicationCallable
 	return task->get_future();
 }
 
+SaeClient::DescribeAppServiceDetailOutcome SaeClient::describeAppServiceDetail(const DescribeAppServiceDetailRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeAppServiceDetailOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeAppServiceDetailOutcome(DescribeAppServiceDetailResult(outcome.result()));
+	else
+		return DescribeAppServiceDetailOutcome(outcome.error());
+}
+
+void SaeClient::describeAppServiceDetailAsync(const DescribeAppServiceDetailRequest& request, const DescribeAppServiceDetailAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeAppServiceDetail(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+SaeClient::DescribeAppServiceDetailOutcomeCallable SaeClient::describeAppServiceDetailCallable(const DescribeAppServiceDetailRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeAppServiceDetailOutcome()>>(
+			[this, request]()
+			{
+			return this->describeAppServiceDetail(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 SaeClient::DescribeApplicationConfigOutcome SaeClient::describeApplicationConfig(const DescribeApplicationConfigRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -1059,6 +1167,42 @@ SaeClient::DescribeEdasContainersOutcomeCallable SaeClient::describeEdasContaine
 	return task->get_future();
 }
 
+SaeClient::DescribeGreyTagRouteOutcome SaeClient::describeGreyTagRoute(const DescribeGreyTagRouteRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeGreyTagRouteOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeGreyTagRouteOutcome(DescribeGreyTagRouteResult(outcome.result()));
+	else
+		return DescribeGreyTagRouteOutcome(outcome.error());
+}
+
+void SaeClient::describeGreyTagRouteAsync(const DescribeGreyTagRouteRequest& request, const DescribeGreyTagRouteAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeGreyTagRoute(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+SaeClient::DescribeGreyTagRouteOutcomeCallable SaeClient::describeGreyTagRouteCallable(const DescribeGreyTagRouteRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeGreyTagRouteOutcome()>>(
+			[this, request]()
+			{
+			return this->describeGreyTagRoute(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 SaeClient::DescribeIngressOutcome SaeClient::describeIngress(const DescribeIngressRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -1419,6 +1563,42 @@ SaeClient::DisableApplicationScalingRuleOutcomeCallable SaeClient::disableApplic
 	return task->get_future();
 }
 
+SaeClient::DownloadFilesOutcome SaeClient::downloadFiles(const DownloadFilesRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DownloadFilesOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DownloadFilesOutcome(DownloadFilesResult(outcome.result()));
+	else
+		return DownloadFilesOutcome(outcome.error());
+}
+
+void SaeClient::downloadFilesAsync(const DownloadFilesRequest& request, const DownloadFilesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, downloadFiles(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+SaeClient::DownloadFilesOutcomeCallable SaeClient::downloadFilesCallable(const DownloadFilesRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DownloadFilesOutcome()>>(
+			[this, request]()
+			{
+			return this->downloadFiles(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 SaeClient::EnableApplicationScalingRuleOutcome SaeClient::enableApplicationScalingRule(const EnableApplicationScalingRuleRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -1491,6 +1671,42 @@ SaeClient::ListAppEventsOutcomeCallable SaeClient::listAppEventsCallable(const L
 	return task->get_future();
 }
 
+SaeClient::ListAppServicesPageOutcome SaeClient::listAppServicesPage(const ListAppServicesPageRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ListAppServicesPageOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ListAppServicesPageOutcome(ListAppServicesPageResult(outcome.result()));
+	else
+		return ListAppServicesPageOutcome(outcome.error());
+}
+
+void SaeClient::listAppServicesPageAsync(const ListAppServicesPageRequest& request, const ListAppServicesPageAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, listAppServicesPage(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+SaeClient::ListAppServicesPageOutcomeCallable SaeClient::listAppServicesPageCallable(const ListAppServicesPageRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ListAppServicesPageOutcome()>>(
+			[this, request]()
+			{
+			return this->listAppServicesPage(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 SaeClient::ListAppVersionsOutcome SaeClient::listAppVersions(const ListAppVersionsRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -1635,6 +1851,42 @@ SaeClient::ListConsumedServicesOutcomeCallable SaeClient::listConsumedServicesCa
 	return task->get_future();
 }
 
+SaeClient::ListGreyTagRouteOutcome SaeClient::listGreyTagRoute(const ListGreyTagRouteRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ListGreyTagRouteOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ListGreyTagRouteOutcome(ListGreyTagRouteResult(outcome.result()));
+	else
+		return ListGreyTagRouteOutcome(outcome.error());
+}
+
+void SaeClient::listGreyTagRouteAsync(const ListGreyTagRouteRequest& request, const ListGreyTagRouteAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, listGreyTagRoute(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+SaeClient::ListGreyTagRouteOutcomeCallable SaeClient::listGreyTagRouteCallable(const ListGreyTagRouteRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ListGreyTagRouteOutcome()>>(
+			[this, request]()
+			{
+			return this->listGreyTagRoute(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 SaeClient::ListIngressesOutcome SaeClient::listIngresses(const ListIngressesRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -1923,6 +2175,42 @@ SaeClient::QueryResourceStaticsOutcomeCallable SaeClient::queryResourceStaticsCa
 	return task->get_future();
 }
 
+SaeClient::ReduceApplicationCapacityByInstanceIdsOutcome SaeClient::reduceApplicationCapacityByInstanceIds(const ReduceApplicationCapacityByInstanceIdsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ReduceApplicationCapacityByInstanceIdsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ReduceApplicationCapacityByInstanceIdsOutcome(ReduceApplicationCapacityByInstanceIdsResult(outcome.result()));
+	else
+		return ReduceApplicationCapacityByInstanceIdsOutcome(outcome.error());
+}
+
+void SaeClient::reduceApplicationCapacityByInstanceIdsAsync(const ReduceApplicationCapacityByInstanceIdsRequest& request, const ReduceApplicationCapacityByInstanceIdsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, reduceApplicationCapacityByInstanceIds(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+SaeClient::ReduceApplicationCapacityByInstanceIdsOutcomeCallable SaeClient::reduceApplicationCapacityByInstanceIdsCallable(const ReduceApplicationCapacityByInstanceIdsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ReduceApplicationCapacityByInstanceIdsOutcome()>>(
+			[this, request]()
+			{
+			return this->reduceApplicationCapacityByInstanceIds(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 SaeClient::RescaleApplicationOutcome SaeClient::rescaleApplication(const RescaleApplicationRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -2391,6 +2679,42 @@ SaeClient::UpdateConfigMapOutcomeCallable SaeClient::updateConfigMapCallable(con
 	return task->get_future();
 }
 
+SaeClient::UpdateGreyTagRouteOutcome SaeClient::updateGreyTagRoute(const UpdateGreyTagRouteRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return UpdateGreyTagRouteOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return UpdateGreyTagRouteOutcome(UpdateGreyTagRouteResult(outcome.result()));
+	else
+		return UpdateGreyTagRouteOutcome(outcome.error());
+}
+
+void SaeClient::updateGreyTagRouteAsync(const UpdateGreyTagRouteRequest& request, const UpdateGreyTagRouteAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, updateGreyTagRoute(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+SaeClient::UpdateGreyTagRouteOutcomeCallable SaeClient::updateGreyTagRouteCallable(const UpdateGreyTagRouteRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<UpdateGreyTagRouteOutcome()>>(
+			[this, request]()
+			{
+			return this->updateGreyTagRoute(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 SaeClient::UpdateIngressOutcome SaeClient::updateIngress(const UpdateIngressRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -2499,3 +2823,39 @@ SaeClient::UpdateNamespaceVpcOutcomeCallable SaeClient::updateNamespaceVpcCallab
 	return task->get_future();
 }
 
+SaeClient::UploadFilesOutcome SaeClient::uploadFiles(const UploadFilesRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return UploadFilesOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return UploadFilesOutcome(UploadFilesResult(outcome.result()));
+	else
+		return UploadFilesOutcome(outcome.error());
+}
+
+void SaeClient::uploadFilesAsync(const UploadFilesRequest& request, const UploadFilesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, uploadFiles(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+SaeClient::UploadFilesOutcomeCallable SaeClient::uploadFilesCallable(const UploadFilesRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<UploadFilesOutcome()>>(
+			[this, request]()
+			{
+			return this->uploadFiles(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+

+ 251 - 163
sae/src/model/CreateApplicationRequest.cc

@@ -39,26 +39,246 @@ void CreateApplicationRequest::setNasId(const std::string& nasId)
 	setParameter("NasId", nasId);
 }
 
-std::string CreateApplicationRequest::getWebContainer()const
+std::string CreateApplicationRequest::getJarStartArgs()const
 {
-	return webContainer_;
+	return jarStartArgs_;
 }
 
-void CreateApplicationRequest::setWebContainer(const std::string& webContainer)
+void CreateApplicationRequest::setJarStartArgs(const std::string& jarStartArgs)
 {
-	webContainer_ = webContainer;
-	setParameter("WebContainer", webContainer);
+	jarStartArgs_ = jarStartArgs;
+	setParameter("JarStartArgs", jarStartArgs);
 }
 
-std::string CreateApplicationRequest::getJarStartArgs()const
+std::string CreateApplicationRequest::getOssAkSecret()const
 {
-	return jarStartArgs_;
+	return ossAkSecret_;
 }
 
-void CreateApplicationRequest::setJarStartArgs(const std::string& jarStartArgs)
+void CreateApplicationRequest::setOssAkSecret(const std::string& ossAkSecret)
 {
-	jarStartArgs_ = jarStartArgs;
-	setParameter("JarStartArgs", jarStartArgs);
+	ossAkSecret_ = ossAkSecret;
+	setBodyParameter("OssAkSecret", ossAkSecret);
+}
+
+std::string CreateApplicationRequest::getMountHost()const
+{
+	return mountHost_;
+}
+
+void CreateApplicationRequest::setMountHost(const std::string& mountHost)
+{
+	mountHost_ = mountHost;
+	setParameter("MountHost", mountHost);
+}
+
+bool CreateApplicationRequest::getAutoConfig()const
+{
+	return autoConfig_;
+}
+
+void CreateApplicationRequest::setAutoConfig(bool autoConfig)
+{
+	autoConfig_ = autoConfig;
+	setParameter("AutoConfig", autoConfig ? "true" : "false");
+}
+
+std::string CreateApplicationRequest::getEnvs()const
+{
+	return envs_;
+}
+
+void CreateApplicationRequest::setEnvs(const std::string& envs)
+{
+	envs_ = envs;
+	setParameter("Envs", envs);
+}
+
+std::string CreateApplicationRequest::getPhpPECLExtensions()const
+{
+	return phpPECLExtensions_;
+}
+
+void CreateApplicationRequest::setPhpPECLExtensions(const std::string& phpPECLExtensions)
+{
+	phpPECLExtensions_ = phpPECLExtensions;
+	setBodyParameter("PhpPECLExtensions", phpPECLExtensions);
+}
+
+std::string CreateApplicationRequest::getPhpArmsConfigLocation()const
+{
+	return phpArmsConfigLocation_;
+}
+
+void CreateApplicationRequest::setPhpArmsConfigLocation(const std::string& phpArmsConfigLocation)
+{
+	phpArmsConfigLocation_ = phpArmsConfigLocation;
+	setParameter("PhpArmsConfigLocation", phpArmsConfigLocation);
+}
+
+std::string CreateApplicationRequest::getCustomHostAlias()const
+{
+	return customHostAlias_;
+}
+
+void CreateApplicationRequest::setCustomHostAlias(const std::string& customHostAlias)
+{
+	customHostAlias_ = customHostAlias;
+	setParameter("CustomHostAlias", customHostAlias);
+}
+
+bool CreateApplicationRequest::getDeploy()const
+{
+	return deploy_;
+}
+
+void CreateApplicationRequest::setDeploy(bool deploy)
+{
+	deploy_ = deploy;
+	setParameter("Deploy", deploy ? "true" : "false");
+}
+
+std::string CreateApplicationRequest::getJarStartOptions()const
+{
+	return jarStartOptions_;
+}
+
+void CreateApplicationRequest::setJarStartOptions(const std::string& jarStartOptions)
+{
+	jarStartOptions_ = jarStartOptions;
+	setParameter("JarStartOptions", jarStartOptions);
+}
+
+std::string CreateApplicationRequest::getAppName()const
+{
+	return appName_;
+}
+
+void CreateApplicationRequest::setAppName(const std::string& appName)
+{
+	appName_ = appName;
+	setParameter("AppName", appName);
+}
+
+std::string CreateApplicationRequest::getNamespaceId()const
+{
+	return namespaceId_;
+}
+
+void CreateApplicationRequest::setNamespaceId(const std::string& namespaceId)
+{
+	namespaceId_ = namespaceId;
+	setParameter("NamespaceId", namespaceId);
+}
+
+std::string CreateApplicationRequest::getConfigMapMountDesc()const
+{
+	return configMapMountDesc_;
+}
+
+void CreateApplicationRequest::setConfigMapMountDesc(const std::string& configMapMountDesc)
+{
+	configMapMountDesc_ = configMapMountDesc;
+	setBodyParameter("ConfigMapMountDesc", configMapMountDesc);
+}
+
+std::string CreateApplicationRequest::getOssMountDescs()const
+{
+	return ossMountDescs_;
+}
+
+void CreateApplicationRequest::setOssMountDescs(const std::string& ossMountDescs)
+{
+	ossMountDescs_ = ossMountDescs;
+	setBodyParameter("OssMountDescs", ossMountDescs);
+}
+
+std::string CreateApplicationRequest::getPreStop()const
+{
+	return preStop_;
+}
+
+void CreateApplicationRequest::setPreStop(const std::string& preStop)
+{
+	preStop_ = preStop;
+	setParameter("PreStop", preStop);
+}
+
+int CreateApplicationRequest::getCpu()const
+{
+	return cpu_;
+}
+
+void CreateApplicationRequest::setCpu(int cpu)
+{
+	cpu_ = cpu;
+	setParameter("Cpu", std::to_string(cpu));
+}
+
+std::string CreateApplicationRequest::getVSwitchId()const
+{
+	return vSwitchId_;
+}
+
+void CreateApplicationRequest::setVSwitchId(const std::string& vSwitchId)
+{
+	vSwitchId_ = vSwitchId;
+	setParameter("VSwitchId", vSwitchId);
+}
+
+std::string CreateApplicationRequest::getPackageType()const
+{
+	return packageType_;
+}
+
+void CreateApplicationRequest::setPackageType(const std::string& packageType)
+{
+	packageType_ = packageType;
+	setParameter("PackageType", packageType);
+}
+
+std::string CreateApplicationRequest::getPostStart()const
+{
+	return postStart_;
+}
+
+void CreateApplicationRequest::setPostStart(const std::string& postStart)
+{
+	postStart_ = postStart;
+	setParameter("PostStart", postStart);
+}
+
+std::string CreateApplicationRequest::getPhpExtensions()const
+{
+	return phpExtensions_;
+}
+
+void CreateApplicationRequest::setPhpExtensions(const std::string& phpExtensions)
+{
+	phpExtensions_ = phpExtensions;
+	setBodyParameter("PhpExtensions", phpExtensions);
+}
+
+bool CreateApplicationRequest::getAssociateEip()const
+{
+	return associateEip_;
+}
+
+void CreateApplicationRequest::setAssociateEip(bool associateEip)
+{
+	associateEip_ = associateEip;
+	setBodyParameter("AssociateEip", associateEip ? "true" : "false");
+}
+
+std::string CreateApplicationRequest::getWebContainer()const
+{
+	return webContainer_;
+}
+
+void CreateApplicationRequest::setWebContainer(const std::string& webContainer)
+{
+	webContainer_ = webContainer;
+	setParameter("WebContainer", webContainer);
 }
 
 int CreateApplicationRequest::getMemory()const
@@ -127,26 +347,15 @@ void CreateApplicationRequest::setTimezone(const std::string& timezone)
 	setParameter("Timezone", timezone);
 }
 
-std::string CreateApplicationRequest::getMountHost()const
+std::string CreateApplicationRequest::getOssAkId()const
 {
-	return mountHost_;
+	return ossAkId_;
 }
 
-void CreateApplicationRequest::setMountHost(const std::string& mountHost)
+void CreateApplicationRequest::setOssAkId(const std::string& ossAkId)
 {
-	mountHost_ = mountHost;
-	setParameter("MountHost", mountHost);
-}
-
-bool CreateApplicationRequest::getAutoConfig()const
-{
-	return autoConfig_;
-}
-
-void CreateApplicationRequest::setAutoConfig(bool autoConfig)
-{
-	autoConfig_ = autoConfig;
-	setParameter("AutoConfig", autoConfig ? "true" : "false");
+	ossAkId_ = ossAkId;
+	setBodyParameter("OssAkId", ossAkId);
 }
 
 std::string CreateApplicationRequest::getLiveness()const
@@ -171,28 +380,6 @@ void CreateApplicationRequest::setSecurityGroupId(const std::string& securityGro
 	setParameter("SecurityGroupId", securityGroupId);
 }
 
-std::string CreateApplicationRequest::getEnvs()const
-{
-	return envs_;
-}
-
-void CreateApplicationRequest::setEnvs(const std::string& envs)
-{
-	envs_ = envs;
-	setParameter("Envs", envs);
-}
-
-std::string CreateApplicationRequest::getPhpArmsConfigLocation()const
-{
-	return phpArmsConfigLocation_;
-}
-
-void CreateApplicationRequest::setPhpArmsConfigLocation(const std::string& phpArmsConfigLocation)
-{
-	phpArmsConfigLocation_ = phpArmsConfigLocation;
-	setParameter("PhpArmsConfigLocation", phpArmsConfigLocation);
-}
-
 std::string CreateApplicationRequest::getPackageVersion()const
 {
 	return packageVersion_;
@@ -215,28 +402,6 @@ void CreateApplicationRequest::setTomcatConfig(const std::string& tomcatConfig)
 	setParameter("TomcatConfig", tomcatConfig);
 }
 
-std::string CreateApplicationRequest::getCustomHostAlias()const
-{
-	return customHostAlias_;
-}
-
-void CreateApplicationRequest::setCustomHostAlias(const std::string& customHostAlias)
-{
-	customHostAlias_ = customHostAlias;
-	setParameter("CustomHostAlias", customHostAlias);
-}
-
-bool CreateApplicationRequest::getDeploy()const
-{
-	return deploy_;
-}
-
-void CreateApplicationRequest::setDeploy(bool deploy)
-{
-	deploy_ = deploy;
-	setParameter("Deploy", deploy ? "true" : "false");
-}
-
 std::string CreateApplicationRequest::getWarStartOptions()const
 {
 	return warStartOptions_;
@@ -248,17 +413,6 @@ void CreateApplicationRequest::setWarStartOptions(const std::string& warStartOpt
 	setParameter("WarStartOptions", warStartOptions);
 }
 
-std::string CreateApplicationRequest::getJarStartOptions()const
-{
-	return jarStartOptions_;
-}
-
-void CreateApplicationRequest::setJarStartOptions(const std::string& jarStartOptions)
-{
-	jarStartOptions_ = jarStartOptions;
-	setParameter("JarStartOptions", jarStartOptions);
-}
-
 std::string CreateApplicationRequest::getEdasContainerVersion()const
 {
 	return edasContainerVersion_;
@@ -270,28 +424,6 @@ void CreateApplicationRequest::setEdasContainerVersion(const std::string& edasCo
 	setParameter("EdasContainerVersion", edasContainerVersion);
 }
 
-std::string CreateApplicationRequest::getAppName()const
-{
-	return appName_;
-}
-
-void CreateApplicationRequest::setAppName(const std::string& appName)
-{
-	appName_ = appName;
-	setParameter("AppName", appName);
-}
-
-std::string CreateApplicationRequest::getNamespaceId()const
-{
-	return namespaceId_;
-}
-
-void CreateApplicationRequest::setNamespaceId(const std::string& namespaceId)
-{
-	namespaceId_ = namespaceId;
-	setParameter("NamespaceId", namespaceId);
-}
-
 std::string CreateApplicationRequest::getPackageUrl()const
 {
 	return packageUrl_;
@@ -314,17 +446,6 @@ void CreateApplicationRequest::setTerminationGracePeriodSeconds(int terminationG
 	setParameter("TerminationGracePeriodSeconds", std::to_string(terminationGracePeriodSeconds));
 }
 
-std::string CreateApplicationRequest::getConfigMapMountDesc()const
-{
-	return configMapMountDesc_;
-}
-
-void CreateApplicationRequest::setConfigMapMountDesc(const std::string& configMapMountDesc)
-{
-	configMapMountDesc_ = configMapMountDesc;
-	setBodyParameter("ConfigMapMountDesc", configMapMountDesc);
-}
-
 std::string CreateApplicationRequest::getPhpConfig()const
 {
 	return phpConfig_;
@@ -336,17 +457,6 @@ void CreateApplicationRequest::setPhpConfig(const std::string& phpConfig)
 	setBodyParameter("PhpConfig", phpConfig);
 }
 
-std::string CreateApplicationRequest::getPreStop()const
-{
-	return preStop_;
-}
-
-void CreateApplicationRequest::setPreStop(const std::string& preStop)
-{
-	preStop_ = preStop;
-	setParameter("PreStop", preStop);
-}
-
 int CreateApplicationRequest::getReplicas()const
 {
 	return replicas_;
@@ -358,17 +468,6 @@ void CreateApplicationRequest::setReplicas(int replicas)
 	setParameter("Replicas", std::to_string(replicas));
 }
 
-int CreateApplicationRequest::getCpu()const
-{
-	return cpu_;
-}
-
-void CreateApplicationRequest::setCpu(int cpu)
-{
-	cpu_ = cpu;
-	setParameter("Cpu", std::to_string(cpu));
-}
-
 std::string CreateApplicationRequest::getCommand()const
 {
 	return command_;
@@ -391,17 +490,6 @@ void CreateApplicationRequest::setMountDesc(const std::string& mountDesc)
 	setParameter("MountDesc", mountDesc);
 }
 
-std::string CreateApplicationRequest::getVSwitchId()const
-{
-	return vSwitchId_;
-}
-
-void CreateApplicationRequest::setVSwitchId(const std::string& vSwitchId)
-{
-	vSwitchId_ = vSwitchId;
-	setParameter("VSwitchId", vSwitchId);
-}
-
 std::string CreateApplicationRequest::getJdk()const
 {
 	return jdk_;
@@ -424,6 +512,17 @@ void CreateApplicationRequest::setAppDescription(const std::string& appDescripti
 	setParameter("AppDescription", appDescription);
 }
 
+std::string CreateApplicationRequest::getAcrInstanceId()const
+{
+	return acrInstanceId_;
+}
+
+void CreateApplicationRequest::setAcrInstanceId(const std::string& acrInstanceId)
+{
+	acrInstanceId_ = acrInstanceId;
+	setBodyParameter("AcrInstanceId", acrInstanceId);
+}
+
 std::string CreateApplicationRequest::getVpcId()const
 {
 	return vpcId_;
@@ -446,15 +545,15 @@ void CreateApplicationRequest::setImageUrl(const std::string& imageUrl)
 	setParameter("ImageUrl", imageUrl);
 }
 
-std::string CreateApplicationRequest::getPackageType()const
+std::string CreateApplicationRequest::getPhp()const
 {
-	return packageType_;
+	return php_;
 }
 
-void CreateApplicationRequest::setPackageType(const std::string& packageType)
+void CreateApplicationRequest::setPhp(const std::string& php)
 {
-	packageType_ = packageType;
-	setParameter("PackageType", packageType);
+	php_ = php;
+	setBodyParameter("Php", php);
 }
 
 std::string CreateApplicationRequest::getPhpConfigLocation()const
@@ -468,14 +567,3 @@ void CreateApplicationRequest::setPhpConfigLocation(const std::string& phpConfig
 	setParameter("PhpConfigLocation", phpConfigLocation);
 }
 
-std::string CreateApplicationRequest::getPostStart()const
-{
-	return postStart_;
-}
-
-void CreateApplicationRequest::setPostStart(const std::string& postStart)
-{
-	postStart_ = postStart;
-	setParameter("PostStart", postStart);
-}
-

+ 2 - 2
sae/src/model/CreateApplicationResult.cc

@@ -40,10 +40,10 @@ void CreateApplicationResult::parse(const std::string &payload)
 	reader.parse(payload, value);
 	setRequestId(value["RequestId"].asString());
 	auto dataNode = value["Data"];
-	if(!dataNode["AppId"].isNull())
-		data_.appId = dataNode["AppId"].asString();
 	if(!dataNode["ChangeOrderId"].isNull())
 		data_.changeOrderId = dataNode["ChangeOrderId"].asString();
+	if(!dataNode["AppId"].isNull())
+		data_.appId = dataNode["AppId"].asString();
 	if(!value["Message"].isNull())
 		message_ = value["Message"].asString();
 	if(!value["TraceId"].isNull())

+ 11 - 0
sae/src/model/CreateApplicationScalingRuleRequest.cc

@@ -50,6 +50,17 @@ void CreateApplicationScalingRuleRequest::setMinReadyInstances(const std::string
 	setParameter("MinReadyInstances", minReadyInstances);
 }
 
+bool CreateApplicationScalingRuleRequest::getScalingRuleEnable()const
+{
+	return scalingRuleEnable_;
+}
+
+void CreateApplicationScalingRuleRequest::setScalingRuleEnable(bool scalingRuleEnable)
+{
+	scalingRuleEnable_ = scalingRuleEnable;
+	setParameter("ScalingRuleEnable", scalingRuleEnable ? "true" : "false");
+}
+
 std::string CreateApplicationScalingRuleRequest::getScalingRuleTimer()const
 {
 	return scalingRuleTimer_;

+ 16 - 16
sae/src/model/CreateApplicationScalingRuleResult.cc

@@ -40,50 +40,50 @@ void CreateApplicationScalingRuleResult::parse(const std::string &payload)
 	reader.parse(payload, value);
 	setRequestId(value["RequestId"].asString());
 	auto dataNode = value["Data"];
-	if(!dataNode["ScaleRuleEnabled"].isNull())
-		data_.scaleRuleEnabled = dataNode["ScaleRuleEnabled"].asString() == "true";
-	if(!dataNode["LastDisableTime"].isNull())
-		data_.lastDisableTime = std::stol(dataNode["LastDisableTime"].asString());
+	if(!dataNode["UpdateTime"].isNull())
+		data_.updateTime = std::stol(dataNode["UpdateTime"].asString());
 	if(!dataNode["AppId"].isNull())
 		data_.appId = dataNode["AppId"].asString();
 	if(!dataNode["CreateTime"].isNull())
 		data_.createTime = std::stol(dataNode["CreateTime"].asString());
-	if(!dataNode["UpdateTime"].isNull())
-		data_.updateTime = std::stol(dataNode["UpdateTime"].asString());
-	if(!dataNode["ScaleRuleName"].isNull())
-		data_.scaleRuleName = dataNode["ScaleRuleName"].asString();
+	if(!dataNode["LastDisableTime"].isNull())
+		data_.lastDisableTime = std::stol(dataNode["LastDisableTime"].asString());
+	if(!dataNode["ScaleRuleEnabled"].isNull())
+		data_.scaleRuleEnabled = dataNode["ScaleRuleEnabled"].asString() == "true";
 	if(!dataNode["ScaleRuleType"].isNull())
 		data_.scaleRuleType = dataNode["ScaleRuleType"].asString();
+	if(!dataNode["ScaleRuleName"].isNull())
+		data_.scaleRuleName = dataNode["ScaleRuleName"].asString();
 	auto timerNode = dataNode["Timer"];
-	if(!timerNode["Period"].isNull())
-		data_.timer.period = timerNode["Period"].asString();
 	if(!timerNode["EndDate"].isNull())
 		data_.timer.endDate = timerNode["EndDate"].asString();
 	if(!timerNode["BeginDate"].isNull())
 		data_.timer.beginDate = timerNode["BeginDate"].asString();
+	if(!timerNode["Period"].isNull())
+		data_.timer.period = timerNode["Period"].asString();
 	auto allSchedulesNode = timerNode["Schedules"]["Schedule"];
 	for (auto timerNodeSchedulesSchedule : allSchedulesNode)
 	{
 		Data::Timer::Schedule scheduleObject;
-		if(!timerNodeSchedulesSchedule["TargetReplicas"].isNull())
-			scheduleObject.targetReplicas = std::stoi(timerNodeSchedulesSchedule["TargetReplicas"].asString());
 		if(!timerNodeSchedulesSchedule["AtTime"].isNull())
 			scheduleObject.atTime = timerNodeSchedulesSchedule["AtTime"].asString();
+		if(!timerNodeSchedulesSchedule["TargetReplicas"].isNull())
+			scheduleObject.targetReplicas = std::stoi(timerNodeSchedulesSchedule["TargetReplicas"].asString());
 		data_.timer.schedules.push_back(scheduleObject);
 	}
 	auto metricNode = dataNode["Metric"];
-	if(!metricNode["MinReplicas"].isNull())
-		data_.metric.minReplicas = std::stoi(metricNode["MinReplicas"].asString());
 	if(!metricNode["MaxReplicas"].isNull())
 		data_.metric.maxReplicas = std::stoi(metricNode["MaxReplicas"].asString());
+	if(!metricNode["MinReplicas"].isNull())
+		data_.metric.minReplicas = std::stoi(metricNode["MinReplicas"].asString());
 	auto allMetricsNode = metricNode["Metrics"]["Metric"];
 	for (auto metricNodeMetricsMetric : allMetricsNode)
 	{
 		Data::Metric::Metric1 metric1Object;
-		if(!metricNodeMetricsMetric["MetricType"].isNull())
-			metric1Object.metricType = metricNodeMetricsMetric["MetricType"].asString();
 		if(!metricNodeMetricsMetric["MetricTargetAverageUtilization"].isNull())
 			metric1Object.metricTargetAverageUtilization = std::stoi(metricNodeMetricsMetric["MetricTargetAverageUtilization"].asString());
+		if(!metricNodeMetricsMetric["MetricType"].isNull())
+			metric1Object.metricType = metricNodeMetricsMetric["MetricType"].asString();
 		data_.metric.metrics.push_back(metric1Object);
 	}
 	if(!value["TraceId"].isNull())

+ 4 - 4
sae/src/model/CreateConfigMapResult.cc

@@ -42,14 +42,14 @@ void CreateConfigMapResult::parse(const std::string &payload)
 	auto dataNode = value["Data"];
 	if(!dataNode["ConfigMapId"].isNull())
 		data_.configMapId = std::stol(dataNode["ConfigMapId"].asString());
-	if(!value["Code"].isNull())
-		code_ = value["Code"].asString();
 	if(!value["Message"].isNull())
 		message_ = value["Message"].asString();
-	if(!value["ErrorCode"].isNull())
-		errorCode_ = value["ErrorCode"].asString();
 	if(!value["TraceId"].isNull())
 		traceId_ = value["TraceId"].asString();
+	if(!value["ErrorCode"].isNull())
+		errorCode_ = value["ErrorCode"].asString();
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
 	if(!value["Success"].isNull())
 		success_ = value["Success"].asString() == "true";
 

+ 85 - 0
sae/src/model/CreateGreyTagRouteRequest.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/sae/model/CreateGreyTagRouteRequest.h>
+
+using AlibabaCloud::Sae::Model::CreateGreyTagRouteRequest;
+
+CreateGreyTagRouteRequest::CreateGreyTagRouteRequest() :
+	RoaServiceRequest("sae", "2019-05-06")
+{
+	setResourcePath("/pop/v1/sam/tagroute/greyTagRoute");
+	setMethod(HttpRequest::Method::Post);
+}
+
+CreateGreyTagRouteRequest::~CreateGreyTagRouteRequest()
+{}
+
+std::string CreateGreyTagRouteRequest::getAppId()const
+{
+	return appId_;
+}
+
+void CreateGreyTagRouteRequest::setAppId(const std::string& appId)
+{
+	appId_ = appId;
+	setParameter("AppId", appId);
+}
+
+std::string CreateGreyTagRouteRequest::getName()const
+{
+	return name_;
+}
+
+void CreateGreyTagRouteRequest::setName(const std::string& name)
+{
+	name_ = name;
+	setParameter("Name", name);
+}
+
+std::string CreateGreyTagRouteRequest::getDescription()const
+{
+	return description_;
+}
+
+void CreateGreyTagRouteRequest::setDescription(const std::string& description)
+{
+	description_ = description;
+	setParameter("Description", description);
+}
+
+std::string CreateGreyTagRouteRequest::getDubboRules()const
+{
+	return dubboRules_;
+}
+
+void CreateGreyTagRouteRequest::setDubboRules(const std::string& dubboRules)
+{
+	dubboRules_ = dubboRules;
+	setParameter("DubboRules", dubboRules);
+}
+
+std::string CreateGreyTagRouteRequest::getScRules()const
+{
+	return scRules_;
+}
+
+void CreateGreyTagRouteRequest::setScRules(const std::string& scRules)
+{
+	scRules_ = scRules;
+	setParameter("ScRules", scRules);
+}
+

+ 87 - 0
sae/src/model/CreateGreyTagRouteResult.cc

@@ -0,0 +1,87 @@
+/*
+ * 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/sae/model/CreateGreyTagRouteResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Sae;
+using namespace AlibabaCloud::Sae::Model;
+
+CreateGreyTagRouteResult::CreateGreyTagRouteResult() :
+	ServiceResult()
+{}
+
+CreateGreyTagRouteResult::CreateGreyTagRouteResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+CreateGreyTagRouteResult::~CreateGreyTagRouteResult()
+{}
+
+void CreateGreyTagRouteResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto dataNode = value["Data"];
+	if(!dataNode["GreyTagRouteId"].isNull())
+		data_.greyTagRouteId = std::stol(dataNode["GreyTagRouteId"].asString());
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+	if(!value["TraceId"].isNull())
+		traceId_ = value["TraceId"].asString();
+	if(!value["ErrorCode"].isNull())
+		errorCode_ = value["ErrorCode"].asString();
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
+
+}
+
+std::string CreateGreyTagRouteResult::getMessage()const
+{
+	return message_;
+}
+
+std::string CreateGreyTagRouteResult::getTraceId()const
+{
+	return traceId_;
+}
+
+CreateGreyTagRouteResult::Data CreateGreyTagRouteResult::getData()const
+{
+	return data_;
+}
+
+std::string CreateGreyTagRouteResult::getErrorCode()const
+{
+	return errorCode_;
+}
+
+std::string CreateGreyTagRouteResult::getCode()const
+{
+	return code_;
+}
+
+bool CreateGreyTagRouteResult::getSuccess()const
+{
+	return success_;
+}
+

+ 10 - 10
sae/src/model/CreateNamespaceResult.cc

@@ -40,24 +40,24 @@ void CreateNamespaceResult::parse(const std::string &payload)
 	reader.parse(payload, value);
 	setRequestId(value["RequestId"].asString());
 	auto dataNode = value["Data"];
-	if(!dataNode["RegionId"].isNull())
-		data_.regionId = dataNode["RegionId"].asString();
+	if(!dataNode["NamespaceDescription"].isNull())
+		data_.namespaceDescription = dataNode["NamespaceDescription"].asString();
 	if(!dataNode["NamespaceId"].isNull())
 		data_.namespaceId = dataNode["NamespaceId"].asString();
 	if(!dataNode["NamespaceName"].isNull())
 		data_.namespaceName = dataNode["NamespaceName"].asString();
-	if(!dataNode["NamespaceDescription"].isNull())
-		data_.namespaceDescription = dataNode["NamespaceDescription"].asString();
-	if(!value["Code"].isNull())
-		code_ = value["Code"].asString();
-	if(!value["ErrorCode"].isNull())
-		errorCode_ = value["ErrorCode"].asString();
+	if(!dataNode["RegionId"].isNull())
+		data_.regionId = dataNode["RegionId"].asString();
 	if(!value["Message"].isNull())
 		message_ = value["Message"].asString();
-	if(!value["Success"].isNull())
-		success_ = value["Success"].asString() == "true";
 	if(!value["TraceId"].isNull())
 		traceId_ = value["TraceId"].asString();
+	if(!value["ErrorCode"].isNull())
+		errorCode_ = value["ErrorCode"].asString();
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
 
 }
 

+ 41 - 0
sae/src/model/DeleteGreyTagRouteRequest.cc

@@ -0,0 +1,41 @@
+/*
+ * 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/sae/model/DeleteGreyTagRouteRequest.h>
+
+using AlibabaCloud::Sae::Model::DeleteGreyTagRouteRequest;
+
+DeleteGreyTagRouteRequest::DeleteGreyTagRouteRequest() :
+	RoaServiceRequest("sae", "2019-05-06")
+{
+	setResourcePath("/pop/v1/sam/tagroute/greyTagRoute");
+	setMethod(HttpRequest::Method::Delete);
+}
+
+DeleteGreyTagRouteRequest::~DeleteGreyTagRouteRequest()
+{}
+
+long DeleteGreyTagRouteRequest::getGreyTagRouteId()const
+{
+	return greyTagRouteId_;
+}
+
+void DeleteGreyTagRouteRequest::setGreyTagRouteId(long greyTagRouteId)
+{
+	greyTagRouteId_ = greyTagRouteId;
+	setParameter("GreyTagRouteId", std::to_string(greyTagRouteId));
+}
+

+ 87 - 0
sae/src/model/DeleteGreyTagRouteResult.cc

@@ -0,0 +1,87 @@
+/*
+ * 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/sae/model/DeleteGreyTagRouteResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Sae;
+using namespace AlibabaCloud::Sae::Model;
+
+DeleteGreyTagRouteResult::DeleteGreyTagRouteResult() :
+	ServiceResult()
+{}
+
+DeleteGreyTagRouteResult::DeleteGreyTagRouteResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DeleteGreyTagRouteResult::~DeleteGreyTagRouteResult()
+{}
+
+void DeleteGreyTagRouteResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto dataNode = value["Data"];
+	if(!dataNode["GreyTagRouteId"].isNull())
+		data_.greyTagRouteId = std::stol(dataNode["GreyTagRouteId"].asString());
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+	if(!value["TraceId"].isNull())
+		traceId_ = value["TraceId"].asString();
+	if(!value["ErrorCode"].isNull())
+		errorCode_ = value["ErrorCode"].asString();
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
+
+}
+
+std::string DeleteGreyTagRouteResult::getMessage()const
+{
+	return message_;
+}
+
+std::string DeleteGreyTagRouteResult::getTraceId()const
+{
+	return traceId_;
+}
+
+DeleteGreyTagRouteResult::Data DeleteGreyTagRouteResult::getData()const
+{
+	return data_;
+}
+
+std::string DeleteGreyTagRouteResult::getErrorCode()const
+{
+	return errorCode_;
+}
+
+std::string DeleteGreyTagRouteResult::getCode()const
+{
+	return code_;
+}
+
+bool DeleteGreyTagRouteResult::getSuccess()const
+{
+	return success_;
+}
+

+ 6 - 6
sae/src/model/DeleteIngressResult.cc

@@ -42,16 +42,16 @@ void DeleteIngressResult::parse(const std::string &payload)
 	auto dataNode = value["Data"];
 	if(!dataNode["IngressId"].isNull())
 		data_.ingressId = std::stol(dataNode["IngressId"].asString());
-	if(!value["Code"].isNull())
-		code_ = value["Code"].asString();
 	if(!value["Message"].isNull())
 		message_ = value["Message"].asString();
-	if(!value["Success"].isNull())
-		success_ = value["Success"].asString() == "true";
-	if(!value["ErrorCode"].isNull())
-		errorCode_ = value["ErrorCode"].asString();
 	if(!value["TraceId"].isNull())
 		traceId_ = value["TraceId"].asString();
+	if(!value["ErrorCode"].isNull())
+		errorCode_ = value["ErrorCode"].asString();
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
 
 }
 

+ 6 - 6
sae/src/model/DeleteNamespaceResult.cc

@@ -39,16 +39,16 @@ void DeleteNamespaceResult::parse(const std::string &payload)
 	Json::Value value;
 	reader.parse(payload, value);
 	setRequestId(value["RequestId"].asString());
-	if(!value["Code"].isNull())
-		code_ = value["Code"].asString();
-	if(!value["ErrorCode"].isNull())
-		errorCode_ = value["ErrorCode"].asString();
 	if(!value["Message"].isNull())
 		message_ = value["Message"].asString();
-	if(!value["Success"].isNull())
-		success_ = value["Success"].asString() == "true";
 	if(!value["TraceId"].isNull())
 		traceId_ = value["TraceId"].asString();
+	if(!value["ErrorCode"].isNull())
+		errorCode_ = value["ErrorCode"].asString();
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
 
 }
 

+ 99 - 0
sae/src/model/DeployApplicationRequest.cc

@@ -83,6 +83,17 @@ void DeployApplicationRequest::setSlsConfigs(const std::string& slsConfigs)
 	setParameter("SlsConfigs", slsConfigs);
 }
 
+std::string DeployApplicationRequest::getOssAkSecret()const
+{
+	return ossAkSecret_;
+}
+
+void DeployApplicationRequest::setOssAkSecret(const std::string& ossAkSecret)
+{
+	ossAkSecret_ = ossAkSecret;
+	setBodyParameter("OssAkSecret", ossAkSecret);
+}
+
 std::string DeployApplicationRequest::getCommandArgs()const
 {
 	return commandArgs_;
@@ -149,6 +160,17 @@ void DeployApplicationRequest::setBatchWaitTime(int batchWaitTime)
 	setParameter("BatchWaitTime", std::to_string(batchWaitTime));
 }
 
+std::string DeployApplicationRequest::getOssAkId()const
+{
+	return ossAkId_;
+}
+
+void DeployApplicationRequest::setOssAkId(const std::string& ossAkId)
+{
+	ossAkId_ = ossAkId;
+	setBodyParameter("OssAkId", ossAkId);
+}
+
 std::string DeployApplicationRequest::getLiveness()const
 {
 	return liveness_;
@@ -171,6 +193,17 @@ void DeployApplicationRequest::setEnvs(const std::string& envs)
 	setParameter("Envs", envs);
 }
 
+std::string DeployApplicationRequest::getPhpPECLExtensions()const
+{
+	return phpPECLExtensions_;
+}
+
+void DeployApplicationRequest::setPhpPECLExtensions(const std::string& phpPECLExtensions)
+{
+	phpPECLExtensions_ = phpPECLExtensions;
+	setBodyParameter("PhpPECLExtensions", phpPECLExtensions);
+}
+
 std::string DeployApplicationRequest::getPhpArmsConfigLocation()const
 {
 	return phpArmsConfigLocation_;
@@ -281,6 +314,17 @@ void DeployApplicationRequest::setConfigMapMountDesc(const std::string& configMa
 	setBodyParameter("ConfigMapMountDesc", configMapMountDesc);
 }
 
+std::string DeployApplicationRequest::getOssMountDescs()const
+{
+	return ossMountDescs_;
+}
+
+void DeployApplicationRequest::setOssMountDescs(const std::string& ossMountDescs)
+{
+	ossMountDescs_ = ossMountDescs;
+	setBodyParameter("OssMountDescs", ossMountDescs);
+}
+
 std::string DeployApplicationRequest::getPhpConfig()const
 {
 	return phpConfig_;
@@ -303,6 +347,17 @@ void DeployApplicationRequest::setPreStop(const std::string& preStop)
 	setParameter("PreStop", preStop);
 }
 
+bool DeployApplicationRequest::getEnableGreyTagRoute()const
+{
+	return enableGreyTagRoute_;
+}
+
+void DeployApplicationRequest::setEnableGreyTagRoute(bool enableGreyTagRoute)
+{
+	enableGreyTagRoute_ = enableGreyTagRoute;
+	setParameter("EnableGreyTagRoute", enableGreyTagRoute ? "true" : "false");
+}
+
 std::string DeployApplicationRequest::getCommand()const
 {
 	return command_;
@@ -369,6 +424,17 @@ void DeployApplicationRequest::setChangeOrderDesc(const std::string& changeOrder
 	setParameter("ChangeOrderDesc", changeOrderDesc);
 }
 
+std::string DeployApplicationRequest::getAcrInstanceId()const
+{
+	return acrInstanceId_;
+}
+
+void DeployApplicationRequest::setAcrInstanceId(const std::string& acrInstanceId)
+{
+	acrInstanceId_ = acrInstanceId;
+	setBodyParameter("AcrInstanceId", acrInstanceId);
+}
+
 std::string DeployApplicationRequest::getAppId()const
 {
 	return appId_;
@@ -391,6 +457,17 @@ void DeployApplicationRequest::setImageUrl(const std::string& imageUrl)
 	setParameter("ImageUrl", imageUrl);
 }
 
+std::string DeployApplicationRequest::getPhp()const
+{
+	return php_;
+}
+
+void DeployApplicationRequest::setPhp(const std::string& php)
+{
+	php_ = php;
+	setBodyParameter("Php", php);
+}
+
 bool DeployApplicationRequest::getAutoEnableApplicationScalingRule()const
 {
 	return autoEnableApplicationScalingRule_;
@@ -424,3 +501,25 @@ void DeployApplicationRequest::setPostStart(const std::string& postStart)
 	setParameter("PostStart", postStart);
 }
 
+std::string DeployApplicationRequest::getPhpExtensions()const
+{
+	return phpExtensions_;
+}
+
+void DeployApplicationRequest::setPhpExtensions(const std::string& phpExtensions)
+{
+	phpExtensions_ = phpExtensions;
+	setBodyParameter("PhpExtensions", phpExtensions);
+}
+
+bool DeployApplicationRequest::getAssociateEip()const
+{
+	return associateEip_;
+}
+
+void DeployApplicationRequest::setAssociateEip(bool associateEip)
+{
+	associateEip_ = associateEip;
+	setBodyParameter("AssociateEip", associateEip ? "true" : "false");
+}
+

+ 4 - 2
sae/src/model/DeployApplicationResult.cc

@@ -40,10 +40,12 @@ void DeployApplicationResult::parse(const std::string &payload)
 	reader.parse(payload, value);
 	setRequestId(value["RequestId"].asString());
 	auto dataNode = value["Data"];
-	if(!dataNode["AppId"].isNull())
-		data_.appId = dataNode["AppId"].asString();
 	if(!dataNode["ChangeOrderId"].isNull())
 		data_.changeOrderId = dataNode["ChangeOrderId"].asString();
+	if(!dataNode["AppId"].isNull())
+		data_.appId = dataNode["AppId"].asString();
+	if(!dataNode["IsNeedApproval"].isNull())
+		data_.isNeedApproval = dataNode["IsNeedApproval"].asString() == "true";
 	if(!value["Message"].isNull())
 		message_ = value["Message"].asString();
 	if(!value["TraceId"].isNull())

+ 85 - 0
sae/src/model/DescribeAppServiceDetailRequest.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/sae/model/DescribeAppServiceDetailRequest.h>
+
+using AlibabaCloud::Sae::Model::DescribeAppServiceDetailRequest;
+
+DescribeAppServiceDetailRequest::DescribeAppServiceDetailRequest() :
+	RoaServiceRequest("sae", "2019-05-06")
+{
+	setResourcePath("/pop/v1/sam/service/describeAppServiceDetail");
+	setMethod(HttpRequest::Method::Get);
+}
+
+DescribeAppServiceDetailRequest::~DescribeAppServiceDetailRequest()
+{}
+
+std::string DescribeAppServiceDetailRequest::getServiceType()const
+{
+	return serviceType_;
+}
+
+void DescribeAppServiceDetailRequest::setServiceType(const std::string& serviceType)
+{
+	serviceType_ = serviceType;
+	setParameter("ServiceType", serviceType);
+}
+
+std::string DescribeAppServiceDetailRequest::getAppId()const
+{
+	return appId_;
+}
+
+void DescribeAppServiceDetailRequest::setAppId(const std::string& appId)
+{
+	appId_ = appId;
+	setParameter("AppId", appId);
+}
+
+std::string DescribeAppServiceDetailRequest::getServiceVersion()const
+{
+	return serviceVersion_;
+}
+
+void DescribeAppServiceDetailRequest::setServiceVersion(const std::string& serviceVersion)
+{
+	serviceVersion_ = serviceVersion;
+	setParameter("ServiceVersion", serviceVersion);
+}
+
+std::string DescribeAppServiceDetailRequest::getServiceName()const
+{
+	return serviceName_;
+}
+
+void DescribeAppServiceDetailRequest::setServiceName(const std::string& serviceName)
+{
+	serviceName_ = serviceName;
+	setParameter("ServiceName", serviceName);
+}
+
+std::string DescribeAppServiceDetailRequest::getServiceGroup()const
+{
+	return serviceGroup_;
+}
+
+void DescribeAppServiceDetailRequest::setServiceGroup(const std::string& serviceGroup)
+{
+	serviceGroup_ = serviceGroup;
+	setParameter("ServiceGroup", serviceGroup);
+}
+

+ 141 - 0
sae/src/model/DescribeAppServiceDetailResult.cc

@@ -0,0 +1,141 @@
+/*
+ * 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/sae/model/DescribeAppServiceDetailResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Sae;
+using namespace AlibabaCloud::Sae::Model;
+
+DescribeAppServiceDetailResult::DescribeAppServiceDetailResult() :
+	ServiceResult()
+{}
+
+DescribeAppServiceDetailResult::DescribeAppServiceDetailResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeAppServiceDetailResult::~DescribeAppServiceDetailResult()
+{}
+
+void DescribeAppServiceDetailResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto dataNode = value["Data"];
+	if(!dataNode["Group"].isNull())
+		data_.group = dataNode["Group"].asString();
+	if(!dataNode["ServiceName"].isNull())
+		data_.serviceName = dataNode["ServiceName"].asString();
+	if(!dataNode["Version"].isNull())
+		data_.version = dataNode["Version"].asString();
+	if(!dataNode["ServiceType"].isNull())
+		data_.serviceType = dataNode["ServiceType"].asString();
+	if(!dataNode["EdasAppName"].isNull())
+		data_.edasAppName = dataNode["EdasAppName"].asString();
+	if(!dataNode["Metadata"].isNull())
+		data_.metadata = dataNode["Metadata"].asString();
+	if(!dataNode["SpringApplicationName"].isNull())
+		data_.springApplicationName = dataNode["SpringApplicationName"].asString();
+	if(!dataNode["DubboApplicationName"].isNull())
+		data_.dubboApplicationName = dataNode["DubboApplicationName"].asString();
+	auto allMethodsNode = dataNode["Methods"]["Method"];
+	for (auto dataNodeMethodsMethod : allMethodsNode)
+	{
+		Data::Method methodObject;
+		if(!dataNodeMethodsMethod["MethodController"].isNull())
+			methodObject.methodController = dataNodeMethodsMethod["MethodController"].asString();
+		if(!dataNodeMethodsMethod["ReturnType"].isNull())
+			methodObject.returnType = dataNodeMethodsMethod["ReturnType"].asString();
+		if(!dataNodeMethodsMethod["ReturnDetails"].isNull())
+			methodObject.returnDetails = dataNodeMethodsMethod["ReturnDetails"].asString();
+		if(!dataNodeMethodsMethod["Name"].isNull())
+			methodObject.name = dataNodeMethodsMethod["Name"].asString();
+		if(!dataNodeMethodsMethod["NameDetail"].isNull())
+			methodObject.nameDetail = dataNodeMethodsMethod["NameDetail"].asString();
+		auto allParameterDefinitionsNode = dataNodeMethodsMethod["ParameterDefinitions"]["ParameterDefinition"];
+		for (auto dataNodeMethodsMethodParameterDefinitionsParameterDefinition : allParameterDefinitionsNode)
+		{
+			Data::Method::ParameterDefinition parameterDefinitionsObject;
+			if(!dataNodeMethodsMethodParameterDefinitionsParameterDefinition["Type"].isNull())
+				parameterDefinitionsObject.type = dataNodeMethodsMethodParameterDefinitionsParameterDefinition["Type"].asString();
+			if(!dataNodeMethodsMethodParameterDefinitionsParameterDefinition["Description"].isNull())
+				parameterDefinitionsObject.description = dataNodeMethodsMethodParameterDefinitionsParameterDefinition["Description"].asString();
+			if(!dataNodeMethodsMethodParameterDefinitionsParameterDefinition["Name"].isNull())
+				parameterDefinitionsObject.name = dataNodeMethodsMethodParameterDefinitionsParameterDefinition["Name"].asString();
+			methodObject.parameterDefinitions.push_back(parameterDefinitionsObject);
+		}
+		auto allParameterDetails = value["ParameterDetails"]["ParameterDetail"];
+		for (auto value : allParameterDetails)
+			methodObject.parameterDetails.push_back(value.asString());
+		auto allRequestMethods = value["RequestMethods"]["RequestMethod"];
+		for (auto value : allRequestMethods)
+			methodObject.requestMethods.push_back(value.asString());
+		auto allParameterTypes = value["ParameterTypes"]["ParameterType"];
+		for (auto value : allParameterTypes)
+			methodObject.parameterTypes.push_back(value.asString());
+		auto allPaths = value["Paths"]["Path"];
+		for (auto value : allPaths)
+			methodObject.paths.push_back(value.asString());
+		data_.methods.push_back(methodObject);
+	}
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+	if(!value["TraceId"].isNull())
+		traceId_ = value["TraceId"].asString();
+	if(!value["ErrorCode"].isNull())
+		errorCode_ = value["ErrorCode"].asString();
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
+
+}
+
+std::string DescribeAppServiceDetailResult::getMessage()const
+{
+	return message_;
+}
+
+std::string DescribeAppServiceDetailResult::getTraceId()const
+{
+	return traceId_;
+}
+
+DescribeAppServiceDetailResult::Data DescribeAppServiceDetailResult::getData()const
+{
+	return data_;
+}
+
+std::string DescribeAppServiceDetailResult::getErrorCode()const
+{
+	return errorCode_;
+}
+
+std::string DescribeAppServiceDetailResult::getCode()const
+{
+	return code_;
+}
+
+bool DescribeAppServiceDetailResult::getSuccess()const
+{
+	return success_;
+}
+

+ 124 - 90
sae/src/model/DescribeApplicationConfigResult.cc

@@ -40,123 +40,157 @@ void DescribeApplicationConfigResult::parse(const std::string &payload)
 	reader.parse(payload, value);
 	setRequestId(value["RequestId"].asString());
 	auto dataNode = value["Data"];
-	if(!dataNode["Timezone"].isNull())
-		data_.timezone = dataNode["Timezone"].asString();
-	if(!dataNode["AppDescription"].isNull())
-		data_.appDescription = dataNode["AppDescription"].asString();
-	if(!dataNode["PhpConfig"].isNull())
-		data_.phpConfig = dataNode["PhpConfig"].asString();
-	if(!dataNode["NasId"].isNull())
-		data_.nasId = dataNode["NasId"].asString();
-	if(!dataNode["WarStartOptions"].isNull())
-		data_.warStartOptions = dataNode["WarStartOptions"].asString();
-	if(!dataNode["Liveness"].isNull())
-		data_.liveness = dataNode["Liveness"].asString();
-	if(!dataNode["Memory"].isNull())
-		data_.memory = std::stoi(dataNode["Memory"].asString());
-	if(!dataNode["WebContainer"].isNull())
-		data_.webContainer = dataNode["WebContainer"].asString();
-	if(!dataNode["SlsConfigs"].isNull())
-		data_.slsConfigs = dataNode["SlsConfigs"].asString();
-	if(!dataNode["Cpu"].isNull())
-		data_.cpu = std::stoi(dataNode["Cpu"].asString());
-	if(!dataNode["PackageVersion"].isNull())
-		data_.packageVersion = dataNode["PackageVersion"].asString();
-	if(!dataNode["AppName"].isNull())
-		data_.appName = dataNode["AppName"].asString();
-	if(!dataNode["Jdk"].isNull())
-		data_.jdk = dataNode["Jdk"].asString();
-	if(!dataNode["JarStartArgs"].isNull())
-		data_.jarStartArgs = dataNode["JarStartArgs"].asString();
-	if(!dataNode["MinReadyInstances"].isNull())
-		data_.minReadyInstances = std::stoi(dataNode["MinReadyInstances"].asString());
-	if(!dataNode["PreStop"].isNull())
-		data_.preStop = dataNode["PreStop"].asString();
+	if(!dataNode["VpcId"].isNull())
+		data_.vpcId = dataNode["VpcId"].asString();
 	if(!dataNode["Readiness"].isNull())
 		data_.readiness = dataNode["Readiness"].asString();
-	if(!dataNode["PhpArmsConfigLocation"].isNull())
-		data_.phpArmsConfigLocation = dataNode["PhpArmsConfigLocation"].asString();
-	if(!dataNode["PackageType"].isNull())
-		data_.packageType = dataNode["PackageType"].asString();
-	if(!dataNode["CommandArgs"].isNull())
-		data_.commandArgs = dataNode["CommandArgs"].asString();
-	if(!dataNode["AcrAssumeRoleArn"].isNull())
-		data_.acrAssumeRoleArn = dataNode["AcrAssumeRoleArn"].asString();
-	if(!dataNode["TerminationGracePeriodSeconds"].isNull())
-		data_.terminationGracePeriodSeconds = std::stoi(dataNode["TerminationGracePeriodSeconds"].asString());
-	if(!dataNode["Envs"].isNull())
-		data_.envs = dataNode["Envs"].asString();
-	if(!dataNode["VSwitchId"].isNull())
-		data_.vSwitchId = dataNode["VSwitchId"].asString();
 	if(!dataNode["SecurityGroupId"].isNull())
 		data_.securityGroupId = dataNode["SecurityGroupId"].asString();
-	if(!dataNode["PostStart"].isNull())
-		data_.postStart = dataNode["PostStart"].asString();
+	if(!dataNode["BatchWaitTime"].isNull())
+		data_.batchWaitTime = std::stoi(dataNode["BatchWaitTime"].asString());
+	if(!dataNode["Jdk"].isNull())
+		data_.jdk = dataNode["Jdk"].asString();
 	if(!dataNode["ImageUrl"].isNull())
 		data_.imageUrl = dataNode["ImageUrl"].asString();
-	if(!dataNode["MountHost"].isNull())
-		data_.mountHost = dataNode["MountHost"].asString();
+	if(!dataNode["SlsConfigs"].isNull())
+		data_.slsConfigs = dataNode["SlsConfigs"].asString();
+	if(!dataNode["Liveness"].isNull())
+		data_.liveness = dataNode["Liveness"].asString();
+	if(!dataNode["PackageUrl"].isNull())
+		data_.packageUrl = dataNode["PackageUrl"].asString();
+	if(!dataNode["PackageType"].isNull())
+		data_.packageType = dataNode["PackageType"].asString();
+	if(!dataNode["PreStop"].isNull())
+		data_.preStop = dataNode["PreStop"].asString();
+	if(!dataNode["PackageVersion"].isNull())
+		data_.packageVersion = dataNode["PackageVersion"].asString();
+	if(!dataNode["JarStartArgs"].isNull())
+		data_.jarStartArgs = dataNode["JarStartArgs"].asString();
+	if(!dataNode["AppName"].isNull())
+		data_.appName = dataNode["AppName"].asString();
+	if(!dataNode["AppId"].isNull())
+		data_.appId = dataNode["AppId"].asString();
 	if(!dataNode["JarStartOptions"].isNull())
 		data_.jarStartOptions = dataNode["JarStartOptions"].asString();
 	if(!dataNode["Replicas"].isNull())
 		data_.replicas = std::stoi(dataNode["Replicas"].asString());
-	if(!dataNode["CustomHostAlias"].isNull())
-		data_.customHostAlias = dataNode["CustomHostAlias"].asString();
-	if(!dataNode["AppId"].isNull())
-		data_.appId = dataNode["AppId"].asString();
-	if(!dataNode["VpcId"].isNull())
-		data_.vpcId = dataNode["VpcId"].asString();
-	if(!dataNode["EdasContainerVersion"].isNull())
-		data_.edasContainerVersion = dataNode["EdasContainerVersion"].asString();
-	if(!dataNode["Command"].isNull())
-		data_.command = dataNode["Command"].asString();
+	if(!dataNode["UpdateStrategy"].isNull())
+		data_.updateStrategy = dataNode["UpdateStrategy"].asString();
+	if(!dataNode["MinReadyInstances"].isNull())
+		data_.minReadyInstances = std::stoi(dataNode["MinReadyInstances"].asString());
+	if(!dataNode["Memory"].isNull())
+		data_.memory = std::stoi(dataNode["Memory"].asString());
+	if(!dataNode["Php"].isNull())
+		data_.php = dataNode["Php"].asString();
+	if(!dataNode["PhpConfig"].isNull())
+		data_.phpConfig = dataNode["PhpConfig"].asString();
 	if(!dataNode["PhpConfigLocation"].isNull())
 		data_.phpConfigLocation = dataNode["PhpConfigLocation"].asString();
-	if(!dataNode["PackageUrl"].isNull())
-		data_.packageUrl = dataNode["PackageUrl"].asString();
-	if(!dataNode["BatchWaitTime"].isNull())
-		data_.batchWaitTime = std::stoi(dataNode["BatchWaitTime"].asString());
-	if(!dataNode["RegionId"].isNull())
-		data_.regionId = dataNode["RegionId"].asString();
+	if(!dataNode["PhpExtensions"].isNull())
+		data_.phpExtensions = dataNode["PhpExtensions"].asString();
+	if(!dataNode["PhpPECLExtensions"].isNull())
+		data_.phpPECLExtensions = dataNode["PhpPECLExtensions"].asString();
+	if(!dataNode["PostStart"].isNull())
+		data_.postStart = dataNode["PostStart"].asString();
+	if(!dataNode["TerminationGracePeriodSeconds"].isNull())
+		data_.terminationGracePeriodSeconds = std::stoi(dataNode["TerminationGracePeriodSeconds"].asString());
+	if(!dataNode["CommandArgs"].isNull())
+		data_.commandArgs = dataNode["CommandArgs"].asString();
 	if(!dataNode["NamespaceId"].isNull())
 		data_.namespaceId = dataNode["NamespaceId"].asString();
-	if(!dataNode["EnableAhas"].isNull())
-		data_.enableAhas = dataNode["EnableAhas"].asString();
+	if(!dataNode["MountHost"].isNull())
+		data_.mountHost = dataNode["MountHost"].asString();
 	if(!dataNode["TomcatConfig"].isNull())
 		data_.tomcatConfig = dataNode["TomcatConfig"].asString();
-	auto allMountDescNode = dataNode["MountDesc"]["MountDescItem"];
-	for (auto dataNodeMountDescMountDescItem : allMountDescNode)
+	if(!dataNode["RegionId"].isNull())
+		data_.regionId = dataNode["RegionId"].asString();
+	if(!dataNode["VSwitchId"].isNull())
+		data_.vSwitchId = dataNode["VSwitchId"].asString();
+	if(!dataNode["Cpu"].isNull())
+		data_.cpu = std::stoi(dataNode["Cpu"].asString());
+	if(!dataNode["Envs"].isNull())
+		data_.envs = dataNode["Envs"].asString();
+	if(!dataNode["EnableAhas"].isNull())
+		data_.enableAhas = dataNode["EnableAhas"].asString();
+	if(!dataNode["CustomHostAlias"].isNull())
+		data_.customHostAlias = dataNode["CustomHostAlias"].asString();
+	if(!dataNode["WebContainer"].isNull())
+		data_.webContainer = dataNode["WebContainer"].asString();
+	if(!dataNode["Command"].isNull())
+		data_.command = dataNode["Command"].asString();
+	if(!dataNode["WarStartOptions"].isNull())
+		data_.warStartOptions = dataNode["WarStartOptions"].asString();
+	if(!dataNode["PhpArmsConfigLocation"].isNull())
+		data_.phpArmsConfigLocation = dataNode["PhpArmsConfigLocation"].asString();
+	if(!dataNode["NasId"].isNull())
+		data_.nasId = dataNode["NasId"].asString();
+	if(!dataNode["OssAkId"].isNull())
+		data_.ossAkId = dataNode["OssAkId"].asString();
+	if(!dataNode["OssAkSecret"].isNull())
+		data_.ossAkSecret = dataNode["OssAkSecret"].asString();
+	if(!dataNode["EdasContainerVersion"].isNull())
+		data_.edasContainerVersion = dataNode["EdasContainerVersion"].asString();
+	if(!dataNode["Timezone"].isNull())
+		data_.timezone = dataNode["Timezone"].asString();
+	if(!dataNode["AppDescription"].isNull())
+		data_.appDescription = dataNode["AppDescription"].asString();
+	if(!dataNode["EnableGreyTagRoute"].isNull())
+		data_.enableGreyTagRoute = dataNode["EnableGreyTagRoute"].asString() == "true";
+	if(!dataNode["MseApplicationId"].isNull())
+		data_.mseApplicationId = dataNode["MseApplicationId"].asString();
+	if(!dataNode["AcrInstanceId"].isNull())
+		data_.acrInstanceId = dataNode["AcrInstanceId"].asString();
+	if(!dataNode["AcrAssumeRoleArn"].isNull())
+		data_.acrAssumeRoleArn = dataNode["AcrAssumeRoleArn"].asString();
+	if(!dataNode["AssociateEip"].isNull())
+		data_.associateEip = dataNode["AssociateEip"].asString() == "true";
+	auto allConfigMapMountDescNode = dataNode["ConfigMapMountDesc"]["ConfigMapMountDescItem"];
+	for (auto dataNodeConfigMapMountDescConfigMapMountDescItem : allConfigMapMountDescNode)
 	{
-		Data::MountDescItem mountDescItemObject;
-		if(!dataNodeMountDescMountDescItem["MountPath"].isNull())
-			mountDescItemObject.mountPath = dataNodeMountDescMountDescItem["MountPath"].asString();
-		if(!dataNodeMountDescMountDescItem["NasPath"].isNull())
-			mountDescItemObject.nasPath = dataNodeMountDescMountDescItem["NasPath"].asString();
-		data_.mountDesc.push_back(mountDescItemObject);
+		Data::ConfigMapMountDescItem configMapMountDescItemObject;
+		if(!dataNodeConfigMapMountDescConfigMapMountDescItem["Key"].isNull())
+			configMapMountDescItemObject.key = dataNodeConfigMapMountDescConfigMapMountDescItem["Key"].asString();
+		if(!dataNodeConfigMapMountDescConfigMapMountDescItem["ConfigMapName"].isNull())
+			configMapMountDescItemObject.configMapName = dataNodeConfigMapMountDescConfigMapMountDescItem["ConfigMapName"].asString();
+		if(!dataNodeConfigMapMountDescConfigMapMountDescItem["MountPath"].isNull())
+			configMapMountDescItemObject.mountPath = dataNodeConfigMapMountDescConfigMapMountDescItem["MountPath"].asString();
+		if(!dataNodeConfigMapMountDescConfigMapMountDescItem["ConfigMapId"].isNull())
+			configMapMountDescItemObject.configMapId = std::stol(dataNodeConfigMapMountDescConfigMapMountDescItem["ConfigMapId"].asString());
+		data_.configMapMountDesc.push_back(configMapMountDescItemObject);
 	}
 	auto allTagsNode = dataNode["Tags"]["Tag"];
 	for (auto dataNodeTagsTag : allTagsNode)
 	{
 		Data::Tag tagObject;
-		if(!dataNodeTagsTag["Value"].isNull())
-			tagObject.value = dataNodeTagsTag["Value"].asString();
 		if(!dataNodeTagsTag["Key"].isNull())
 			tagObject.key = dataNodeTagsTag["Key"].asString();
+		if(!dataNodeTagsTag["Value"].isNull())
+			tagObject.value = dataNodeTagsTag["Value"].asString();
 		data_.tags.push_back(tagObject);
 	}
-	auto allConfigMapMountDescNode = dataNode["ConfigMapMountDesc"]["ConfigMapMountDescItem"];
-	for (auto dataNodeConfigMapMountDescConfigMapMountDescItem : allConfigMapMountDescNode)
+	auto allMountDescNode = dataNode["MountDesc"]["MountDescItem"];
+	for (auto dataNodeMountDescMountDescItem : allMountDescNode)
 	{
-		Data::ConfigMapMountDescItem configMapMountDescItemObject;
-		if(!dataNodeConfigMapMountDescConfigMapMountDescItem["MountPath"].isNull())
-			configMapMountDescItemObject.mountPath = dataNodeConfigMapMountDescConfigMapMountDescItem["MountPath"].asString();
-		if(!dataNodeConfigMapMountDescConfigMapMountDescItem["ConfigMapId"].isNull())
-			configMapMountDescItemObject.configMapId = std::stol(dataNodeConfigMapMountDescConfigMapMountDescItem["ConfigMapId"].asString());
-		if(!dataNodeConfigMapMountDescConfigMapMountDescItem["ConfigMapName"].isNull())
-			configMapMountDescItemObject.configMapName = dataNodeConfigMapMountDescConfigMapMountDescItem["ConfigMapName"].asString();
-		if(!dataNodeConfigMapMountDescConfigMapMountDescItem["Key"].isNull())
-			configMapMountDescItemObject.key = dataNodeConfigMapMountDescConfigMapMountDescItem["Key"].asString();
-		data_.configMapMountDesc.push_back(configMapMountDescItemObject);
+		Data::MountDescItem mountDescItemObject;
+		if(!dataNodeMountDescMountDescItem["MountPath"].isNull())
+			mountDescItemObject.mountPath = dataNodeMountDescMountDescItem["MountPath"].asString();
+		if(!dataNodeMountDescMountDescItem["NasPath"].isNull())
+			mountDescItemObject.nasPath = dataNodeMountDescMountDescItem["NasPath"].asString();
+		data_.mountDesc.push_back(mountDescItemObject);
+	}
+	auto allOssMountDescsNode = dataNode["OssMountDescs"]["ossMountDesc"];
+	for (auto dataNodeOssMountDescsossMountDesc : allOssMountDescsNode)
+	{
+		Data::OssMountDesc ossMountDescObject;
+		if(!dataNodeOssMountDescsossMountDesc["bucketName"].isNull())
+			ossMountDescObject.bucketName = dataNodeOssMountDescsossMountDesc["bucketName"].asString();
+		if(!dataNodeOssMountDescsossMountDesc["bucketPath"].isNull())
+			ossMountDescObject.bucketPath = dataNodeOssMountDescsossMountDesc["bucketPath"].asString();
+		if(!dataNodeOssMountDescsossMountDesc["mountPath"].isNull())
+			ossMountDescObject.mountPath = dataNodeOssMountDescsossMountDesc["mountPath"].asString();
+		if(!dataNodeOssMountDescsossMountDesc["readOnly"].isNull())
+			ossMountDescObject.readOnly = dataNodeOssMountDescsossMountDesc["readOnly"].asString() == "true";
+		data_.ossMountDescs.push_back(ossMountDescObject);
 	}
 	if(!value["Message"].isNull())
 		message_ = value["Message"].asString();

+ 11 - 0
sae/src/model/DescribeApplicationInstancesRequest.cc

@@ -72,3 +72,14 @@ void DescribeApplicationInstancesRequest::setCurrentPage(int currentPage)
 	setParameter("CurrentPage", std::to_string(currentPage));
 }
 
+bool DescribeApplicationInstancesRequest::getReverse()const
+{
+	return reverse_;
+}
+
+void DescribeApplicationInstancesRequest::setReverse(bool reverse)
+{
+	reverse_ = reverse;
+	setParameter("Reverse", reverse ? "true" : "false");
+}
+

+ 16 - 14
sae/src/model/DescribeApplicationInstancesResult.cc

@@ -40,36 +40,38 @@ void DescribeApplicationInstancesResult::parse(const std::string &payload)
 	reader.parse(payload, value);
 	setRequestId(value["RequestId"].asString());
 	auto dataNode = value["Data"];
-	if(!dataNode["PageSize"].isNull())
-		data_.pageSize = std::stoi(dataNode["PageSize"].asString());
 	if(!dataNode["CurrentPage"].isNull())
 		data_.currentPage = std::stoi(dataNode["CurrentPage"].asString());
 	if(!dataNode["TotalSize"].isNull())
 		data_.totalSize = std::stoi(dataNode["TotalSize"].asString());
+	if(!dataNode["PageSize"].isNull())
+		data_.pageSize = std::stoi(dataNode["PageSize"].asString());
 	auto allInstancesNode = dataNode["Instances"]["Instance"];
 	for (auto dataNodeInstancesInstance : allInstancesNode)
 	{
 		Data::Instance instanceObject;
-		if(!dataNodeInstancesInstance["InstanceContainerIp"].isNull())
-			instanceObject.instanceContainerIp = dataNodeInstancesInstance["InstanceContainerIp"].asString();
+		if(!dataNodeInstancesInstance["CreateTimeStamp"].isNull())
+			instanceObject.createTimeStamp = std::stol(dataNodeInstancesInstance["CreateTimeStamp"].asString());
+		if(!dataNodeInstancesInstance["VSwitchId"].isNull())
+			instanceObject.vSwitchId = dataNodeInstancesInstance["VSwitchId"].asString();
+		if(!dataNodeInstancesInstance["InstanceContainerStatus"].isNull())
+			instanceObject.instanceContainerStatus = dataNodeInstancesInstance["InstanceContainerStatus"].asString();
 		if(!dataNodeInstancesInstance["InstanceHealthStatus"].isNull())
 			instanceObject.instanceHealthStatus = dataNodeInstancesInstance["InstanceHealthStatus"].asString();
+		if(!dataNodeInstancesInstance["InstanceContainerRestarts"].isNull())
+			instanceObject.instanceContainerRestarts = std::stol(dataNodeInstancesInstance["InstanceContainerRestarts"].asString());
+		if(!dataNodeInstancesInstance["GroupId"].isNull())
+			instanceObject.groupId = dataNodeInstancesInstance["GroupId"].asString();
+		if(!dataNodeInstancesInstance["InstanceContainerIp"].isNull())
+			instanceObject.instanceContainerIp = dataNodeInstancesInstance["InstanceContainerIp"].asString();
 		if(!dataNodeInstancesInstance["InstanceId"].isNull())
 			instanceObject.instanceId = dataNodeInstancesInstance["InstanceId"].asString();
-		if(!dataNodeInstancesInstance["VSwitchId"].isNull())
-			instanceObject.vSwitchId = dataNodeInstancesInstance["VSwitchId"].asString();
 		if(!dataNodeInstancesInstance["ImageUrl"].isNull())
 			instanceObject.imageUrl = dataNodeInstancesInstance["ImageUrl"].asString();
-		if(!dataNodeInstancesInstance["InstanceContainerRestarts"].isNull())
-			instanceObject.instanceContainerRestarts = std::stol(dataNodeInstancesInstance["InstanceContainerRestarts"].asString());
 		if(!dataNodeInstancesInstance["PackageVersion"].isNull())
 			instanceObject.packageVersion = dataNodeInstancesInstance["PackageVersion"].asString();
-		if(!dataNodeInstancesInstance["InstanceContainerStatus"].isNull())
-			instanceObject.instanceContainerStatus = dataNodeInstancesInstance["InstanceContainerStatus"].asString();
-		if(!dataNodeInstancesInstance["CreateTimeStamp"].isNull())
-			instanceObject.createTimeStamp = std::stol(dataNodeInstancesInstance["CreateTimeStamp"].asString());
-		if(!dataNodeInstancesInstance["GroupId"].isNull())
-			instanceObject.groupId = dataNodeInstancesInstance["GroupId"].asString();
+		if(!dataNodeInstancesInstance["Eip"].isNull())
+			instanceObject.eip = dataNodeInstancesInstance["Eip"].asString();
 		data_.instances.push_back(instanceObject);
 	}
 	if(!value["Message"].isNull())

+ 54 - 32
sae/src/model/DescribeApplicationScalingRulesResult.cc

@@ -40,83 +40,79 @@ void DescribeApplicationScalingRulesResult::parse(const std::string &payload)
 	reader.parse(payload, value);
 	setRequestId(value["RequestId"].asString());
 	auto dataNode = value["Data"];
-	if(!dataNode["PageSize"].isNull())
-		data_.pageSize = std::stoi(dataNode["PageSize"].asString());
 	if(!dataNode["CurrentPage"].isNull())
 		data_.currentPage = std::stoi(dataNode["CurrentPage"].asString());
 	if(!dataNode["TotalSize"].isNull())
 		data_.totalSize = std::stoi(dataNode["TotalSize"].asString());
+	if(!dataNode["PageSize"].isNull())
+		data_.pageSize = std::stoi(dataNode["PageSize"].asString());
 	auto allApplicationScalingRulesNode = dataNode["ApplicationScalingRules"]["ApplicationScalingRule"];
 	for (auto dataNodeApplicationScalingRulesApplicationScalingRule : allApplicationScalingRulesNode)
 	{
 		Data::ApplicationScalingRule applicationScalingRuleObject;
-		if(!dataNodeApplicationScalingRulesApplicationScalingRule["ScaleRuleEnabled"].isNull())
-			applicationScalingRuleObject.scaleRuleEnabled = dataNodeApplicationScalingRulesApplicationScalingRule["ScaleRuleEnabled"].asString() == "true";
-		if(!dataNodeApplicationScalingRulesApplicationScalingRule["LastDisableTime"].isNull())
-			applicationScalingRuleObject.lastDisableTime = std::stol(dataNodeApplicationScalingRulesApplicationScalingRule["LastDisableTime"].asString());
+		if(!dataNodeApplicationScalingRulesApplicationScalingRule["UpdateTime"].isNull())
+			applicationScalingRuleObject.updateTime = std::stol(dataNodeApplicationScalingRulesApplicationScalingRule["UpdateTime"].asString());
 		if(!dataNodeApplicationScalingRulesApplicationScalingRule["AppId"].isNull())
 			applicationScalingRuleObject.appId = dataNodeApplicationScalingRulesApplicationScalingRule["AppId"].asString();
 		if(!dataNodeApplicationScalingRulesApplicationScalingRule["CreateTime"].isNull())
 			applicationScalingRuleObject.createTime = std::stol(dataNodeApplicationScalingRulesApplicationScalingRule["CreateTime"].asString());
-		if(!dataNodeApplicationScalingRulesApplicationScalingRule["UpdateTime"].isNull())
-			applicationScalingRuleObject.updateTime = std::stol(dataNodeApplicationScalingRulesApplicationScalingRule["UpdateTime"].asString());
-		if(!dataNodeApplicationScalingRulesApplicationScalingRule["ScaleRuleName"].isNull())
-			applicationScalingRuleObject.scaleRuleName = dataNodeApplicationScalingRulesApplicationScalingRule["ScaleRuleName"].asString();
+		if(!dataNodeApplicationScalingRulesApplicationScalingRule["LastDisableTime"].isNull())
+			applicationScalingRuleObject.lastDisableTime = std::stol(dataNodeApplicationScalingRulesApplicationScalingRule["LastDisableTime"].asString());
+		if(!dataNodeApplicationScalingRulesApplicationScalingRule["ScaleRuleEnabled"].isNull())
+			applicationScalingRuleObject.scaleRuleEnabled = dataNodeApplicationScalingRulesApplicationScalingRule["ScaleRuleEnabled"].asString() == "true";
 		if(!dataNodeApplicationScalingRulesApplicationScalingRule["ScaleRuleType"].isNull())
 			applicationScalingRuleObject.scaleRuleType = dataNodeApplicationScalingRulesApplicationScalingRule["ScaleRuleType"].asString();
+		if(!dataNodeApplicationScalingRulesApplicationScalingRule["ScaleRuleName"].isNull())
+			applicationScalingRuleObject.scaleRuleName = dataNodeApplicationScalingRulesApplicationScalingRule["ScaleRuleName"].asString();
 		auto timerNode = value["Timer"];
-		if(!timerNode["Period"].isNull())
-			applicationScalingRuleObject.timer.period = timerNode["Period"].asString();
 		if(!timerNode["EndDate"].isNull())
 			applicationScalingRuleObject.timer.endDate = timerNode["EndDate"].asString();
 		if(!timerNode["BeginDate"].isNull())
 			applicationScalingRuleObject.timer.beginDate = timerNode["BeginDate"].asString();
+		if(!timerNode["Period"].isNull())
+			applicationScalingRuleObject.timer.period = timerNode["Period"].asString();
 		auto allSchedulesNode = timerNode["Schedules"]["Schedule"];
 		for (auto timerNodeSchedulesSchedule : allSchedulesNode)
 		{
 			Data::ApplicationScalingRule::Timer::Schedule scheduleObject;
-			if(!timerNodeSchedulesSchedule["TargetReplicas"].isNull())
-				scheduleObject.targetReplicas = std::stoi(timerNodeSchedulesSchedule["TargetReplicas"].asString());
 			if(!timerNodeSchedulesSchedule["AtTime"].isNull())
 				scheduleObject.atTime = timerNodeSchedulesSchedule["AtTime"].asString();
+			if(!timerNodeSchedulesSchedule["TargetReplicas"].isNull())
+				scheduleObject.targetReplicas = std::stoi(timerNodeSchedulesSchedule["TargetReplicas"].asString());
+			if(!timerNodeSchedulesSchedule["MaxReplicas"].isNull())
+				scheduleObject.maxReplicas = std::stol(timerNodeSchedulesSchedule["MaxReplicas"].asString());
+			if(!timerNodeSchedulesSchedule["MinReplicas"].isNull())
+				scheduleObject.minReplicas = std::stol(timerNodeSchedulesSchedule["MinReplicas"].asString());
 			applicationScalingRuleObject.timer.schedules.push_back(scheduleObject);
 		}
 		auto metricNode = value["Metric"];
-		if(!metricNode["MinReplicas"].isNull())
-			applicationScalingRuleObject.metric.minReplicas = std::stoi(metricNode["MinReplicas"].asString());
 		if(!metricNode["MaxReplicas"].isNull())
 			applicationScalingRuleObject.metric.maxReplicas = std::stoi(metricNode["MaxReplicas"].asString());
+		if(!metricNode["MinReplicas"].isNull())
+			applicationScalingRuleObject.metric.minReplicas = std::stoi(metricNode["MinReplicas"].asString());
 		auto allMetricsNode = metricNode["Metrics"]["Metric"];
 		for (auto metricNodeMetricsMetric : allMetricsNode)
 		{
 			Data::ApplicationScalingRule::Metric::Metric1 metric1Object;
-			if(!metricNodeMetricsMetric["MetricType"].isNull())
-				metric1Object.metricType = metricNodeMetricsMetric["MetricType"].asString();
 			if(!metricNodeMetricsMetric["MetricTargetAverageUtilization"].isNull())
 				metric1Object.metricTargetAverageUtilization = std::stoi(metricNodeMetricsMetric["MetricTargetAverageUtilization"].asString());
+			if(!metricNodeMetricsMetric["MetricType"].isNull())
+				metric1Object.metricType = metricNodeMetricsMetric["MetricType"].asString();
 			applicationScalingRuleObject.metric.metrics.push_back(metric1Object);
 		}
 		auto metricsStatusNode = metricNode["MetricsStatus"];
 		if(!metricsStatusNode["DesiredReplicas"].isNull())
 			applicationScalingRuleObject.metric.metricsStatus.desiredReplicas = std::stol(metricsStatusNode["DesiredReplicas"].asString());
-		if(!metricsStatusNode["CurrentReplicas"].isNull())
-			applicationScalingRuleObject.metric.metricsStatus.currentReplicas = std::stol(metricsStatusNode["CurrentReplicas"].asString());
 		if(!metricsStatusNode["NextScaleTimePeriod"].isNull())
 			applicationScalingRuleObject.metric.metricsStatus.nextScaleTimePeriod = std::stoi(metricsStatusNode["NextScaleTimePeriod"].asString());
+		if(!metricsStatusNode["CurrentReplicas"].isNull())
+			applicationScalingRuleObject.metric.metricsStatus.currentReplicas = std::stol(metricsStatusNode["CurrentReplicas"].asString());
 		if(!metricsStatusNode["LastScaleTime"].isNull())
 			applicationScalingRuleObject.metric.metricsStatus.lastScaleTime = metricsStatusNode["LastScaleTime"].asString();
-		auto allNextScaleMetricsNode = metricsStatusNode["NextScaleMetrics"]["NextScaleMetric"];
-		for (auto metricsStatusNodeNextScaleMetricsNextScaleMetric : allNextScaleMetricsNode)
-		{
-			Data::ApplicationScalingRule::Metric::MetricsStatus::NextScaleMetric nextScaleMetricObject;
-			if(!metricsStatusNodeNextScaleMetricsNextScaleMetric["NextScaleInAverageUtilization"].isNull())
-				nextScaleMetricObject.nextScaleInAverageUtilization = std::stoi(metricsStatusNodeNextScaleMetricsNextScaleMetric["NextScaleInAverageUtilization"].asString());
-			if(!metricsStatusNodeNextScaleMetricsNextScaleMetric["Name"].isNull())
-				nextScaleMetricObject.name = metricsStatusNodeNextScaleMetricsNextScaleMetric["Name"].asString();
-			if(!metricsStatusNodeNextScaleMetricsNextScaleMetric["NextScaleOutAverageUtilization"].isNull())
-				nextScaleMetricObject.nextScaleOutAverageUtilization = std::stoi(metricsStatusNodeNextScaleMetricsNextScaleMetric["NextScaleOutAverageUtilization"].asString());
-			applicationScalingRuleObject.metric.metricsStatus.nextScaleMetrics.push_back(nextScaleMetricObject);
-		}
+		if(!metricsStatusNode["MaxReplicas"].isNull())
+			applicationScalingRuleObject.metric.metricsStatus.maxReplicas = std::stol(metricsStatusNode["MaxReplicas"].asString());
+		if(!metricsStatusNode["MinReplicas"].isNull())
+			applicationScalingRuleObject.metric.metricsStatus.minReplicas = std::stol(metricsStatusNode["MinReplicas"].asString());
 		auto allCurrentMetricsNode = metricsStatusNode["CurrentMetrics"]["CurrentMetric"];
 		for (auto metricsStatusNodeCurrentMetricsCurrentMetric : allCurrentMetricsNode)
 		{
@@ -129,6 +125,32 @@ void DescribeApplicationScalingRulesResult::parse(const std::string &payload)
 				currentMetricObject.name = metricsStatusNodeCurrentMetricsCurrentMetric["Name"].asString();
 			applicationScalingRuleObject.metric.metricsStatus.currentMetrics.push_back(currentMetricObject);
 		}
+		auto allNextScaleMetricsNode = metricsStatusNode["NextScaleMetrics"]["NextScaleMetric"];
+		for (auto metricsStatusNodeNextScaleMetricsNextScaleMetric : allNextScaleMetricsNode)
+		{
+			Data::ApplicationScalingRule::Metric::MetricsStatus::NextScaleMetric nextScaleMetricObject;
+			if(!metricsStatusNodeNextScaleMetricsNextScaleMetric["NextScaleOutAverageUtilization"].isNull())
+				nextScaleMetricObject.nextScaleOutAverageUtilization = std::stoi(metricsStatusNodeNextScaleMetricsNextScaleMetric["NextScaleOutAverageUtilization"].asString());
+			if(!metricsStatusNodeNextScaleMetricsNextScaleMetric["NextScaleInAverageUtilization"].isNull())
+				nextScaleMetricObject.nextScaleInAverageUtilization = std::stoi(metricsStatusNodeNextScaleMetricsNextScaleMetric["NextScaleInAverageUtilization"].asString());
+			if(!metricsStatusNodeNextScaleMetricsNextScaleMetric["Name"].isNull())
+				nextScaleMetricObject.name = metricsStatusNodeNextScaleMetricsNextScaleMetric["Name"].asString();
+			applicationScalingRuleObject.metric.metricsStatus.nextScaleMetrics.push_back(nextScaleMetricObject);
+		}
+		auto scaleUpRulesNode = metricNode["ScaleUpRules"];
+		if(!scaleUpRulesNode["Step"].isNull())
+			applicationScalingRuleObject.metric.scaleUpRules.step = std::stol(scaleUpRulesNode["Step"].asString());
+		if(!scaleUpRulesNode["StabilizationWindowSeconds"].isNull())
+			applicationScalingRuleObject.metric.scaleUpRules.stabilizationWindowSeconds = std::stol(scaleUpRulesNode["StabilizationWindowSeconds"].asString());
+		if(!scaleUpRulesNode["Disabled"].isNull())
+			applicationScalingRuleObject.metric.scaleUpRules.disabled = scaleUpRulesNode["Disabled"].asString() == "true";
+		auto scaleDownRulesNode = metricNode["ScaleDownRules"];
+		if(!scaleDownRulesNode["Step"].isNull())
+			applicationScalingRuleObject.metric.scaleDownRules.step = std::stol(scaleDownRulesNode["Step"].asString());
+		if(!scaleDownRulesNode["StabilizationWindowSeconds"].isNull())
+			applicationScalingRuleObject.metric.scaleDownRules.stabilizationWindowSeconds = std::stol(scaleDownRulesNode["StabilizationWindowSeconds"].asString());
+		if(!scaleDownRulesNode["Disabled"].isNull())
+			applicationScalingRuleObject.metric.scaleDownRules.disabled = scaleDownRulesNode["Disabled"].asString() == "true";
 		data_.applicationScalingRules.push_back(applicationScalingRuleObject);
 	}
 	if(!value["TraceId"].isNull())

+ 22 - 16
sae/src/model/DescribeApplicationStatusResult.cc

@@ -40,34 +40,40 @@ void DescribeApplicationStatusResult::parse(const std::string &payload)
 	reader.parse(payload, value);
 	setRequestId(value["RequestId"].asString());
 	auto dataNode = value["Data"];
-	if(!dataNode["AppId"].isNull())
-		data_.appId = dataNode["AppId"].asString();
+	if(!dataNode["ArmsAdvancedEnabled"].isNull())
+		data_.armsAdvancedEnabled = dataNode["ArmsAdvancedEnabled"].asString();
 	if(!dataNode["LastChangeOrderId"].isNull())
 		data_.lastChangeOrderId = dataNode["LastChangeOrderId"].asString();
-	if(!dataNode["LastChangeOrderStatus"].isNull())
-		data_.lastChangeOrderStatus = dataNode["LastChangeOrderStatus"].asString();
-	if(!dataNode["LastChangeOrderRunning"].isNull())
-		data_.lastChangeOrderRunning = dataNode["LastChangeOrderRunning"].asString() == "true";
-	if(!dataNode["CurrentStatus"].isNull())
-		data_.currentStatus = dataNode["CurrentStatus"].asString();
 	if(!dataNode["ArmsApmInfo"].isNull())
 		data_.armsApmInfo = dataNode["ArmsApmInfo"].asString();
-	if(!dataNode["RunningInstances"].isNull())
-		data_.runningInstances = std::stoi(dataNode["RunningInstances"].asString());
-	if(!dataNode["ArmsAdvancedEnabled"].isNull())
-		data_.armsAdvancedEnabled = dataNode["ArmsAdvancedEnabled"].asString();
 	if(!dataNode["CreateTime"].isNull())
 		data_.createTime = dataNode["CreateTime"].asString();
-	if(!value["Code"].isNull())
-		code_ = value["Code"].asString();
+	if(!dataNode["CurrentStatus"].isNull())
+		data_.currentStatus = dataNode["CurrentStatus"].asString();
+	if(!dataNode["AppId"].isNull())
+		data_.appId = dataNode["AppId"].asString();
+	if(!dataNode["LastChangeOrderRunning"].isNull())
+		data_.lastChangeOrderRunning = dataNode["LastChangeOrderRunning"].asString() == "true";
+	if(!dataNode["RunningInstances"].isNull())
+		data_.runningInstances = std::stoi(dataNode["RunningInstances"].asString());
+	if(!dataNode["LastChangeOrderStatus"].isNull())
+		data_.lastChangeOrderStatus = dataNode["LastChangeOrderStatus"].asString();
+	if(!dataNode["SubStatus"].isNull())
+		data_.subStatus = dataNode["SubStatus"].asString();
+	if(!dataNode["EnableAgent"].isNull())
+		data_.enableAgent = dataNode["EnableAgent"].asString() == "true";
+	if(!dataNode["FileSizeLimit"].isNull())
+		data_.fileSizeLimit = std::stol(dataNode["FileSizeLimit"].asString());
 	if(!value["Message"].isNull())
 		message_ = value["Message"].asString();
 	if(!value["TraceId"].isNull())
 		traceId_ = value["TraceId"].asString();
-	if(!value["Success"].isNull())
-		success_ = value["Success"].asString() == "true";
 	if(!value["ErrorCode"].isNull())
 		errorCode_ = value["ErrorCode"].asString();
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
 
 }
 

+ 30 - 26
sae/src/model/DescribeChangeOrderResult.cc

@@ -42,52 +42,56 @@ void DescribeChangeOrderResult::parse(const std::string &payload)
 	auto dataNode = value["Data"];
 	if(!dataNode["Status"].isNull())
 		data_.status = std::stoi(dataNode["Status"].asString());
-	if(!dataNode["Description"].isNull())
-		data_.description = dataNode["Description"].asString();
-	if(!dataNode["SupportAbortFreeze"].isNull())
-		data_.supportAbortFreeze = dataNode["SupportAbortFreeze"].asString() == "true";
+	if(!dataNode["SubStatus"].isNull())
+		data_.subStatus = std::stoi(dataNode["SubStatus"].asString());
+	if(!dataNode["ApprovalId"].isNull())
+		data_.approvalId = dataNode["ApprovalId"].asString();
+	if(!dataNode["ErrorMessage"].isNull())
+		data_.errorMessage = dataNode["ErrorMessage"].asString();
+	if(!dataNode["BatchWaitTime"].isNull())
+		data_.batchWaitTime = std::stoi(dataNode["BatchWaitTime"].asString());
 	if(!dataNode["CreateTime"].isNull())
 		data_.createTime = dataNode["CreateTime"].asString();
+	if(!dataNode["BatchCount"].isNull())
+		data_.batchCount = std::stoi(dataNode["BatchCount"].asString());
+	if(!dataNode["CoTypeCode"].isNull())
+		data_.coTypeCode = dataNode["CoTypeCode"].asString();
+	if(!dataNode["SupportAbortFreeze"].isNull())
+		data_.supportAbortFreeze = dataNode["SupportAbortFreeze"].asString() == "true";
+	if(!dataNode["SupportRollback"].isNull())
+		data_.supportRollback = dataNode["SupportRollback"].asString() == "true";
 	if(!dataNode["ChangeOrderId"].isNull())
 		data_.changeOrderId = dataNode["ChangeOrderId"].asString();
-	if(!dataNode["BatchType"].isNull())
-		data_.batchType = dataNode["BatchType"].asString();
 	if(!dataNode["AppName"].isNull())
 		data_.appName = dataNode["AppName"].asString();
+	if(!dataNode["BatchType"].isNull())
+		data_.batchType = dataNode["BatchType"].asString();
+	if(!dataNode["Description"].isNull())
+		data_.description = dataNode["Description"].asString();
+	if(!dataNode["CoType"].isNull())
+		data_.coType = dataNode["CoType"].asString();
 	if(!dataNode["Auto"].isNull())
 		data_._auto = dataNode["Auto"].asString() == "true";
 	if(!dataNode["CurrentPipelineId"].isNull())
 		data_.currentPipelineId = dataNode["CurrentPipelineId"].asString();
-	if(!dataNode["CoTypeCode"].isNull())
-		data_.coTypeCode = dataNode["CoTypeCode"].asString();
-	if(!dataNode["SupportRollback"].isNull())
-		data_.supportRollback = dataNode["SupportRollback"].asString() == "true";
-	if(!dataNode["BatchWaitTime"].isNull())
-		data_.batchWaitTime = std::stoi(dataNode["BatchWaitTime"].asString());
-	if(!dataNode["ErrorMessage"].isNull())
-		data_.errorMessage = dataNode["ErrorMessage"].asString();
-	if(!dataNode["CoType"].isNull())
-		data_.coType = dataNode["CoType"].asString();
-	if(!dataNode["BatchCount"].isNull())
-		data_.batchCount = std::stoi(dataNode["BatchCount"].asString());
 	auto allPipelinesNode = dataNode["Pipelines"]["Pipeline"];
 	for (auto dataNodePipelinesPipeline : allPipelinesNode)
 	{
 		Data::Pipeline pipelineObject;
 		if(!dataNodePipelinesPipeline["Status"].isNull())
 			pipelineObject.status = std::stoi(dataNodePipelinesPipeline["Status"].asString());
-		if(!dataNodePipelinesPipeline["PipelineName"].isNull())
-			pipelineObject.pipelineName = dataNodePipelinesPipeline["PipelineName"].asString();
-		if(!dataNodePipelinesPipeline["ParallelCount"].isNull())
-			pipelineObject.parallelCount = std::stoi(dataNodePipelinesPipeline["ParallelCount"].asString());
-		if(!dataNodePipelinesPipeline["UpdateTime"].isNull())
-			pipelineObject.updateTime = std::stol(dataNodePipelinesPipeline["UpdateTime"].asString());
 		if(!dataNodePipelinesPipeline["StartTime"].isNull())
 			pipelineObject.startTime = std::stol(dataNodePipelinesPipeline["StartTime"].asString());
-		if(!dataNodePipelinesPipeline["PipelineId"].isNull())
-			pipelineObject.pipelineId = dataNodePipelinesPipeline["PipelineId"].asString();
+		if(!dataNodePipelinesPipeline["UpdateTime"].isNull())
+			pipelineObject.updateTime = std::stol(dataNodePipelinesPipeline["UpdateTime"].asString());
 		if(!dataNodePipelinesPipeline["BatchType"].isNull())
 			pipelineObject.batchType = std::stoi(dataNodePipelinesPipeline["BatchType"].asString());
+		if(!dataNodePipelinesPipeline["ParallelCount"].isNull())
+			pipelineObject.parallelCount = std::stoi(dataNodePipelinesPipeline["ParallelCount"].asString());
+		if(!dataNodePipelinesPipeline["PipelineName"].isNull())
+			pipelineObject.pipelineName = dataNodePipelinesPipeline["PipelineName"].asString();
+		if(!dataNodePipelinesPipeline["PipelineId"].isNull())
+			pipelineObject.pipelineId = dataNodePipelinesPipeline["PipelineId"].asString();
 		data_.pipelines.push_back(pipelineObject);
 	}
 		auto allCoTargets = dataNode["CoTargets"]["CoTarget"];

+ 41 - 0
sae/src/model/DescribeGreyTagRouteRequest.cc

@@ -0,0 +1,41 @@
+/*
+ * 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/sae/model/DescribeGreyTagRouteRequest.h>
+
+using AlibabaCloud::Sae::Model::DescribeGreyTagRouteRequest;
+
+DescribeGreyTagRouteRequest::DescribeGreyTagRouteRequest() :
+	RoaServiceRequest("sae", "2019-05-06")
+{
+	setResourcePath("/pop/v1/sam/tagroute/greyTagRoute");
+	setMethod(HttpRequest::Method::Get);
+}
+
+DescribeGreyTagRouteRequest::~DescribeGreyTagRouteRequest()
+{}
+
+long DescribeGreyTagRouteRequest::getGreyTagRouteId()const
+{
+	return greyTagRouteId_;
+}
+
+void DescribeGreyTagRouteRequest::setGreyTagRouteId(long greyTagRouteId)
+{
+	greyTagRouteId_ = greyTagRouteId;
+	setParameter("GreyTagRouteId", std::to_string(greyTagRouteId));
+}
+

+ 161 - 0
sae/src/model/DescribeGreyTagRouteResult.cc

@@ -0,0 +1,161 @@
+/*
+ * 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/sae/model/DescribeGreyTagRouteResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Sae;
+using namespace AlibabaCloud::Sae::Model;
+
+DescribeGreyTagRouteResult::DescribeGreyTagRouteResult() :
+	ServiceResult()
+{}
+
+DescribeGreyTagRouteResult::DescribeGreyTagRouteResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeGreyTagRouteResult::~DescribeGreyTagRouteResult()
+{}
+
+void DescribeGreyTagRouteResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto dataNode = value["Data"];
+	if(!dataNode["Description"].isNull())
+		data_.description = dataNode["Description"].asString();
+	if(!dataNode["GreyTagRouteId"].isNull())
+		data_.greyTagRouteId = std::stol(dataNode["GreyTagRouteId"].asString());
+	if(!dataNode["CreateTime"].isNull())
+		data_.createTime = std::stol(dataNode["CreateTime"].asString());
+	if(!dataNode["UpdateTime"].isNull())
+		data_.updateTime = std::stol(dataNode["UpdateTime"].asString());
+	if(!dataNode["Name"].isNull())
+		data_.name = dataNode["Name"].asString();
+	auto allScRulesNode = dataNode["ScRules"]["scRule"];
+	for (auto dataNodeScRulesscRule : allScRulesNode)
+	{
+		Data::ScRule scRuleObject;
+		if(!dataNodeScRulesscRule["path"].isNull())
+			scRuleObject.path = dataNodeScRulesscRule["path"].asString();
+		if(!dataNodeScRulesscRule["condition"].isNull())
+			scRuleObject.condition = dataNodeScRulesscRule["condition"].asString();
+		auto allitemsNode = dataNodeScRulesscRule["items"]["item"];
+		for (auto dataNodeScRulesscRuleitemsitem : allitemsNode)
+		{
+			Data::ScRule::Item itemsObject;
+			if(!dataNodeScRulesscRuleitemsitem["name"].isNull())
+				itemsObject.name = dataNodeScRulesscRuleitemsitem["name"].asString();
+			if(!dataNodeScRulesscRuleitemsitem["index"].isNull())
+				itemsObject.index = std::stoi(dataNodeScRulesscRuleitemsitem["index"].asString());
+			if(!dataNodeScRulesscRuleitemsitem["expr"].isNull())
+				itemsObject.expr = dataNodeScRulesscRuleitemsitem["expr"].asString();
+			if(!dataNodeScRulesscRuleitemsitem["type"].isNull())
+				itemsObject.type = dataNodeScRulesscRuleitemsitem["type"].asString();
+			if(!dataNodeScRulesscRuleitemsitem["cond"].isNull())
+				itemsObject.cond = dataNodeScRulesscRuleitemsitem["cond"].asString();
+			if(!dataNodeScRulesscRuleitemsitem["value"].isNull())
+				itemsObject.value = dataNodeScRulesscRuleitemsitem["value"].asString();
+			if(!dataNodeScRulesscRuleitemsitem["operator"].isNull())
+				itemsObject._operator = dataNodeScRulesscRuleitemsitem["operator"].asString();
+			scRuleObject.items.push_back(itemsObject);
+		}
+		data_.scRules.push_back(scRuleObject);
+	}
+	auto allDubboRulesNode = dataNode["DubboRules"]["dubboRule"];
+	for (auto dataNodeDubboRulesdubboRule : allDubboRulesNode)
+	{
+		Data::DubboRule dubboRuleObject;
+		if(!dataNodeDubboRulesdubboRule["condition"].isNull())
+			dubboRuleObject.condition = dataNodeDubboRulesdubboRule["condition"].asString();
+		if(!dataNodeDubboRulesdubboRule["methodName"].isNull())
+			dubboRuleObject.methodName = dataNodeDubboRulesdubboRule["methodName"].asString();
+		if(!dataNodeDubboRulesdubboRule["serviceName"].isNull())
+			dubboRuleObject.serviceName = dataNodeDubboRulesdubboRule["serviceName"].asString();
+		if(!dataNodeDubboRulesdubboRule["version"].isNull())
+			dubboRuleObject.version = dataNodeDubboRulesdubboRule["version"].asString();
+		if(!dataNodeDubboRulesdubboRule["group"].isNull())
+			dubboRuleObject.group = dataNodeDubboRulesdubboRule["group"].asString();
+		auto allitems1Node = dataNodeDubboRulesdubboRule["items"]["item"];
+		for (auto dataNodeDubboRulesdubboRuleitemsitem : allitems1Node)
+		{
+			Data::DubboRule::Item2 items1Object;
+			if(!dataNodeDubboRulesdubboRuleitemsitem["name"].isNull())
+				items1Object.name = dataNodeDubboRulesdubboRuleitemsitem["name"].asString();
+			if(!dataNodeDubboRulesdubboRuleitemsitem["index"].isNull())
+				items1Object.index = std::stoi(dataNodeDubboRulesdubboRuleitemsitem["index"].asString());
+			if(!dataNodeDubboRulesdubboRuleitemsitem["expr"].isNull())
+				items1Object.expr = dataNodeDubboRulesdubboRuleitemsitem["expr"].asString();
+			if(!dataNodeDubboRulesdubboRuleitemsitem["type"].isNull())
+				items1Object.type = dataNodeDubboRulesdubboRuleitemsitem["type"].asString();
+			if(!dataNodeDubboRulesdubboRuleitemsitem["cond"].isNull())
+				items1Object.cond = dataNodeDubboRulesdubboRuleitemsitem["cond"].asString();
+			if(!dataNodeDubboRulesdubboRuleitemsitem["value"].isNull())
+				items1Object.value = dataNodeDubboRulesdubboRuleitemsitem["value"].asString();
+			if(!dataNodeDubboRulesdubboRuleitemsitem["operator"].isNull())
+				items1Object._operator = dataNodeDubboRulesdubboRuleitemsitem["operator"].asString();
+			dubboRuleObject.items1.push_back(items1Object);
+		}
+		data_.dubboRules.push_back(dubboRuleObject);
+	}
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+	if(!value["TraceId"].isNull())
+		traceId_ = value["TraceId"].asString();
+	if(!value["ErrorCode"].isNull())
+		errorCode_ = value["ErrorCode"].asString();
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
+
+}
+
+std::string DescribeGreyTagRouteResult::getMessage()const
+{
+	return message_;
+}
+
+std::string DescribeGreyTagRouteResult::getTraceId()const
+{
+	return traceId_;
+}
+
+DescribeGreyTagRouteResult::Data DescribeGreyTagRouteResult::getData()const
+{
+	return data_;
+}
+
+std::string DescribeGreyTagRouteResult::getErrorCode()const
+{
+	return errorCode_;
+}
+
+std::string DescribeGreyTagRouteResult::getCode()const
+{
+	return code_;
+}
+
+bool DescribeGreyTagRouteResult::getSuccess()const
+{
+	return success_;
+}
+

+ 20 - 20
sae/src/model/DescribePipelineResult.cc

@@ -40,56 +40,56 @@ void DescribePipelineResult::parse(const std::string &payload)
 	reader.parse(payload, value);
 	setRequestId(value["RequestId"].asString());
 	auto dataNode = value["Data"];
-	if(!dataNode["PipelineStatus"].isNull())
-		data_.pipelineStatus = std::stoi(dataNode["PipelineStatus"].asString());
 	if(!dataNode["ShowBatch"].isNull())
 		data_.showBatch = dataNode["ShowBatch"].asString() == "true";
+	if(!dataNode["PipelineStatus"].isNull())
+		data_.pipelineStatus = std::stoi(dataNode["PipelineStatus"].asString());
 	if(!dataNode["CurrentPoint"].isNull())
 		data_.currentPoint = std::stoi(dataNode["CurrentPoint"].asString());
+	if(!dataNode["CurrentStageId"].isNull())
+		data_.currentStageId = dataNode["CurrentStageId"].asString();
 	if(!dataNode["PipelineName"].isNull())
 		data_.pipelineName = dataNode["PipelineName"].asString();
+	if(!dataNode["NextPipelineId"].isNull())
+		data_.nextPipelineId = dataNode["NextPipelineId"].asString();
 	if(!dataNode["PipelineId"].isNull())
 		data_.pipelineId = dataNode["PipelineId"].asString();
-	if(!dataNode["CurrentStageId"].isNull())
-		data_.currentStageId = dataNode["CurrentStageId"].asString();
 	if(!dataNode["CoStatus"].isNull())
 		data_.coStatus = dataNode["CoStatus"].asString();
-	if(!dataNode["NextPipelineId"].isNull())
-		data_.nextPipelineId = dataNode["NextPipelineId"].asString();
 	auto allStageListNode = dataNode["StageList"]["Stage"];
 	for (auto dataNodeStageListStage : allStageListNode)
 	{
 		Data::Stage stageObject;
 		if(!dataNodeStageListStage["Status"].isNull())
 			stageObject.status = std::stoi(dataNodeStageListStage["Status"].asString());
-		if(!dataNodeStageListStage["StageName"].isNull())
-			stageObject.stageName = dataNodeStageListStage["StageName"].asString();
-		if(!dataNodeStageListStage["ExecutorType"].isNull())
-			stageObject.executorType = std::stoi(dataNodeStageListStage["ExecutorType"].asString());
 		if(!dataNodeStageListStage["StageId"].isNull())
 			stageObject.stageId = dataNodeStageListStage["StageId"].asString();
+		if(!dataNodeStageListStage["ExecutorType"].isNull())
+			stageObject.executorType = std::stoi(dataNodeStageListStage["ExecutorType"].asString());
+		if(!dataNodeStageListStage["StageName"].isNull())
+			stageObject.stageName = dataNodeStageListStage["StageName"].asString();
 		auto allTaskListNode = dataNodeStageListStage["TaskList"]["Task"];
 		for (auto dataNodeStageListStageTaskListTask : allTaskListNode)
 		{
 			Data::Stage::Task taskListObject;
 			if(!dataNodeStageListStageTaskListTask["Status"].isNull())
 				taskListObject.status = std::stoi(dataNodeStageListStageTaskListTask["Status"].asString());
+			if(!dataNodeStageListStageTaskListTask["StageId"].isNull())
+				taskListObject.stageId = dataNodeStageListStageTaskListTask["StageId"].asString();
+			if(!dataNodeStageListStageTaskListTask["ErrorMessage"].isNull())
+				taskListObject.errorMessage = dataNodeStageListStageTaskListTask["ErrorMessage"].asString();
+			if(!dataNodeStageListStageTaskListTask["ErrorCode"].isNull())
+				taskListObject.errorCode = dataNodeStageListStageTaskListTask["ErrorCode"].asString();
+			if(!dataNodeStageListStageTaskListTask["TaskName"].isNull())
+				taskListObject.taskName = dataNodeStageListStageTaskListTask["TaskName"].asString();
 			if(!dataNodeStageListStageTaskListTask["ErrorIgnore"].isNull())
 				taskListObject.errorIgnore = std::stoi(dataNodeStageListStageTaskListTask["ErrorIgnore"].asString());
-			if(!dataNodeStageListStageTaskListTask["TaskId"].isNull())
-				taskListObject.taskId = dataNodeStageListStageTaskListTask["TaskId"].asString();
 			if(!dataNodeStageListStageTaskListTask["Message"].isNull())
 				taskListObject.message = dataNodeStageListStageTaskListTask["Message"].asString();
 			if(!dataNodeStageListStageTaskListTask["ShowManualIgnore"].isNull())
 				taskListObject.showManualIgnore = dataNodeStageListStageTaskListTask["ShowManualIgnore"].asString() == "true";
-			if(!dataNodeStageListStageTaskListTask["TaskName"].isNull())
-				taskListObject.taskName = dataNodeStageListStageTaskListTask["TaskName"].asString();
-			if(!dataNodeStageListStageTaskListTask["StageId"].isNull())
-				taskListObject.stageId = dataNodeStageListStageTaskListTask["StageId"].asString();
-			if(!dataNodeStageListStageTaskListTask["ErrorCode"].isNull())
-				taskListObject.errorCode = dataNodeStageListStageTaskListTask["ErrorCode"].asString();
-			if(!dataNodeStageListStageTaskListTask["ErrorMessage"].isNull())
-				taskListObject.errorMessage = dataNodeStageListStageTaskListTask["ErrorMessage"].asString();
+			if(!dataNodeStageListStageTaskListTask["TaskId"].isNull())
+				taskListObject.taskId = dataNodeStageListStageTaskListTask["TaskId"].asString();
 			stageObject.taskList.push_back(taskListObject);
 		}
 		data_.stageList.push_back(stageObject);

+ 9 - 6
sae/src/model/DescribeRegionsResult.cc

@@ -43,18 +43,21 @@ void DescribeRegionsResult::parse(const std::string &payload)
 	for (auto valueRegionsRegion : allRegionsNode)
 	{
 		Region regionsObject;
-		if(!valueRegionsRegion["RegionId"].isNull())
-			regionsObject.regionId = valueRegionsRegion["RegionId"].asString();
-		if(!valueRegionsRegion["RegionEndpoint"].isNull())
-			regionsObject.regionEndpoint = valueRegionsRegion["RegionEndpoint"].asString();
 		if(!valueRegionsRegion["LocalName"].isNull())
 			regionsObject.localName = valueRegionsRegion["LocalName"].asString();
+		if(!valueRegionsRegion["RegionEndpoint"].isNull())
+			regionsObject.regionEndpoint = valueRegionsRegion["RegionEndpoint"].asString();
+		if(!valueRegionsRegion["RegionId"].isNull())
+			regionsObject.regionId = valueRegionsRegion["RegionId"].asString();
+		auto allRecommendZones = value["RecommendZones"]["RecommendZone"];
+		for (auto value : allRecommendZones)
+			regionsObject.recommendZones.push_back(value.asString());
 		regions_.push_back(regionsObject);
 	}
-	if(!value["Code"].isNull())
-		code_ = std::stoi(value["Code"].asString());
 	if(!value["Message"].isNull())
 		message_ = value["Message"].asString();
+	if(!value["Code"].isNull())
+		code_ = std::stoi(value["Code"].asString());
 
 }
 

+ 63 - 0
sae/src/model/DownloadFilesRequest.cc

@@ -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.
+ */
+
+#include <alibabacloud/sae/model/DownloadFilesRequest.h>
+
+using AlibabaCloud::Sae::Model::DownloadFilesRequest;
+
+DownloadFilesRequest::DownloadFilesRequest() :
+	RoaServiceRequest("sae", "2019-05-06")
+{
+	setResourcePath("/pop/v1/sam/app/downloadFiles");
+	setMethod(HttpRequest::Method::Post);
+}
+
+DownloadFilesRequest::~DownloadFilesRequest()
+{}
+
+std::string DownloadFilesRequest::getInstanceId()const
+{
+	return instanceId_;
+}
+
+void DownloadFilesRequest::setInstanceId(const std::string& instanceId)
+{
+	instanceId_ = instanceId;
+	setParameter("InstanceId", instanceId);
+}
+
+std::string DownloadFilesRequest::getLocalpath()const
+{
+	return localpath_;
+}
+
+void DownloadFilesRequest::setLocalpath(const std::string& localpath)
+{
+	localpath_ = localpath;
+	setParameter("Localpath", localpath);
+}
+
+std::string DownloadFilesRequest::getAppId()const
+{
+	return appId_;
+}
+
+void DownloadFilesRequest::setAppId(const std::string& appId)
+{
+	appId_ = appId;
+	setParameter("AppId", appId);
+}
+

+ 86 - 0
sae/src/model/DownloadFilesResult.cc

@@ -0,0 +1,86 @@
+/*
+ * 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/sae/model/DownloadFilesResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Sae;
+using namespace AlibabaCloud::Sae::Model;
+
+DownloadFilesResult::DownloadFilesResult() :
+	ServiceResult()
+{}
+
+DownloadFilesResult::DownloadFilesResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DownloadFilesResult::~DownloadFilesResult()
+{}
+
+void DownloadFilesResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+	if(!value["TraceId"].isNull())
+		traceId_ = value["TraceId"].asString();
+	if(!value["Data"].isNull())
+		data_ = value["Data"].asString();
+	if(!value["ErrorCode"].isNull())
+		errorCode_ = value["ErrorCode"].asString();
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
+
+}
+
+std::string DownloadFilesResult::getMessage()const
+{
+	return message_;
+}
+
+std::string DownloadFilesResult::getTraceId()const
+{
+	return traceId_;
+}
+
+std::string DownloadFilesResult::getData()const
+{
+	return data_;
+}
+
+std::string DownloadFilesResult::getErrorCode()const
+{
+	return errorCode_;
+}
+
+std::string DownloadFilesResult::getCode()const
+{
+	return code_;
+}
+
+bool DownloadFilesResult::getSuccess()const
+{
+	return success_;
+}
+

+ 74 - 0
sae/src/model/ListAppServicesPageRequest.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/sae/model/ListAppServicesPageRequest.h>
+
+using AlibabaCloud::Sae::Model::ListAppServicesPageRequest;
+
+ListAppServicesPageRequest::ListAppServicesPageRequest() :
+	RoaServiceRequest("sae", "2019-05-06")
+{
+	setResourcePath("/pop/v1/sam/service/listAppServicesPage");
+	setMethod(HttpRequest::Method::Get);
+}
+
+ListAppServicesPageRequest::~ListAppServicesPageRequest()
+{}
+
+std::string ListAppServicesPageRequest::getServiceType()const
+{
+	return serviceType_;
+}
+
+void ListAppServicesPageRequest::setServiceType(const std::string& serviceType)
+{
+	serviceType_ = serviceType;
+	setParameter("ServiceType", serviceType);
+}
+
+std::string ListAppServicesPageRequest::getAppId()const
+{
+	return appId_;
+}
+
+void ListAppServicesPageRequest::setAppId(const std::string& appId)
+{
+	appId_ = appId;
+	setParameter("AppId", appId);
+}
+
+int ListAppServicesPageRequest::getPageSize()const
+{
+	return pageSize_;
+}
+
+void ListAppServicesPageRequest::setPageSize(int pageSize)
+{
+	pageSize_ = pageSize;
+	setParameter("PageSize", std::to_string(pageSize));
+}
+
+int ListAppServicesPageRequest::getPageNumber()const
+{
+	return pageNumber_;
+}
+
+void ListAppServicesPageRequest::setPageNumber(int pageNumber)
+{
+	pageNumber_ = pageNumber;
+	setParameter("PageNumber", std::to_string(pageNumber));
+}
+

+ 120 - 0
sae/src/model/ListAppServicesPageResult.cc

@@ -0,0 +1,120 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/sae/model/ListAppServicesPageResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Sae;
+using namespace AlibabaCloud::Sae::Model;
+
+ListAppServicesPageResult::ListAppServicesPageResult() :
+	ServiceResult()
+{}
+
+ListAppServicesPageResult::ListAppServicesPageResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ListAppServicesPageResult::~ListAppServicesPageResult()
+{}
+
+void ListAppServicesPageResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allDataNode = value["Data"]["DataItem"];
+	for (auto valueDataDataItem : allDataNode)
+	{
+		DataItem dataObject;
+		if(!valueDataDataItem["CurrentPage"].isNull())
+			dataObject.currentPage = valueDataDataItem["CurrentPage"].asString();
+		if(!valueDataDataItem["TotalSize"].isNull())
+			dataObject.totalSize = valueDataDataItem["TotalSize"].asString();
+		if(!valueDataDataItem["PageNumber"].isNull())
+			dataObject.pageNumber = valueDataDataItem["PageNumber"].asString();
+		if(!valueDataDataItem["PageSize"].isNull())
+			dataObject.pageSize = valueDataDataItem["PageSize"].asString();
+		auto allResultNode = valueDataDataItem["Result"]["MscAgentServiceResponse"];
+		for (auto valueDataDataItemResultMscAgentServiceResponse : allResultNode)
+		{
+			DataItem::MscAgentServiceResponse resultObject;
+			if(!valueDataDataItemResultMscAgentServiceResponse["EdasAppName"].isNull())
+				resultObject.edasAppName = valueDataDataItemResultMscAgentServiceResponse["EdasAppName"].asString();
+			if(!valueDataDataItemResultMscAgentServiceResponse["Version"].isNull())
+				resultObject.version = valueDataDataItemResultMscAgentServiceResponse["Version"].asString();
+			if(!valueDataDataItemResultMscAgentServiceResponse["InstanceNum"].isNull())
+				resultObject.instanceNum = std::stol(valueDataDataItemResultMscAgentServiceResponse["InstanceNum"].asString());
+			if(!valueDataDataItemResultMscAgentServiceResponse["EdasAppId"].isNull())
+				resultObject.edasAppId = valueDataDataItemResultMscAgentServiceResponse["EdasAppId"].asString();
+			if(!valueDataDataItemResultMscAgentServiceResponse["GmtModifyTime"].isNull())
+				resultObject.gmtModifyTime = valueDataDataItemResultMscAgentServiceResponse["GmtModifyTime"].asString();
+			if(!valueDataDataItemResultMscAgentServiceResponse["ServiceName"].isNull())
+				resultObject.serviceName = valueDataDataItemResultMscAgentServiceResponse["ServiceName"].asString();
+			if(!valueDataDataItemResultMscAgentServiceResponse["Group"].isNull())
+				resultObject.group = valueDataDataItemResultMscAgentServiceResponse["Group"].asString();
+			if(!valueDataDataItemResultMscAgentServiceResponse["ClusterName"].isNull())
+				resultObject.clusterName = valueDataDataItemResultMscAgentServiceResponse["ClusterName"].asString();
+			dataObject.result.push_back(resultObject);
+		}
+		data_.push_back(dataObject);
+	}
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+	if(!value["TraceId"].isNull())
+		traceId_ = value["TraceId"].asString();
+	if(!value["ErrorCode"].isNull())
+		errorCode_ = value["ErrorCode"].asString();
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
+
+}
+
+std::string ListAppServicesPageResult::getMessage()const
+{
+	return message_;
+}
+
+std::string ListAppServicesPageResult::getTraceId()const
+{
+	return traceId_;
+}
+
+std::vector<ListAppServicesPageResult::DataItem> ListAppServicesPageResult::getData()const
+{
+	return data_;
+}
+
+std::string ListAppServicesPageResult::getErrorCode()const
+{
+	return errorCode_;
+}
+
+std::string ListAppServicesPageResult::getCode()const
+{
+	return code_;
+}
+
+bool ListAppServicesPageResult::getSuccess()const
+{
+	return success_;
+}
+

+ 44 - 0
sae/src/model/ListApplicationsRequest.cc

@@ -61,6 +61,17 @@ void ListApplicationsRequest::setPageSize(int pageSize)
 	setParameter("PageSize", std::to_string(pageSize));
 }
 
+std::string ListApplicationsRequest::getOrderBy()const
+{
+	return orderBy_;
+}
+
+void ListApplicationsRequest::setOrderBy(const std::string& orderBy)
+{
+	orderBy_ = orderBy;
+	setParameter("OrderBy", orderBy);
+}
+
 int ListApplicationsRequest::getCurrentPage()const
 {
 	return currentPage_;
@@ -72,6 +83,39 @@ void ListApplicationsRequest::setCurrentPage(int currentPage)
 	setParameter("CurrentPage", std::to_string(currentPage));
 }
 
+std::string ListApplicationsRequest::getFieldValue()const
+{
+	return fieldValue_;
+}
+
+void ListApplicationsRequest::setFieldValue(const std::string& fieldValue)
+{
+	fieldValue_ = fieldValue;
+	setParameter("FieldValue", fieldValue);
+}
+
+bool ListApplicationsRequest::getReverse()const
+{
+	return reverse_;
+}
+
+void ListApplicationsRequest::setReverse(bool reverse)
+{
+	reverse_ = reverse;
+	setParameter("Reverse", reverse ? "true" : "false");
+}
+
+std::string ListApplicationsRequest::getFieldType()const
+{
+	return fieldType_;
+}
+
+void ListApplicationsRequest::setFieldType(const std::string& fieldType)
+{
+	fieldType_ = fieldType;
+	setParameter("FieldType", fieldType);
+}
+
 std::string ListApplicationsRequest::getTags()const
 {
 	return tags_;

+ 39 - 18
sae/src/model/ListApplicationsResult.cc

@@ -40,44 +40,44 @@ void ListApplicationsResult::parse(const std::string &payload)
 	reader.parse(payload, value);
 	setRequestId(value["RequestId"].asString());
 	auto dataNode = value["Data"];
-	if(!dataNode["PageSize"].isNull())
-		data_.pageSize = std::stoi(dataNode["PageSize"].asString());
 	if(!dataNode["CurrentPage"].isNull())
 		data_.currentPage = std::stoi(dataNode["CurrentPage"].asString());
 	if(!dataNode["TotalSize"].isNull())
 		data_.totalSize = std::stoi(dataNode["TotalSize"].asString());
+	if(!dataNode["PageSize"].isNull())
+		data_.pageSize = std::stoi(dataNode["PageSize"].asString());
 	auto allApplicationsNode = dataNode["Applications"]["Application"];
 	for (auto dataNodeApplicationsApplication : allApplicationsNode)
 	{
 		Data::Application applicationObject;
-		if(!dataNodeApplicationsApplication["Instances"].isNull())
-			applicationObject.instances = std::stoi(dataNodeApplicationsApplication["Instances"].asString());
-		if(!dataNodeApplicationsApplication["ScaleRuleEnabled"].isNull())
-			applicationObject.scaleRuleEnabled = dataNodeApplicationsApplication["ScaleRuleEnabled"].asString() == "true";
-		if(!dataNodeApplicationsApplication["AppDescription"].isNull())
-			applicationObject.appDescription = dataNodeApplicationsApplication["AppDescription"].asString();
+		if(!dataNodeApplicationsApplication["AppName"].isNull())
+			applicationObject.appName = dataNodeApplicationsApplication["AppName"].asString();
+		if(!dataNodeApplicationsApplication["NamespaceId"].isNull())
+			applicationObject.namespaceId = dataNodeApplicationsApplication["NamespaceId"].asString();
+		if(!dataNodeApplicationsApplication["AppDeletingStatus"].isNull())
+			applicationObject.appDeletingStatus = dataNodeApplicationsApplication["AppDeletingStatus"].asString() == "true";
 		if(!dataNodeApplicationsApplication["AppId"].isNull())
 			applicationObject.appId = dataNodeApplicationsApplication["AppId"].asString();
+		if(!dataNodeApplicationsApplication["ScaleRuleEnabled"].isNull())
+			applicationObject.scaleRuleEnabled = dataNodeApplicationsApplication["ScaleRuleEnabled"].asString() == "true";
+		if(!dataNodeApplicationsApplication["ScaleRuleType"].isNull())
+			applicationObject.scaleRuleType = dataNodeApplicationsApplication["ScaleRuleType"].asString();
 		if(!dataNodeApplicationsApplication["RunningInstances"].isNull())
 			applicationObject.runningInstances = std::stoi(dataNodeApplicationsApplication["RunningInstances"].asString());
+		if(!dataNodeApplicationsApplication["Instances"].isNull())
+			applicationObject.instances = std::stoi(dataNodeApplicationsApplication["Instances"].asString());
 		if(!dataNodeApplicationsApplication["RegionId"].isNull())
 			applicationObject.regionId = dataNodeApplicationsApplication["RegionId"].asString();
-		if(!dataNodeApplicationsApplication["NamespaceId"].isNull())
-			applicationObject.namespaceId = dataNodeApplicationsApplication["NamespaceId"].asString();
-		if(!dataNodeApplicationsApplication["ScaleRuleType"].isNull())
-			applicationObject.scaleRuleType = dataNodeApplicationsApplication["ScaleRuleType"].asString();
-		if(!dataNodeApplicationsApplication["AppDeletingStatus"].isNull())
-			applicationObject.appDeletingStatus = dataNodeApplicationsApplication["AppDeletingStatus"].asString() == "true";
-		if(!dataNodeApplicationsApplication["AppName"].isNull())
-			applicationObject.appName = dataNodeApplicationsApplication["AppName"].asString();
+		if(!dataNodeApplicationsApplication["AppDescription"].isNull())
+			applicationObject.appDescription = dataNodeApplicationsApplication["AppDescription"].asString();
 		auto allTagsNode = dataNodeApplicationsApplication["Tags"]["TagsItem"];
 		for (auto dataNodeApplicationsApplicationTagsTagsItem : allTagsNode)
 		{
 			Data::Application::TagsItem tagsObject;
-			if(!dataNodeApplicationsApplicationTagsTagsItem["Value"].isNull())
-				tagsObject.value = dataNodeApplicationsApplicationTagsTagsItem["Value"].asString();
 			if(!dataNodeApplicationsApplicationTagsTagsItem["Key"].isNull())
 				tagsObject.key = dataNodeApplicationsApplicationTagsTagsItem["Key"].asString();
+			if(!dataNodeApplicationsApplicationTagsTagsItem["Value"].isNull())
+				tagsObject.value = dataNodeApplicationsApplicationTagsTagsItem["Value"].asString();
 			applicationObject.tags.push_back(tagsObject);
 		}
 		data_.applications.push_back(applicationObject);
@@ -90,6 +90,12 @@ void ListApplicationsResult::parse(const std::string &payload)
 		code_ = value["Code"].asString();
 	if(!value["Success"].isNull())
 		success_ = value["Success"].asString() == "true";
+	if(!value["CurrentPage"].isNull())
+		currentPage_ = std::stoi(value["CurrentPage"].asString());
+	if(!value["TotalSize"].isNull())
+		totalSize_ = std::stoi(value["TotalSize"].asString());
+	if(!value["PageSize"].isNull())
+		pageSize_ = std::stoi(value["PageSize"].asString());
 
 }
 
@@ -98,6 +104,16 @@ std::string ListApplicationsResult::getMessage()const
 	return message_;
 }
 
+int ListApplicationsResult::getPageSize()const
+{
+	return pageSize_;
+}
+
+int ListApplicationsResult::getCurrentPage()const
+{
+	return currentPage_;
+}
+
 ListApplicationsResult::Data ListApplicationsResult::getData()const
 {
 	return data_;
@@ -108,6 +124,11 @@ std::string ListApplicationsResult::getErrorCode()const
 	return errorCode_;
 }
 
+int ListApplicationsResult::getTotalSize()const
+{
+	return totalSize_;
+}
+
 std::string ListApplicationsResult::getCode()const
 {
 	return code_;

+ 41 - 0
sae/src/model/ListGreyTagRouteRequest.cc

@@ -0,0 +1,41 @@
+/*
+ * 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/sae/model/ListGreyTagRouteRequest.h>
+
+using AlibabaCloud::Sae::Model::ListGreyTagRouteRequest;
+
+ListGreyTagRouteRequest::ListGreyTagRouteRequest() :
+	RoaServiceRequest("sae", "2019-05-06")
+{
+	setResourcePath("/pop/v1/sam/tagroute/greyTagRouteList");
+	setMethod(HttpRequest::Method::Get);
+}
+
+ListGreyTagRouteRequest::~ListGreyTagRouteRequest()
+{}
+
+std::string ListGreyTagRouteRequest::getAppId()const
+{
+	return appId_;
+}
+
+void ListGreyTagRouteRequest::setAppId(const std::string& appId)
+{
+	appId_ = appId;
+	setParameter("AppId", appId);
+}
+

+ 173 - 0
sae/src/model/ListGreyTagRouteResult.cc

@@ -0,0 +1,173 @@
+/*
+ * 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/sae/model/ListGreyTagRouteResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Sae;
+using namespace AlibabaCloud::Sae::Model;
+
+ListGreyTagRouteResult::ListGreyTagRouteResult() :
+	ServiceResult()
+{}
+
+ListGreyTagRouteResult::ListGreyTagRouteResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ListGreyTagRouteResult::~ListGreyTagRouteResult()
+{}
+
+void ListGreyTagRouteResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto dataNode = value["Data"];
+	if(!dataNode["PageSize"].isNull())
+		data_.pageSize = std::stoi(dataNode["PageSize"].asString());
+	if(!dataNode["CurrentPage"].isNull())
+		data_.currentPage = std::stoi(dataNode["CurrentPage"].asString());
+	if(!dataNode["TotalSize"].isNull())
+		data_.totalSize = std::stol(dataNode["TotalSize"].asString());
+	auto allResultNode = dataNode["Result"]["resultItem"];
+	for (auto dataNodeResultresultItem : allResultNode)
+	{
+		Data::ResultItem resultItemObject;
+		if(!dataNodeResultresultItem["Description"].isNull())
+			resultItemObject.description = dataNodeResultresultItem["Description"].asString();
+		if(!dataNodeResultresultItem["GreyTagRouteId"].isNull())
+			resultItemObject.greyTagRouteId = std::stol(dataNodeResultresultItem["GreyTagRouteId"].asString());
+		if(!dataNodeResultresultItem["CreateTime"].isNull())
+			resultItemObject.createTime = std::stol(dataNodeResultresultItem["CreateTime"].asString());
+		if(!dataNodeResultresultItem["UpdateTime"].isNull())
+			resultItemObject.updateTime = std::stol(dataNodeResultresultItem["UpdateTime"].asString());
+		if(!dataNodeResultresultItem["Name"].isNull())
+			resultItemObject.name = dataNodeResultresultItem["Name"].asString();
+		auto allScRulesNode = dataNodeResultresultItem["ScRules"]["scRule"];
+		for (auto dataNodeResultresultItemScRulesscRule : allScRulesNode)
+		{
+			Data::ResultItem::ScRule scRulesObject;
+			if(!dataNodeResultresultItemScRulesscRule["path"].isNull())
+				scRulesObject.path = dataNodeResultresultItemScRulesscRule["path"].asString();
+			if(!dataNodeResultresultItemScRulesscRule["condition"].isNull())
+				scRulesObject.condition = dataNodeResultresultItemScRulesscRule["condition"].asString();
+			auto allitemsNode = dataNodeResultresultItemScRulesscRule["items"]["item"];
+			for (auto dataNodeResultresultItemScRulesscRuleitemsitem : allitemsNode)
+			{
+				Data::ResultItem::ScRule::Item itemsObject;
+				if(!dataNodeResultresultItemScRulesscRuleitemsitem["name"].isNull())
+					itemsObject.name = dataNodeResultresultItemScRulesscRuleitemsitem["name"].asString();
+				if(!dataNodeResultresultItemScRulesscRuleitemsitem["index"].isNull())
+					itemsObject.index = std::stoi(dataNodeResultresultItemScRulesscRuleitemsitem["index"].asString());
+				if(!dataNodeResultresultItemScRulesscRuleitemsitem["expr"].isNull())
+					itemsObject.expr = dataNodeResultresultItemScRulesscRuleitemsitem["expr"].asString();
+				if(!dataNodeResultresultItemScRulesscRuleitemsitem["type"].isNull())
+					itemsObject.type = dataNodeResultresultItemScRulesscRuleitemsitem["type"].asString();
+				if(!dataNodeResultresultItemScRulesscRuleitemsitem["cond"].isNull())
+					itemsObject.cond = dataNodeResultresultItemScRulesscRuleitemsitem["cond"].asString();
+				if(!dataNodeResultresultItemScRulesscRuleitemsitem["value"].isNull())
+					itemsObject.value = dataNodeResultresultItemScRulesscRuleitemsitem["value"].asString();
+				if(!dataNodeResultresultItemScRulesscRuleitemsitem["operator"].isNull())
+					itemsObject._operator = dataNodeResultresultItemScRulesscRuleitemsitem["operator"].asString();
+				scRulesObject.items.push_back(itemsObject);
+			}
+			resultItemObject.scRules.push_back(scRulesObject);
+		}
+		auto allDubboRulesNode = dataNodeResultresultItem["DubboRules"]["dubboRule"];
+		for (auto dataNodeResultresultItemDubboRulesdubboRule : allDubboRulesNode)
+		{
+			Data::ResultItem::DubboRule dubboRulesObject;
+			if(!dataNodeResultresultItemDubboRulesdubboRule["condition"].isNull())
+				dubboRulesObject.condition = dataNodeResultresultItemDubboRulesdubboRule["condition"].asString();
+			if(!dataNodeResultresultItemDubboRulesdubboRule["methodName"].isNull())
+				dubboRulesObject.methodName = dataNodeResultresultItemDubboRulesdubboRule["methodName"].asString();
+			if(!dataNodeResultresultItemDubboRulesdubboRule["serviceName"].isNull())
+				dubboRulesObject.serviceName = dataNodeResultresultItemDubboRulesdubboRule["serviceName"].asString();
+			if(!dataNodeResultresultItemDubboRulesdubboRule["version"].isNull())
+				dubboRulesObject.version = dataNodeResultresultItemDubboRulesdubboRule["version"].asString();
+			if(!dataNodeResultresultItemDubboRulesdubboRule["group"].isNull())
+				dubboRulesObject.group = dataNodeResultresultItemDubboRulesdubboRule["group"].asString();
+			auto allitems1Node = dataNodeResultresultItemDubboRulesdubboRule["items"]["item"];
+			for (auto dataNodeResultresultItemDubboRulesdubboRuleitemsitem : allitems1Node)
+			{
+				Data::ResultItem::DubboRule::Item2 items1Object;
+				if(!dataNodeResultresultItemDubboRulesdubboRuleitemsitem["name"].isNull())
+					items1Object.name = dataNodeResultresultItemDubboRulesdubboRuleitemsitem["name"].asString();
+				if(!dataNodeResultresultItemDubboRulesdubboRuleitemsitem["index"].isNull())
+					items1Object.index = std::stoi(dataNodeResultresultItemDubboRulesdubboRuleitemsitem["index"].asString());
+				if(!dataNodeResultresultItemDubboRulesdubboRuleitemsitem["expr"].isNull())
+					items1Object.expr = dataNodeResultresultItemDubboRulesdubboRuleitemsitem["expr"].asString();
+				if(!dataNodeResultresultItemDubboRulesdubboRuleitemsitem["type"].isNull())
+					items1Object.type = dataNodeResultresultItemDubboRulesdubboRuleitemsitem["type"].asString();
+				if(!dataNodeResultresultItemDubboRulesdubboRuleitemsitem["cond"].isNull())
+					items1Object.cond = dataNodeResultresultItemDubboRulesdubboRuleitemsitem["cond"].asString();
+				if(!dataNodeResultresultItemDubboRulesdubboRuleitemsitem["value"].isNull())
+					items1Object.value = dataNodeResultresultItemDubboRulesdubboRuleitemsitem["value"].asString();
+				if(!dataNodeResultresultItemDubboRulesdubboRuleitemsitem["operator"].isNull())
+					items1Object._operator = dataNodeResultresultItemDubboRulesdubboRuleitemsitem["operator"].asString();
+				dubboRulesObject.items1.push_back(items1Object);
+			}
+			resultItemObject.dubboRules.push_back(dubboRulesObject);
+		}
+		data_.result.push_back(resultItemObject);
+	}
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+	if(!value["TraceId"].isNull())
+		traceId_ = value["TraceId"].asString();
+	if(!value["ErrorCode"].isNull())
+		errorCode_ = value["ErrorCode"].asString();
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
+
+}
+
+std::string ListGreyTagRouteResult::getMessage()const
+{
+	return message_;
+}
+
+std::string ListGreyTagRouteResult::getTraceId()const
+{
+	return traceId_;
+}
+
+ListGreyTagRouteResult::Data ListGreyTagRouteResult::getData()const
+{
+	return data_;
+}
+
+std::string ListGreyTagRouteResult::getErrorCode()const
+{
+	return errorCode_;
+}
+
+std::string ListGreyTagRouteResult::getCode()const
+{
+	return code_;
+}
+
+bool ListGreyTagRouteResult::getSuccess()const
+{
+	return success_;
+}
+

+ 52 - 0
sae/src/model/ReduceApplicationCapacityByInstanceIdsRequest.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/sae/model/ReduceApplicationCapacityByInstanceIdsRequest.h>
+
+using AlibabaCloud::Sae::Model::ReduceApplicationCapacityByInstanceIdsRequest;
+
+ReduceApplicationCapacityByInstanceIdsRequest::ReduceApplicationCapacityByInstanceIdsRequest() :
+	RoaServiceRequest("sae", "2019-05-06")
+{
+	setResourcePath("/pop/v1/sam/app/ScaleInApplicationWithInstanceIds");
+	setMethod(HttpRequest::Method::Put);
+}
+
+ReduceApplicationCapacityByInstanceIdsRequest::~ReduceApplicationCapacityByInstanceIdsRequest()
+{}
+
+std::string ReduceApplicationCapacityByInstanceIdsRequest::getInstanceIds()const
+{
+	return instanceIds_;
+}
+
+void ReduceApplicationCapacityByInstanceIdsRequest::setInstanceIds(const std::string& instanceIds)
+{
+	instanceIds_ = instanceIds;
+	setParameter("InstanceIds", instanceIds);
+}
+
+std::string ReduceApplicationCapacityByInstanceIdsRequest::getAppId()const
+{
+	return appId_;
+}
+
+void ReduceApplicationCapacityByInstanceIdsRequest::setAppId(const std::string& appId)
+{
+	appId_ = appId;
+	setParameter("AppId", appId);
+}
+

+ 87 - 0
sae/src/model/ReduceApplicationCapacityByInstanceIdsResult.cc

@@ -0,0 +1,87 @@
+/*
+ * 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/sae/model/ReduceApplicationCapacityByInstanceIdsResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Sae;
+using namespace AlibabaCloud::Sae::Model;
+
+ReduceApplicationCapacityByInstanceIdsResult::ReduceApplicationCapacityByInstanceIdsResult() :
+	ServiceResult()
+{}
+
+ReduceApplicationCapacityByInstanceIdsResult::ReduceApplicationCapacityByInstanceIdsResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ReduceApplicationCapacityByInstanceIdsResult::~ReduceApplicationCapacityByInstanceIdsResult()
+{}
+
+void ReduceApplicationCapacityByInstanceIdsResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto dataNode = value["Data"];
+	if(!dataNode["ChangeOrderId"].isNull())
+		data_.changeOrderId = dataNode["ChangeOrderId"].asString();
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+	if(!value["TraceId"].isNull())
+		traceId_ = value["TraceId"].asString();
+	if(!value["ErrorCode"].isNull())
+		errorCode_ = value["ErrorCode"].asString();
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
+
+}
+
+std::string ReduceApplicationCapacityByInstanceIdsResult::getMessage()const
+{
+	return message_;
+}
+
+std::string ReduceApplicationCapacityByInstanceIdsResult::getTraceId()const
+{
+	return traceId_;
+}
+
+ReduceApplicationCapacityByInstanceIdsResult::Data ReduceApplicationCapacityByInstanceIdsResult::getData()const
+{
+	return data_;
+}
+
+std::string ReduceApplicationCapacityByInstanceIdsResult::getErrorCode()const
+{
+	return errorCode_;
+}
+
+std::string ReduceApplicationCapacityByInstanceIdsResult::getCode()const
+{
+	return code_;
+}
+
+bool ReduceApplicationCapacityByInstanceIdsResult::getSuccess()const
+{
+	return success_;
+}
+

+ 11 - 0
sae/src/model/RescaleApplicationRequest.cc

@@ -61,3 +61,14 @@ void RescaleApplicationRequest::setAppId(const std::string& appId)
 	setParameter("AppId", appId);
 }
 
+bool RescaleApplicationRequest::getAutoEnableApplicationScalingRule()const
+{
+	return autoEnableApplicationScalingRule_;
+}
+
+void RescaleApplicationRequest::setAutoEnableApplicationScalingRule(bool autoEnableApplicationScalingRule)
+{
+	autoEnableApplicationScalingRule_ = autoEnableApplicationScalingRule;
+	setParameter("AutoEnableApplicationScalingRule", autoEnableApplicationScalingRule ? "true" : "false");
+}
+

+ 4 - 4
sae/src/model/RescaleApplicationResult.cc

@@ -42,14 +42,14 @@ void RescaleApplicationResult::parse(const std::string &payload)
 	auto dataNode = value["Data"];
 	if(!dataNode["ChangeOrderId"].isNull())
 		data_.changeOrderId = dataNode["ChangeOrderId"].asString();
-	if(!value["Code"].isNull())
-		code_ = value["Code"].asString();
 	if(!value["Message"].isNull())
 		message_ = value["Message"].asString();
-	if(!value["Success"].isNull())
-		success_ = value["Success"].asString() == "true";
 	if(!value["ErrorCode"].isNull())
 		errorCode_ = value["ErrorCode"].asString();
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
 
 }
 

+ 6 - 6
sae/src/model/RestartApplicationResult.cc

@@ -42,16 +42,16 @@ void RestartApplicationResult::parse(const std::string &payload)
 	auto dataNode = value["Data"];
 	if(!dataNode["ChangeOrderId"].isNull())
 		data_.changeOrderId = dataNode["ChangeOrderId"].asString();
-	if(!value["Code"].isNull())
-		code_ = value["Code"].asString();
-	if(!value["Success"].isNull())
-		success_ = value["Success"].asString() == "true";
-	if(!value["ErrorCode"].isNull())
-		errorCode_ = value["ErrorCode"].asString();
 	if(!value["Message"].isNull())
 		message_ = value["Message"].asString();
 	if(!value["TraceId"].isNull())
 		traceId_ = value["TraceId"].asString();
+	if(!value["ErrorCode"].isNull())
+		errorCode_ = value["ErrorCode"].asString();
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
 
 }
 

+ 2 - 0
sae/src/model/RollbackApplicationResult.cc

@@ -42,6 +42,8 @@ void RollbackApplicationResult::parse(const std::string &payload)
 	auto dataNode = value["Data"];
 	if(!dataNode["ChangeOrderId"].isNull())
 		data_.changeOrderId = dataNode["ChangeOrderId"].asString();
+	if(!dataNode["IsNeedApproval"].isNull())
+		data_.isNeedApproval = dataNode["IsNeedApproval"].asString() == "true";
 	if(!value["Message"].isNull())
 		message_ = value["Message"].asString();
 	if(!value["TraceId"].isNull())

+ 1 - 1
sae/src/model/UpdateConfigMapRequest.cc

@@ -47,7 +47,7 @@ std::string UpdateConfigMapRequest::getDescription()const
 void UpdateConfigMapRequest::setDescription(const std::string& description)
 {
 	description_ = description;
-	setBodyParameter("Description", description);
+	setParameter("Description", description);
 }
 
 long UpdateConfigMapRequest::getConfigMapId()const

+ 4 - 4
sae/src/model/UpdateConfigMapResult.cc

@@ -42,14 +42,14 @@ void UpdateConfigMapResult::parse(const std::string &payload)
 	auto dataNode = value["Data"];
 	if(!dataNode["ConfigMapId"].isNull())
 		data_.configMapId = dataNode["ConfigMapId"].asString();
-	if(!value["Code"].isNull())
-		code_ = value["Code"].asString();
 	if(!value["Message"].isNull())
 		message_ = value["Message"].asString();
-	if(!value["ErrorCode"].isNull())
-		errorCode_ = value["ErrorCode"].asString();
 	if(!value["TraceId"].isNull())
 		traceId_ = value["TraceId"].asString();
+	if(!value["ErrorCode"].isNull())
+		errorCode_ = value["ErrorCode"].asString();
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
 	if(!value["Success"].isNull())
 		success_ = value["Success"].asString() == "true";
 

+ 74 - 0
sae/src/model/UpdateGreyTagRouteRequest.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/sae/model/UpdateGreyTagRouteRequest.h>
+
+using AlibabaCloud::Sae::Model::UpdateGreyTagRouteRequest;
+
+UpdateGreyTagRouteRequest::UpdateGreyTagRouteRequest() :
+	RoaServiceRequest("sae", "2019-05-06")
+{
+	setResourcePath("/pop/v1/sam/tagroute/greyTagRoute");
+	setMethod(HttpRequest::Method::Put);
+}
+
+UpdateGreyTagRouteRequest::~UpdateGreyTagRouteRequest()
+{}
+
+long UpdateGreyTagRouteRequest::getGreyTagRouteId()const
+{
+	return greyTagRouteId_;
+}
+
+void UpdateGreyTagRouteRequest::setGreyTagRouteId(long greyTagRouteId)
+{
+	greyTagRouteId_ = greyTagRouteId;
+	setParameter("GreyTagRouteId", std::to_string(greyTagRouteId));
+}
+
+std::string UpdateGreyTagRouteRequest::getDescription()const
+{
+	return description_;
+}
+
+void UpdateGreyTagRouteRequest::setDescription(const std::string& description)
+{
+	description_ = description;
+	setParameter("Description", description);
+}
+
+std::string UpdateGreyTagRouteRequest::getDubboRules()const
+{
+	return dubboRules_;
+}
+
+void UpdateGreyTagRouteRequest::setDubboRules(const std::string& dubboRules)
+{
+	dubboRules_ = dubboRules;
+	setParameter("DubboRules", dubboRules);
+}
+
+std::string UpdateGreyTagRouteRequest::getScRules()const
+{
+	return scRules_;
+}
+
+void UpdateGreyTagRouteRequest::setScRules(const std::string& scRules)
+{
+	scRules_ = scRules;
+	setParameter("ScRules", scRules);
+}
+

+ 87 - 0
sae/src/model/UpdateGreyTagRouteResult.cc

@@ -0,0 +1,87 @@
+/*
+ * 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/sae/model/UpdateGreyTagRouteResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Sae;
+using namespace AlibabaCloud::Sae::Model;
+
+UpdateGreyTagRouteResult::UpdateGreyTagRouteResult() :
+	ServiceResult()
+{}
+
+UpdateGreyTagRouteResult::UpdateGreyTagRouteResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+UpdateGreyTagRouteResult::~UpdateGreyTagRouteResult()
+{}
+
+void UpdateGreyTagRouteResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto dataNode = value["Data"];
+	if(!dataNode["GreyTagRouteId"].isNull())
+		data_.greyTagRouteId = std::stol(dataNode["GreyTagRouteId"].asString());
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+	if(!value["TraceId"].isNull())
+		traceId_ = value["TraceId"].asString();
+	if(!value["ErrorCode"].isNull())
+		errorCode_ = value["ErrorCode"].asString();
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
+
+}
+
+std::string UpdateGreyTagRouteResult::getMessage()const
+{
+	return message_;
+}
+
+std::string UpdateGreyTagRouteResult::getTraceId()const
+{
+	return traceId_;
+}
+
+UpdateGreyTagRouteResult::Data UpdateGreyTagRouteResult::getData()const
+{
+	return data_;
+}
+
+std::string UpdateGreyTagRouteResult::getErrorCode()const
+{
+	return errorCode_;
+}
+
+std::string UpdateGreyTagRouteResult::getCode()const
+{
+	return code_;
+}
+
+bool UpdateGreyTagRouteResult::getSuccess()const
+{
+	return success_;
+}
+

+ 74 - 0
sae/src/model/UploadFilesRequest.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/sae/model/UploadFilesRequest.h>
+
+using AlibabaCloud::Sae::Model::UploadFilesRequest;
+
+UploadFilesRequest::UploadFilesRequest() :
+	RoaServiceRequest("sae", "2019-05-06")
+{
+	setResourcePath("/pop/v1/sam/app/uploadFiles");
+	setMethod(HttpRequest::Method::Post);
+}
+
+UploadFilesRequest::~UploadFilesRequest()
+{}
+
+std::string UploadFilesRequest::getInstanceId()const
+{
+	return instanceId_;
+}
+
+void UploadFilesRequest::setInstanceId(const std::string& instanceId)
+{
+	instanceId_ = instanceId;
+	setParameter("InstanceId", instanceId);
+}
+
+std::string UploadFilesRequest::getCloudUrl()const
+{
+	return cloudUrl_;
+}
+
+void UploadFilesRequest::setCloudUrl(const std::string& cloudUrl)
+{
+	cloudUrl_ = cloudUrl;
+	setParameter("CloudUrl", cloudUrl);
+}
+
+std::string UploadFilesRequest::getLocalpath()const
+{
+	return localpath_;
+}
+
+void UploadFilesRequest::setLocalpath(const std::string& localpath)
+{
+	localpath_ = localpath;
+	setParameter("Localpath", localpath);
+}
+
+std::string UploadFilesRequest::getAppId()const
+{
+	return appId_;
+}
+
+void UploadFilesRequest::setAppId(const std::string& appId)
+{
+	appId_ = appId;
+	setParameter("AppId", appId);
+}
+

+ 86 - 0
sae/src/model/UploadFilesResult.cc

@@ -0,0 +1,86 @@
+/*
+ * 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/sae/model/UploadFilesResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Sae;
+using namespace AlibabaCloud::Sae::Model;
+
+UploadFilesResult::UploadFilesResult() :
+	ServiceResult()
+{}
+
+UploadFilesResult::UploadFilesResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+UploadFilesResult::~UploadFilesResult()
+{}
+
+void UploadFilesResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+	if(!value["TraceId"].isNull())
+		traceId_ = value["TraceId"].asString();
+	if(!value["Data"].isNull())
+		data_ = value["Data"].asString();
+	if(!value["ErrorCode"].isNull())
+		errorCode_ = value["ErrorCode"].asString();
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
+
+}
+
+std::string UploadFilesResult::getMessage()const
+{
+	return message_;
+}
+
+std::string UploadFilesResult::getTraceId()const
+{
+	return traceId_;
+}
+
+std::string UploadFilesResult::getData()const
+{
+	return data_;
+}
+
+std::string UploadFilesResult::getErrorCode()const
+{
+	return errorCode_;
+}
+
+std::string UploadFilesResult::getCode()const
+{
+	return code_;
+}
+
+bool UploadFilesResult::getSuccess()const
+{
+	return success_;
+}
+