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

Add OpenArmsServiceSecondVersion.

sdk-team 5 лет назад
Родитель
Сommit
21d4a23230
83 измененных файлов с 6067 добавлено и 20 удалено
  1. 3 0
      CHANGELOG
  2. 1 1
      VERSION
  3. 72 0
      arms/CMakeLists.txt
  4. 144 0
      arms/include/alibabacloud/arms/ARMSClient.h
  5. 78 0
      arms/include/alibabacloud/arms/model/CreateAlertTemplateRequest.h
  6. 82 0
      arms/include/alibabacloud/arms/model/CreateAlertTemplateResult.h
  7. 84 0
      arms/include/alibabacloud/arms/model/CreatePrometheusAlertRuleRequest.h
  8. 76 0
      arms/include/alibabacloud/arms/model/CreatePrometheusAlertRuleResult.h
  9. 69 0
      arms/include/alibabacloud/arms/model/CreateWebhookRequest.h
  10. 51 0
      arms/include/alibabacloud/arms/model/CreateWebhookResult.h
  11. 54 0
      arms/include/alibabacloud/arms/model/DeleteAlertTemplateRequest.h
  12. 51 0
      arms/include/alibabacloud/arms/model/DeleteAlertTemplateResult.h
  13. 54 0
      arms/include/alibabacloud/arms/model/DeleteGrafanaResourceRequest.h
  14. 51 0
      arms/include/alibabacloud/arms/model/DeleteGrafanaResourceResult.h
  15. 48 0
      arms/include/alibabacloud/arms/model/DeletePrometheusAlertRuleRequest.h
  16. 51 0
      arms/include/alibabacloud/arms/model/DeletePrometheusAlertRuleResult.h
  17. 48 0
      arms/include/alibabacloud/arms/model/DescribePrometheusAlertRuleRequest.h
  18. 76 0
      arms/include/alibabacloud/arms/model/DescribePrometheusAlertRuleResult.h
  19. 54 0
      arms/include/alibabacloud/arms/model/DisableAlertTemplateRequest.h
  20. 51 0
      arms/include/alibabacloud/arms/model/DisableAlertTemplateResult.h
  21. 54 0
      arms/include/alibabacloud/arms/model/EnableAlertTemplateRequest.h
  22. 51 0
      arms/include/alibabacloud/arms/model/EnableAlertTemplateResult.h
  23. 60 0
      arms/include/alibabacloud/arms/model/ListActivatedAlertsRequest.h
  24. 82 0
      arms/include/alibabacloud/arms/model/ListActivatedAlertsResult.h
  25. 69 0
      arms/include/alibabacloud/arms/model/ListAlertTemplatesRequest.h
  26. 82 0
      arms/include/alibabacloud/arms/model/ListAlertTemplatesResult.h
  27. 15 6
      arms/include/alibabacloud/arms/model/ListDashboardsRequest.h
  28. 8 3
      arms/include/alibabacloud/arms/model/ListDashboardsResult.h
  29. 66 0
      arms/include/alibabacloud/arms/model/ListPrometheusAlertRulesRequest.h
  30. 76 0
      arms/include/alibabacloud/arms/model/ListPrometheusAlertRulesResult.h
  31. 57 0
      arms/include/alibabacloud/arms/model/ListPrometheusAlertTemplatesRequest.h
  32. 72 0
      arms/include/alibabacloud/arms/model/ListPrometheusAlertTemplatesResult.h
  33. 48 0
      arms/include/alibabacloud/arms/model/OpenArmsDefaultSLRRequest.h
  34. 51 0
      arms/include/alibabacloud/arms/model/OpenArmsDefaultSLRResult.h
  35. 51 0
      arms/include/alibabacloud/arms/model/OpenArmsServiceSecondVersionRequest.h
  36. 51 0
      arms/include/alibabacloud/arms/model/OpenArmsServiceSecondVersionResult.h
  37. 6 0
      arms/include/alibabacloud/arms/model/OpenVClusterRequest.h
  38. 48 0
      arms/include/alibabacloud/arms/model/OpenXtraceDefaultSLRRequest.h
  39. 51 0
      arms/include/alibabacloud/arms/model/OpenXtraceDefaultSLRResult.h
  40. 78 0
      arms/include/alibabacloud/arms/model/UpdateAlertTemplateRequest.h
  41. 51 0
      arms/include/alibabacloud/arms/model/UpdateAlertTemplateResult.h
  42. 84 0
      arms/include/alibabacloud/arms/model/UpdatePrometheusAlertRuleRequest.h
  43. 76 0
      arms/include/alibabacloud/arms/model/UpdatePrometheusAlertRuleResult.h
  44. 648 0
      arms/src/ARMSClient.cc
  45. 150 0
      arms/src/model/CreateAlertTemplateRequest.cc
  46. 95 0
      arms/src/model/CreateAlertTemplateResult.cc
  47. 172 0
      arms/src/model/CreatePrometheusAlertRuleRequest.cc
  48. 90 0
      arms/src/model/CreatePrometheusAlertRuleResult.cc
  49. 117 0
      arms/src/model/CreateWebhookRequest.cc
  50. 51 0
      arms/src/model/CreateWebhookResult.cc
  51. 62 0
      arms/src/model/DeleteAlertTemplateRequest.cc
  52. 51 0
      arms/src/model/DeleteAlertTemplateResult.cc
  53. 62 0
      arms/src/model/DeleteGrafanaResourceRequest.cc
  54. 51 0
      arms/src/model/DeleteGrafanaResourceResult.cc
  55. 40 0
      arms/src/model/DeletePrometheusAlertRuleRequest.cc
  56. 51 0
      arms/src/model/DeletePrometheusAlertRuleResult.cc
  57. 40 0
      arms/src/model/DescribePrometheusAlertRuleRequest.cc
  58. 90 0
      arms/src/model/DescribePrometheusAlertRuleResult.cc
  59. 62 0
      arms/src/model/DisableAlertTemplateRequest.cc
  60. 51 0
      arms/src/model/DisableAlertTemplateResult.cc
  61. 62 0
      arms/src/model/EnableAlertTemplateRequest.cc
  62. 51 0
      arms/src/model/EnableAlertTemplateResult.cc
  63. 84 0
      arms/src/model/ListActivatedAlertsRequest.cc
  64. 102 0
      arms/src/model/ListActivatedAlertsResult.cc
  65. 117 0
      arms/src/model/ListAlertTemplatesRequest.cc
  66. 100 0
      arms/src/model/ListAlertTemplatesResult.cc
  67. 43 10
      arms/src/model/ListDashboardsRequest.cc
  68. 10 0
      arms/src/model/ListDashboardsResult.cc
  69. 106 0
      arms/src/model/ListPrometheusAlertRulesRequest.cc
  70. 95 0
      arms/src/model/ListPrometheusAlertRulesResult.cc
  71. 73 0
      arms/src/model/ListPrometheusAlertTemplatesRequest.cc
  72. 87 0
      arms/src/model/ListPrometheusAlertTemplatesResult.cc
  73. 40 0
      arms/src/model/OpenArmsDefaultSLRRequest.cc
  74. 51 0
      arms/src/model/OpenArmsDefaultSLRResult.cc
  75. 51 0
      arms/src/model/OpenArmsServiceSecondVersionRequest.cc
  76. 51 0
      arms/src/model/OpenArmsServiceSecondVersionResult.cc
  77. 22 0
      arms/src/model/OpenVClusterRequest.cc
  78. 40 0
      arms/src/model/OpenXtraceDefaultSLRRequest.cc
  79. 51 0
      arms/src/model/OpenXtraceDefaultSLRResult.cc
  80. 150 0
      arms/src/model/UpdateAlertTemplateRequest.cc
  81. 51 0
      arms/src/model/UpdateAlertTemplateResult.cc
  82. 172 0
      arms/src/model/UpdatePrometheusAlertRuleRequest.cc
  83. 90 0
      arms/src/model/UpdatePrometheusAlertRuleResult.cc

+ 3 - 0
CHANGELOG

@@ -1,3 +1,6 @@
+2021-04-30 Version: 1.36.708
+- Add OpenArmsServiceSecondVersion.
+
 2021-04-29 Version: 1.36.707
 - ModifyNodeSpec API add SwitchTime.
 

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.36.707
+1.36.708

+ 72 - 0
arms/CMakeLists.txt

@@ -39,10 +39,16 @@ set(arms_public_header_model
 	include/alibabacloud/arms/model/CreateAlertContactResult.h
 	include/alibabacloud/arms/model/CreateAlertContactGroupRequest.h
 	include/alibabacloud/arms/model/CreateAlertContactGroupResult.h
+	include/alibabacloud/arms/model/CreateAlertTemplateRequest.h
+	include/alibabacloud/arms/model/CreateAlertTemplateResult.h
 	include/alibabacloud/arms/model/CreateDispatchRuleRequest.h
 	include/alibabacloud/arms/model/CreateDispatchRuleResult.h
+	include/alibabacloud/arms/model/CreatePrometheusAlertRuleRequest.h
+	include/alibabacloud/arms/model/CreatePrometheusAlertRuleResult.h
 	include/alibabacloud/arms/model/CreateRetcodeAppRequest.h
 	include/alibabacloud/arms/model/CreateRetcodeAppResult.h
+	include/alibabacloud/arms/model/CreateWebhookRequest.h
+	include/alibabacloud/arms/model/CreateWebhookResult.h
 	include/alibabacloud/arms/model/CreateWehookRequest.h
 	include/alibabacloud/arms/model/CreateWehookResult.h
 	include/alibabacloud/arms/model/DeleteAlertContactRequest.h
@@ -51,8 +57,14 @@ set(arms_public_header_model
 	include/alibabacloud/arms/model/DeleteAlertContactGroupResult.h
 	include/alibabacloud/arms/model/DeleteAlertRulesRequest.h
 	include/alibabacloud/arms/model/DeleteAlertRulesResult.h
+	include/alibabacloud/arms/model/DeleteAlertTemplateRequest.h
+	include/alibabacloud/arms/model/DeleteAlertTemplateResult.h
 	include/alibabacloud/arms/model/DeleteDispatchRuleRequest.h
 	include/alibabacloud/arms/model/DeleteDispatchRuleResult.h
+	include/alibabacloud/arms/model/DeleteGrafanaResourceRequest.h
+	include/alibabacloud/arms/model/DeleteGrafanaResourceResult.h
+	include/alibabacloud/arms/model/DeletePrometheusAlertRuleRequest.h
+	include/alibabacloud/arms/model/DeletePrometheusAlertRuleResult.h
 	include/alibabacloud/arms/model/DeleteRetcodeAppRequest.h
 	include/alibabacloud/arms/model/DeleteRetcodeAppResult.h
 	include/alibabacloud/arms/model/DeleteScenarioRequest.h
@@ -61,10 +73,16 @@ set(arms_public_header_model
 	include/alibabacloud/arms/model/DeleteTraceAppResult.h
 	include/alibabacloud/arms/model/DescribeDispatchRuleRequest.h
 	include/alibabacloud/arms/model/DescribeDispatchRuleResult.h
+	include/alibabacloud/arms/model/DescribePrometheusAlertRuleRequest.h
+	include/alibabacloud/arms/model/DescribePrometheusAlertRuleResult.h
 	include/alibabacloud/arms/model/DescribeTraceLicenseKeyRequest.h
 	include/alibabacloud/arms/model/DescribeTraceLicenseKeyResult.h
 	include/alibabacloud/arms/model/DescribeTraceLocationRequest.h
 	include/alibabacloud/arms/model/DescribeTraceLocationResult.h
+	include/alibabacloud/arms/model/DisableAlertTemplateRequest.h
+	include/alibabacloud/arms/model/DisableAlertTemplateResult.h
+	include/alibabacloud/arms/model/EnableAlertTemplateRequest.h
+	include/alibabacloud/arms/model/EnableAlertTemplateResult.h
 	include/alibabacloud/arms/model/ExportPrometheusRulesRequest.h
 	include/alibabacloud/arms/model/ExportPrometheusRulesResult.h
 	include/alibabacloud/arms/model/GetAgentDownloadUrlRequest.h
@@ -93,6 +111,10 @@ set(arms_public_header_model
 	include/alibabacloud/arms/model/ImportCustomAlertRulesResult.h
 	include/alibabacloud/arms/model/ImportPrometheusRulesRequest.h
 	include/alibabacloud/arms/model/ImportPrometheusRulesResult.h
+	include/alibabacloud/arms/model/ListActivatedAlertsRequest.h
+	include/alibabacloud/arms/model/ListActivatedAlertsResult.h
+	include/alibabacloud/arms/model/ListAlertTemplatesRequest.h
+	include/alibabacloud/arms/model/ListAlertTemplatesResult.h
 	include/alibabacloud/arms/model/ListClusterFromGrafanaRequest.h
 	include/alibabacloud/arms/model/ListClusterFromGrafanaResult.h
 	include/alibabacloud/arms/model/ListDashboardsRequest.h
@@ -101,6 +123,10 @@ set(arms_public_header_model
 	include/alibabacloud/arms/model/ListDispatchRuleResult.h
 	include/alibabacloud/arms/model/ListPromClustersRequest.h
 	include/alibabacloud/arms/model/ListPromClustersResult.h
+	include/alibabacloud/arms/model/ListPrometheusAlertRulesRequest.h
+	include/alibabacloud/arms/model/ListPrometheusAlertRulesResult.h
+	include/alibabacloud/arms/model/ListPrometheusAlertTemplatesRequest.h
+	include/alibabacloud/arms/model/ListPrometheusAlertTemplatesResult.h
 	include/alibabacloud/arms/model/ListRetcodeAppsRequest.h
 	include/alibabacloud/arms/model/ListRetcodeAppsResult.h
 	include/alibabacloud/arms/model/ListScenarioRequest.h
@@ -109,10 +135,16 @@ set(arms_public_header_model
 	include/alibabacloud/arms/model/ListServerlessTopNAppsResult.h
 	include/alibabacloud/arms/model/ListTraceAppsRequest.h
 	include/alibabacloud/arms/model/ListTraceAppsResult.h
+	include/alibabacloud/arms/model/OpenArmsDefaultSLRRequest.h
+	include/alibabacloud/arms/model/OpenArmsDefaultSLRResult.h
 	include/alibabacloud/arms/model/OpenArmsServiceRequest.h
 	include/alibabacloud/arms/model/OpenArmsServiceResult.h
+	include/alibabacloud/arms/model/OpenArmsServiceSecondVersionRequest.h
+	include/alibabacloud/arms/model/OpenArmsServiceSecondVersionResult.h
 	include/alibabacloud/arms/model/OpenVClusterRequest.h
 	include/alibabacloud/arms/model/OpenVClusterResult.h
+	include/alibabacloud/arms/model/OpenXtraceDefaultSLRRequest.h
+	include/alibabacloud/arms/model/OpenXtraceDefaultSLRResult.h
 	include/alibabacloud/arms/model/QueryDatasetRequest.h
 	include/alibabacloud/arms/model/QueryDatasetResult.h
 	include/alibabacloud/arms/model/QueryMetricRequest.h
@@ -157,8 +189,12 @@ set(arms_public_header_model
 	include/alibabacloud/arms/model/UpdateAlertContactGroupResult.h
 	include/alibabacloud/arms/model/UpdateAlertRuleRequest.h
 	include/alibabacloud/arms/model/UpdateAlertRuleResult.h
+	include/alibabacloud/arms/model/UpdateAlertTemplateRequest.h
+	include/alibabacloud/arms/model/UpdateAlertTemplateResult.h
 	include/alibabacloud/arms/model/UpdateDispatchRuleRequest.h
 	include/alibabacloud/arms/model/UpdateDispatchRuleResult.h
+	include/alibabacloud/arms/model/UpdatePrometheusAlertRuleRequest.h
+	include/alibabacloud/arms/model/UpdatePrometheusAlertRuleResult.h
 	include/alibabacloud/arms/model/UpdateWebhookRequest.h
 	include/alibabacloud/arms/model/UpdateWebhookResult.h )
 
@@ -182,10 +218,16 @@ set(arms_src
 	src/model/CreateAlertContactResult.cc
 	src/model/CreateAlertContactGroupRequest.cc
 	src/model/CreateAlertContactGroupResult.cc
+	src/model/CreateAlertTemplateRequest.cc
+	src/model/CreateAlertTemplateResult.cc
 	src/model/CreateDispatchRuleRequest.cc
 	src/model/CreateDispatchRuleResult.cc
+	src/model/CreatePrometheusAlertRuleRequest.cc
+	src/model/CreatePrometheusAlertRuleResult.cc
 	src/model/CreateRetcodeAppRequest.cc
 	src/model/CreateRetcodeAppResult.cc
+	src/model/CreateWebhookRequest.cc
+	src/model/CreateWebhookResult.cc
 	src/model/CreateWehookRequest.cc
 	src/model/CreateWehookResult.cc
 	src/model/DeleteAlertContactRequest.cc
@@ -194,8 +236,14 @@ set(arms_src
 	src/model/DeleteAlertContactGroupResult.cc
 	src/model/DeleteAlertRulesRequest.cc
 	src/model/DeleteAlertRulesResult.cc
+	src/model/DeleteAlertTemplateRequest.cc
+	src/model/DeleteAlertTemplateResult.cc
 	src/model/DeleteDispatchRuleRequest.cc
 	src/model/DeleteDispatchRuleResult.cc
+	src/model/DeleteGrafanaResourceRequest.cc
+	src/model/DeleteGrafanaResourceResult.cc
+	src/model/DeletePrometheusAlertRuleRequest.cc
+	src/model/DeletePrometheusAlertRuleResult.cc
 	src/model/DeleteRetcodeAppRequest.cc
 	src/model/DeleteRetcodeAppResult.cc
 	src/model/DeleteScenarioRequest.cc
@@ -204,10 +252,16 @@ set(arms_src
 	src/model/DeleteTraceAppResult.cc
 	src/model/DescribeDispatchRuleRequest.cc
 	src/model/DescribeDispatchRuleResult.cc
+	src/model/DescribePrometheusAlertRuleRequest.cc
+	src/model/DescribePrometheusAlertRuleResult.cc
 	src/model/DescribeTraceLicenseKeyRequest.cc
 	src/model/DescribeTraceLicenseKeyResult.cc
 	src/model/DescribeTraceLocationRequest.cc
 	src/model/DescribeTraceLocationResult.cc
+	src/model/DisableAlertTemplateRequest.cc
+	src/model/DisableAlertTemplateResult.cc
+	src/model/EnableAlertTemplateRequest.cc
+	src/model/EnableAlertTemplateResult.cc
 	src/model/ExportPrometheusRulesRequest.cc
 	src/model/ExportPrometheusRulesResult.cc
 	src/model/GetAgentDownloadUrlRequest.cc
@@ -236,6 +290,10 @@ set(arms_src
 	src/model/ImportCustomAlertRulesResult.cc
 	src/model/ImportPrometheusRulesRequest.cc
 	src/model/ImportPrometheusRulesResult.cc
+	src/model/ListActivatedAlertsRequest.cc
+	src/model/ListActivatedAlertsResult.cc
+	src/model/ListAlertTemplatesRequest.cc
+	src/model/ListAlertTemplatesResult.cc
 	src/model/ListClusterFromGrafanaRequest.cc
 	src/model/ListClusterFromGrafanaResult.cc
 	src/model/ListDashboardsRequest.cc
@@ -244,6 +302,10 @@ set(arms_src
 	src/model/ListDispatchRuleResult.cc
 	src/model/ListPromClustersRequest.cc
 	src/model/ListPromClustersResult.cc
+	src/model/ListPrometheusAlertRulesRequest.cc
+	src/model/ListPrometheusAlertRulesResult.cc
+	src/model/ListPrometheusAlertTemplatesRequest.cc
+	src/model/ListPrometheusAlertTemplatesResult.cc
 	src/model/ListRetcodeAppsRequest.cc
 	src/model/ListRetcodeAppsResult.cc
 	src/model/ListScenarioRequest.cc
@@ -252,10 +314,16 @@ set(arms_src
 	src/model/ListServerlessTopNAppsResult.cc
 	src/model/ListTraceAppsRequest.cc
 	src/model/ListTraceAppsResult.cc
+	src/model/OpenArmsDefaultSLRRequest.cc
+	src/model/OpenArmsDefaultSLRResult.cc
 	src/model/OpenArmsServiceRequest.cc
 	src/model/OpenArmsServiceResult.cc
+	src/model/OpenArmsServiceSecondVersionRequest.cc
+	src/model/OpenArmsServiceSecondVersionResult.cc
 	src/model/OpenVClusterRequest.cc
 	src/model/OpenVClusterResult.cc
+	src/model/OpenXtraceDefaultSLRRequest.cc
+	src/model/OpenXtraceDefaultSLRResult.cc
 	src/model/QueryDatasetRequest.cc
 	src/model/QueryDatasetResult.cc
 	src/model/QueryMetricRequest.cc
@@ -300,8 +368,12 @@ set(arms_src
 	src/model/UpdateAlertContactGroupResult.cc
 	src/model/UpdateAlertRuleRequest.cc
 	src/model/UpdateAlertRuleResult.cc
+	src/model/UpdateAlertTemplateRequest.cc
+	src/model/UpdateAlertTemplateResult.cc
 	src/model/UpdateDispatchRuleRequest.cc
 	src/model/UpdateDispatchRuleResult.cc
+	src/model/UpdatePrometheusAlertRuleRequest.cc
+	src/model/UpdatePrometheusAlertRuleResult.cc
 	src/model/UpdateWebhookRequest.cc
 	src/model/UpdateWebhookResult.cc )
 

+ 144 - 0
arms/include/alibabacloud/arms/ARMSClient.h

@@ -40,10 +40,16 @@
 #include "model/CreateAlertContactResult.h"
 #include "model/CreateAlertContactGroupRequest.h"
 #include "model/CreateAlertContactGroupResult.h"
+#include "model/CreateAlertTemplateRequest.h"
+#include "model/CreateAlertTemplateResult.h"
 #include "model/CreateDispatchRuleRequest.h"
 #include "model/CreateDispatchRuleResult.h"
+#include "model/CreatePrometheusAlertRuleRequest.h"
+#include "model/CreatePrometheusAlertRuleResult.h"
 #include "model/CreateRetcodeAppRequest.h"
 #include "model/CreateRetcodeAppResult.h"
+#include "model/CreateWebhookRequest.h"
+#include "model/CreateWebhookResult.h"
 #include "model/CreateWehookRequest.h"
 #include "model/CreateWehookResult.h"
 #include "model/DeleteAlertContactRequest.h"
@@ -52,8 +58,14 @@
 #include "model/DeleteAlertContactGroupResult.h"
 #include "model/DeleteAlertRulesRequest.h"
 #include "model/DeleteAlertRulesResult.h"
+#include "model/DeleteAlertTemplateRequest.h"
+#include "model/DeleteAlertTemplateResult.h"
 #include "model/DeleteDispatchRuleRequest.h"
 #include "model/DeleteDispatchRuleResult.h"
+#include "model/DeleteGrafanaResourceRequest.h"
+#include "model/DeleteGrafanaResourceResult.h"
+#include "model/DeletePrometheusAlertRuleRequest.h"
+#include "model/DeletePrometheusAlertRuleResult.h"
 #include "model/DeleteRetcodeAppRequest.h"
 #include "model/DeleteRetcodeAppResult.h"
 #include "model/DeleteScenarioRequest.h"
@@ -62,10 +74,16 @@
 #include "model/DeleteTraceAppResult.h"
 #include "model/DescribeDispatchRuleRequest.h"
 #include "model/DescribeDispatchRuleResult.h"
+#include "model/DescribePrometheusAlertRuleRequest.h"
+#include "model/DescribePrometheusAlertRuleResult.h"
 #include "model/DescribeTraceLicenseKeyRequest.h"
 #include "model/DescribeTraceLicenseKeyResult.h"
 #include "model/DescribeTraceLocationRequest.h"
 #include "model/DescribeTraceLocationResult.h"
+#include "model/DisableAlertTemplateRequest.h"
+#include "model/DisableAlertTemplateResult.h"
+#include "model/EnableAlertTemplateRequest.h"
+#include "model/EnableAlertTemplateResult.h"
 #include "model/ExportPrometheusRulesRequest.h"
 #include "model/ExportPrometheusRulesResult.h"
 #include "model/GetAgentDownloadUrlRequest.h"
@@ -94,6 +112,10 @@
 #include "model/ImportCustomAlertRulesResult.h"
 #include "model/ImportPrometheusRulesRequest.h"
 #include "model/ImportPrometheusRulesResult.h"
+#include "model/ListActivatedAlertsRequest.h"
+#include "model/ListActivatedAlertsResult.h"
+#include "model/ListAlertTemplatesRequest.h"
+#include "model/ListAlertTemplatesResult.h"
 #include "model/ListClusterFromGrafanaRequest.h"
 #include "model/ListClusterFromGrafanaResult.h"
 #include "model/ListDashboardsRequest.h"
@@ -102,6 +124,10 @@
 #include "model/ListDispatchRuleResult.h"
 #include "model/ListPromClustersRequest.h"
 #include "model/ListPromClustersResult.h"
+#include "model/ListPrometheusAlertRulesRequest.h"
+#include "model/ListPrometheusAlertRulesResult.h"
+#include "model/ListPrometheusAlertTemplatesRequest.h"
+#include "model/ListPrometheusAlertTemplatesResult.h"
 #include "model/ListRetcodeAppsRequest.h"
 #include "model/ListRetcodeAppsResult.h"
 #include "model/ListScenarioRequest.h"
@@ -110,10 +136,16 @@
 #include "model/ListServerlessTopNAppsResult.h"
 #include "model/ListTraceAppsRequest.h"
 #include "model/ListTraceAppsResult.h"
+#include "model/OpenArmsDefaultSLRRequest.h"
+#include "model/OpenArmsDefaultSLRResult.h"
 #include "model/OpenArmsServiceRequest.h"
 #include "model/OpenArmsServiceResult.h"
+#include "model/OpenArmsServiceSecondVersionRequest.h"
+#include "model/OpenArmsServiceSecondVersionResult.h"
 #include "model/OpenVClusterRequest.h"
 #include "model/OpenVClusterResult.h"
+#include "model/OpenXtraceDefaultSLRRequest.h"
+#include "model/OpenXtraceDefaultSLRResult.h"
 #include "model/QueryDatasetRequest.h"
 #include "model/QueryDatasetResult.h"
 #include "model/QueryMetricRequest.h"
@@ -158,8 +190,12 @@
 #include "model/UpdateAlertContactGroupResult.h"
 #include "model/UpdateAlertRuleRequest.h"
 #include "model/UpdateAlertRuleResult.h"
+#include "model/UpdateAlertTemplateRequest.h"
+#include "model/UpdateAlertTemplateResult.h"
 #include "model/UpdateDispatchRuleRequest.h"
 #include "model/UpdateDispatchRuleResult.h"
+#include "model/UpdatePrometheusAlertRuleRequest.h"
+#include "model/UpdatePrometheusAlertRuleResult.h"
 #include "model/UpdateWebhookRequest.h"
 #include "model/UpdateWebhookResult.h"
 
@@ -198,12 +234,21 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::CreateAlertContactGroupResult> CreateAlertContactGroupOutcome;
 			typedef std::future<CreateAlertContactGroupOutcome> CreateAlertContactGroupOutcomeCallable;
 			typedef std::function<void(const ARMSClient*, const Model::CreateAlertContactGroupRequest&, const CreateAlertContactGroupOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateAlertContactGroupAsyncHandler;
+			typedef Outcome<Error, Model::CreateAlertTemplateResult> CreateAlertTemplateOutcome;
+			typedef std::future<CreateAlertTemplateOutcome> CreateAlertTemplateOutcomeCallable;
+			typedef std::function<void(const ARMSClient*, const Model::CreateAlertTemplateRequest&, const CreateAlertTemplateOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateAlertTemplateAsyncHandler;
 			typedef Outcome<Error, Model::CreateDispatchRuleResult> CreateDispatchRuleOutcome;
 			typedef std::future<CreateDispatchRuleOutcome> CreateDispatchRuleOutcomeCallable;
 			typedef std::function<void(const ARMSClient*, const Model::CreateDispatchRuleRequest&, const CreateDispatchRuleOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateDispatchRuleAsyncHandler;
+			typedef Outcome<Error, Model::CreatePrometheusAlertRuleResult> CreatePrometheusAlertRuleOutcome;
+			typedef std::future<CreatePrometheusAlertRuleOutcome> CreatePrometheusAlertRuleOutcomeCallable;
+			typedef std::function<void(const ARMSClient*, const Model::CreatePrometheusAlertRuleRequest&, const CreatePrometheusAlertRuleOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreatePrometheusAlertRuleAsyncHandler;
 			typedef Outcome<Error, Model::CreateRetcodeAppResult> CreateRetcodeAppOutcome;
 			typedef std::future<CreateRetcodeAppOutcome> CreateRetcodeAppOutcomeCallable;
 			typedef std::function<void(const ARMSClient*, const Model::CreateRetcodeAppRequest&, const CreateRetcodeAppOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateRetcodeAppAsyncHandler;
+			typedef Outcome<Error, Model::CreateWebhookResult> CreateWebhookOutcome;
+			typedef std::future<CreateWebhookOutcome> CreateWebhookOutcomeCallable;
+			typedef std::function<void(const ARMSClient*, const Model::CreateWebhookRequest&, const CreateWebhookOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateWebhookAsyncHandler;
 			typedef Outcome<Error, Model::CreateWehookResult> CreateWehookOutcome;
 			typedef std::future<CreateWehookOutcome> CreateWehookOutcomeCallable;
 			typedef std::function<void(const ARMSClient*, const Model::CreateWehookRequest&, const CreateWehookOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateWehookAsyncHandler;
@@ -216,9 +261,18 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DeleteAlertRulesResult> DeleteAlertRulesOutcome;
 			typedef std::future<DeleteAlertRulesOutcome> DeleteAlertRulesOutcomeCallable;
 			typedef std::function<void(const ARMSClient*, const Model::DeleteAlertRulesRequest&, const DeleteAlertRulesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteAlertRulesAsyncHandler;
+			typedef Outcome<Error, Model::DeleteAlertTemplateResult> DeleteAlertTemplateOutcome;
+			typedef std::future<DeleteAlertTemplateOutcome> DeleteAlertTemplateOutcomeCallable;
+			typedef std::function<void(const ARMSClient*, const Model::DeleteAlertTemplateRequest&, const DeleteAlertTemplateOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteAlertTemplateAsyncHandler;
 			typedef Outcome<Error, Model::DeleteDispatchRuleResult> DeleteDispatchRuleOutcome;
 			typedef std::future<DeleteDispatchRuleOutcome> DeleteDispatchRuleOutcomeCallable;
 			typedef std::function<void(const ARMSClient*, const Model::DeleteDispatchRuleRequest&, const DeleteDispatchRuleOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteDispatchRuleAsyncHandler;
+			typedef Outcome<Error, Model::DeleteGrafanaResourceResult> DeleteGrafanaResourceOutcome;
+			typedef std::future<DeleteGrafanaResourceOutcome> DeleteGrafanaResourceOutcomeCallable;
+			typedef std::function<void(const ARMSClient*, const Model::DeleteGrafanaResourceRequest&, const DeleteGrafanaResourceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteGrafanaResourceAsyncHandler;
+			typedef Outcome<Error, Model::DeletePrometheusAlertRuleResult> DeletePrometheusAlertRuleOutcome;
+			typedef std::future<DeletePrometheusAlertRuleOutcome> DeletePrometheusAlertRuleOutcomeCallable;
+			typedef std::function<void(const ARMSClient*, const Model::DeletePrometheusAlertRuleRequest&, const DeletePrometheusAlertRuleOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeletePrometheusAlertRuleAsyncHandler;
 			typedef Outcome<Error, Model::DeleteRetcodeAppResult> DeleteRetcodeAppOutcome;
 			typedef std::future<DeleteRetcodeAppOutcome> DeleteRetcodeAppOutcomeCallable;
 			typedef std::function<void(const ARMSClient*, const Model::DeleteRetcodeAppRequest&, const DeleteRetcodeAppOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteRetcodeAppAsyncHandler;
@@ -231,12 +285,21 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DescribeDispatchRuleResult> DescribeDispatchRuleOutcome;
 			typedef std::future<DescribeDispatchRuleOutcome> DescribeDispatchRuleOutcomeCallable;
 			typedef std::function<void(const ARMSClient*, const Model::DescribeDispatchRuleRequest&, const DescribeDispatchRuleOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeDispatchRuleAsyncHandler;
+			typedef Outcome<Error, Model::DescribePrometheusAlertRuleResult> DescribePrometheusAlertRuleOutcome;
+			typedef std::future<DescribePrometheusAlertRuleOutcome> DescribePrometheusAlertRuleOutcomeCallable;
+			typedef std::function<void(const ARMSClient*, const Model::DescribePrometheusAlertRuleRequest&, const DescribePrometheusAlertRuleOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribePrometheusAlertRuleAsyncHandler;
 			typedef Outcome<Error, Model::DescribeTraceLicenseKeyResult> DescribeTraceLicenseKeyOutcome;
 			typedef std::future<DescribeTraceLicenseKeyOutcome> DescribeTraceLicenseKeyOutcomeCallable;
 			typedef std::function<void(const ARMSClient*, const Model::DescribeTraceLicenseKeyRequest&, const DescribeTraceLicenseKeyOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeTraceLicenseKeyAsyncHandler;
 			typedef Outcome<Error, Model::DescribeTraceLocationResult> DescribeTraceLocationOutcome;
 			typedef std::future<DescribeTraceLocationOutcome> DescribeTraceLocationOutcomeCallable;
 			typedef std::function<void(const ARMSClient*, const Model::DescribeTraceLocationRequest&, const DescribeTraceLocationOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeTraceLocationAsyncHandler;
+			typedef Outcome<Error, Model::DisableAlertTemplateResult> DisableAlertTemplateOutcome;
+			typedef std::future<DisableAlertTemplateOutcome> DisableAlertTemplateOutcomeCallable;
+			typedef std::function<void(const ARMSClient*, const Model::DisableAlertTemplateRequest&, const DisableAlertTemplateOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DisableAlertTemplateAsyncHandler;
+			typedef Outcome<Error, Model::EnableAlertTemplateResult> EnableAlertTemplateOutcome;
+			typedef std::future<EnableAlertTemplateOutcome> EnableAlertTemplateOutcomeCallable;
+			typedef std::function<void(const ARMSClient*, const Model::EnableAlertTemplateRequest&, const EnableAlertTemplateOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> EnableAlertTemplateAsyncHandler;
 			typedef Outcome<Error, Model::ExportPrometheusRulesResult> ExportPrometheusRulesOutcome;
 			typedef std::future<ExportPrometheusRulesOutcome> ExportPrometheusRulesOutcomeCallable;
 			typedef std::function<void(const ARMSClient*, const Model::ExportPrometheusRulesRequest&, const ExportPrometheusRulesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ExportPrometheusRulesAsyncHandler;
@@ -279,6 +342,12 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::ImportPrometheusRulesResult> ImportPrometheusRulesOutcome;
 			typedef std::future<ImportPrometheusRulesOutcome> ImportPrometheusRulesOutcomeCallable;
 			typedef std::function<void(const ARMSClient*, const Model::ImportPrometheusRulesRequest&, const ImportPrometheusRulesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ImportPrometheusRulesAsyncHandler;
+			typedef Outcome<Error, Model::ListActivatedAlertsResult> ListActivatedAlertsOutcome;
+			typedef std::future<ListActivatedAlertsOutcome> ListActivatedAlertsOutcomeCallable;
+			typedef std::function<void(const ARMSClient*, const Model::ListActivatedAlertsRequest&, const ListActivatedAlertsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListActivatedAlertsAsyncHandler;
+			typedef Outcome<Error, Model::ListAlertTemplatesResult> ListAlertTemplatesOutcome;
+			typedef std::future<ListAlertTemplatesOutcome> ListAlertTemplatesOutcomeCallable;
+			typedef std::function<void(const ARMSClient*, const Model::ListAlertTemplatesRequest&, const ListAlertTemplatesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListAlertTemplatesAsyncHandler;
 			typedef Outcome<Error, Model::ListClusterFromGrafanaResult> ListClusterFromGrafanaOutcome;
 			typedef std::future<ListClusterFromGrafanaOutcome> ListClusterFromGrafanaOutcomeCallable;
 			typedef std::function<void(const ARMSClient*, const Model::ListClusterFromGrafanaRequest&, const ListClusterFromGrafanaOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListClusterFromGrafanaAsyncHandler;
@@ -291,6 +360,12 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::ListPromClustersResult> ListPromClustersOutcome;
 			typedef std::future<ListPromClustersOutcome> ListPromClustersOutcomeCallable;
 			typedef std::function<void(const ARMSClient*, const Model::ListPromClustersRequest&, const ListPromClustersOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListPromClustersAsyncHandler;
+			typedef Outcome<Error, Model::ListPrometheusAlertRulesResult> ListPrometheusAlertRulesOutcome;
+			typedef std::future<ListPrometheusAlertRulesOutcome> ListPrometheusAlertRulesOutcomeCallable;
+			typedef std::function<void(const ARMSClient*, const Model::ListPrometheusAlertRulesRequest&, const ListPrometheusAlertRulesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListPrometheusAlertRulesAsyncHandler;
+			typedef Outcome<Error, Model::ListPrometheusAlertTemplatesResult> ListPrometheusAlertTemplatesOutcome;
+			typedef std::future<ListPrometheusAlertTemplatesOutcome> ListPrometheusAlertTemplatesOutcomeCallable;
+			typedef std::function<void(const ARMSClient*, const Model::ListPrometheusAlertTemplatesRequest&, const ListPrometheusAlertTemplatesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListPrometheusAlertTemplatesAsyncHandler;
 			typedef Outcome<Error, Model::ListRetcodeAppsResult> ListRetcodeAppsOutcome;
 			typedef std::future<ListRetcodeAppsOutcome> ListRetcodeAppsOutcomeCallable;
 			typedef std::function<void(const ARMSClient*, const Model::ListRetcodeAppsRequest&, const ListRetcodeAppsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListRetcodeAppsAsyncHandler;
@@ -303,12 +378,21 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::ListTraceAppsResult> ListTraceAppsOutcome;
 			typedef std::future<ListTraceAppsOutcome> ListTraceAppsOutcomeCallable;
 			typedef std::function<void(const ARMSClient*, const Model::ListTraceAppsRequest&, const ListTraceAppsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListTraceAppsAsyncHandler;
+			typedef Outcome<Error, Model::OpenArmsDefaultSLRResult> OpenArmsDefaultSLROutcome;
+			typedef std::future<OpenArmsDefaultSLROutcome> OpenArmsDefaultSLROutcomeCallable;
+			typedef std::function<void(const ARMSClient*, const Model::OpenArmsDefaultSLRRequest&, const OpenArmsDefaultSLROutcome&, const std::shared_ptr<const AsyncCallerContext>&)> OpenArmsDefaultSLRAsyncHandler;
 			typedef Outcome<Error, Model::OpenArmsServiceResult> OpenArmsServiceOutcome;
 			typedef std::future<OpenArmsServiceOutcome> OpenArmsServiceOutcomeCallable;
 			typedef std::function<void(const ARMSClient*, const Model::OpenArmsServiceRequest&, const OpenArmsServiceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> OpenArmsServiceAsyncHandler;
+			typedef Outcome<Error, Model::OpenArmsServiceSecondVersionResult> OpenArmsServiceSecondVersionOutcome;
+			typedef std::future<OpenArmsServiceSecondVersionOutcome> OpenArmsServiceSecondVersionOutcomeCallable;
+			typedef std::function<void(const ARMSClient*, const Model::OpenArmsServiceSecondVersionRequest&, const OpenArmsServiceSecondVersionOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> OpenArmsServiceSecondVersionAsyncHandler;
 			typedef Outcome<Error, Model::OpenVClusterResult> OpenVClusterOutcome;
 			typedef std::future<OpenVClusterOutcome> OpenVClusterOutcomeCallable;
 			typedef std::function<void(const ARMSClient*, const Model::OpenVClusterRequest&, const OpenVClusterOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> OpenVClusterAsyncHandler;
+			typedef Outcome<Error, Model::OpenXtraceDefaultSLRResult> OpenXtraceDefaultSLROutcome;
+			typedef std::future<OpenXtraceDefaultSLROutcome> OpenXtraceDefaultSLROutcomeCallable;
+			typedef std::function<void(const ARMSClient*, const Model::OpenXtraceDefaultSLRRequest&, const OpenXtraceDefaultSLROutcome&, const std::shared_ptr<const AsyncCallerContext>&)> OpenXtraceDefaultSLRAsyncHandler;
 			typedef Outcome<Error, Model::QueryDatasetResult> QueryDatasetOutcome;
 			typedef std::future<QueryDatasetOutcome> QueryDatasetOutcomeCallable;
 			typedef std::function<void(const ARMSClient*, const Model::QueryDatasetRequest&, const QueryDatasetOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryDatasetAsyncHandler;
@@ -375,9 +459,15 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::UpdateAlertRuleResult> UpdateAlertRuleOutcome;
 			typedef std::future<UpdateAlertRuleOutcome> UpdateAlertRuleOutcomeCallable;
 			typedef std::function<void(const ARMSClient*, const Model::UpdateAlertRuleRequest&, const UpdateAlertRuleOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateAlertRuleAsyncHandler;
+			typedef Outcome<Error, Model::UpdateAlertTemplateResult> UpdateAlertTemplateOutcome;
+			typedef std::future<UpdateAlertTemplateOutcome> UpdateAlertTemplateOutcomeCallable;
+			typedef std::function<void(const ARMSClient*, const Model::UpdateAlertTemplateRequest&, const UpdateAlertTemplateOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateAlertTemplateAsyncHandler;
 			typedef Outcome<Error, Model::UpdateDispatchRuleResult> UpdateDispatchRuleOutcome;
 			typedef std::future<UpdateDispatchRuleOutcome> UpdateDispatchRuleOutcomeCallable;
 			typedef std::function<void(const ARMSClient*, const Model::UpdateDispatchRuleRequest&, const UpdateDispatchRuleOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateDispatchRuleAsyncHandler;
+			typedef Outcome<Error, Model::UpdatePrometheusAlertRuleResult> UpdatePrometheusAlertRuleOutcome;
+			typedef std::future<UpdatePrometheusAlertRuleOutcome> UpdatePrometheusAlertRuleOutcomeCallable;
+			typedef std::function<void(const ARMSClient*, const Model::UpdatePrometheusAlertRuleRequest&, const UpdatePrometheusAlertRuleOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdatePrometheusAlertRuleAsyncHandler;
 			typedef Outcome<Error, Model::UpdateWebhookResult> UpdateWebhookOutcome;
 			typedef std::future<UpdateWebhookOutcome> UpdateWebhookOutcomeCallable;
 			typedef std::function<void(const ARMSClient*, const Model::UpdateWebhookRequest&, const UpdateWebhookOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateWebhookAsyncHandler;
@@ -413,12 +503,21 @@ namespace AlibabaCloud
 			CreateAlertContactGroupOutcome createAlertContactGroup(const Model::CreateAlertContactGroupRequest &request)const;
 			void createAlertContactGroupAsync(const Model::CreateAlertContactGroupRequest& request, const CreateAlertContactGroupAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CreateAlertContactGroupOutcomeCallable createAlertContactGroupCallable(const Model::CreateAlertContactGroupRequest& request) const;
+			CreateAlertTemplateOutcome createAlertTemplate(const Model::CreateAlertTemplateRequest &request)const;
+			void createAlertTemplateAsync(const Model::CreateAlertTemplateRequest& request, const CreateAlertTemplateAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateAlertTemplateOutcomeCallable createAlertTemplateCallable(const Model::CreateAlertTemplateRequest& request) const;
 			CreateDispatchRuleOutcome createDispatchRule(const Model::CreateDispatchRuleRequest &request)const;
 			void createDispatchRuleAsync(const Model::CreateDispatchRuleRequest& request, const CreateDispatchRuleAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CreateDispatchRuleOutcomeCallable createDispatchRuleCallable(const Model::CreateDispatchRuleRequest& request) const;
+			CreatePrometheusAlertRuleOutcome createPrometheusAlertRule(const Model::CreatePrometheusAlertRuleRequest &request)const;
+			void createPrometheusAlertRuleAsync(const Model::CreatePrometheusAlertRuleRequest& request, const CreatePrometheusAlertRuleAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreatePrometheusAlertRuleOutcomeCallable createPrometheusAlertRuleCallable(const Model::CreatePrometheusAlertRuleRequest& request) const;
 			CreateRetcodeAppOutcome createRetcodeApp(const Model::CreateRetcodeAppRequest &request)const;
 			void createRetcodeAppAsync(const Model::CreateRetcodeAppRequest& request, const CreateRetcodeAppAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CreateRetcodeAppOutcomeCallable createRetcodeAppCallable(const Model::CreateRetcodeAppRequest& request) const;
+			CreateWebhookOutcome createWebhook(const Model::CreateWebhookRequest &request)const;
+			void createWebhookAsync(const Model::CreateWebhookRequest& request, const CreateWebhookAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateWebhookOutcomeCallable createWebhookCallable(const Model::CreateWebhookRequest& request) const;
 			CreateWehookOutcome createWehook(const Model::CreateWehookRequest &request)const;
 			void createWehookAsync(const Model::CreateWehookRequest& request, const CreateWehookAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CreateWehookOutcomeCallable createWehookCallable(const Model::CreateWehookRequest& request) const;
@@ -431,9 +530,18 @@ namespace AlibabaCloud
 			DeleteAlertRulesOutcome deleteAlertRules(const Model::DeleteAlertRulesRequest &request)const;
 			void deleteAlertRulesAsync(const Model::DeleteAlertRulesRequest& request, const DeleteAlertRulesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeleteAlertRulesOutcomeCallable deleteAlertRulesCallable(const Model::DeleteAlertRulesRequest& request) const;
+			DeleteAlertTemplateOutcome deleteAlertTemplate(const Model::DeleteAlertTemplateRequest &request)const;
+			void deleteAlertTemplateAsync(const Model::DeleteAlertTemplateRequest& request, const DeleteAlertTemplateAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteAlertTemplateOutcomeCallable deleteAlertTemplateCallable(const Model::DeleteAlertTemplateRequest& request) const;
 			DeleteDispatchRuleOutcome deleteDispatchRule(const Model::DeleteDispatchRuleRequest &request)const;
 			void deleteDispatchRuleAsync(const Model::DeleteDispatchRuleRequest& request, const DeleteDispatchRuleAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeleteDispatchRuleOutcomeCallable deleteDispatchRuleCallable(const Model::DeleteDispatchRuleRequest& request) const;
+			DeleteGrafanaResourceOutcome deleteGrafanaResource(const Model::DeleteGrafanaResourceRequest &request)const;
+			void deleteGrafanaResourceAsync(const Model::DeleteGrafanaResourceRequest& request, const DeleteGrafanaResourceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteGrafanaResourceOutcomeCallable deleteGrafanaResourceCallable(const Model::DeleteGrafanaResourceRequest& request) const;
+			DeletePrometheusAlertRuleOutcome deletePrometheusAlertRule(const Model::DeletePrometheusAlertRuleRequest &request)const;
+			void deletePrometheusAlertRuleAsync(const Model::DeletePrometheusAlertRuleRequest& request, const DeletePrometheusAlertRuleAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeletePrometheusAlertRuleOutcomeCallable deletePrometheusAlertRuleCallable(const Model::DeletePrometheusAlertRuleRequest& request) const;
 			DeleteRetcodeAppOutcome deleteRetcodeApp(const Model::DeleteRetcodeAppRequest &request)const;
 			void deleteRetcodeAppAsync(const Model::DeleteRetcodeAppRequest& request, const DeleteRetcodeAppAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeleteRetcodeAppOutcomeCallable deleteRetcodeAppCallable(const Model::DeleteRetcodeAppRequest& request) const;
@@ -446,12 +554,21 @@ namespace AlibabaCloud
 			DescribeDispatchRuleOutcome describeDispatchRule(const Model::DescribeDispatchRuleRequest &request)const;
 			void describeDispatchRuleAsync(const Model::DescribeDispatchRuleRequest& request, const DescribeDispatchRuleAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeDispatchRuleOutcomeCallable describeDispatchRuleCallable(const Model::DescribeDispatchRuleRequest& request) const;
+			DescribePrometheusAlertRuleOutcome describePrometheusAlertRule(const Model::DescribePrometheusAlertRuleRequest &request)const;
+			void describePrometheusAlertRuleAsync(const Model::DescribePrometheusAlertRuleRequest& request, const DescribePrometheusAlertRuleAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribePrometheusAlertRuleOutcomeCallable describePrometheusAlertRuleCallable(const Model::DescribePrometheusAlertRuleRequest& request) const;
 			DescribeTraceLicenseKeyOutcome describeTraceLicenseKey(const Model::DescribeTraceLicenseKeyRequest &request)const;
 			void describeTraceLicenseKeyAsync(const Model::DescribeTraceLicenseKeyRequest& request, const DescribeTraceLicenseKeyAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeTraceLicenseKeyOutcomeCallable describeTraceLicenseKeyCallable(const Model::DescribeTraceLicenseKeyRequest& request) const;
 			DescribeTraceLocationOutcome describeTraceLocation(const Model::DescribeTraceLocationRequest &request)const;
 			void describeTraceLocationAsync(const Model::DescribeTraceLocationRequest& request, const DescribeTraceLocationAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeTraceLocationOutcomeCallable describeTraceLocationCallable(const Model::DescribeTraceLocationRequest& request) const;
+			DisableAlertTemplateOutcome disableAlertTemplate(const Model::DisableAlertTemplateRequest &request)const;
+			void disableAlertTemplateAsync(const Model::DisableAlertTemplateRequest& request, const DisableAlertTemplateAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DisableAlertTemplateOutcomeCallable disableAlertTemplateCallable(const Model::DisableAlertTemplateRequest& request) const;
+			EnableAlertTemplateOutcome enableAlertTemplate(const Model::EnableAlertTemplateRequest &request)const;
+			void enableAlertTemplateAsync(const Model::EnableAlertTemplateRequest& request, const EnableAlertTemplateAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			EnableAlertTemplateOutcomeCallable enableAlertTemplateCallable(const Model::EnableAlertTemplateRequest& request) const;
 			ExportPrometheusRulesOutcome exportPrometheusRules(const Model::ExportPrometheusRulesRequest &request)const;
 			void exportPrometheusRulesAsync(const Model::ExportPrometheusRulesRequest& request, const ExportPrometheusRulesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ExportPrometheusRulesOutcomeCallable exportPrometheusRulesCallable(const Model::ExportPrometheusRulesRequest& request) const;
@@ -494,6 +611,12 @@ namespace AlibabaCloud
 			ImportPrometheusRulesOutcome importPrometheusRules(const Model::ImportPrometheusRulesRequest &request)const;
 			void importPrometheusRulesAsync(const Model::ImportPrometheusRulesRequest& request, const ImportPrometheusRulesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ImportPrometheusRulesOutcomeCallable importPrometheusRulesCallable(const Model::ImportPrometheusRulesRequest& request) const;
+			ListActivatedAlertsOutcome listActivatedAlerts(const Model::ListActivatedAlertsRequest &request)const;
+			void listActivatedAlertsAsync(const Model::ListActivatedAlertsRequest& request, const ListActivatedAlertsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListActivatedAlertsOutcomeCallable listActivatedAlertsCallable(const Model::ListActivatedAlertsRequest& request) const;
+			ListAlertTemplatesOutcome listAlertTemplates(const Model::ListAlertTemplatesRequest &request)const;
+			void listAlertTemplatesAsync(const Model::ListAlertTemplatesRequest& request, const ListAlertTemplatesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListAlertTemplatesOutcomeCallable listAlertTemplatesCallable(const Model::ListAlertTemplatesRequest& request) const;
 			ListClusterFromGrafanaOutcome listClusterFromGrafana(const Model::ListClusterFromGrafanaRequest &request)const;
 			void listClusterFromGrafanaAsync(const Model::ListClusterFromGrafanaRequest& request, const ListClusterFromGrafanaAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ListClusterFromGrafanaOutcomeCallable listClusterFromGrafanaCallable(const Model::ListClusterFromGrafanaRequest& request) const;
@@ -506,6 +629,12 @@ namespace AlibabaCloud
 			ListPromClustersOutcome listPromClusters(const Model::ListPromClustersRequest &request)const;
 			void listPromClustersAsync(const Model::ListPromClustersRequest& request, const ListPromClustersAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ListPromClustersOutcomeCallable listPromClustersCallable(const Model::ListPromClustersRequest& request) const;
+			ListPrometheusAlertRulesOutcome listPrometheusAlertRules(const Model::ListPrometheusAlertRulesRequest &request)const;
+			void listPrometheusAlertRulesAsync(const Model::ListPrometheusAlertRulesRequest& request, const ListPrometheusAlertRulesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListPrometheusAlertRulesOutcomeCallable listPrometheusAlertRulesCallable(const Model::ListPrometheusAlertRulesRequest& request) const;
+			ListPrometheusAlertTemplatesOutcome listPrometheusAlertTemplates(const Model::ListPrometheusAlertTemplatesRequest &request)const;
+			void listPrometheusAlertTemplatesAsync(const Model::ListPrometheusAlertTemplatesRequest& request, const ListPrometheusAlertTemplatesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListPrometheusAlertTemplatesOutcomeCallable listPrometheusAlertTemplatesCallable(const Model::ListPrometheusAlertTemplatesRequest& request) const;
 			ListRetcodeAppsOutcome listRetcodeApps(const Model::ListRetcodeAppsRequest &request)const;
 			void listRetcodeAppsAsync(const Model::ListRetcodeAppsRequest& request, const ListRetcodeAppsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ListRetcodeAppsOutcomeCallable listRetcodeAppsCallable(const Model::ListRetcodeAppsRequest& request) const;
@@ -518,12 +647,21 @@ namespace AlibabaCloud
 			ListTraceAppsOutcome listTraceApps(const Model::ListTraceAppsRequest &request)const;
 			void listTraceAppsAsync(const Model::ListTraceAppsRequest& request, const ListTraceAppsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ListTraceAppsOutcomeCallable listTraceAppsCallable(const Model::ListTraceAppsRequest& request) const;
+			OpenArmsDefaultSLROutcome openArmsDefaultSLR(const Model::OpenArmsDefaultSLRRequest &request)const;
+			void openArmsDefaultSLRAsync(const Model::OpenArmsDefaultSLRRequest& request, const OpenArmsDefaultSLRAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			OpenArmsDefaultSLROutcomeCallable openArmsDefaultSLRCallable(const Model::OpenArmsDefaultSLRRequest& request) const;
 			OpenArmsServiceOutcome openArmsService(const Model::OpenArmsServiceRequest &request)const;
 			void openArmsServiceAsync(const Model::OpenArmsServiceRequest& request, const OpenArmsServiceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			OpenArmsServiceOutcomeCallable openArmsServiceCallable(const Model::OpenArmsServiceRequest& request) const;
+			OpenArmsServiceSecondVersionOutcome openArmsServiceSecondVersion(const Model::OpenArmsServiceSecondVersionRequest &request)const;
+			void openArmsServiceSecondVersionAsync(const Model::OpenArmsServiceSecondVersionRequest& request, const OpenArmsServiceSecondVersionAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			OpenArmsServiceSecondVersionOutcomeCallable openArmsServiceSecondVersionCallable(const Model::OpenArmsServiceSecondVersionRequest& request) const;
 			OpenVClusterOutcome openVCluster(const Model::OpenVClusterRequest &request)const;
 			void openVClusterAsync(const Model::OpenVClusterRequest& request, const OpenVClusterAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			OpenVClusterOutcomeCallable openVClusterCallable(const Model::OpenVClusterRequest& request) const;
+			OpenXtraceDefaultSLROutcome openXtraceDefaultSLR(const Model::OpenXtraceDefaultSLRRequest &request)const;
+			void openXtraceDefaultSLRAsync(const Model::OpenXtraceDefaultSLRRequest& request, const OpenXtraceDefaultSLRAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			OpenXtraceDefaultSLROutcomeCallable openXtraceDefaultSLRCallable(const Model::OpenXtraceDefaultSLRRequest& request) const;
 			QueryDatasetOutcome queryDataset(const Model::QueryDatasetRequest &request)const;
 			void queryDatasetAsync(const Model::QueryDatasetRequest& request, const QueryDatasetAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			QueryDatasetOutcomeCallable queryDatasetCallable(const Model::QueryDatasetRequest& request) const;
@@ -590,9 +728,15 @@ namespace AlibabaCloud
 			UpdateAlertRuleOutcome updateAlertRule(const Model::UpdateAlertRuleRequest &request)const;
 			void updateAlertRuleAsync(const Model::UpdateAlertRuleRequest& request, const UpdateAlertRuleAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			UpdateAlertRuleOutcomeCallable updateAlertRuleCallable(const Model::UpdateAlertRuleRequest& request) const;
+			UpdateAlertTemplateOutcome updateAlertTemplate(const Model::UpdateAlertTemplateRequest &request)const;
+			void updateAlertTemplateAsync(const Model::UpdateAlertTemplateRequest& request, const UpdateAlertTemplateAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			UpdateAlertTemplateOutcomeCallable updateAlertTemplateCallable(const Model::UpdateAlertTemplateRequest& request) const;
 			UpdateDispatchRuleOutcome updateDispatchRule(const Model::UpdateDispatchRuleRequest &request)const;
 			void updateDispatchRuleAsync(const Model::UpdateDispatchRuleRequest& request, const UpdateDispatchRuleAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			UpdateDispatchRuleOutcomeCallable updateDispatchRuleCallable(const Model::UpdateDispatchRuleRequest& request) const;
+			UpdatePrometheusAlertRuleOutcome updatePrometheusAlertRule(const Model::UpdatePrometheusAlertRuleRequest &request)const;
+			void updatePrometheusAlertRuleAsync(const Model::UpdatePrometheusAlertRuleRequest& request, const UpdatePrometheusAlertRuleAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			UpdatePrometheusAlertRuleOutcomeCallable updatePrometheusAlertRuleCallable(const Model::UpdatePrometheusAlertRuleRequest& request) const;
 			UpdateWebhookOutcome updateWebhook(const Model::UpdateWebhookRequest &request)const;
 			void updateWebhookAsync(const Model::UpdateWebhookRequest& request, const UpdateWebhookAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			UpdateWebhookOutcomeCallable updateWebhookCallable(const Model::UpdateWebhookRequest& request) const;

+ 78 - 0
arms/include/alibabacloud/arms/model/CreateAlertTemplateRequest.h

@@ -0,0 +1,78 @@
+/*
+ * 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_ARMS_MODEL_CREATEALERTTEMPLATEREQUEST_H_
+#define ALIBABACLOUD_ARMS_MODEL_CREATEALERTTEMPLATEREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/arms/ARMSExport.h>
+
+namespace AlibabaCloud
+{
+	namespace ARMS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ARMS_EXPORT CreateAlertTemplateRequest : public RpcServiceRequest
+			{
+
+			public:
+				CreateAlertTemplateRequest();
+				~CreateAlertTemplateRequest();
+
+				std::string getTemplateProvider()const;
+				void setTemplateProvider(const std::string& templateProvider);
+				std::string getAnnotations()const;
+				void setAnnotations(const std::string& annotations);
+				std::string getRule()const;
+				void setRule(const std::string& rule);
+				std::string getProxyUserId()const;
+				void setProxyUserId(const std::string& proxyUserId);
+				std::string getType()const;
+				void setType(const std::string& type);
+				std::string getMessage()const;
+				void setMessage(const std::string& message);
+				std::string getParentId()const;
+				void setParentId(const std::string& parentId);
+				std::string getLabels()const;
+				void setLabels(const std::string& labels);
+				std::string getRegionId()const;
+				void setRegionId(const std::string& regionId);
+				std::string getName()const;
+				void setName(const std::string& name);
+				std::string getMatchExpressions()const;
+				void setMatchExpressions(const std::string& matchExpressions);
+
+            private:
+				std::string templateProvider_;
+				std::string annotations_;
+				std::string rule_;
+				std::string proxyUserId_;
+				std::string type_;
+				std::string message_;
+				std::string parentId_;
+				std::string labels_;
+				std::string regionId_;
+				std::string name_;
+				std::string matchExpressions_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ARMS_MODEL_CREATEALERTTEMPLATEREQUEST_H_

+ 82 - 0
arms/include/alibabacloud/arms/model/CreateAlertTemplateResult.h

@@ -0,0 +1,82 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_ARMS_MODEL_CREATEALERTTEMPLATERESULT_H_
+#define ALIBABACLOUD_ARMS_MODEL_CREATEALERTTEMPLATERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/arms/ARMSExport.h>
+
+namespace AlibabaCloud
+{
+	namespace ARMS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ARMS_EXPORT CreateAlertTemplateResult : public ServiceResult
+			{
+			public:
+				struct AlertTemplate
+				{
+					struct LabelMatchExpressionGrid
+					{
+						struct LabelMatchExpressionGroup
+						{
+							struct LabelMatchExpression
+							{
+								std::string value;
+								std::string _operator;
+								std::string key;
+							};
+							std::vector<LabelMatchExpressionGroup::LabelMatchExpression> labelMatchExpressions;
+						};
+						std::vector<LabelMatchExpressionGroup> labelMatchExpressionGroups;
+					};
+					int parentId;
+					bool status;
+					std::string message;
+					std::string templateProvider;
+					LabelMatchExpressionGrid labelMatchExpressionGrid;
+					std::string labels;
+					std::string alertProvider;
+					std::string name;
+					std::string type;
+					std::string annotations;
+					std::string userId;
+					bool _public;
+					int id;
+					std::string rule;
+				};
+
+
+				CreateAlertTemplateResult();
+				explicit CreateAlertTemplateResult(const std::string &payload);
+				~CreateAlertTemplateResult();
+				AlertTemplate getAlertTemplate()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				AlertTemplate alertTemplate_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ARMS_MODEL_CREATEALERTTEMPLATERESULT_H_

+ 84 - 0
arms/include/alibabacloud/arms/model/CreatePrometheusAlertRuleRequest.h

@@ -0,0 +1,84 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_ARMS_MODEL_CREATEPROMETHEUSALERTRULEREQUEST_H_
+#define ALIBABACLOUD_ARMS_MODEL_CREATEPROMETHEUSALERTRULEREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/arms/ARMSExport.h>
+
+namespace AlibabaCloud
+{
+	namespace ARMS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ARMS_EXPORT CreatePrometheusAlertRuleRequest : public RpcServiceRequest
+			{
+
+			public:
+				CreatePrometheusAlertRuleRequest();
+				~CreatePrometheusAlertRuleRequest();
+
+				std::string getProductCode()const;
+				void setProductCode(const std::string& productCode);
+				std::string getExpression()const;
+				void setExpression(const std::string& expression);
+				std::string getAlertName()const;
+				void setAlertName(const std::string& alertName);
+				std::string getAnnotations()const;
+				void setAnnotations(const std::string& annotations);
+				std::string getClusterId()const;
+				void setClusterId(const std::string& clusterId);
+				long getDispatchRuleId()const;
+				void setDispatchRuleId(long dispatchRuleId);
+				std::string getProxyUserId()const;
+				void setProxyUserId(const std::string& proxyUserId);
+				std::string getType()const;
+				void setType(const std::string& type);
+				std::string getMessage()const;
+				void setMessage(const std::string& message);
+				std::string getLabels()const;
+				void setLabels(const std::string& labels);
+				std::string getDuration()const;
+				void setDuration(const std::string& duration);
+				std::string getRegionId()const;
+				void setRegionId(const std::string& regionId);
+				std::string getNotifyType()const;
+				void setNotifyType(const std::string& notifyType);
+
+            private:
+				std::string productCode_;
+				std::string expression_;
+				std::string alertName_;
+				std::string annotations_;
+				std::string clusterId_;
+				long dispatchRuleId_;
+				std::string proxyUserId_;
+				std::string type_;
+				std::string message_;
+				std::string labels_;
+				std::string duration_;
+				std::string regionId_;
+				std::string notifyType_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ARMS_MODEL_CREATEPROMETHEUSALERTRULEREQUEST_H_

+ 76 - 0
arms/include/alibabacloud/arms/model/CreatePrometheusAlertRuleResult.h

@@ -0,0 +1,76 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_ARMS_MODEL_CREATEPROMETHEUSALERTRULERESULT_H_
+#define ALIBABACLOUD_ARMS_MODEL_CREATEPROMETHEUSALERTRULERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/arms/ARMSExport.h>
+
+namespace AlibabaCloud
+{
+	namespace ARMS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ARMS_EXPORT CreatePrometheusAlertRuleResult : public ServiceResult
+			{
+			public:
+				struct PrometheusAlertRule
+				{
+					struct Label
+					{
+						std::string value;
+						std::string name;
+					};
+					struct Annotation
+					{
+						std::string value;
+						std::string name;
+					};
+					int status;
+					std::string notifyType;
+					long alertId;
+					std::string type;
+					std::vector<Annotation> annotations;
+					std::string alertName;
+					std::string message;
+					std::string expression;
+					std::string clusterId;
+					long dispatchRuleId;
+					std::vector<Label> labels;
+					std::string duration;
+				};
+
+
+				CreatePrometheusAlertRuleResult();
+				explicit CreatePrometheusAlertRuleResult(const std::string &payload);
+				~CreatePrometheusAlertRuleResult();
+				PrometheusAlertRule getPrometheusAlertRule()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				PrometheusAlertRule prometheusAlertRule_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ARMS_MODEL_CREATEPROMETHEUSALERTRULERESULT_H_

+ 69 - 0
arms/include/alibabacloud/arms/model/CreateWebhookRequest.h

@@ -0,0 +1,69 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_ARMS_MODEL_CREATEWEBHOOKREQUEST_H_
+#define ALIBABACLOUD_ARMS_MODEL_CREATEWEBHOOKREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/arms/ARMSExport.h>
+
+namespace AlibabaCloud
+{
+	namespace ARMS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ARMS_EXPORT CreateWebhookRequest : public RpcServiceRequest
+			{
+
+			public:
+				CreateWebhookRequest();
+				~CreateWebhookRequest();
+
+				std::string getHttpHeaders()const;
+				void setHttpHeaders(const std::string& httpHeaders);
+				std::string getMethod()const;
+				void setMethod(const std::string& method);
+				std::string getHttpParams()const;
+				void setHttpParams(const std::string& httpParams);
+				std::string getProxyUserId()const;
+				void setProxyUserId(const std::string& proxyUserId);
+				std::string getBody()const;
+				void setBody(const std::string& body);
+				std::string getUrl()const;
+				void setUrl(const std::string& url);
+				std::string getContactName()const;
+				void setContactName(const std::string& contactName);
+				std::string getRegionId()const;
+				void setRegionId(const std::string& regionId);
+
+            private:
+				std::string httpHeaders_;
+				std::string method_;
+				std::string httpParams_;
+				std::string proxyUserId_;
+				std::string body_;
+				std::string url_;
+				std::string contactName_;
+				std::string regionId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ARMS_MODEL_CREATEWEBHOOKREQUEST_H_

+ 51 - 0
arms/include/alibabacloud/arms/model/CreateWebhookResult.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_ARMS_MODEL_CREATEWEBHOOKRESULT_H_
+#define ALIBABACLOUD_ARMS_MODEL_CREATEWEBHOOKRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/arms/ARMSExport.h>
+
+namespace AlibabaCloud
+{
+	namespace ARMS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ARMS_EXPORT CreateWebhookResult : public ServiceResult
+			{
+			public:
+
+
+				CreateWebhookResult();
+				explicit CreateWebhookResult(const std::string &payload);
+				~CreateWebhookResult();
+				std::string getContactId()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string contactId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ARMS_MODEL_CREATEWEBHOOKRESULT_H_

+ 54 - 0
arms/include/alibabacloud/arms/model/DeleteAlertTemplateRequest.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_ARMS_MODEL_DELETEALERTTEMPLATEREQUEST_H_
+#define ALIBABACLOUD_ARMS_MODEL_DELETEALERTTEMPLATEREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/arms/ARMSExport.h>
+
+namespace AlibabaCloud
+{
+	namespace ARMS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ARMS_EXPORT DeleteAlertTemplateRequest : public RpcServiceRequest
+			{
+
+			public:
+				DeleteAlertTemplateRequest();
+				~DeleteAlertTemplateRequest();
+
+				std::string getRegionId()const;
+				void setRegionId(const std::string& regionId);
+				long getId()const;
+				void setId(long id);
+				std::string getProxyUserId()const;
+				void setProxyUserId(const std::string& proxyUserId);
+
+            private:
+				std::string regionId_;
+				long id_;
+				std::string proxyUserId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ARMS_MODEL_DELETEALERTTEMPLATEREQUEST_H_

+ 51 - 0
arms/include/alibabacloud/arms/model/DeleteAlertTemplateResult.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_ARMS_MODEL_DELETEALERTTEMPLATERESULT_H_
+#define ALIBABACLOUD_ARMS_MODEL_DELETEALERTTEMPLATERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/arms/ARMSExport.h>
+
+namespace AlibabaCloud
+{
+	namespace ARMS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ARMS_EXPORT DeleteAlertTemplateResult : public ServiceResult
+			{
+			public:
+
+
+				DeleteAlertTemplateResult();
+				explicit DeleteAlertTemplateResult(const std::string &payload);
+				~DeleteAlertTemplateResult();
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ARMS_MODEL_DELETEALERTTEMPLATERESULT_H_

+ 54 - 0
arms/include/alibabacloud/arms/model/DeleteGrafanaResourceRequest.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_ARMS_MODEL_DELETEGRAFANARESOURCEREQUEST_H_
+#define ALIBABACLOUD_ARMS_MODEL_DELETEGRAFANARESOURCEREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/arms/ARMSExport.h>
+
+namespace AlibabaCloud
+{
+	namespace ARMS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ARMS_EXPORT DeleteGrafanaResourceRequest : public RpcServiceRequest
+			{
+
+			public:
+				DeleteGrafanaResourceRequest();
+				~DeleteGrafanaResourceRequest();
+
+				std::string getClusterName()const;
+				void setClusterName(const std::string& clusterName);
+				std::string getClusterId()const;
+				void setClusterId(const std::string& clusterId);
+				std::string getUserId()const;
+				void setUserId(const std::string& userId);
+
+            private:
+				std::string clusterName_;
+				std::string clusterId_;
+				std::string userId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ARMS_MODEL_DELETEGRAFANARESOURCEREQUEST_H_

+ 51 - 0
arms/include/alibabacloud/arms/model/DeleteGrafanaResourceResult.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_ARMS_MODEL_DELETEGRAFANARESOURCERESULT_H_
+#define ALIBABACLOUD_ARMS_MODEL_DELETEGRAFANARESOURCERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/arms/ARMSExport.h>
+
+namespace AlibabaCloud
+{
+	namespace ARMS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ARMS_EXPORT DeleteGrafanaResourceResult : public ServiceResult
+			{
+			public:
+
+
+				DeleteGrafanaResourceResult();
+				explicit DeleteGrafanaResourceResult(const std::string &payload);
+				~DeleteGrafanaResourceResult();
+				std::string getData()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string data_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ARMS_MODEL_DELETEGRAFANARESOURCERESULT_H_

+ 48 - 0
arms/include/alibabacloud/arms/model/DeletePrometheusAlertRuleRequest.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_ARMS_MODEL_DELETEPROMETHEUSALERTRULEREQUEST_H_
+#define ALIBABACLOUD_ARMS_MODEL_DELETEPROMETHEUSALERTRULEREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/arms/ARMSExport.h>
+
+namespace AlibabaCloud
+{
+	namespace ARMS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ARMS_EXPORT DeletePrometheusAlertRuleRequest : public RpcServiceRequest
+			{
+
+			public:
+				DeletePrometheusAlertRuleRequest();
+				~DeletePrometheusAlertRuleRequest();
+
+				long getAlertId()const;
+				void setAlertId(long alertId);
+
+            private:
+				long alertId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ARMS_MODEL_DELETEPROMETHEUSALERTRULEREQUEST_H_

+ 51 - 0
arms/include/alibabacloud/arms/model/DeletePrometheusAlertRuleResult.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_ARMS_MODEL_DELETEPROMETHEUSALERTRULERESULT_H_
+#define ALIBABACLOUD_ARMS_MODEL_DELETEPROMETHEUSALERTRULERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/arms/ARMSExport.h>
+
+namespace AlibabaCloud
+{
+	namespace ARMS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ARMS_EXPORT DeletePrometheusAlertRuleResult : public ServiceResult
+			{
+			public:
+
+
+				DeletePrometheusAlertRuleResult();
+				explicit DeletePrometheusAlertRuleResult(const std::string &payload);
+				~DeletePrometheusAlertRuleResult();
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ARMS_MODEL_DELETEPROMETHEUSALERTRULERESULT_H_

+ 48 - 0
arms/include/alibabacloud/arms/model/DescribePrometheusAlertRuleRequest.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_ARMS_MODEL_DESCRIBEPROMETHEUSALERTRULEREQUEST_H_
+#define ALIBABACLOUD_ARMS_MODEL_DESCRIBEPROMETHEUSALERTRULEREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/arms/ARMSExport.h>
+
+namespace AlibabaCloud
+{
+	namespace ARMS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ARMS_EXPORT DescribePrometheusAlertRuleRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribePrometheusAlertRuleRequest();
+				~DescribePrometheusAlertRuleRequest();
+
+				long getAlertId()const;
+				void setAlertId(long alertId);
+
+            private:
+				long alertId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ARMS_MODEL_DESCRIBEPROMETHEUSALERTRULEREQUEST_H_

+ 76 - 0
arms/include/alibabacloud/arms/model/DescribePrometheusAlertRuleResult.h

@@ -0,0 +1,76 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_ARMS_MODEL_DESCRIBEPROMETHEUSALERTRULERESULT_H_
+#define ALIBABACLOUD_ARMS_MODEL_DESCRIBEPROMETHEUSALERTRULERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/arms/ARMSExport.h>
+
+namespace AlibabaCloud
+{
+	namespace ARMS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ARMS_EXPORT DescribePrometheusAlertRuleResult : public ServiceResult
+			{
+			public:
+				struct PrometheusAlertRule
+				{
+					struct Label
+					{
+						std::string value;
+						std::string name;
+					};
+					struct Annotation
+					{
+						std::string value;
+						std::string name;
+					};
+					int status;
+					std::string notifyType;
+					long alertId;
+					std::string type;
+					std::vector<Annotation> annotations;
+					std::string alertName;
+					std::string message;
+					std::string expression;
+					std::string clusterId;
+					long dispatchRuleId;
+					std::vector<Label> labels;
+					std::string duration;
+				};
+
+
+				DescribePrometheusAlertRuleResult();
+				explicit DescribePrometheusAlertRuleResult(const std::string &payload);
+				~DescribePrometheusAlertRuleResult();
+				PrometheusAlertRule getPrometheusAlertRule()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				PrometheusAlertRule prometheusAlertRule_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ARMS_MODEL_DESCRIBEPROMETHEUSALERTRULERESULT_H_

+ 54 - 0
arms/include/alibabacloud/arms/model/DisableAlertTemplateRequest.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_ARMS_MODEL_DISABLEALERTTEMPLATEREQUEST_H_
+#define ALIBABACLOUD_ARMS_MODEL_DISABLEALERTTEMPLATEREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/arms/ARMSExport.h>
+
+namespace AlibabaCloud
+{
+	namespace ARMS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ARMS_EXPORT DisableAlertTemplateRequest : public RpcServiceRequest
+			{
+
+			public:
+				DisableAlertTemplateRequest();
+				~DisableAlertTemplateRequest();
+
+				std::string getRegionId()const;
+				void setRegionId(const std::string& regionId);
+				long getId()const;
+				void setId(long id);
+				std::string getProxyUserId()const;
+				void setProxyUserId(const std::string& proxyUserId);
+
+            private:
+				std::string regionId_;
+				long id_;
+				std::string proxyUserId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ARMS_MODEL_DISABLEALERTTEMPLATEREQUEST_H_

+ 51 - 0
arms/include/alibabacloud/arms/model/DisableAlertTemplateResult.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_ARMS_MODEL_DISABLEALERTTEMPLATERESULT_H_
+#define ALIBABACLOUD_ARMS_MODEL_DISABLEALERTTEMPLATERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/arms/ARMSExport.h>
+
+namespace AlibabaCloud
+{
+	namespace ARMS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ARMS_EXPORT DisableAlertTemplateResult : public ServiceResult
+			{
+			public:
+
+
+				DisableAlertTemplateResult();
+				explicit DisableAlertTemplateResult(const std::string &payload);
+				~DisableAlertTemplateResult();
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ARMS_MODEL_DISABLEALERTTEMPLATERESULT_H_

+ 54 - 0
arms/include/alibabacloud/arms/model/EnableAlertTemplateRequest.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_ARMS_MODEL_ENABLEALERTTEMPLATEREQUEST_H_
+#define ALIBABACLOUD_ARMS_MODEL_ENABLEALERTTEMPLATEREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/arms/ARMSExport.h>
+
+namespace AlibabaCloud
+{
+	namespace ARMS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ARMS_EXPORT EnableAlertTemplateRequest : public RpcServiceRequest
+			{
+
+			public:
+				EnableAlertTemplateRequest();
+				~EnableAlertTemplateRequest();
+
+				std::string getRegionId()const;
+				void setRegionId(const std::string& regionId);
+				long getId()const;
+				void setId(long id);
+				std::string getProxyUserId()const;
+				void setProxyUserId(const std::string& proxyUserId);
+
+            private:
+				std::string regionId_;
+				long id_;
+				std::string proxyUserId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ARMS_MODEL_ENABLEALERTTEMPLATEREQUEST_H_

+ 51 - 0
arms/include/alibabacloud/arms/model/EnableAlertTemplateResult.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_ARMS_MODEL_ENABLEALERTTEMPLATERESULT_H_
+#define ALIBABACLOUD_ARMS_MODEL_ENABLEALERTTEMPLATERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/arms/ARMSExport.h>
+
+namespace AlibabaCloud
+{
+	namespace ARMS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ARMS_EXPORT EnableAlertTemplateResult : public ServiceResult
+			{
+			public:
+
+
+				EnableAlertTemplateResult();
+				explicit EnableAlertTemplateResult(const std::string &payload);
+				~EnableAlertTemplateResult();
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ARMS_MODEL_ENABLEALERTTEMPLATERESULT_H_

+ 60 - 0
arms/include/alibabacloud/arms/model/ListActivatedAlertsRequest.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_ARMS_MODEL_LISTACTIVATEDALERTSREQUEST_H_
+#define ALIBABACLOUD_ARMS_MODEL_LISTACTIVATEDALERTSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/arms/ARMSExport.h>
+
+namespace AlibabaCloud
+{
+	namespace ARMS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ARMS_EXPORT ListActivatedAlertsRequest : public RpcServiceRequest
+			{
+
+			public:
+				ListActivatedAlertsRequest();
+				~ListActivatedAlertsRequest();
+
+				std::string getFilter()const;
+				void setFilter(const std::string& filter);
+				std::string getRegionId()const;
+				void setRegionId(const std::string& regionId);
+				int getPageSize()const;
+				void setPageSize(int pageSize);
+				int getCurrentPage()const;
+				void setCurrentPage(int currentPage);
+				std::string getProxyUserId()const;
+				void setProxyUserId(const std::string& proxyUserId);
+
+            private:
+				std::string filter_;
+				std::string regionId_;
+				int pageSize_;
+				int currentPage_;
+				std::string proxyUserId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ARMS_MODEL_LISTACTIVATEDALERTSREQUEST_H_

+ 82 - 0
arms/include/alibabacloud/arms/model/ListActivatedAlertsResult.h

@@ -0,0 +1,82 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_ARMS_MODEL_LISTACTIVATEDALERTSRESULT_H_
+#define ALIBABACLOUD_ARMS_MODEL_LISTACTIVATEDALERTSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/arms/ARMSExport.h>
+
+namespace AlibabaCloud
+{
+	namespace ARMS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ARMS_EXPORT ListActivatedAlertsResult : public ServiceResult
+			{
+			public:
+				struct Page
+				{
+					struct Alert
+					{
+						struct DispatchRule
+						{
+							int ruleId;
+							std::string ruleName;
+						};
+						std::string status;
+						std::string alertName;
+						std::string message;
+						std::string involvedObjectKind;
+						std::vector<Alert::DispatchRule> dispatchRules;
+						long createTime;
+						std::string severity;
+						int count;
+						std::string expandFields;
+						std::string involvedObjectName;
+						long endsAt;
+						std::string alertType;
+						std::string alertId;
+						std::string integrationName;
+						long startsAt;
+						std::string integrationType;
+					};
+					int pageSize;
+					int total;
+					int page;
+					std::vector<Alert> alerts;
+				};
+
+
+				ListActivatedAlertsResult();
+				explicit ListActivatedAlertsResult(const std::string &payload);
+				~ListActivatedAlertsResult();
+				Page getPage()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				Page page_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ARMS_MODEL_LISTACTIVATEDALERTSRESULT_H_

+ 69 - 0
arms/include/alibabacloud/arms/model/ListAlertTemplatesRequest.h

@@ -0,0 +1,69 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_ARMS_MODEL_LISTALERTTEMPLATESREQUEST_H_
+#define ALIBABACLOUD_ARMS_MODEL_LISTALERTTEMPLATESREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/arms/ARMSExport.h>
+
+namespace AlibabaCloud
+{
+	namespace ARMS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ARMS_EXPORT ListAlertTemplatesRequest : public RpcServiceRequest
+			{
+
+			public:
+				ListAlertTemplatesRequest();
+				~ListAlertTemplatesRequest();
+
+				std::string getAlertProvider()const;
+				void setAlertProvider(const std::string& alertProvider);
+				std::string getTemplateProvider()const;
+				void setTemplateProvider(const std::string& templateProvider);
+				std::string getProxyUserId()const;
+				void setProxyUserId(const std::string& proxyUserId);
+				std::string getType()const;
+				void setType(const std::string& type);
+				std::string getLabels()const;
+				void setLabels(const std::string& labels);
+				std::string getRegionId()const;
+				void setRegionId(const std::string& regionId);
+				std::string getName()const;
+				void setName(const std::string& name);
+				bool getStatus()const;
+				void setStatus(bool status);
+
+            private:
+				std::string alertProvider_;
+				std::string templateProvider_;
+				std::string proxyUserId_;
+				std::string type_;
+				std::string labels_;
+				std::string regionId_;
+				std::string name_;
+				bool status_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ARMS_MODEL_LISTALERTTEMPLATESREQUEST_H_

+ 82 - 0
arms/include/alibabacloud/arms/model/ListAlertTemplatesResult.h

@@ -0,0 +1,82 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_ARMS_MODEL_LISTALERTTEMPLATESRESULT_H_
+#define ALIBABACLOUD_ARMS_MODEL_LISTALERTTEMPLATESRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/arms/ARMSExport.h>
+
+namespace AlibabaCloud
+{
+	namespace ARMS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ARMS_EXPORT ListAlertTemplatesResult : public ServiceResult
+			{
+			public:
+				struct AlertTemplate
+				{
+					struct LabelMatchExpressionGrid
+					{
+						struct LabelMatchExpressionGroup
+						{
+							struct LabelMatchExpression
+							{
+								std::string value;
+								std::string _operator;
+								std::string key;
+							};
+							std::vector<LabelMatchExpressionGroup::LabelMatchExpression> labelMatchExpressions;
+						};
+						std::vector<LabelMatchExpressionGroup> labelMatchExpressionGroups;
+					};
+					int parentId;
+					bool status;
+					std::string message;
+					std::string templateProvider;
+					LabelMatchExpressionGrid labelMatchExpressionGrid;
+					std::string labels;
+					std::string alertProvider;
+					std::string name;
+					std::string type;
+					std::string annotations;
+					std::string userId;
+					bool _public;
+					int id;
+					std::string rule;
+				};
+
+
+				ListAlertTemplatesResult();
+				explicit ListAlertTemplatesResult(const std::string &payload);
+				~ListAlertTemplatesResult();
+				std::vector<AlertTemplate> getAlertTemplates()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<AlertTemplate> alertTemplates_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ARMS_MODEL_LISTALERTTEMPLATESRESULT_H_

+ 15 - 6
arms/include/alibabacloud/arms/model/ListDashboardsRequest.h

@@ -35,20 +35,29 @@ namespace AlibabaCloud
 				ListDashboardsRequest();
 				~ListDashboardsRequest();
 
-				std::string getClusterType()const;
-				void setClusterType(const std::string& clusterType);
-				std::string getRegionId()const;
-				void setRegionId(const std::string& regionId);
+				std::string getDashboardName()const;
+				void setDashboardName(const std::string& dashboardName);
+				std::string getProduct()const;
+				void setProduct(const std::string& product);
+				bool getRecreateSwitch()const;
+				void setRecreateSwitch(bool recreateSwitch);
 				std::string getClusterId()const;
 				void setClusterId(const std::string& clusterId);
 				std::string getTitle()const;
 				void setTitle(const std::string& title);
+				std::string getClusterType()const;
+				void setClusterType(const std::string& clusterType);
+				std::string getRegionId()const;
+				void setRegionId(const std::string& regionId);
 
             private:
-				std::string clusterType_;
-				std::string regionId_;
+				std::string dashboardName_;
+				std::string product_;
+				bool recreateSwitch_;
 				std::string clusterId_;
 				std::string title_;
+				std::string clusterType_;
+				std::string regionId_;
 
 			};
 		}

+ 8 - 3
arms/include/alibabacloud/arms/model/ListDashboardsResult.h

@@ -34,13 +34,18 @@ namespace AlibabaCloud
 			public:
 				struct DashboardVosItem
 				{
-					std::string uid;
-					std::string type;
 					std::string title;
 					std::string time;
-					std::string id;
 					std::string exporter;
 					std::string url;
+					std::string name;
+					std::string uid;
+					std::string type;
+					bool needUpdate;
+					std::string version;
+					std::string kind;
+					std::string id;
+					std::string dashboardType;
 					std::vector<std::string> tags;
 					bool isArmsExporter;
 				};

+ 66 - 0
arms/include/alibabacloud/arms/model/ListPrometheusAlertRulesRequest.h

@@ -0,0 +1,66 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_ARMS_MODEL_LISTPROMETHEUSALERTRULESREQUEST_H_
+#define ALIBABACLOUD_ARMS_MODEL_LISTPROMETHEUSALERTRULESREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/arms/ARMSExport.h>
+
+namespace AlibabaCloud
+{
+	namespace ARMS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ARMS_EXPORT ListPrometheusAlertRulesRequest : public RpcServiceRequest
+			{
+
+			public:
+				ListPrometheusAlertRulesRequest();
+				~ListPrometheusAlertRulesRequest();
+
+				std::string getClusterId()const;
+				void setClusterId(const std::string& clusterId);
+				std::string getProxyUserId()const;
+				void setProxyUserId(const std::string& proxyUserId);
+				std::string getType()const;
+				void setType(const std::string& type);
+				std::string getRegionId()const;
+				void setRegionId(const std::string& regionId);
+				std::string getName()const;
+				void setName(const std::string& name);
+				std::string getMatchExpressions()const;
+				void setMatchExpressions(const std::string& matchExpressions);
+				int getStatus()const;
+				void setStatus(int status);
+
+            private:
+				std::string clusterId_;
+				std::string proxyUserId_;
+				std::string type_;
+				std::string regionId_;
+				std::string name_;
+				std::string matchExpressions_;
+				int status_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ARMS_MODEL_LISTPROMETHEUSALERTRULESREQUEST_H_

+ 76 - 0
arms/include/alibabacloud/arms/model/ListPrometheusAlertRulesResult.h

@@ -0,0 +1,76 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_ARMS_MODEL_LISTPROMETHEUSALERTRULESRESULT_H_
+#define ALIBABACLOUD_ARMS_MODEL_LISTPROMETHEUSALERTRULESRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/arms/ARMSExport.h>
+
+namespace AlibabaCloud
+{
+	namespace ARMS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ARMS_EXPORT ListPrometheusAlertRulesResult : public ServiceResult
+			{
+			public:
+				struct PrometheusAlertRule
+				{
+					struct Label
+					{
+						std::string value;
+						std::string name;
+					};
+					struct Annotation
+					{
+						std::string value;
+						std::string name;
+					};
+					int status;
+					std::string notifyType;
+					long alertId;
+					std::string type;
+					std::vector<PrometheusAlertRule::Annotation> annotations;
+					std::string alertName;
+					std::string message;
+					std::string expression;
+					std::string clusterId;
+					long dispatchRuleId;
+					std::vector<PrometheusAlertRule::Label> labels;
+					std::string duration;
+				};
+
+
+				ListPrometheusAlertRulesResult();
+				explicit ListPrometheusAlertRulesResult(const std::string &payload);
+				~ListPrometheusAlertRulesResult();
+				std::vector<PrometheusAlertRule> getPrometheusAlertRules()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<PrometheusAlertRule> prometheusAlertRules_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ARMS_MODEL_LISTPROMETHEUSALERTRULESRESULT_H_

+ 57 - 0
arms/include/alibabacloud/arms/model/ListPrometheusAlertTemplatesRequest.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_ARMS_MODEL_LISTPROMETHEUSALERTTEMPLATESREQUEST_H_
+#define ALIBABACLOUD_ARMS_MODEL_LISTPROMETHEUSALERTTEMPLATESREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/arms/ARMSExport.h>
+
+namespace AlibabaCloud
+{
+	namespace ARMS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ARMS_EXPORT ListPrometheusAlertTemplatesRequest : public RpcServiceRequest
+			{
+
+			public:
+				ListPrometheusAlertTemplatesRequest();
+				~ListPrometheusAlertTemplatesRequest();
+
+				std::string getProductCode()const;
+				void setProductCode(const std::string& productCode);
+				std::string getRegionId()const;
+				void setRegionId(const std::string& regionId);
+				std::string getClusterId()const;
+				void setClusterId(const std::string& clusterId);
+				std::string getProxyUserId()const;
+				void setProxyUserId(const std::string& proxyUserId);
+
+            private:
+				std::string productCode_;
+				std::string regionId_;
+				std::string clusterId_;
+				std::string proxyUserId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ARMS_MODEL_LISTPROMETHEUSALERTTEMPLATESREQUEST_H_

+ 72 - 0
arms/include/alibabacloud/arms/model/ListPrometheusAlertTemplatesResult.h

@@ -0,0 +1,72 @@
+/*
+ * 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_ARMS_MODEL_LISTPROMETHEUSALERTTEMPLATESRESULT_H_
+#define ALIBABACLOUD_ARMS_MODEL_LISTPROMETHEUSALERTTEMPLATESRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/arms/ARMSExport.h>
+
+namespace AlibabaCloud
+{
+	namespace ARMS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ARMS_EXPORT ListPrometheusAlertTemplatesResult : public ServiceResult
+			{
+			public:
+				struct PrometheusAlertTemplate
+				{
+					struct Label
+					{
+						std::string value;
+						std::string name;
+					};
+					struct Annotation
+					{
+						std::string value;
+						std::string name;
+					};
+					std::string type;
+					std::vector<PrometheusAlertTemplate::Annotation> annotations;
+					std::string alertName;
+					std::string description;
+					std::string expression;
+					std::string version;
+					std::vector<PrometheusAlertTemplate::Label> labels;
+					std::string duration;
+				};
+
+
+				ListPrometheusAlertTemplatesResult();
+				explicit ListPrometheusAlertTemplatesResult(const std::string &payload);
+				~ListPrometheusAlertTemplatesResult();
+				std::vector<PrometheusAlertTemplate> getPrometheusAlertTemplates()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<PrometheusAlertTemplate> prometheusAlertTemplates_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ARMS_MODEL_LISTPROMETHEUSALERTTEMPLATESRESULT_H_

+ 48 - 0
arms/include/alibabacloud/arms/model/OpenArmsDefaultSLRRequest.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_ARMS_MODEL_OPENARMSDEFAULTSLRREQUEST_H_
+#define ALIBABACLOUD_ARMS_MODEL_OPENARMSDEFAULTSLRREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/arms/ARMSExport.h>
+
+namespace AlibabaCloud
+{
+	namespace ARMS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ARMS_EXPORT OpenArmsDefaultSLRRequest : public RpcServiceRequest
+			{
+
+			public:
+				OpenArmsDefaultSLRRequest();
+				~OpenArmsDefaultSLRRequest();
+
+				std::string getRegionId()const;
+				void setRegionId(const std::string& regionId);
+
+            private:
+				std::string regionId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ARMS_MODEL_OPENARMSDEFAULTSLRREQUEST_H_

+ 51 - 0
arms/include/alibabacloud/arms/model/OpenArmsDefaultSLRResult.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_ARMS_MODEL_OPENARMSDEFAULTSLRRESULT_H_
+#define ALIBABACLOUD_ARMS_MODEL_OPENARMSDEFAULTSLRRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/arms/ARMSExport.h>
+
+namespace AlibabaCloud
+{
+	namespace ARMS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ARMS_EXPORT OpenArmsDefaultSLRResult : public ServiceResult
+			{
+			public:
+
+
+				OpenArmsDefaultSLRResult();
+				explicit OpenArmsDefaultSLRResult(const std::string &payload);
+				~OpenArmsDefaultSLRResult();
+				std::string getData()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string data_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ARMS_MODEL_OPENARMSDEFAULTSLRRESULT_H_

+ 51 - 0
arms/include/alibabacloud/arms/model/OpenArmsServiceSecondVersionRequest.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_ARMS_MODEL_OPENARMSSERVICESECONDVERSIONREQUEST_H_
+#define ALIBABACLOUD_ARMS_MODEL_OPENARMSSERVICESECONDVERSIONREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/arms/ARMSExport.h>
+
+namespace AlibabaCloud
+{
+	namespace ARMS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ARMS_EXPORT OpenArmsServiceSecondVersionRequest : public RpcServiceRequest
+			{
+
+			public:
+				OpenArmsServiceSecondVersionRequest();
+				~OpenArmsServiceSecondVersionRequest();
+
+				std::string getRegionId()const;
+				void setRegionId(const std::string& regionId);
+				std::string getType()const;
+				void setType(const std::string& type);
+
+            private:
+				std::string regionId_;
+				std::string type_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ARMS_MODEL_OPENARMSSERVICESECONDVERSIONREQUEST_H_

+ 51 - 0
arms/include/alibabacloud/arms/model/OpenArmsServiceSecondVersionResult.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_ARMS_MODEL_OPENARMSSERVICESECONDVERSIONRESULT_H_
+#define ALIBABACLOUD_ARMS_MODEL_OPENARMSSERVICESECONDVERSIONRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/arms/ARMSExport.h>
+
+namespace AlibabaCloud
+{
+	namespace ARMS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ARMS_EXPORT OpenArmsServiceSecondVersionResult : public ServiceResult
+			{
+			public:
+
+
+				OpenArmsServiceSecondVersionResult();
+				explicit OpenArmsServiceSecondVersionResult(const std::string &payload);
+				~OpenArmsServiceSecondVersionResult();
+				std::string getOrderId()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string orderId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ARMS_MODEL_OPENARMSSERVICESECONDVERSIONRESULT_H_

+ 6 - 0
arms/include/alibabacloud/arms/model/OpenVClusterRequest.h

@@ -37,6 +37,10 @@ namespace AlibabaCloud
 
 				std::string getClusterType()const;
 				void setClusterType(const std::string& clusterType);
+				std::string getProduct()const;
+				void setProduct(const std::string& product);
+				bool getRecreateSwitch()const;
+				void setRecreateSwitch(bool recreateSwitch);
 				std::string getRegionId()const;
 				void setRegionId(const std::string& regionId);
 				int getLength()const;
@@ -44,6 +48,8 @@ namespace AlibabaCloud
 
             private:
 				std::string clusterType_;
+				std::string product_;
+				bool recreateSwitch_;
 				std::string regionId_;
 				int length_;
 

+ 48 - 0
arms/include/alibabacloud/arms/model/OpenXtraceDefaultSLRRequest.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_ARMS_MODEL_OPENXTRACEDEFAULTSLRREQUEST_H_
+#define ALIBABACLOUD_ARMS_MODEL_OPENXTRACEDEFAULTSLRREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/arms/ARMSExport.h>
+
+namespace AlibabaCloud
+{
+	namespace ARMS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ARMS_EXPORT OpenXtraceDefaultSLRRequest : public RpcServiceRequest
+			{
+
+			public:
+				OpenXtraceDefaultSLRRequest();
+				~OpenXtraceDefaultSLRRequest();
+
+				std::string getRegionId()const;
+				void setRegionId(const std::string& regionId);
+
+            private:
+				std::string regionId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ARMS_MODEL_OPENXTRACEDEFAULTSLRREQUEST_H_

+ 51 - 0
arms/include/alibabacloud/arms/model/OpenXtraceDefaultSLRResult.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_ARMS_MODEL_OPENXTRACEDEFAULTSLRRESULT_H_
+#define ALIBABACLOUD_ARMS_MODEL_OPENXTRACEDEFAULTSLRRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/arms/ARMSExport.h>
+
+namespace AlibabaCloud
+{
+	namespace ARMS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ARMS_EXPORT OpenXtraceDefaultSLRResult : public ServiceResult
+			{
+			public:
+
+
+				OpenXtraceDefaultSLRResult();
+				explicit OpenXtraceDefaultSLRResult(const std::string &payload);
+				~OpenXtraceDefaultSLRResult();
+				std::string getData()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string data_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ARMS_MODEL_OPENXTRACEDEFAULTSLRRESULT_H_

+ 78 - 0
arms/include/alibabacloud/arms/model/UpdateAlertTemplateRequest.h

@@ -0,0 +1,78 @@
+/*
+ * 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_ARMS_MODEL_UPDATEALERTTEMPLATEREQUEST_H_
+#define ALIBABACLOUD_ARMS_MODEL_UPDATEALERTTEMPLATEREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/arms/ARMSExport.h>
+
+namespace AlibabaCloud
+{
+	namespace ARMS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ARMS_EXPORT UpdateAlertTemplateRequest : public RpcServiceRequest
+			{
+
+			public:
+				UpdateAlertTemplateRequest();
+				~UpdateAlertTemplateRequest();
+
+				std::string getAnnotations()const;
+				void setAnnotations(const std::string& annotations);
+				std::string getRule()const;
+				void setRule(const std::string& rule);
+				std::string getProxyUserId()const;
+				void setProxyUserId(const std::string& proxyUserId);
+				std::string getType()const;
+				void setType(const std::string& type);
+				std::string getMessage()const;
+				void setMessage(const std::string& message);
+				std::string getLabels()const;
+				void setLabels(const std::string& labels);
+				std::string getRegionId()const;
+				void setRegionId(const std::string& regionId);
+				std::string getName()const;
+				void setName(const std::string& name);
+				long getId()const;
+				void setId(long id);
+				std::string getMatchExpressions()const;
+				void setMatchExpressions(const std::string& matchExpressions);
+				bool getStatus()const;
+				void setStatus(bool status);
+
+            private:
+				std::string annotations_;
+				std::string rule_;
+				std::string proxyUserId_;
+				std::string type_;
+				std::string message_;
+				std::string labels_;
+				std::string regionId_;
+				std::string name_;
+				long id_;
+				std::string matchExpressions_;
+				bool status_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ARMS_MODEL_UPDATEALERTTEMPLATEREQUEST_H_

+ 51 - 0
arms/include/alibabacloud/arms/model/UpdateAlertTemplateResult.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_ARMS_MODEL_UPDATEALERTTEMPLATERESULT_H_
+#define ALIBABACLOUD_ARMS_MODEL_UPDATEALERTTEMPLATERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/arms/ARMSExport.h>
+
+namespace AlibabaCloud
+{
+	namespace ARMS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ARMS_EXPORT UpdateAlertTemplateResult : public ServiceResult
+			{
+			public:
+
+
+				UpdateAlertTemplateResult();
+				explicit UpdateAlertTemplateResult(const std::string &payload);
+				~UpdateAlertTemplateResult();
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ARMS_MODEL_UPDATEALERTTEMPLATERESULT_H_

+ 84 - 0
arms/include/alibabacloud/arms/model/UpdatePrometheusAlertRuleRequest.h

@@ -0,0 +1,84 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_ARMS_MODEL_UPDATEPROMETHEUSALERTRULEREQUEST_H_
+#define ALIBABACLOUD_ARMS_MODEL_UPDATEPROMETHEUSALERTRULEREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/arms/ARMSExport.h>
+
+namespace AlibabaCloud
+{
+	namespace ARMS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ARMS_EXPORT UpdatePrometheusAlertRuleRequest : public RpcServiceRequest
+			{
+
+			public:
+				UpdatePrometheusAlertRuleRequest();
+				~UpdatePrometheusAlertRuleRequest();
+
+				std::string getExpression()const;
+				void setExpression(const std::string& expression);
+				std::string getAlertName()const;
+				void setAlertName(const std::string& alertName);
+				std::string getAnnotations()const;
+				void setAnnotations(const std::string& annotations);
+				std::string getClusterId()const;
+				void setClusterId(const std::string& clusterId);
+				long getDispatchRuleId()const;
+				void setDispatchRuleId(long dispatchRuleId);
+				std::string getProxyUserId()const;
+				void setProxyUserId(const std::string& proxyUserId);
+				std::string getType()const;
+				void setType(const std::string& type);
+				std::string getMessage()const;
+				void setMessage(const std::string& message);
+				std::string getLabels()const;
+				void setLabels(const std::string& labels);
+				std::string getDuration()const;
+				void setDuration(const std::string& duration);
+				std::string getRegionId()const;
+				void setRegionId(const std::string& regionId);
+				long getAlertId()const;
+				void setAlertId(long alertId);
+				std::string getNotifyType()const;
+				void setNotifyType(const std::string& notifyType);
+
+            private:
+				std::string expression_;
+				std::string alertName_;
+				std::string annotations_;
+				std::string clusterId_;
+				long dispatchRuleId_;
+				std::string proxyUserId_;
+				std::string type_;
+				std::string message_;
+				std::string labels_;
+				std::string duration_;
+				std::string regionId_;
+				long alertId_;
+				std::string notifyType_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ARMS_MODEL_UPDATEPROMETHEUSALERTRULEREQUEST_H_

+ 76 - 0
arms/include/alibabacloud/arms/model/UpdatePrometheusAlertRuleResult.h

@@ -0,0 +1,76 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_ARMS_MODEL_UPDATEPROMETHEUSALERTRULERESULT_H_
+#define ALIBABACLOUD_ARMS_MODEL_UPDATEPROMETHEUSALERTRULERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/arms/ARMSExport.h>
+
+namespace AlibabaCloud
+{
+	namespace ARMS
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ARMS_EXPORT UpdatePrometheusAlertRuleResult : public ServiceResult
+			{
+			public:
+				struct PrometheusAlertRule
+				{
+					struct Label
+					{
+						std::string value;
+						std::string name;
+					};
+					struct Annotation
+					{
+						std::string value;
+						std::string name;
+					};
+					int status;
+					std::string notifyType;
+					long alertId;
+					std::string type;
+					std::vector<Annotation> annotations;
+					std::string alertName;
+					std::string message;
+					std::string expression;
+					std::string clusterId;
+					long dispatchRuleId;
+					std::vector<Label> labels;
+					std::string duration;
+				};
+
+
+				UpdatePrometheusAlertRuleResult();
+				explicit UpdatePrometheusAlertRuleResult(const std::string &payload);
+				~UpdatePrometheusAlertRuleResult();
+				PrometheusAlertRule getPrometheusAlertRule()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				PrometheusAlertRule prometheusAlertRule_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ARMS_MODEL_UPDATEPROMETHEUSALERTRULERESULT_H_

+ 648 - 0
arms/src/ARMSClient.cc

@@ -375,6 +375,42 @@ ARMSClient::CreateAlertContactGroupOutcomeCallable ARMSClient::createAlertContac
 	return task->get_future();
 }
 
+ARMSClient::CreateAlertTemplateOutcome ARMSClient::createAlertTemplate(const CreateAlertTemplateRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return CreateAlertTemplateOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return CreateAlertTemplateOutcome(CreateAlertTemplateResult(outcome.result()));
+	else
+		return CreateAlertTemplateOutcome(outcome.error());
+}
+
+void ARMSClient::createAlertTemplateAsync(const CreateAlertTemplateRequest& request, const CreateAlertTemplateAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, createAlertTemplate(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+ARMSClient::CreateAlertTemplateOutcomeCallable ARMSClient::createAlertTemplateCallable(const CreateAlertTemplateRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<CreateAlertTemplateOutcome()>>(
+			[this, request]()
+			{
+			return this->createAlertTemplate(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 ARMSClient::CreateDispatchRuleOutcome ARMSClient::createDispatchRule(const CreateDispatchRuleRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -411,6 +447,42 @@ ARMSClient::CreateDispatchRuleOutcomeCallable ARMSClient::createDispatchRuleCall
 	return task->get_future();
 }
 
+ARMSClient::CreatePrometheusAlertRuleOutcome ARMSClient::createPrometheusAlertRule(const CreatePrometheusAlertRuleRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return CreatePrometheusAlertRuleOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return CreatePrometheusAlertRuleOutcome(CreatePrometheusAlertRuleResult(outcome.result()));
+	else
+		return CreatePrometheusAlertRuleOutcome(outcome.error());
+}
+
+void ARMSClient::createPrometheusAlertRuleAsync(const CreatePrometheusAlertRuleRequest& request, const CreatePrometheusAlertRuleAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, createPrometheusAlertRule(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+ARMSClient::CreatePrometheusAlertRuleOutcomeCallable ARMSClient::createPrometheusAlertRuleCallable(const CreatePrometheusAlertRuleRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<CreatePrometheusAlertRuleOutcome()>>(
+			[this, request]()
+			{
+			return this->createPrometheusAlertRule(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 ARMSClient::CreateRetcodeAppOutcome ARMSClient::createRetcodeApp(const CreateRetcodeAppRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -447,6 +519,42 @@ ARMSClient::CreateRetcodeAppOutcomeCallable ARMSClient::createRetcodeAppCallable
 	return task->get_future();
 }
 
+ARMSClient::CreateWebhookOutcome ARMSClient::createWebhook(const CreateWebhookRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return CreateWebhookOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return CreateWebhookOutcome(CreateWebhookResult(outcome.result()));
+	else
+		return CreateWebhookOutcome(outcome.error());
+}
+
+void ARMSClient::createWebhookAsync(const CreateWebhookRequest& request, const CreateWebhookAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, createWebhook(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+ARMSClient::CreateWebhookOutcomeCallable ARMSClient::createWebhookCallable(const CreateWebhookRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<CreateWebhookOutcome()>>(
+			[this, request]()
+			{
+			return this->createWebhook(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 ARMSClient::CreateWehookOutcome ARMSClient::createWehook(const CreateWehookRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -591,6 +699,42 @@ ARMSClient::DeleteAlertRulesOutcomeCallable ARMSClient::deleteAlertRulesCallable
 	return task->get_future();
 }
 
+ARMSClient::DeleteAlertTemplateOutcome ARMSClient::deleteAlertTemplate(const DeleteAlertTemplateRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DeleteAlertTemplateOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DeleteAlertTemplateOutcome(DeleteAlertTemplateResult(outcome.result()));
+	else
+		return DeleteAlertTemplateOutcome(outcome.error());
+}
+
+void ARMSClient::deleteAlertTemplateAsync(const DeleteAlertTemplateRequest& request, const DeleteAlertTemplateAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, deleteAlertTemplate(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+ARMSClient::DeleteAlertTemplateOutcomeCallable ARMSClient::deleteAlertTemplateCallable(const DeleteAlertTemplateRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DeleteAlertTemplateOutcome()>>(
+			[this, request]()
+			{
+			return this->deleteAlertTemplate(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 ARMSClient::DeleteDispatchRuleOutcome ARMSClient::deleteDispatchRule(const DeleteDispatchRuleRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -627,6 +771,78 @@ ARMSClient::DeleteDispatchRuleOutcomeCallable ARMSClient::deleteDispatchRuleCall
 	return task->get_future();
 }
 
+ARMSClient::DeleteGrafanaResourceOutcome ARMSClient::deleteGrafanaResource(const DeleteGrafanaResourceRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DeleteGrafanaResourceOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DeleteGrafanaResourceOutcome(DeleteGrafanaResourceResult(outcome.result()));
+	else
+		return DeleteGrafanaResourceOutcome(outcome.error());
+}
+
+void ARMSClient::deleteGrafanaResourceAsync(const DeleteGrafanaResourceRequest& request, const DeleteGrafanaResourceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, deleteGrafanaResource(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+ARMSClient::DeleteGrafanaResourceOutcomeCallable ARMSClient::deleteGrafanaResourceCallable(const DeleteGrafanaResourceRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DeleteGrafanaResourceOutcome()>>(
+			[this, request]()
+			{
+			return this->deleteGrafanaResource(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+ARMSClient::DeletePrometheusAlertRuleOutcome ARMSClient::deletePrometheusAlertRule(const DeletePrometheusAlertRuleRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DeletePrometheusAlertRuleOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DeletePrometheusAlertRuleOutcome(DeletePrometheusAlertRuleResult(outcome.result()));
+	else
+		return DeletePrometheusAlertRuleOutcome(outcome.error());
+}
+
+void ARMSClient::deletePrometheusAlertRuleAsync(const DeletePrometheusAlertRuleRequest& request, const DeletePrometheusAlertRuleAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, deletePrometheusAlertRule(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+ARMSClient::DeletePrometheusAlertRuleOutcomeCallable ARMSClient::deletePrometheusAlertRuleCallable(const DeletePrometheusAlertRuleRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DeletePrometheusAlertRuleOutcome()>>(
+			[this, request]()
+			{
+			return this->deletePrometheusAlertRule(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 ARMSClient::DeleteRetcodeAppOutcome ARMSClient::deleteRetcodeApp(const DeleteRetcodeAppRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -771,6 +987,42 @@ ARMSClient::DescribeDispatchRuleOutcomeCallable ARMSClient::describeDispatchRule
 	return task->get_future();
 }
 
+ARMSClient::DescribePrometheusAlertRuleOutcome ARMSClient::describePrometheusAlertRule(const DescribePrometheusAlertRuleRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribePrometheusAlertRuleOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribePrometheusAlertRuleOutcome(DescribePrometheusAlertRuleResult(outcome.result()));
+	else
+		return DescribePrometheusAlertRuleOutcome(outcome.error());
+}
+
+void ARMSClient::describePrometheusAlertRuleAsync(const DescribePrometheusAlertRuleRequest& request, const DescribePrometheusAlertRuleAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describePrometheusAlertRule(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+ARMSClient::DescribePrometheusAlertRuleOutcomeCallable ARMSClient::describePrometheusAlertRuleCallable(const DescribePrometheusAlertRuleRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribePrometheusAlertRuleOutcome()>>(
+			[this, request]()
+			{
+			return this->describePrometheusAlertRule(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 ARMSClient::DescribeTraceLicenseKeyOutcome ARMSClient::describeTraceLicenseKey(const DescribeTraceLicenseKeyRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -843,6 +1095,78 @@ ARMSClient::DescribeTraceLocationOutcomeCallable ARMSClient::describeTraceLocati
 	return task->get_future();
 }
 
+ARMSClient::DisableAlertTemplateOutcome ARMSClient::disableAlertTemplate(const DisableAlertTemplateRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DisableAlertTemplateOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DisableAlertTemplateOutcome(DisableAlertTemplateResult(outcome.result()));
+	else
+		return DisableAlertTemplateOutcome(outcome.error());
+}
+
+void ARMSClient::disableAlertTemplateAsync(const DisableAlertTemplateRequest& request, const DisableAlertTemplateAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, disableAlertTemplate(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+ARMSClient::DisableAlertTemplateOutcomeCallable ARMSClient::disableAlertTemplateCallable(const DisableAlertTemplateRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DisableAlertTemplateOutcome()>>(
+			[this, request]()
+			{
+			return this->disableAlertTemplate(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+ARMSClient::EnableAlertTemplateOutcome ARMSClient::enableAlertTemplate(const EnableAlertTemplateRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return EnableAlertTemplateOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return EnableAlertTemplateOutcome(EnableAlertTemplateResult(outcome.result()));
+	else
+		return EnableAlertTemplateOutcome(outcome.error());
+}
+
+void ARMSClient::enableAlertTemplateAsync(const EnableAlertTemplateRequest& request, const EnableAlertTemplateAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, enableAlertTemplate(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+ARMSClient::EnableAlertTemplateOutcomeCallable ARMSClient::enableAlertTemplateCallable(const EnableAlertTemplateRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<EnableAlertTemplateOutcome()>>(
+			[this, request]()
+			{
+			return this->enableAlertTemplate(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 ARMSClient::ExportPrometheusRulesOutcome ARMSClient::exportPrometheusRules(const ExportPrometheusRulesRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -1347,6 +1671,78 @@ ARMSClient::ImportPrometheusRulesOutcomeCallable ARMSClient::importPrometheusRul
 	return task->get_future();
 }
 
+ARMSClient::ListActivatedAlertsOutcome ARMSClient::listActivatedAlerts(const ListActivatedAlertsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ListActivatedAlertsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ListActivatedAlertsOutcome(ListActivatedAlertsResult(outcome.result()));
+	else
+		return ListActivatedAlertsOutcome(outcome.error());
+}
+
+void ARMSClient::listActivatedAlertsAsync(const ListActivatedAlertsRequest& request, const ListActivatedAlertsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, listActivatedAlerts(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+ARMSClient::ListActivatedAlertsOutcomeCallable ARMSClient::listActivatedAlertsCallable(const ListActivatedAlertsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ListActivatedAlertsOutcome()>>(
+			[this, request]()
+			{
+			return this->listActivatedAlerts(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+ARMSClient::ListAlertTemplatesOutcome ARMSClient::listAlertTemplates(const ListAlertTemplatesRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ListAlertTemplatesOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ListAlertTemplatesOutcome(ListAlertTemplatesResult(outcome.result()));
+	else
+		return ListAlertTemplatesOutcome(outcome.error());
+}
+
+void ARMSClient::listAlertTemplatesAsync(const ListAlertTemplatesRequest& request, const ListAlertTemplatesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, listAlertTemplates(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+ARMSClient::ListAlertTemplatesOutcomeCallable ARMSClient::listAlertTemplatesCallable(const ListAlertTemplatesRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ListAlertTemplatesOutcome()>>(
+			[this, request]()
+			{
+			return this->listAlertTemplates(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 ARMSClient::ListClusterFromGrafanaOutcome ARMSClient::listClusterFromGrafana(const ListClusterFromGrafanaRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -1491,6 +1887,78 @@ ARMSClient::ListPromClustersOutcomeCallable ARMSClient::listPromClustersCallable
 	return task->get_future();
 }
 
+ARMSClient::ListPrometheusAlertRulesOutcome ARMSClient::listPrometheusAlertRules(const ListPrometheusAlertRulesRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ListPrometheusAlertRulesOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ListPrometheusAlertRulesOutcome(ListPrometheusAlertRulesResult(outcome.result()));
+	else
+		return ListPrometheusAlertRulesOutcome(outcome.error());
+}
+
+void ARMSClient::listPrometheusAlertRulesAsync(const ListPrometheusAlertRulesRequest& request, const ListPrometheusAlertRulesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, listPrometheusAlertRules(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+ARMSClient::ListPrometheusAlertRulesOutcomeCallable ARMSClient::listPrometheusAlertRulesCallable(const ListPrometheusAlertRulesRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ListPrometheusAlertRulesOutcome()>>(
+			[this, request]()
+			{
+			return this->listPrometheusAlertRules(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+ARMSClient::ListPrometheusAlertTemplatesOutcome ARMSClient::listPrometheusAlertTemplates(const ListPrometheusAlertTemplatesRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ListPrometheusAlertTemplatesOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ListPrometheusAlertTemplatesOutcome(ListPrometheusAlertTemplatesResult(outcome.result()));
+	else
+		return ListPrometheusAlertTemplatesOutcome(outcome.error());
+}
+
+void ARMSClient::listPrometheusAlertTemplatesAsync(const ListPrometheusAlertTemplatesRequest& request, const ListPrometheusAlertTemplatesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, listPrometheusAlertTemplates(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+ARMSClient::ListPrometheusAlertTemplatesOutcomeCallable ARMSClient::listPrometheusAlertTemplatesCallable(const ListPrometheusAlertTemplatesRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ListPrometheusAlertTemplatesOutcome()>>(
+			[this, request]()
+			{
+			return this->listPrometheusAlertTemplates(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 ARMSClient::ListRetcodeAppsOutcome ARMSClient::listRetcodeApps(const ListRetcodeAppsRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -1635,6 +2103,42 @@ ARMSClient::ListTraceAppsOutcomeCallable ARMSClient::listTraceAppsCallable(const
 	return task->get_future();
 }
 
+ARMSClient::OpenArmsDefaultSLROutcome ARMSClient::openArmsDefaultSLR(const OpenArmsDefaultSLRRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return OpenArmsDefaultSLROutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return OpenArmsDefaultSLROutcome(OpenArmsDefaultSLRResult(outcome.result()));
+	else
+		return OpenArmsDefaultSLROutcome(outcome.error());
+}
+
+void ARMSClient::openArmsDefaultSLRAsync(const OpenArmsDefaultSLRRequest& request, const OpenArmsDefaultSLRAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, openArmsDefaultSLR(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+ARMSClient::OpenArmsDefaultSLROutcomeCallable ARMSClient::openArmsDefaultSLRCallable(const OpenArmsDefaultSLRRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<OpenArmsDefaultSLROutcome()>>(
+			[this, request]()
+			{
+			return this->openArmsDefaultSLR(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 ARMSClient::OpenArmsServiceOutcome ARMSClient::openArmsService(const OpenArmsServiceRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -1671,6 +2175,42 @@ ARMSClient::OpenArmsServiceOutcomeCallable ARMSClient::openArmsServiceCallable(c
 	return task->get_future();
 }
 
+ARMSClient::OpenArmsServiceSecondVersionOutcome ARMSClient::openArmsServiceSecondVersion(const OpenArmsServiceSecondVersionRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return OpenArmsServiceSecondVersionOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return OpenArmsServiceSecondVersionOutcome(OpenArmsServiceSecondVersionResult(outcome.result()));
+	else
+		return OpenArmsServiceSecondVersionOutcome(outcome.error());
+}
+
+void ARMSClient::openArmsServiceSecondVersionAsync(const OpenArmsServiceSecondVersionRequest& request, const OpenArmsServiceSecondVersionAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, openArmsServiceSecondVersion(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+ARMSClient::OpenArmsServiceSecondVersionOutcomeCallable ARMSClient::openArmsServiceSecondVersionCallable(const OpenArmsServiceSecondVersionRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<OpenArmsServiceSecondVersionOutcome()>>(
+			[this, request]()
+			{
+			return this->openArmsServiceSecondVersion(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 ARMSClient::OpenVClusterOutcome ARMSClient::openVCluster(const OpenVClusterRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -1707,6 +2247,42 @@ ARMSClient::OpenVClusterOutcomeCallable ARMSClient::openVClusterCallable(const O
 	return task->get_future();
 }
 
+ARMSClient::OpenXtraceDefaultSLROutcome ARMSClient::openXtraceDefaultSLR(const OpenXtraceDefaultSLRRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return OpenXtraceDefaultSLROutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return OpenXtraceDefaultSLROutcome(OpenXtraceDefaultSLRResult(outcome.result()));
+	else
+		return OpenXtraceDefaultSLROutcome(outcome.error());
+}
+
+void ARMSClient::openXtraceDefaultSLRAsync(const OpenXtraceDefaultSLRRequest& request, const OpenXtraceDefaultSLRAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, openXtraceDefaultSLR(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+ARMSClient::OpenXtraceDefaultSLROutcomeCallable ARMSClient::openXtraceDefaultSLRCallable(const OpenXtraceDefaultSLRRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<OpenXtraceDefaultSLROutcome()>>(
+			[this, request]()
+			{
+			return this->openXtraceDefaultSLR(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 ARMSClient::QueryDatasetOutcome ARMSClient::queryDataset(const QueryDatasetRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -2499,6 +3075,42 @@ ARMSClient::UpdateAlertRuleOutcomeCallable ARMSClient::updateAlertRuleCallable(c
 	return task->get_future();
 }
 
+ARMSClient::UpdateAlertTemplateOutcome ARMSClient::updateAlertTemplate(const UpdateAlertTemplateRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return UpdateAlertTemplateOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return UpdateAlertTemplateOutcome(UpdateAlertTemplateResult(outcome.result()));
+	else
+		return UpdateAlertTemplateOutcome(outcome.error());
+}
+
+void ARMSClient::updateAlertTemplateAsync(const UpdateAlertTemplateRequest& request, const UpdateAlertTemplateAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, updateAlertTemplate(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+ARMSClient::UpdateAlertTemplateOutcomeCallable ARMSClient::updateAlertTemplateCallable(const UpdateAlertTemplateRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<UpdateAlertTemplateOutcome()>>(
+			[this, request]()
+			{
+			return this->updateAlertTemplate(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 ARMSClient::UpdateDispatchRuleOutcome ARMSClient::updateDispatchRule(const UpdateDispatchRuleRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -2535,6 +3147,42 @@ ARMSClient::UpdateDispatchRuleOutcomeCallable ARMSClient::updateDispatchRuleCall
 	return task->get_future();
 }
 
+ARMSClient::UpdatePrometheusAlertRuleOutcome ARMSClient::updatePrometheusAlertRule(const UpdatePrometheusAlertRuleRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return UpdatePrometheusAlertRuleOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return UpdatePrometheusAlertRuleOutcome(UpdatePrometheusAlertRuleResult(outcome.result()));
+	else
+		return UpdatePrometheusAlertRuleOutcome(outcome.error());
+}
+
+void ARMSClient::updatePrometheusAlertRuleAsync(const UpdatePrometheusAlertRuleRequest& request, const UpdatePrometheusAlertRuleAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, updatePrometheusAlertRule(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+ARMSClient::UpdatePrometheusAlertRuleOutcomeCallable ARMSClient::updatePrometheusAlertRuleCallable(const UpdatePrometheusAlertRuleRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<UpdatePrometheusAlertRuleOutcome()>>(
+			[this, request]()
+			{
+			return this->updatePrometheusAlertRule(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 ARMSClient::UpdateWebhookOutcome ARMSClient::updateWebhook(const UpdateWebhookRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();

+ 150 - 0
arms/src/model/CreateAlertTemplateRequest.cc

@@ -0,0 +1,150 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/arms/model/CreateAlertTemplateRequest.h>
+
+using AlibabaCloud::ARMS::Model::CreateAlertTemplateRequest;
+
+CreateAlertTemplateRequest::CreateAlertTemplateRequest() :
+	RpcServiceRequest("arms", "2019-08-08", "CreateAlertTemplate")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+CreateAlertTemplateRequest::~CreateAlertTemplateRequest()
+{}
+
+std::string CreateAlertTemplateRequest::getTemplateProvider()const
+{
+	return templateProvider_;
+}
+
+void CreateAlertTemplateRequest::setTemplateProvider(const std::string& templateProvider)
+{
+	templateProvider_ = templateProvider;
+	setParameter("TemplateProvider", templateProvider);
+}
+
+std::string CreateAlertTemplateRequest::getAnnotations()const
+{
+	return annotations_;
+}
+
+void CreateAlertTemplateRequest::setAnnotations(const std::string& annotations)
+{
+	annotations_ = annotations;
+	setParameter("Annotations", annotations);
+}
+
+std::string CreateAlertTemplateRequest::getRule()const
+{
+	return rule_;
+}
+
+void CreateAlertTemplateRequest::setRule(const std::string& rule)
+{
+	rule_ = rule;
+	setParameter("Rule", rule);
+}
+
+std::string CreateAlertTemplateRequest::getProxyUserId()const
+{
+	return proxyUserId_;
+}
+
+void CreateAlertTemplateRequest::setProxyUserId(const std::string& proxyUserId)
+{
+	proxyUserId_ = proxyUserId;
+	setParameter("ProxyUserId", proxyUserId);
+}
+
+std::string CreateAlertTemplateRequest::getType()const
+{
+	return type_;
+}
+
+void CreateAlertTemplateRequest::setType(const std::string& type)
+{
+	type_ = type;
+	setParameter("Type", type);
+}
+
+std::string CreateAlertTemplateRequest::getMessage()const
+{
+	return message_;
+}
+
+void CreateAlertTemplateRequest::setMessage(const std::string& message)
+{
+	message_ = message;
+	setParameter("Message", message);
+}
+
+std::string CreateAlertTemplateRequest::getParentId()const
+{
+	return parentId_;
+}
+
+void CreateAlertTemplateRequest::setParentId(const std::string& parentId)
+{
+	parentId_ = parentId;
+	setParameter("ParentId", parentId);
+}
+
+std::string CreateAlertTemplateRequest::getLabels()const
+{
+	return labels_;
+}
+
+void CreateAlertTemplateRequest::setLabels(const std::string& labels)
+{
+	labels_ = labels;
+	setParameter("Labels", labels);
+}
+
+std::string CreateAlertTemplateRequest::getRegionId()const
+{
+	return regionId_;
+}
+
+void CreateAlertTemplateRequest::setRegionId(const std::string& regionId)
+{
+	regionId_ = regionId;
+	setParameter("RegionId", regionId);
+}
+
+std::string CreateAlertTemplateRequest::getName()const
+{
+	return name_;
+}
+
+void CreateAlertTemplateRequest::setName(const std::string& name)
+{
+	name_ = name;
+	setParameter("Name", name);
+}
+
+std::string CreateAlertTemplateRequest::getMatchExpressions()const
+{
+	return matchExpressions_;
+}
+
+void CreateAlertTemplateRequest::setMatchExpressions(const std::string& matchExpressions)
+{
+	matchExpressions_ = matchExpressions;
+	setParameter("MatchExpressions", matchExpressions);
+}
+

+ 95 - 0
arms/src/model/CreateAlertTemplateResult.cc

@@ -0,0 +1,95 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/arms/model/CreateAlertTemplateResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::ARMS;
+using namespace AlibabaCloud::ARMS::Model;
+
+CreateAlertTemplateResult::CreateAlertTemplateResult() :
+	ServiceResult()
+{}
+
+CreateAlertTemplateResult::CreateAlertTemplateResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+CreateAlertTemplateResult::~CreateAlertTemplateResult()
+{}
+
+void CreateAlertTemplateResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto alertTemplateNode = value["AlertTemplate"];
+	if(!alertTemplateNode["Id"].isNull())
+		alertTemplate_.id = std::stoi(alertTemplateNode["Id"].asString());
+	if(!alertTemplateNode["ParentId"].isNull())
+		alertTemplate_.parentId = std::stoi(alertTemplateNode["ParentId"].asString());
+	if(!alertTemplateNode["Name"].isNull())
+		alertTemplate_.name = alertTemplateNode["Name"].asString();
+	if(!alertTemplateNode["Message"].isNull())
+		alertTemplate_.message = alertTemplateNode["Message"].asString();
+	if(!alertTemplateNode["AlertProvider"].isNull())
+		alertTemplate_.alertProvider = alertTemplateNode["AlertProvider"].asString();
+	if(!alertTemplateNode["TemplateProvider"].isNull())
+		alertTemplate_.templateProvider = alertTemplateNode["TemplateProvider"].asString();
+	if(!alertTemplateNode["Type"].isNull())
+		alertTemplate_.type = alertTemplateNode["Type"].asString();
+	if(!alertTemplateNode["Labels"].isNull())
+		alertTemplate_.labels = alertTemplateNode["Labels"].asString();
+	if(!alertTemplateNode["Annotations"].isNull())
+		alertTemplate_.annotations = alertTemplateNode["Annotations"].asString();
+	if(!alertTemplateNode["Rule"].isNull())
+		alertTemplate_.rule = alertTemplateNode["Rule"].asString();
+	if(!alertTemplateNode["UserId"].isNull())
+		alertTemplate_.userId = alertTemplateNode["UserId"].asString();
+	if(!alertTemplateNode["Status"].isNull())
+		alertTemplate_.status = alertTemplateNode["Status"].asString() == "true";
+	if(!alertTemplateNode["Public"].isNull())
+		alertTemplate_._public = alertTemplateNode["Public"].asString() == "true";
+	auto labelMatchExpressionGridNode = alertTemplateNode["LabelMatchExpressionGrid"];
+	auto allLabelMatchExpressionGroupsNode = labelMatchExpressionGridNode["LabelMatchExpressionGroups"]["LabelMatchExpressionGroup"];
+	for (auto labelMatchExpressionGridNodeLabelMatchExpressionGroupsLabelMatchExpressionGroup : allLabelMatchExpressionGroupsNode)
+	{
+		AlertTemplate::LabelMatchExpressionGrid::LabelMatchExpressionGroup labelMatchExpressionGroupObject;
+		auto allLabelMatchExpressionsNode = labelMatchExpressionGridNodeLabelMatchExpressionGroupsLabelMatchExpressionGroup["LabelMatchExpressions"]["LabelMatchExpression"];
+		for (auto labelMatchExpressionGridNodeLabelMatchExpressionGroupsLabelMatchExpressionGroupLabelMatchExpressionsLabelMatchExpression : allLabelMatchExpressionsNode)
+		{
+			AlertTemplate::LabelMatchExpressionGrid::LabelMatchExpressionGroup::LabelMatchExpression labelMatchExpressionsObject;
+			if(!labelMatchExpressionGridNodeLabelMatchExpressionGroupsLabelMatchExpressionGroupLabelMatchExpressionsLabelMatchExpression["Key"].isNull())
+				labelMatchExpressionsObject.key = labelMatchExpressionGridNodeLabelMatchExpressionGroupsLabelMatchExpressionGroupLabelMatchExpressionsLabelMatchExpression["Key"].asString();
+			if(!labelMatchExpressionGridNodeLabelMatchExpressionGroupsLabelMatchExpressionGroupLabelMatchExpressionsLabelMatchExpression["Value"].isNull())
+				labelMatchExpressionsObject.value = labelMatchExpressionGridNodeLabelMatchExpressionGroupsLabelMatchExpressionGroupLabelMatchExpressionsLabelMatchExpression["Value"].asString();
+			if(!labelMatchExpressionGridNodeLabelMatchExpressionGroupsLabelMatchExpressionGroupLabelMatchExpressionsLabelMatchExpression["Operator"].isNull())
+				labelMatchExpressionsObject._operator = labelMatchExpressionGridNodeLabelMatchExpressionGroupsLabelMatchExpressionGroupLabelMatchExpressionsLabelMatchExpression["Operator"].asString();
+			labelMatchExpressionGroupObject.labelMatchExpressions.push_back(labelMatchExpressionsObject);
+		}
+		alertTemplate_.labelMatchExpressionGrid.labelMatchExpressionGroups.push_back(labelMatchExpressionGroupObject);
+	}
+
+}
+
+CreateAlertTemplateResult::AlertTemplate CreateAlertTemplateResult::getAlertTemplate()const
+{
+	return alertTemplate_;
+}
+

+ 172 - 0
arms/src/model/CreatePrometheusAlertRuleRequest.cc

@@ -0,0 +1,172 @@
+/*
+ * 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/arms/model/CreatePrometheusAlertRuleRequest.h>
+
+using AlibabaCloud::ARMS::Model::CreatePrometheusAlertRuleRequest;
+
+CreatePrometheusAlertRuleRequest::CreatePrometheusAlertRuleRequest() :
+	RpcServiceRequest("arms", "2019-08-08", "CreatePrometheusAlertRule")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+CreatePrometheusAlertRuleRequest::~CreatePrometheusAlertRuleRequest()
+{}
+
+std::string CreatePrometheusAlertRuleRequest::getProductCode()const
+{
+	return productCode_;
+}
+
+void CreatePrometheusAlertRuleRequest::setProductCode(const std::string& productCode)
+{
+	productCode_ = productCode;
+	setParameter("ProductCode", productCode);
+}
+
+std::string CreatePrometheusAlertRuleRequest::getExpression()const
+{
+	return expression_;
+}
+
+void CreatePrometheusAlertRuleRequest::setExpression(const std::string& expression)
+{
+	expression_ = expression;
+	setParameter("Expression", expression);
+}
+
+std::string CreatePrometheusAlertRuleRequest::getAlertName()const
+{
+	return alertName_;
+}
+
+void CreatePrometheusAlertRuleRequest::setAlertName(const std::string& alertName)
+{
+	alertName_ = alertName;
+	setParameter("AlertName", alertName);
+}
+
+std::string CreatePrometheusAlertRuleRequest::getAnnotations()const
+{
+	return annotations_;
+}
+
+void CreatePrometheusAlertRuleRequest::setAnnotations(const std::string& annotations)
+{
+	annotations_ = annotations;
+	setParameter("Annotations", annotations);
+}
+
+std::string CreatePrometheusAlertRuleRequest::getClusterId()const
+{
+	return clusterId_;
+}
+
+void CreatePrometheusAlertRuleRequest::setClusterId(const std::string& clusterId)
+{
+	clusterId_ = clusterId;
+	setParameter("ClusterId", clusterId);
+}
+
+long CreatePrometheusAlertRuleRequest::getDispatchRuleId()const
+{
+	return dispatchRuleId_;
+}
+
+void CreatePrometheusAlertRuleRequest::setDispatchRuleId(long dispatchRuleId)
+{
+	dispatchRuleId_ = dispatchRuleId;
+	setParameter("DispatchRuleId", std::to_string(dispatchRuleId));
+}
+
+std::string CreatePrometheusAlertRuleRequest::getProxyUserId()const
+{
+	return proxyUserId_;
+}
+
+void CreatePrometheusAlertRuleRequest::setProxyUserId(const std::string& proxyUserId)
+{
+	proxyUserId_ = proxyUserId;
+	setParameter("ProxyUserId", proxyUserId);
+}
+
+std::string CreatePrometheusAlertRuleRequest::getType()const
+{
+	return type_;
+}
+
+void CreatePrometheusAlertRuleRequest::setType(const std::string& type)
+{
+	type_ = type;
+	setParameter("Type", type);
+}
+
+std::string CreatePrometheusAlertRuleRequest::getMessage()const
+{
+	return message_;
+}
+
+void CreatePrometheusAlertRuleRequest::setMessage(const std::string& message)
+{
+	message_ = message;
+	setParameter("Message", message);
+}
+
+std::string CreatePrometheusAlertRuleRequest::getLabels()const
+{
+	return labels_;
+}
+
+void CreatePrometheusAlertRuleRequest::setLabels(const std::string& labels)
+{
+	labels_ = labels;
+	setParameter("Labels", labels);
+}
+
+std::string CreatePrometheusAlertRuleRequest::getDuration()const
+{
+	return duration_;
+}
+
+void CreatePrometheusAlertRuleRequest::setDuration(const std::string& duration)
+{
+	duration_ = duration;
+	setParameter("Duration", duration);
+}
+
+std::string CreatePrometheusAlertRuleRequest::getRegionId()const
+{
+	return regionId_;
+}
+
+void CreatePrometheusAlertRuleRequest::setRegionId(const std::string& regionId)
+{
+	regionId_ = regionId;
+	setParameter("RegionId", regionId);
+}
+
+std::string CreatePrometheusAlertRuleRequest::getNotifyType()const
+{
+	return notifyType_;
+}
+
+void CreatePrometheusAlertRuleRequest::setNotifyType(const std::string& notifyType)
+{
+	notifyType_ = notifyType;
+	setParameter("NotifyType", notifyType);
+}
+

+ 90 - 0
arms/src/model/CreatePrometheusAlertRuleResult.cc

@@ -0,0 +1,90 @@
+/*
+ * 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/arms/model/CreatePrometheusAlertRuleResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::ARMS;
+using namespace AlibabaCloud::ARMS::Model;
+
+CreatePrometheusAlertRuleResult::CreatePrometheusAlertRuleResult() :
+	ServiceResult()
+{}
+
+CreatePrometheusAlertRuleResult::CreatePrometheusAlertRuleResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+CreatePrometheusAlertRuleResult::~CreatePrometheusAlertRuleResult()
+{}
+
+void CreatePrometheusAlertRuleResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto prometheusAlertRuleNode = value["PrometheusAlertRule"];
+	if(!prometheusAlertRuleNode["AlertId"].isNull())
+		prometheusAlertRule_.alertId = std::stol(prometheusAlertRuleNode["AlertId"].asString());
+	if(!prometheusAlertRuleNode["AlertName"].isNull())
+		prometheusAlertRule_.alertName = prometheusAlertRuleNode["AlertName"].asString();
+	if(!prometheusAlertRuleNode["Message"].isNull())
+		prometheusAlertRule_.message = prometheusAlertRuleNode["Message"].asString();
+	if(!prometheusAlertRuleNode["Type"].isNull())
+		prometheusAlertRule_.type = prometheusAlertRuleNode["Type"].asString();
+	if(!prometheusAlertRuleNode["Expression"].isNull())
+		prometheusAlertRule_.expression = prometheusAlertRuleNode["Expression"].asString();
+	if(!prometheusAlertRuleNode["Duration"].isNull())
+		prometheusAlertRule_.duration = prometheusAlertRuleNode["Duration"].asString();
+	if(!prometheusAlertRuleNode["ClusterId"].isNull())
+		prometheusAlertRule_.clusterId = prometheusAlertRuleNode["ClusterId"].asString();
+	if(!prometheusAlertRuleNode["Status"].isNull())
+		prometheusAlertRule_.status = std::stoi(prometheusAlertRuleNode["Status"].asString());
+	if(!prometheusAlertRuleNode["DispatchRuleId"].isNull())
+		prometheusAlertRule_.dispatchRuleId = std::stol(prometheusAlertRuleNode["DispatchRuleId"].asString());
+	if(!prometheusAlertRuleNode["NotifyType"].isNull())
+		prometheusAlertRule_.notifyType = prometheusAlertRuleNode["NotifyType"].asString();
+	auto allLabelsNode = prometheusAlertRuleNode["Labels"]["Label"];
+	for (auto prometheusAlertRuleNodeLabelsLabel : allLabelsNode)
+	{
+		PrometheusAlertRule::Label labelObject;
+		if(!prometheusAlertRuleNodeLabelsLabel["Name"].isNull())
+			labelObject.name = prometheusAlertRuleNodeLabelsLabel["Name"].asString();
+		if(!prometheusAlertRuleNodeLabelsLabel["Value"].isNull())
+			labelObject.value = prometheusAlertRuleNodeLabelsLabel["Value"].asString();
+		prometheusAlertRule_.labels.push_back(labelObject);
+	}
+	auto allAnnotationsNode = prometheusAlertRuleNode["Annotations"]["Annotation"];
+	for (auto prometheusAlertRuleNodeAnnotationsAnnotation : allAnnotationsNode)
+	{
+		PrometheusAlertRule::Annotation annotationObject;
+		if(!prometheusAlertRuleNodeAnnotationsAnnotation["Name"].isNull())
+			annotationObject.name = prometheusAlertRuleNodeAnnotationsAnnotation["Name"].asString();
+		if(!prometheusAlertRuleNodeAnnotationsAnnotation["Value"].isNull())
+			annotationObject.value = prometheusAlertRuleNodeAnnotationsAnnotation["Value"].asString();
+		prometheusAlertRule_.annotations.push_back(annotationObject);
+	}
+
+}
+
+CreatePrometheusAlertRuleResult::PrometheusAlertRule CreatePrometheusAlertRuleResult::getPrometheusAlertRule()const
+{
+	return prometheusAlertRule_;
+}
+

+ 117 - 0
arms/src/model/CreateWebhookRequest.cc

@@ -0,0 +1,117 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/arms/model/CreateWebhookRequest.h>
+
+using AlibabaCloud::ARMS::Model::CreateWebhookRequest;
+
+CreateWebhookRequest::CreateWebhookRequest() :
+	RpcServiceRequest("arms", "2019-08-08", "CreateWebhook")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+CreateWebhookRequest::~CreateWebhookRequest()
+{}
+
+std::string CreateWebhookRequest::getHttpHeaders()const
+{
+	return httpHeaders_;
+}
+
+void CreateWebhookRequest::setHttpHeaders(const std::string& httpHeaders)
+{
+	httpHeaders_ = httpHeaders;
+	setParameter("HttpHeaders", httpHeaders);
+}
+
+std::string CreateWebhookRequest::getMethod()const
+{
+	return method_;
+}
+
+void CreateWebhookRequest::setMethod(const std::string& method)
+{
+	method_ = method;
+	setParameter("Method", method);
+}
+
+std::string CreateWebhookRequest::getHttpParams()const
+{
+	return httpParams_;
+}
+
+void CreateWebhookRequest::setHttpParams(const std::string& httpParams)
+{
+	httpParams_ = httpParams;
+	setParameter("HttpParams", httpParams);
+}
+
+std::string CreateWebhookRequest::getProxyUserId()const
+{
+	return proxyUserId_;
+}
+
+void CreateWebhookRequest::setProxyUserId(const std::string& proxyUserId)
+{
+	proxyUserId_ = proxyUserId;
+	setParameter("ProxyUserId", proxyUserId);
+}
+
+std::string CreateWebhookRequest::getBody()const
+{
+	return body_;
+}
+
+void CreateWebhookRequest::setBody(const std::string& body)
+{
+	body_ = body;
+	setParameter("Body", body);
+}
+
+std::string CreateWebhookRequest::getUrl()const
+{
+	return url_;
+}
+
+void CreateWebhookRequest::setUrl(const std::string& url)
+{
+	url_ = url;
+	setParameter("Url", url);
+}
+
+std::string CreateWebhookRequest::getContactName()const
+{
+	return contactName_;
+}
+
+void CreateWebhookRequest::setContactName(const std::string& contactName)
+{
+	contactName_ = contactName;
+	setParameter("ContactName", contactName);
+}
+
+std::string CreateWebhookRequest::getRegionId()const
+{
+	return regionId_;
+}
+
+void CreateWebhookRequest::setRegionId(const std::string& regionId)
+{
+	regionId_ = regionId;
+	setParameter("RegionId", regionId);
+}
+

+ 51 - 0
arms/src/model/CreateWebhookResult.cc

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

+ 62 - 0
arms/src/model/DeleteAlertTemplateRequest.cc

@@ -0,0 +1,62 @@
+/*
+ * 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/arms/model/DeleteAlertTemplateRequest.h>
+
+using AlibabaCloud::ARMS::Model::DeleteAlertTemplateRequest;
+
+DeleteAlertTemplateRequest::DeleteAlertTemplateRequest() :
+	RpcServiceRequest("arms", "2019-08-08", "DeleteAlertTemplate")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+DeleteAlertTemplateRequest::~DeleteAlertTemplateRequest()
+{}
+
+std::string DeleteAlertTemplateRequest::getRegionId()const
+{
+	return regionId_;
+}
+
+void DeleteAlertTemplateRequest::setRegionId(const std::string& regionId)
+{
+	regionId_ = regionId;
+	setParameter("RegionId", regionId);
+}
+
+long DeleteAlertTemplateRequest::getId()const
+{
+	return id_;
+}
+
+void DeleteAlertTemplateRequest::setId(long id)
+{
+	id_ = id;
+	setParameter("Id", std::to_string(id));
+}
+
+std::string DeleteAlertTemplateRequest::getProxyUserId()const
+{
+	return proxyUserId_;
+}
+
+void DeleteAlertTemplateRequest::setProxyUserId(const std::string& proxyUserId)
+{
+	proxyUserId_ = proxyUserId;
+	setParameter("ProxyUserId", proxyUserId);
+}
+

+ 51 - 0
arms/src/model/DeleteAlertTemplateResult.cc

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

+ 62 - 0
arms/src/model/DeleteGrafanaResourceRequest.cc

@@ -0,0 +1,62 @@
+/*
+ * 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/arms/model/DeleteGrafanaResourceRequest.h>
+
+using AlibabaCloud::ARMS::Model::DeleteGrafanaResourceRequest;
+
+DeleteGrafanaResourceRequest::DeleteGrafanaResourceRequest() :
+	RpcServiceRequest("arms", "2019-08-08", "DeleteGrafanaResource")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+DeleteGrafanaResourceRequest::~DeleteGrafanaResourceRequest()
+{}
+
+std::string DeleteGrafanaResourceRequest::getClusterName()const
+{
+	return clusterName_;
+}
+
+void DeleteGrafanaResourceRequest::setClusterName(const std::string& clusterName)
+{
+	clusterName_ = clusterName;
+	setBodyParameter("ClusterName", clusterName);
+}
+
+std::string DeleteGrafanaResourceRequest::getClusterId()const
+{
+	return clusterId_;
+}
+
+void DeleteGrafanaResourceRequest::setClusterId(const std::string& clusterId)
+{
+	clusterId_ = clusterId;
+	setBodyParameter("ClusterId", clusterId);
+}
+
+std::string DeleteGrafanaResourceRequest::getUserId()const
+{
+	return userId_;
+}
+
+void DeleteGrafanaResourceRequest::setUserId(const std::string& userId)
+{
+	userId_ = userId;
+	setBodyParameter("UserId", userId);
+}
+

+ 51 - 0
arms/src/model/DeleteGrafanaResourceResult.cc

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

+ 40 - 0
arms/src/model/DeletePrometheusAlertRuleRequest.cc

@@ -0,0 +1,40 @@
+/*
+ * 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/arms/model/DeletePrometheusAlertRuleRequest.h>
+
+using AlibabaCloud::ARMS::Model::DeletePrometheusAlertRuleRequest;
+
+DeletePrometheusAlertRuleRequest::DeletePrometheusAlertRuleRequest() :
+	RpcServiceRequest("arms", "2019-08-08", "DeletePrometheusAlertRule")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+DeletePrometheusAlertRuleRequest::~DeletePrometheusAlertRuleRequest()
+{}
+
+long DeletePrometheusAlertRuleRequest::getAlertId()const
+{
+	return alertId_;
+}
+
+void DeletePrometheusAlertRuleRequest::setAlertId(long alertId)
+{
+	alertId_ = alertId;
+	setParameter("AlertId", std::to_string(alertId));
+}
+

+ 51 - 0
arms/src/model/DeletePrometheusAlertRuleResult.cc

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

+ 40 - 0
arms/src/model/DescribePrometheusAlertRuleRequest.cc

@@ -0,0 +1,40 @@
+/*
+ * 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/arms/model/DescribePrometheusAlertRuleRequest.h>
+
+using AlibabaCloud::ARMS::Model::DescribePrometheusAlertRuleRequest;
+
+DescribePrometheusAlertRuleRequest::DescribePrometheusAlertRuleRequest() :
+	RpcServiceRequest("arms", "2019-08-08", "DescribePrometheusAlertRule")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+DescribePrometheusAlertRuleRequest::~DescribePrometheusAlertRuleRequest()
+{}
+
+long DescribePrometheusAlertRuleRequest::getAlertId()const
+{
+	return alertId_;
+}
+
+void DescribePrometheusAlertRuleRequest::setAlertId(long alertId)
+{
+	alertId_ = alertId;
+	setParameter("AlertId", std::to_string(alertId));
+}
+

+ 90 - 0
arms/src/model/DescribePrometheusAlertRuleResult.cc

@@ -0,0 +1,90 @@
+/*
+ * 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/arms/model/DescribePrometheusAlertRuleResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::ARMS;
+using namespace AlibabaCloud::ARMS::Model;
+
+DescribePrometheusAlertRuleResult::DescribePrometheusAlertRuleResult() :
+	ServiceResult()
+{}
+
+DescribePrometheusAlertRuleResult::DescribePrometheusAlertRuleResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribePrometheusAlertRuleResult::~DescribePrometheusAlertRuleResult()
+{}
+
+void DescribePrometheusAlertRuleResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto prometheusAlertRuleNode = value["PrometheusAlertRule"];
+	if(!prometheusAlertRuleNode["AlertId"].isNull())
+		prometheusAlertRule_.alertId = std::stol(prometheusAlertRuleNode["AlertId"].asString());
+	if(!prometheusAlertRuleNode["AlertName"].isNull())
+		prometheusAlertRule_.alertName = prometheusAlertRuleNode["AlertName"].asString();
+	if(!prometheusAlertRuleNode["Message"].isNull())
+		prometheusAlertRule_.message = prometheusAlertRuleNode["Message"].asString();
+	if(!prometheusAlertRuleNode["Type"].isNull())
+		prometheusAlertRule_.type = prometheusAlertRuleNode["Type"].asString();
+	if(!prometheusAlertRuleNode["Expression"].isNull())
+		prometheusAlertRule_.expression = prometheusAlertRuleNode["Expression"].asString();
+	if(!prometheusAlertRuleNode["Duration"].isNull())
+		prometheusAlertRule_.duration = prometheusAlertRuleNode["Duration"].asString();
+	if(!prometheusAlertRuleNode["ClusterId"].isNull())
+		prometheusAlertRule_.clusterId = prometheusAlertRuleNode["ClusterId"].asString();
+	if(!prometheusAlertRuleNode["Status"].isNull())
+		prometheusAlertRule_.status = std::stoi(prometheusAlertRuleNode["Status"].asString());
+	if(!prometheusAlertRuleNode["DispatchRuleId"].isNull())
+		prometheusAlertRule_.dispatchRuleId = std::stol(prometheusAlertRuleNode["DispatchRuleId"].asString());
+	if(!prometheusAlertRuleNode["NotifyType"].isNull())
+		prometheusAlertRule_.notifyType = prometheusAlertRuleNode["NotifyType"].asString();
+	auto allLabelsNode = prometheusAlertRuleNode["Labels"]["Label"];
+	for (auto prometheusAlertRuleNodeLabelsLabel : allLabelsNode)
+	{
+		PrometheusAlertRule::Label labelObject;
+		if(!prometheusAlertRuleNodeLabelsLabel["Name"].isNull())
+			labelObject.name = prometheusAlertRuleNodeLabelsLabel["Name"].asString();
+		if(!prometheusAlertRuleNodeLabelsLabel["Value"].isNull())
+			labelObject.value = prometheusAlertRuleNodeLabelsLabel["Value"].asString();
+		prometheusAlertRule_.labels.push_back(labelObject);
+	}
+	auto allAnnotationsNode = prometheusAlertRuleNode["Annotations"]["Annotation"];
+	for (auto prometheusAlertRuleNodeAnnotationsAnnotation : allAnnotationsNode)
+	{
+		PrometheusAlertRule::Annotation annotationObject;
+		if(!prometheusAlertRuleNodeAnnotationsAnnotation["Name"].isNull())
+			annotationObject.name = prometheusAlertRuleNodeAnnotationsAnnotation["Name"].asString();
+		if(!prometheusAlertRuleNodeAnnotationsAnnotation["Value"].isNull())
+			annotationObject.value = prometheusAlertRuleNodeAnnotationsAnnotation["Value"].asString();
+		prometheusAlertRule_.annotations.push_back(annotationObject);
+	}
+
+}
+
+DescribePrometheusAlertRuleResult::PrometheusAlertRule DescribePrometheusAlertRuleResult::getPrometheusAlertRule()const
+{
+	return prometheusAlertRule_;
+}
+

+ 62 - 0
arms/src/model/DisableAlertTemplateRequest.cc

@@ -0,0 +1,62 @@
+/*
+ * 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/arms/model/DisableAlertTemplateRequest.h>
+
+using AlibabaCloud::ARMS::Model::DisableAlertTemplateRequest;
+
+DisableAlertTemplateRequest::DisableAlertTemplateRequest() :
+	RpcServiceRequest("arms", "2019-08-08", "DisableAlertTemplate")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+DisableAlertTemplateRequest::~DisableAlertTemplateRequest()
+{}
+
+std::string DisableAlertTemplateRequest::getRegionId()const
+{
+	return regionId_;
+}
+
+void DisableAlertTemplateRequest::setRegionId(const std::string& regionId)
+{
+	regionId_ = regionId;
+	setParameter("RegionId", regionId);
+}
+
+long DisableAlertTemplateRequest::getId()const
+{
+	return id_;
+}
+
+void DisableAlertTemplateRequest::setId(long id)
+{
+	id_ = id;
+	setParameter("Id", std::to_string(id));
+}
+
+std::string DisableAlertTemplateRequest::getProxyUserId()const
+{
+	return proxyUserId_;
+}
+
+void DisableAlertTemplateRequest::setProxyUserId(const std::string& proxyUserId)
+{
+	proxyUserId_ = proxyUserId;
+	setParameter("ProxyUserId", proxyUserId);
+}
+

+ 51 - 0
arms/src/model/DisableAlertTemplateResult.cc

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

+ 62 - 0
arms/src/model/EnableAlertTemplateRequest.cc

@@ -0,0 +1,62 @@
+/*
+ * 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/arms/model/EnableAlertTemplateRequest.h>
+
+using AlibabaCloud::ARMS::Model::EnableAlertTemplateRequest;
+
+EnableAlertTemplateRequest::EnableAlertTemplateRequest() :
+	RpcServiceRequest("arms", "2019-08-08", "EnableAlertTemplate")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+EnableAlertTemplateRequest::~EnableAlertTemplateRequest()
+{}
+
+std::string EnableAlertTemplateRequest::getRegionId()const
+{
+	return regionId_;
+}
+
+void EnableAlertTemplateRequest::setRegionId(const std::string& regionId)
+{
+	regionId_ = regionId;
+	setParameter("RegionId", regionId);
+}
+
+long EnableAlertTemplateRequest::getId()const
+{
+	return id_;
+}
+
+void EnableAlertTemplateRequest::setId(long id)
+{
+	id_ = id;
+	setParameter("Id", std::to_string(id));
+}
+
+std::string EnableAlertTemplateRequest::getProxyUserId()const
+{
+	return proxyUserId_;
+}
+
+void EnableAlertTemplateRequest::setProxyUserId(const std::string& proxyUserId)
+{
+	proxyUserId_ = proxyUserId;
+	setParameter("ProxyUserId", proxyUserId);
+}
+

+ 51 - 0
arms/src/model/EnableAlertTemplateResult.cc

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

+ 84 - 0
arms/src/model/ListActivatedAlertsRequest.cc

@@ -0,0 +1,84 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/arms/model/ListActivatedAlertsRequest.h>
+
+using AlibabaCloud::ARMS::Model::ListActivatedAlertsRequest;
+
+ListActivatedAlertsRequest::ListActivatedAlertsRequest() :
+	RpcServiceRequest("arms", "2019-08-08", "ListActivatedAlerts")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+ListActivatedAlertsRequest::~ListActivatedAlertsRequest()
+{}
+
+std::string ListActivatedAlertsRequest::getFilter()const
+{
+	return filter_;
+}
+
+void ListActivatedAlertsRequest::setFilter(const std::string& filter)
+{
+	filter_ = filter;
+	setParameter("Filter", filter);
+}
+
+std::string ListActivatedAlertsRequest::getRegionId()const
+{
+	return regionId_;
+}
+
+void ListActivatedAlertsRequest::setRegionId(const std::string& regionId)
+{
+	regionId_ = regionId;
+	setParameter("RegionId", regionId);
+}
+
+int ListActivatedAlertsRequest::getPageSize()const
+{
+	return pageSize_;
+}
+
+void ListActivatedAlertsRequest::setPageSize(int pageSize)
+{
+	pageSize_ = pageSize;
+	setParameter("PageSize", std::to_string(pageSize));
+}
+
+int ListActivatedAlertsRequest::getCurrentPage()const
+{
+	return currentPage_;
+}
+
+void ListActivatedAlertsRequest::setCurrentPage(int currentPage)
+{
+	currentPage_ = currentPage;
+	setParameter("CurrentPage", std::to_string(currentPage));
+}
+
+std::string ListActivatedAlertsRequest::getProxyUserId()const
+{
+	return proxyUserId_;
+}
+
+void ListActivatedAlertsRequest::setProxyUserId(const std::string& proxyUserId)
+{
+	proxyUserId_ = proxyUserId;
+	setParameter("ProxyUserId", proxyUserId);
+}
+

+ 102 - 0
arms/src/model/ListActivatedAlertsResult.cc

@@ -0,0 +1,102 @@
+/*
+ * 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/arms/model/ListActivatedAlertsResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::ARMS;
+using namespace AlibabaCloud::ARMS::Model;
+
+ListActivatedAlertsResult::ListActivatedAlertsResult() :
+	ServiceResult()
+{}
+
+ListActivatedAlertsResult::ListActivatedAlertsResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ListActivatedAlertsResult::~ListActivatedAlertsResult()
+{}
+
+void ListActivatedAlertsResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto pageNode = value["Page"];
+	if(!pageNode["Page"].isNull())
+		page_.page = std::stoi(pageNode["Page"].asString());
+	if(!pageNode["PageSize"].isNull())
+		page_.pageSize = std::stoi(pageNode["PageSize"].asString());
+	if(!pageNode["Total"].isNull())
+		page_.total = std::stoi(pageNode["Total"].asString());
+	auto allAlertsNode = pageNode["Alerts"]["Alert"];
+	for (auto pageNodeAlertsAlert : allAlertsNode)
+	{
+		Page::Alert alertObject;
+		if(!pageNodeAlertsAlert["AlertName"].isNull())
+			alertObject.alertName = pageNodeAlertsAlert["AlertName"].asString();
+		if(!pageNodeAlertsAlert["AlertType"].isNull())
+			alertObject.alertType = pageNodeAlertsAlert["AlertType"].asString();
+		if(!pageNodeAlertsAlert["Count"].isNull())
+			alertObject.count = std::stoi(pageNodeAlertsAlert["Count"].asString());
+		if(!pageNodeAlertsAlert["CreateTime"].isNull())
+			alertObject.createTime = std::stol(pageNodeAlertsAlert["CreateTime"].asString());
+		if(!pageNodeAlertsAlert["EndsAt"].isNull())
+			alertObject.endsAt = std::stol(pageNodeAlertsAlert["EndsAt"].asString());
+		if(!pageNodeAlertsAlert["ExpandFields"].isNull())
+			alertObject.expandFields = pageNodeAlertsAlert["ExpandFields"].asString();
+		if(!pageNodeAlertsAlert["AlertId"].isNull())
+			alertObject.alertId = pageNodeAlertsAlert["AlertId"].asString();
+		if(!pageNodeAlertsAlert["IntegrationName"].isNull())
+			alertObject.integrationName = pageNodeAlertsAlert["IntegrationName"].asString();
+		if(!pageNodeAlertsAlert["IntegrationType"].isNull())
+			alertObject.integrationType = pageNodeAlertsAlert["IntegrationType"].asString();
+		if(!pageNodeAlertsAlert["InvolvedObjectKind"].isNull())
+			alertObject.involvedObjectKind = pageNodeAlertsAlert["InvolvedObjectKind"].asString();
+		if(!pageNodeAlertsAlert["InvolvedObjectName"].isNull())
+			alertObject.involvedObjectName = pageNodeAlertsAlert["InvolvedObjectName"].asString();
+		if(!pageNodeAlertsAlert["Message"].isNull())
+			alertObject.message = pageNodeAlertsAlert["Message"].asString();
+		if(!pageNodeAlertsAlert["Severity"].isNull())
+			alertObject.severity = pageNodeAlertsAlert["Severity"].asString();
+		if(!pageNodeAlertsAlert["StartsAt"].isNull())
+			alertObject.startsAt = std::stol(pageNodeAlertsAlert["StartsAt"].asString());
+		if(!pageNodeAlertsAlert["Status"].isNull())
+			alertObject.status = pageNodeAlertsAlert["Status"].asString();
+		auto allDispatchRulesNode = pageNodeAlertsAlert["DispatchRules"]["DispatchRule"];
+		for (auto pageNodeAlertsAlertDispatchRulesDispatchRule : allDispatchRulesNode)
+		{
+			Page::Alert::DispatchRule dispatchRulesObject;
+			if(!pageNodeAlertsAlertDispatchRulesDispatchRule["RuleName"].isNull())
+				dispatchRulesObject.ruleName = pageNodeAlertsAlertDispatchRulesDispatchRule["RuleName"].asString();
+			if(!pageNodeAlertsAlertDispatchRulesDispatchRule["RuleId"].isNull())
+				dispatchRulesObject.ruleId = std::stoi(pageNodeAlertsAlertDispatchRulesDispatchRule["RuleId"].asString());
+			alertObject.dispatchRules.push_back(dispatchRulesObject);
+		}
+		page_.alerts.push_back(alertObject);
+	}
+
+}
+
+ListActivatedAlertsResult::Page ListActivatedAlertsResult::getPage()const
+{
+	return page_;
+}
+

+ 117 - 0
arms/src/model/ListAlertTemplatesRequest.cc

@@ -0,0 +1,117 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/arms/model/ListAlertTemplatesRequest.h>
+
+using AlibabaCloud::ARMS::Model::ListAlertTemplatesRequest;
+
+ListAlertTemplatesRequest::ListAlertTemplatesRequest() :
+	RpcServiceRequest("arms", "2019-08-08", "ListAlertTemplates")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+ListAlertTemplatesRequest::~ListAlertTemplatesRequest()
+{}
+
+std::string ListAlertTemplatesRequest::getAlertProvider()const
+{
+	return alertProvider_;
+}
+
+void ListAlertTemplatesRequest::setAlertProvider(const std::string& alertProvider)
+{
+	alertProvider_ = alertProvider;
+	setParameter("AlertProvider", alertProvider);
+}
+
+std::string ListAlertTemplatesRequest::getTemplateProvider()const
+{
+	return templateProvider_;
+}
+
+void ListAlertTemplatesRequest::setTemplateProvider(const std::string& templateProvider)
+{
+	templateProvider_ = templateProvider;
+	setParameter("TemplateProvider", templateProvider);
+}
+
+std::string ListAlertTemplatesRequest::getProxyUserId()const
+{
+	return proxyUserId_;
+}
+
+void ListAlertTemplatesRequest::setProxyUserId(const std::string& proxyUserId)
+{
+	proxyUserId_ = proxyUserId;
+	setParameter("ProxyUserId", proxyUserId);
+}
+
+std::string ListAlertTemplatesRequest::getType()const
+{
+	return type_;
+}
+
+void ListAlertTemplatesRequest::setType(const std::string& type)
+{
+	type_ = type;
+	setParameter("Type", type);
+}
+
+std::string ListAlertTemplatesRequest::getLabels()const
+{
+	return labels_;
+}
+
+void ListAlertTemplatesRequest::setLabels(const std::string& labels)
+{
+	labels_ = labels;
+	setParameter("Labels", labels);
+}
+
+std::string ListAlertTemplatesRequest::getRegionId()const
+{
+	return regionId_;
+}
+
+void ListAlertTemplatesRequest::setRegionId(const std::string& regionId)
+{
+	regionId_ = regionId;
+	setParameter("RegionId", regionId);
+}
+
+std::string ListAlertTemplatesRequest::getName()const
+{
+	return name_;
+}
+
+void ListAlertTemplatesRequest::setName(const std::string& name)
+{
+	name_ = name;
+	setParameter("Name", name);
+}
+
+bool ListAlertTemplatesRequest::getStatus()const
+{
+	return status_;
+}
+
+void ListAlertTemplatesRequest::setStatus(bool status)
+{
+	status_ = status;
+	setParameter("Status", status ? "true" : "false");
+}
+

+ 100 - 0
arms/src/model/ListAlertTemplatesResult.cc

@@ -0,0 +1,100 @@
+/*
+ * 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/arms/model/ListAlertTemplatesResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::ARMS;
+using namespace AlibabaCloud::ARMS::Model;
+
+ListAlertTemplatesResult::ListAlertTemplatesResult() :
+	ServiceResult()
+{}
+
+ListAlertTemplatesResult::ListAlertTemplatesResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ListAlertTemplatesResult::~ListAlertTemplatesResult()
+{}
+
+void ListAlertTemplatesResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allAlertTemplatesNode = value["AlertTemplates"]["AlertTemplate"];
+	for (auto valueAlertTemplatesAlertTemplate : allAlertTemplatesNode)
+	{
+		AlertTemplate alertTemplatesObject;
+		if(!valueAlertTemplatesAlertTemplate["Id"].isNull())
+			alertTemplatesObject.id = std::stoi(valueAlertTemplatesAlertTemplate["Id"].asString());
+		if(!valueAlertTemplatesAlertTemplate["ParentId"].isNull())
+			alertTemplatesObject.parentId = std::stoi(valueAlertTemplatesAlertTemplate["ParentId"].asString());
+		if(!valueAlertTemplatesAlertTemplate["Name"].isNull())
+			alertTemplatesObject.name = valueAlertTemplatesAlertTemplate["Name"].asString();
+		if(!valueAlertTemplatesAlertTemplate["Message"].isNull())
+			alertTemplatesObject.message = valueAlertTemplatesAlertTemplate["Message"].asString();
+		if(!valueAlertTemplatesAlertTemplate["AlertProvider"].isNull())
+			alertTemplatesObject.alertProvider = valueAlertTemplatesAlertTemplate["AlertProvider"].asString();
+		if(!valueAlertTemplatesAlertTemplate["TemplateProvider"].isNull())
+			alertTemplatesObject.templateProvider = valueAlertTemplatesAlertTemplate["TemplateProvider"].asString();
+		if(!valueAlertTemplatesAlertTemplate["Type"].isNull())
+			alertTemplatesObject.type = valueAlertTemplatesAlertTemplate["Type"].asString();
+		if(!valueAlertTemplatesAlertTemplate["Labels"].isNull())
+			alertTemplatesObject.labels = valueAlertTemplatesAlertTemplate["Labels"].asString();
+		if(!valueAlertTemplatesAlertTemplate["Annotations"].isNull())
+			alertTemplatesObject.annotations = valueAlertTemplatesAlertTemplate["Annotations"].asString();
+		if(!valueAlertTemplatesAlertTemplate["Rule"].isNull())
+			alertTemplatesObject.rule = valueAlertTemplatesAlertTemplate["Rule"].asString();
+		if(!valueAlertTemplatesAlertTemplate["UserId"].isNull())
+			alertTemplatesObject.userId = valueAlertTemplatesAlertTemplate["UserId"].asString();
+		if(!valueAlertTemplatesAlertTemplate["Status"].isNull())
+			alertTemplatesObject.status = valueAlertTemplatesAlertTemplate["Status"].asString() == "true";
+		if(!valueAlertTemplatesAlertTemplate["Public"].isNull())
+			alertTemplatesObject._public = valueAlertTemplatesAlertTemplate["Public"].asString() == "true";
+		auto labelMatchExpressionGridNode = value["LabelMatchExpressionGrid"];
+		auto allLabelMatchExpressionGroupsNode = labelMatchExpressionGridNode["LabelMatchExpressionGroups"]["LabelMatchExpressionGroup"];
+		for (auto labelMatchExpressionGridNodeLabelMatchExpressionGroupsLabelMatchExpressionGroup : allLabelMatchExpressionGroupsNode)
+		{
+			AlertTemplate::LabelMatchExpressionGrid::LabelMatchExpressionGroup labelMatchExpressionGroupObject;
+			auto allLabelMatchExpressionsNode = labelMatchExpressionGridNodeLabelMatchExpressionGroupsLabelMatchExpressionGroup["LabelMatchExpressions"]["LabelMatchExpression"];
+			for (auto labelMatchExpressionGridNodeLabelMatchExpressionGroupsLabelMatchExpressionGroupLabelMatchExpressionsLabelMatchExpression : allLabelMatchExpressionsNode)
+			{
+				AlertTemplate::LabelMatchExpressionGrid::LabelMatchExpressionGroup::LabelMatchExpression labelMatchExpressionsObject;
+				if(!labelMatchExpressionGridNodeLabelMatchExpressionGroupsLabelMatchExpressionGroupLabelMatchExpressionsLabelMatchExpression["Key"].isNull())
+					labelMatchExpressionsObject.key = labelMatchExpressionGridNodeLabelMatchExpressionGroupsLabelMatchExpressionGroupLabelMatchExpressionsLabelMatchExpression["Key"].asString();
+				if(!labelMatchExpressionGridNodeLabelMatchExpressionGroupsLabelMatchExpressionGroupLabelMatchExpressionsLabelMatchExpression["Value"].isNull())
+					labelMatchExpressionsObject.value = labelMatchExpressionGridNodeLabelMatchExpressionGroupsLabelMatchExpressionGroupLabelMatchExpressionsLabelMatchExpression["Value"].asString();
+				if(!labelMatchExpressionGridNodeLabelMatchExpressionGroupsLabelMatchExpressionGroupLabelMatchExpressionsLabelMatchExpression["Operator"].isNull())
+					labelMatchExpressionsObject._operator = labelMatchExpressionGridNodeLabelMatchExpressionGroupsLabelMatchExpressionGroupLabelMatchExpressionsLabelMatchExpression["Operator"].asString();
+				labelMatchExpressionGroupObject.labelMatchExpressions.push_back(labelMatchExpressionsObject);
+			}
+			alertTemplatesObject.labelMatchExpressionGrid.labelMatchExpressionGroups.push_back(labelMatchExpressionGroupObject);
+		}
+		alertTemplates_.push_back(alertTemplatesObject);
+	}
+
+}
+
+std::vector<ListAlertTemplatesResult::AlertTemplate> ListAlertTemplatesResult::getAlertTemplates()const
+{
+	return alertTemplates_;
+}
+

+ 43 - 10
arms/src/model/ListDashboardsRequest.cc

@@ -27,26 +27,37 @@ ListDashboardsRequest::ListDashboardsRequest() :
 ListDashboardsRequest::~ListDashboardsRequest()
 {}
 
-std::string ListDashboardsRequest::getClusterType()const
+std::string ListDashboardsRequest::getDashboardName()const
 {
-	return clusterType_;
+	return dashboardName_;
 }
 
-void ListDashboardsRequest::setClusterType(const std::string& clusterType)
+void ListDashboardsRequest::setDashboardName(const std::string& dashboardName)
 {
-	clusterType_ = clusterType;
-	setParameter("ClusterType", clusterType);
+	dashboardName_ = dashboardName;
+	setParameter("DashboardName", dashboardName);
 }
 
-std::string ListDashboardsRequest::getRegionId()const
+std::string ListDashboardsRequest::getProduct()const
 {
-	return regionId_;
+	return product_;
 }
 
-void ListDashboardsRequest::setRegionId(const std::string& regionId)
+void ListDashboardsRequest::setProduct(const std::string& product)
 {
-	regionId_ = regionId;
-	setParameter("RegionId", regionId);
+	product_ = product;
+	setParameter("Product", product);
+}
+
+bool ListDashboardsRequest::getRecreateSwitch()const
+{
+	return recreateSwitch_;
+}
+
+void ListDashboardsRequest::setRecreateSwitch(bool recreateSwitch)
+{
+	recreateSwitch_ = recreateSwitch;
+	setParameter("RecreateSwitch", recreateSwitch ? "true" : "false");
 }
 
 std::string ListDashboardsRequest::getClusterId()const
@@ -71,3 +82,25 @@ void ListDashboardsRequest::setTitle(const std::string& title)
 	setParameter("Title", title);
 }
 
+std::string ListDashboardsRequest::getClusterType()const
+{
+	return clusterType_;
+}
+
+void ListDashboardsRequest::setClusterType(const std::string& clusterType)
+{
+	clusterType_ = clusterType;
+	setParameter("ClusterType", clusterType);
+}
+
+std::string ListDashboardsRequest::getRegionId()const
+{
+	return regionId_;
+}
+
+void ListDashboardsRequest::setRegionId(const std::string& regionId)
+{
+	regionId_ = regionId;
+	setParameter("RegionId", regionId);
+}
+

+ 10 - 0
arms/src/model/ListDashboardsResult.cc

@@ -59,6 +59,16 @@ void ListDashboardsResult::parse(const std::string &payload)
 			dashboardVosObject.exporter = valueDashboardVosDashboardVosItem["Exporter"].asString();
 		if(!valueDashboardVosDashboardVosItem["IsArmsExporter"].isNull())
 			dashboardVosObject.isArmsExporter = valueDashboardVosDashboardVosItem["IsArmsExporter"].asString() == "true";
+		if(!valueDashboardVosDashboardVosItem["Name"].isNull())
+			dashboardVosObject.name = valueDashboardVosDashboardVosItem["Name"].asString();
+		if(!valueDashboardVosDashboardVosItem["Version"].isNull())
+			dashboardVosObject.version = valueDashboardVosDashboardVosItem["Version"].asString();
+		if(!valueDashboardVosDashboardVosItem["DashboardType"].isNull())
+			dashboardVosObject.dashboardType = valueDashboardVosDashboardVosItem["DashboardType"].asString();
+		if(!valueDashboardVosDashboardVosItem["Kind"].isNull())
+			dashboardVosObject.kind = valueDashboardVosDashboardVosItem["Kind"].asString();
+		if(!valueDashboardVosDashboardVosItem["NeedUpdate"].isNull())
+			dashboardVosObject.needUpdate = valueDashboardVosDashboardVosItem["NeedUpdate"].asString() == "true";
 		auto allTags = value["Tags"]["Tags"];
 		for (auto value : allTags)
 			dashboardVosObject.tags.push_back(value.asString());

+ 106 - 0
arms/src/model/ListPrometheusAlertRulesRequest.cc

@@ -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.
+ */
+
+#include <alibabacloud/arms/model/ListPrometheusAlertRulesRequest.h>
+
+using AlibabaCloud::ARMS::Model::ListPrometheusAlertRulesRequest;
+
+ListPrometheusAlertRulesRequest::ListPrometheusAlertRulesRequest() :
+	RpcServiceRequest("arms", "2019-08-08", "ListPrometheusAlertRules")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+ListPrometheusAlertRulesRequest::~ListPrometheusAlertRulesRequest()
+{}
+
+std::string ListPrometheusAlertRulesRequest::getClusterId()const
+{
+	return clusterId_;
+}
+
+void ListPrometheusAlertRulesRequest::setClusterId(const std::string& clusterId)
+{
+	clusterId_ = clusterId;
+	setParameter("ClusterId", clusterId);
+}
+
+std::string ListPrometheusAlertRulesRequest::getProxyUserId()const
+{
+	return proxyUserId_;
+}
+
+void ListPrometheusAlertRulesRequest::setProxyUserId(const std::string& proxyUserId)
+{
+	proxyUserId_ = proxyUserId;
+	setParameter("ProxyUserId", proxyUserId);
+}
+
+std::string ListPrometheusAlertRulesRequest::getType()const
+{
+	return type_;
+}
+
+void ListPrometheusAlertRulesRequest::setType(const std::string& type)
+{
+	type_ = type;
+	setParameter("Type", type);
+}
+
+std::string ListPrometheusAlertRulesRequest::getRegionId()const
+{
+	return regionId_;
+}
+
+void ListPrometheusAlertRulesRequest::setRegionId(const std::string& regionId)
+{
+	regionId_ = regionId;
+	setParameter("RegionId", regionId);
+}
+
+std::string ListPrometheusAlertRulesRequest::getName()const
+{
+	return name_;
+}
+
+void ListPrometheusAlertRulesRequest::setName(const std::string& name)
+{
+	name_ = name;
+	setParameter("Name", name);
+}
+
+std::string ListPrometheusAlertRulesRequest::getMatchExpressions()const
+{
+	return matchExpressions_;
+}
+
+void ListPrometheusAlertRulesRequest::setMatchExpressions(const std::string& matchExpressions)
+{
+	matchExpressions_ = matchExpressions;
+	setParameter("MatchExpressions", matchExpressions);
+}
+
+int ListPrometheusAlertRulesRequest::getStatus()const
+{
+	return status_;
+}
+
+void ListPrometheusAlertRulesRequest::setStatus(int status)
+{
+	status_ = status;
+	setParameter("Status", std::to_string(status));
+}
+

+ 95 - 0
arms/src/model/ListPrometheusAlertRulesResult.cc

@@ -0,0 +1,95 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/arms/model/ListPrometheusAlertRulesResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::ARMS;
+using namespace AlibabaCloud::ARMS::Model;
+
+ListPrometheusAlertRulesResult::ListPrometheusAlertRulesResult() :
+	ServiceResult()
+{}
+
+ListPrometheusAlertRulesResult::ListPrometheusAlertRulesResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ListPrometheusAlertRulesResult::~ListPrometheusAlertRulesResult()
+{}
+
+void ListPrometheusAlertRulesResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allPrometheusAlertRulesNode = value["PrometheusAlertRules"]["PrometheusAlertRule"];
+	for (auto valuePrometheusAlertRulesPrometheusAlertRule : allPrometheusAlertRulesNode)
+	{
+		PrometheusAlertRule prometheusAlertRulesObject;
+		if(!valuePrometheusAlertRulesPrometheusAlertRule["AlertId"].isNull())
+			prometheusAlertRulesObject.alertId = std::stol(valuePrometheusAlertRulesPrometheusAlertRule["AlertId"].asString());
+		if(!valuePrometheusAlertRulesPrometheusAlertRule["AlertName"].isNull())
+			prometheusAlertRulesObject.alertName = valuePrometheusAlertRulesPrometheusAlertRule["AlertName"].asString();
+		if(!valuePrometheusAlertRulesPrometheusAlertRule["Message"].isNull())
+			prometheusAlertRulesObject.message = valuePrometheusAlertRulesPrometheusAlertRule["Message"].asString();
+		if(!valuePrometheusAlertRulesPrometheusAlertRule["Type"].isNull())
+			prometheusAlertRulesObject.type = valuePrometheusAlertRulesPrometheusAlertRule["Type"].asString();
+		if(!valuePrometheusAlertRulesPrometheusAlertRule["Expression"].isNull())
+			prometheusAlertRulesObject.expression = valuePrometheusAlertRulesPrometheusAlertRule["Expression"].asString();
+		if(!valuePrometheusAlertRulesPrometheusAlertRule["Duration"].isNull())
+			prometheusAlertRulesObject.duration = valuePrometheusAlertRulesPrometheusAlertRule["Duration"].asString();
+		if(!valuePrometheusAlertRulesPrometheusAlertRule["ClusterId"].isNull())
+			prometheusAlertRulesObject.clusterId = valuePrometheusAlertRulesPrometheusAlertRule["ClusterId"].asString();
+		if(!valuePrometheusAlertRulesPrometheusAlertRule["Status"].isNull())
+			prometheusAlertRulesObject.status = std::stoi(valuePrometheusAlertRulesPrometheusAlertRule["Status"].asString());
+		if(!valuePrometheusAlertRulesPrometheusAlertRule["DispatchRuleId"].isNull())
+			prometheusAlertRulesObject.dispatchRuleId = std::stol(valuePrometheusAlertRulesPrometheusAlertRule["DispatchRuleId"].asString());
+		if(!valuePrometheusAlertRulesPrometheusAlertRule["NotifyType"].isNull())
+			prometheusAlertRulesObject.notifyType = valuePrometheusAlertRulesPrometheusAlertRule["NotifyType"].asString();
+		auto allLabelsNode = valuePrometheusAlertRulesPrometheusAlertRule["Labels"]["Label"];
+		for (auto valuePrometheusAlertRulesPrometheusAlertRuleLabelsLabel : allLabelsNode)
+		{
+			PrometheusAlertRule::Label labelsObject;
+			if(!valuePrometheusAlertRulesPrometheusAlertRuleLabelsLabel["Name"].isNull())
+				labelsObject.name = valuePrometheusAlertRulesPrometheusAlertRuleLabelsLabel["Name"].asString();
+			if(!valuePrometheusAlertRulesPrometheusAlertRuleLabelsLabel["Value"].isNull())
+				labelsObject.value = valuePrometheusAlertRulesPrometheusAlertRuleLabelsLabel["Value"].asString();
+			prometheusAlertRulesObject.labels.push_back(labelsObject);
+		}
+		auto allAnnotationsNode = valuePrometheusAlertRulesPrometheusAlertRule["Annotations"]["Annotation"];
+		for (auto valuePrometheusAlertRulesPrometheusAlertRuleAnnotationsAnnotation : allAnnotationsNode)
+		{
+			PrometheusAlertRule::Annotation annotationsObject;
+			if(!valuePrometheusAlertRulesPrometheusAlertRuleAnnotationsAnnotation["Name"].isNull())
+				annotationsObject.name = valuePrometheusAlertRulesPrometheusAlertRuleAnnotationsAnnotation["Name"].asString();
+			if(!valuePrometheusAlertRulesPrometheusAlertRuleAnnotationsAnnotation["Value"].isNull())
+				annotationsObject.value = valuePrometheusAlertRulesPrometheusAlertRuleAnnotationsAnnotation["Value"].asString();
+			prometheusAlertRulesObject.annotations.push_back(annotationsObject);
+		}
+		prometheusAlertRules_.push_back(prometheusAlertRulesObject);
+	}
+
+}
+
+std::vector<ListPrometheusAlertRulesResult::PrometheusAlertRule> ListPrometheusAlertRulesResult::getPrometheusAlertRules()const
+{
+	return prometheusAlertRules_;
+}
+

+ 73 - 0
arms/src/model/ListPrometheusAlertTemplatesRequest.cc

@@ -0,0 +1,73 @@
+/*
+ * 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/arms/model/ListPrometheusAlertTemplatesRequest.h>
+
+using AlibabaCloud::ARMS::Model::ListPrometheusAlertTemplatesRequest;
+
+ListPrometheusAlertTemplatesRequest::ListPrometheusAlertTemplatesRequest() :
+	RpcServiceRequest("arms", "2019-08-08", "ListPrometheusAlertTemplates")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+ListPrometheusAlertTemplatesRequest::~ListPrometheusAlertTemplatesRequest()
+{}
+
+std::string ListPrometheusAlertTemplatesRequest::getProductCode()const
+{
+	return productCode_;
+}
+
+void ListPrometheusAlertTemplatesRequest::setProductCode(const std::string& productCode)
+{
+	productCode_ = productCode;
+	setParameter("ProductCode", productCode);
+}
+
+std::string ListPrometheusAlertTemplatesRequest::getRegionId()const
+{
+	return regionId_;
+}
+
+void ListPrometheusAlertTemplatesRequest::setRegionId(const std::string& regionId)
+{
+	regionId_ = regionId;
+	setParameter("RegionId", regionId);
+}
+
+std::string ListPrometheusAlertTemplatesRequest::getClusterId()const
+{
+	return clusterId_;
+}
+
+void ListPrometheusAlertTemplatesRequest::setClusterId(const std::string& clusterId)
+{
+	clusterId_ = clusterId;
+	setParameter("ClusterId", clusterId);
+}
+
+std::string ListPrometheusAlertTemplatesRequest::getProxyUserId()const
+{
+	return proxyUserId_;
+}
+
+void ListPrometheusAlertTemplatesRequest::setProxyUserId(const std::string& proxyUserId)
+{
+	proxyUserId_ = proxyUserId;
+	setParameter("ProxyUserId", proxyUserId);
+}
+

+ 87 - 0
arms/src/model/ListPrometheusAlertTemplatesResult.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/arms/model/ListPrometheusAlertTemplatesResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::ARMS;
+using namespace AlibabaCloud::ARMS::Model;
+
+ListPrometheusAlertTemplatesResult::ListPrometheusAlertTemplatesResult() :
+	ServiceResult()
+{}
+
+ListPrometheusAlertTemplatesResult::ListPrometheusAlertTemplatesResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ListPrometheusAlertTemplatesResult::~ListPrometheusAlertTemplatesResult()
+{}
+
+void ListPrometheusAlertTemplatesResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allPrometheusAlertTemplatesNode = value["PrometheusAlertTemplates"]["PrometheusAlertTemplate"];
+	for (auto valuePrometheusAlertTemplatesPrometheusAlertTemplate : allPrometheusAlertTemplatesNode)
+	{
+		PrometheusAlertTemplate prometheusAlertTemplatesObject;
+		if(!valuePrometheusAlertTemplatesPrometheusAlertTemplate["AlertName"].isNull())
+			prometheusAlertTemplatesObject.alertName = valuePrometheusAlertTemplatesPrometheusAlertTemplate["AlertName"].asString();
+		if(!valuePrometheusAlertTemplatesPrometheusAlertTemplate["Description"].isNull())
+			prometheusAlertTemplatesObject.description = valuePrometheusAlertTemplatesPrometheusAlertTemplate["Description"].asString();
+		if(!valuePrometheusAlertTemplatesPrometheusAlertTemplate["Type"].isNull())
+			prometheusAlertTemplatesObject.type = valuePrometheusAlertTemplatesPrometheusAlertTemplate["Type"].asString();
+		if(!valuePrometheusAlertTemplatesPrometheusAlertTemplate["Expression"].isNull())
+			prometheusAlertTemplatesObject.expression = valuePrometheusAlertTemplatesPrometheusAlertTemplate["Expression"].asString();
+		if(!valuePrometheusAlertTemplatesPrometheusAlertTemplate["Duration"].isNull())
+			prometheusAlertTemplatesObject.duration = valuePrometheusAlertTemplatesPrometheusAlertTemplate["Duration"].asString();
+		if(!valuePrometheusAlertTemplatesPrometheusAlertTemplate["Version"].isNull())
+			prometheusAlertTemplatesObject.version = valuePrometheusAlertTemplatesPrometheusAlertTemplate["Version"].asString();
+		auto allLabelsNode = valuePrometheusAlertTemplatesPrometheusAlertTemplate["Labels"]["Label"];
+		for (auto valuePrometheusAlertTemplatesPrometheusAlertTemplateLabelsLabel : allLabelsNode)
+		{
+			PrometheusAlertTemplate::Label labelsObject;
+			if(!valuePrometheusAlertTemplatesPrometheusAlertTemplateLabelsLabel["Name"].isNull())
+				labelsObject.name = valuePrometheusAlertTemplatesPrometheusAlertTemplateLabelsLabel["Name"].asString();
+			if(!valuePrometheusAlertTemplatesPrometheusAlertTemplateLabelsLabel["Value"].isNull())
+				labelsObject.value = valuePrometheusAlertTemplatesPrometheusAlertTemplateLabelsLabel["Value"].asString();
+			prometheusAlertTemplatesObject.labels.push_back(labelsObject);
+		}
+		auto allAnnotationsNode = valuePrometheusAlertTemplatesPrometheusAlertTemplate["Annotations"]["Annotation"];
+		for (auto valuePrometheusAlertTemplatesPrometheusAlertTemplateAnnotationsAnnotation : allAnnotationsNode)
+		{
+			PrometheusAlertTemplate::Annotation annotationsObject;
+			if(!valuePrometheusAlertTemplatesPrometheusAlertTemplateAnnotationsAnnotation["Name"].isNull())
+				annotationsObject.name = valuePrometheusAlertTemplatesPrometheusAlertTemplateAnnotationsAnnotation["Name"].asString();
+			if(!valuePrometheusAlertTemplatesPrometheusAlertTemplateAnnotationsAnnotation["Value"].isNull())
+				annotationsObject.value = valuePrometheusAlertTemplatesPrometheusAlertTemplateAnnotationsAnnotation["Value"].asString();
+			prometheusAlertTemplatesObject.annotations.push_back(annotationsObject);
+		}
+		prometheusAlertTemplates_.push_back(prometheusAlertTemplatesObject);
+	}
+
+}
+
+std::vector<ListPrometheusAlertTemplatesResult::PrometheusAlertTemplate> ListPrometheusAlertTemplatesResult::getPrometheusAlertTemplates()const
+{
+	return prometheusAlertTemplates_;
+}
+

+ 40 - 0
arms/src/model/OpenArmsDefaultSLRRequest.cc

@@ -0,0 +1,40 @@
+/*
+ * 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/arms/model/OpenArmsDefaultSLRRequest.h>
+
+using AlibabaCloud::ARMS::Model::OpenArmsDefaultSLRRequest;
+
+OpenArmsDefaultSLRRequest::OpenArmsDefaultSLRRequest() :
+	RpcServiceRequest("arms", "2019-08-08", "OpenArmsDefaultSLR")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+OpenArmsDefaultSLRRequest::~OpenArmsDefaultSLRRequest()
+{}
+
+std::string OpenArmsDefaultSLRRequest::getRegionId()const
+{
+	return regionId_;
+}
+
+void OpenArmsDefaultSLRRequest::setRegionId(const std::string& regionId)
+{
+	regionId_ = regionId;
+	setParameter("RegionId", regionId);
+}
+

+ 51 - 0
arms/src/model/OpenArmsDefaultSLRResult.cc

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

+ 51 - 0
arms/src/model/OpenArmsServiceSecondVersionRequest.cc

@@ -0,0 +1,51 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/arms/model/OpenArmsServiceSecondVersionRequest.h>
+
+using AlibabaCloud::ARMS::Model::OpenArmsServiceSecondVersionRequest;
+
+OpenArmsServiceSecondVersionRequest::OpenArmsServiceSecondVersionRequest() :
+	RpcServiceRequest("arms", "2019-08-08", "OpenArmsServiceSecondVersion")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+OpenArmsServiceSecondVersionRequest::~OpenArmsServiceSecondVersionRequest()
+{}
+
+std::string OpenArmsServiceSecondVersionRequest::getRegionId()const
+{
+	return regionId_;
+}
+
+void OpenArmsServiceSecondVersionRequest::setRegionId(const std::string& regionId)
+{
+	regionId_ = regionId;
+	setParameter("RegionId", regionId);
+}
+
+std::string OpenArmsServiceSecondVersionRequest::getType()const
+{
+	return type_;
+}
+
+void OpenArmsServiceSecondVersionRequest::setType(const std::string& type)
+{
+	type_ = type;
+	setParameter("Type", type);
+}
+

+ 51 - 0
arms/src/model/OpenArmsServiceSecondVersionResult.cc

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

+ 22 - 0
arms/src/model/OpenVClusterRequest.cc

@@ -38,6 +38,28 @@ void OpenVClusterRequest::setClusterType(const std::string& clusterType)
 	setParameter("ClusterType", clusterType);
 }
 
+std::string OpenVClusterRequest::getProduct()const
+{
+	return product_;
+}
+
+void OpenVClusterRequest::setProduct(const std::string& product)
+{
+	product_ = product;
+	setParameter("Product", product);
+}
+
+bool OpenVClusterRequest::getRecreateSwitch()const
+{
+	return recreateSwitch_;
+}
+
+void OpenVClusterRequest::setRecreateSwitch(bool recreateSwitch)
+{
+	recreateSwitch_ = recreateSwitch;
+	setParameter("RecreateSwitch", recreateSwitch ? "true" : "false");
+}
+
 std::string OpenVClusterRequest::getRegionId()const
 {
 	return regionId_;

+ 40 - 0
arms/src/model/OpenXtraceDefaultSLRRequest.cc

@@ -0,0 +1,40 @@
+/*
+ * 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/arms/model/OpenXtraceDefaultSLRRequest.h>
+
+using AlibabaCloud::ARMS::Model::OpenXtraceDefaultSLRRequest;
+
+OpenXtraceDefaultSLRRequest::OpenXtraceDefaultSLRRequest() :
+	RpcServiceRequest("arms", "2019-08-08", "OpenXtraceDefaultSLR")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+OpenXtraceDefaultSLRRequest::~OpenXtraceDefaultSLRRequest()
+{}
+
+std::string OpenXtraceDefaultSLRRequest::getRegionId()const
+{
+	return regionId_;
+}
+
+void OpenXtraceDefaultSLRRequest::setRegionId(const std::string& regionId)
+{
+	regionId_ = regionId;
+	setParameter("RegionId", regionId);
+}
+

+ 51 - 0
arms/src/model/OpenXtraceDefaultSLRResult.cc

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

+ 150 - 0
arms/src/model/UpdateAlertTemplateRequest.cc

@@ -0,0 +1,150 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/arms/model/UpdateAlertTemplateRequest.h>
+
+using AlibabaCloud::ARMS::Model::UpdateAlertTemplateRequest;
+
+UpdateAlertTemplateRequest::UpdateAlertTemplateRequest() :
+	RpcServiceRequest("arms", "2019-08-08", "UpdateAlertTemplate")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+UpdateAlertTemplateRequest::~UpdateAlertTemplateRequest()
+{}
+
+std::string UpdateAlertTemplateRequest::getAnnotations()const
+{
+	return annotations_;
+}
+
+void UpdateAlertTemplateRequest::setAnnotations(const std::string& annotations)
+{
+	annotations_ = annotations;
+	setParameter("Annotations", annotations);
+}
+
+std::string UpdateAlertTemplateRequest::getRule()const
+{
+	return rule_;
+}
+
+void UpdateAlertTemplateRequest::setRule(const std::string& rule)
+{
+	rule_ = rule;
+	setParameter("Rule", rule);
+}
+
+std::string UpdateAlertTemplateRequest::getProxyUserId()const
+{
+	return proxyUserId_;
+}
+
+void UpdateAlertTemplateRequest::setProxyUserId(const std::string& proxyUserId)
+{
+	proxyUserId_ = proxyUserId;
+	setParameter("ProxyUserId", proxyUserId);
+}
+
+std::string UpdateAlertTemplateRequest::getType()const
+{
+	return type_;
+}
+
+void UpdateAlertTemplateRequest::setType(const std::string& type)
+{
+	type_ = type;
+	setParameter("Type", type);
+}
+
+std::string UpdateAlertTemplateRequest::getMessage()const
+{
+	return message_;
+}
+
+void UpdateAlertTemplateRequest::setMessage(const std::string& message)
+{
+	message_ = message;
+	setParameter("Message", message);
+}
+
+std::string UpdateAlertTemplateRequest::getLabels()const
+{
+	return labels_;
+}
+
+void UpdateAlertTemplateRequest::setLabels(const std::string& labels)
+{
+	labels_ = labels;
+	setParameter("Labels", labels);
+}
+
+std::string UpdateAlertTemplateRequest::getRegionId()const
+{
+	return regionId_;
+}
+
+void UpdateAlertTemplateRequest::setRegionId(const std::string& regionId)
+{
+	regionId_ = regionId;
+	setParameter("RegionId", regionId);
+}
+
+std::string UpdateAlertTemplateRequest::getName()const
+{
+	return name_;
+}
+
+void UpdateAlertTemplateRequest::setName(const std::string& name)
+{
+	name_ = name;
+	setParameter("Name", name);
+}
+
+long UpdateAlertTemplateRequest::getId()const
+{
+	return id_;
+}
+
+void UpdateAlertTemplateRequest::setId(long id)
+{
+	id_ = id;
+	setParameter("Id", std::to_string(id));
+}
+
+std::string UpdateAlertTemplateRequest::getMatchExpressions()const
+{
+	return matchExpressions_;
+}
+
+void UpdateAlertTemplateRequest::setMatchExpressions(const std::string& matchExpressions)
+{
+	matchExpressions_ = matchExpressions;
+	setParameter("MatchExpressions", matchExpressions);
+}
+
+bool UpdateAlertTemplateRequest::getStatus()const
+{
+	return status_;
+}
+
+void UpdateAlertTemplateRequest::setStatus(bool status)
+{
+	status_ = status;
+	setParameter("Status", status ? "true" : "false");
+}
+

+ 51 - 0
arms/src/model/UpdateAlertTemplateResult.cc

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

+ 172 - 0
arms/src/model/UpdatePrometheusAlertRuleRequest.cc

@@ -0,0 +1,172 @@
+/*
+ * 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/arms/model/UpdatePrometheusAlertRuleRequest.h>
+
+using AlibabaCloud::ARMS::Model::UpdatePrometheusAlertRuleRequest;
+
+UpdatePrometheusAlertRuleRequest::UpdatePrometheusAlertRuleRequest() :
+	RpcServiceRequest("arms", "2019-08-08", "UpdatePrometheusAlertRule")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+UpdatePrometheusAlertRuleRequest::~UpdatePrometheusAlertRuleRequest()
+{}
+
+std::string UpdatePrometheusAlertRuleRequest::getExpression()const
+{
+	return expression_;
+}
+
+void UpdatePrometheusAlertRuleRequest::setExpression(const std::string& expression)
+{
+	expression_ = expression;
+	setParameter("Expression", expression);
+}
+
+std::string UpdatePrometheusAlertRuleRequest::getAlertName()const
+{
+	return alertName_;
+}
+
+void UpdatePrometheusAlertRuleRequest::setAlertName(const std::string& alertName)
+{
+	alertName_ = alertName;
+	setParameter("AlertName", alertName);
+}
+
+std::string UpdatePrometheusAlertRuleRequest::getAnnotations()const
+{
+	return annotations_;
+}
+
+void UpdatePrometheusAlertRuleRequest::setAnnotations(const std::string& annotations)
+{
+	annotations_ = annotations;
+	setParameter("Annotations", annotations);
+}
+
+std::string UpdatePrometheusAlertRuleRequest::getClusterId()const
+{
+	return clusterId_;
+}
+
+void UpdatePrometheusAlertRuleRequest::setClusterId(const std::string& clusterId)
+{
+	clusterId_ = clusterId;
+	setParameter("ClusterId", clusterId);
+}
+
+long UpdatePrometheusAlertRuleRequest::getDispatchRuleId()const
+{
+	return dispatchRuleId_;
+}
+
+void UpdatePrometheusAlertRuleRequest::setDispatchRuleId(long dispatchRuleId)
+{
+	dispatchRuleId_ = dispatchRuleId;
+	setParameter("DispatchRuleId", std::to_string(dispatchRuleId));
+}
+
+std::string UpdatePrometheusAlertRuleRequest::getProxyUserId()const
+{
+	return proxyUserId_;
+}
+
+void UpdatePrometheusAlertRuleRequest::setProxyUserId(const std::string& proxyUserId)
+{
+	proxyUserId_ = proxyUserId;
+	setParameter("ProxyUserId", proxyUserId);
+}
+
+std::string UpdatePrometheusAlertRuleRequest::getType()const
+{
+	return type_;
+}
+
+void UpdatePrometheusAlertRuleRequest::setType(const std::string& type)
+{
+	type_ = type;
+	setParameter("Type", type);
+}
+
+std::string UpdatePrometheusAlertRuleRequest::getMessage()const
+{
+	return message_;
+}
+
+void UpdatePrometheusAlertRuleRequest::setMessage(const std::string& message)
+{
+	message_ = message;
+	setParameter("Message", message);
+}
+
+std::string UpdatePrometheusAlertRuleRequest::getLabels()const
+{
+	return labels_;
+}
+
+void UpdatePrometheusAlertRuleRequest::setLabels(const std::string& labels)
+{
+	labels_ = labels;
+	setParameter("Labels", labels);
+}
+
+std::string UpdatePrometheusAlertRuleRequest::getDuration()const
+{
+	return duration_;
+}
+
+void UpdatePrometheusAlertRuleRequest::setDuration(const std::string& duration)
+{
+	duration_ = duration;
+	setParameter("Duration", duration);
+}
+
+std::string UpdatePrometheusAlertRuleRequest::getRegionId()const
+{
+	return regionId_;
+}
+
+void UpdatePrometheusAlertRuleRequest::setRegionId(const std::string& regionId)
+{
+	regionId_ = regionId;
+	setParameter("RegionId", regionId);
+}
+
+long UpdatePrometheusAlertRuleRequest::getAlertId()const
+{
+	return alertId_;
+}
+
+void UpdatePrometheusAlertRuleRequest::setAlertId(long alertId)
+{
+	alertId_ = alertId;
+	setParameter("AlertId", std::to_string(alertId));
+}
+
+std::string UpdatePrometheusAlertRuleRequest::getNotifyType()const
+{
+	return notifyType_;
+}
+
+void UpdatePrometheusAlertRuleRequest::setNotifyType(const std::string& notifyType)
+{
+	notifyType_ = notifyType;
+	setParameter("NotifyType", notifyType);
+}
+

+ 90 - 0
arms/src/model/UpdatePrometheusAlertRuleResult.cc

@@ -0,0 +1,90 @@
+/*
+ * 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/arms/model/UpdatePrometheusAlertRuleResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::ARMS;
+using namespace AlibabaCloud::ARMS::Model;
+
+UpdatePrometheusAlertRuleResult::UpdatePrometheusAlertRuleResult() :
+	ServiceResult()
+{}
+
+UpdatePrometheusAlertRuleResult::UpdatePrometheusAlertRuleResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+UpdatePrometheusAlertRuleResult::~UpdatePrometheusAlertRuleResult()
+{}
+
+void UpdatePrometheusAlertRuleResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto prometheusAlertRuleNode = value["PrometheusAlertRule"];
+	if(!prometheusAlertRuleNode["AlertId"].isNull())
+		prometheusAlertRule_.alertId = std::stol(prometheusAlertRuleNode["AlertId"].asString());
+	if(!prometheusAlertRuleNode["AlertName"].isNull())
+		prometheusAlertRule_.alertName = prometheusAlertRuleNode["AlertName"].asString();
+	if(!prometheusAlertRuleNode["Message"].isNull())
+		prometheusAlertRule_.message = prometheusAlertRuleNode["Message"].asString();
+	if(!prometheusAlertRuleNode["Type"].isNull())
+		prometheusAlertRule_.type = prometheusAlertRuleNode["Type"].asString();
+	if(!prometheusAlertRuleNode["Expression"].isNull())
+		prometheusAlertRule_.expression = prometheusAlertRuleNode["Expression"].asString();
+	if(!prometheusAlertRuleNode["Duration"].isNull())
+		prometheusAlertRule_.duration = prometheusAlertRuleNode["Duration"].asString();
+	if(!prometheusAlertRuleNode["ClusterId"].isNull())
+		prometheusAlertRule_.clusterId = prometheusAlertRuleNode["ClusterId"].asString();
+	if(!prometheusAlertRuleNode["Status"].isNull())
+		prometheusAlertRule_.status = std::stoi(prometheusAlertRuleNode["Status"].asString());
+	if(!prometheusAlertRuleNode["DispatchRuleId"].isNull())
+		prometheusAlertRule_.dispatchRuleId = std::stol(prometheusAlertRuleNode["DispatchRuleId"].asString());
+	if(!prometheusAlertRuleNode["NotifyType"].isNull())
+		prometheusAlertRule_.notifyType = prometheusAlertRuleNode["NotifyType"].asString();
+	auto allLabelsNode = prometheusAlertRuleNode["Labels"]["Label"];
+	for (auto prometheusAlertRuleNodeLabelsLabel : allLabelsNode)
+	{
+		PrometheusAlertRule::Label labelObject;
+		if(!prometheusAlertRuleNodeLabelsLabel["Name"].isNull())
+			labelObject.name = prometheusAlertRuleNodeLabelsLabel["Name"].asString();
+		if(!prometheusAlertRuleNodeLabelsLabel["Value"].isNull())
+			labelObject.value = prometheusAlertRuleNodeLabelsLabel["Value"].asString();
+		prometheusAlertRule_.labels.push_back(labelObject);
+	}
+	auto allAnnotationsNode = prometheusAlertRuleNode["Annotations"]["Annotation"];
+	for (auto prometheusAlertRuleNodeAnnotationsAnnotation : allAnnotationsNode)
+	{
+		PrometheusAlertRule::Annotation annotationObject;
+		if(!prometheusAlertRuleNodeAnnotationsAnnotation["Name"].isNull())
+			annotationObject.name = prometheusAlertRuleNodeAnnotationsAnnotation["Name"].asString();
+		if(!prometheusAlertRuleNodeAnnotationsAnnotation["Value"].isNull())
+			annotationObject.value = prometheusAlertRuleNodeAnnotationsAnnotation["Value"].asString();
+		prometheusAlertRule_.annotations.push_back(annotationObject);
+	}
+
+}
+
+UpdatePrometheusAlertRuleResult::PrometheusAlertRule UpdatePrometheusAlertRuleResult::getPrometheusAlertRule()const
+{
+	return prometheusAlertRule_;
+}
+