Kaynağa Gözat

Add EventRule Content Filter.

sdk-team 4 yıl önce
ebeveyn
işleme
6f8b83d17e

+ 4 - 0
CHANGELOG

@@ -1,3 +1,7 @@
+2021-12-03 Version: 1.36.963
+- Add EventRule Content Filter.
+- Add MetricRule Labels.
+
 2021-12-03 Version: 1.36.962
 - Support EndpointType and ServiceType.
 

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.36.962
+1.36.963

+ 8 - 0
cms/CMakeLists.txt

@@ -39,6 +39,8 @@ set(cms_public_header_model
 	include/alibabacloud/cms/model/CreateGroupMonitoringAgentProcessResult.h
 	include/alibabacloud/cms/model/CreateHostAvailabilityRequest.h
 	include/alibabacloud/cms/model/CreateHostAvailabilityResult.h
+	include/alibabacloud/cms/model/CreateInstantSiteMonitorRequest.h
+	include/alibabacloud/cms/model/CreateInstantSiteMonitorResult.h
 	include/alibabacloud/cms/model/CreateMetricRuleResourcesRequest.h
 	include/alibabacloud/cms/model/CreateMetricRuleResourcesResult.h
 	include/alibabacloud/cms/model/CreateMetricRuleTemplateRequest.h
@@ -205,6 +207,8 @@ set(cms_public_header_model
 	include/alibabacloud/cms/model/DescribeSiteMonitorISPCityListResult.h
 	include/alibabacloud/cms/model/DescribeSiteMonitorListRequest.h
 	include/alibabacloud/cms/model/DescribeSiteMonitorListResult.h
+	include/alibabacloud/cms/model/DescribeSiteMonitorLogRequest.h
+	include/alibabacloud/cms/model/DescribeSiteMonitorLogResult.h
 	include/alibabacloud/cms/model/DescribeSiteMonitorQuotaRequest.h
 	include/alibabacloud/cms/model/DescribeSiteMonitorQuotaResult.h
 	include/alibabacloud/cms/model/DescribeSiteMonitorStatisticsRequest.h
@@ -322,6 +326,8 @@ set(cms_src
 	src/model/CreateGroupMonitoringAgentProcessResult.cc
 	src/model/CreateHostAvailabilityRequest.cc
 	src/model/CreateHostAvailabilityResult.cc
+	src/model/CreateInstantSiteMonitorRequest.cc
+	src/model/CreateInstantSiteMonitorResult.cc
 	src/model/CreateMetricRuleResourcesRequest.cc
 	src/model/CreateMetricRuleResourcesResult.cc
 	src/model/CreateMetricRuleTemplateRequest.cc
@@ -488,6 +494,8 @@ set(cms_src
 	src/model/DescribeSiteMonitorISPCityListResult.cc
 	src/model/DescribeSiteMonitorListRequest.cc
 	src/model/DescribeSiteMonitorListResult.cc
+	src/model/DescribeSiteMonitorLogRequest.cc
+	src/model/DescribeSiteMonitorLogResult.cc
 	src/model/DescribeSiteMonitorQuotaRequest.cc
 	src/model/DescribeSiteMonitorQuotaResult.cc
 	src/model/DescribeSiteMonitorStatisticsRequest.cc

+ 16 - 0
cms/include/alibabacloud/cms/CmsClient.h

@@ -40,6 +40,8 @@
 #include "model/CreateGroupMonitoringAgentProcessResult.h"
 #include "model/CreateHostAvailabilityRequest.h"
 #include "model/CreateHostAvailabilityResult.h"
+#include "model/CreateInstantSiteMonitorRequest.h"
+#include "model/CreateInstantSiteMonitorResult.h"
 #include "model/CreateMetricRuleResourcesRequest.h"
 #include "model/CreateMetricRuleResourcesResult.h"
 #include "model/CreateMetricRuleTemplateRequest.h"
@@ -206,6 +208,8 @@
 #include "model/DescribeSiteMonitorISPCityListResult.h"
 #include "model/DescribeSiteMonitorListRequest.h"
 #include "model/DescribeSiteMonitorListResult.h"
+#include "model/DescribeSiteMonitorLogRequest.h"
+#include "model/DescribeSiteMonitorLogResult.h"
 #include "model/DescribeSiteMonitorQuotaRequest.h"
 #include "model/DescribeSiteMonitorQuotaResult.h"
 #include "model/DescribeSiteMonitorStatisticsRequest.h"
@@ -338,6 +342,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::CreateHostAvailabilityResult> CreateHostAvailabilityOutcome;
 			typedef std::future<CreateHostAvailabilityOutcome> CreateHostAvailabilityOutcomeCallable;
 			typedef std::function<void(const CmsClient*, const Model::CreateHostAvailabilityRequest&, const CreateHostAvailabilityOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateHostAvailabilityAsyncHandler;
+			typedef Outcome<Error, Model::CreateInstantSiteMonitorResult> CreateInstantSiteMonitorOutcome;
+			typedef std::future<CreateInstantSiteMonitorOutcome> CreateInstantSiteMonitorOutcomeCallable;
+			typedef std::function<void(const CmsClient*, const Model::CreateInstantSiteMonitorRequest&, const CreateInstantSiteMonitorOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateInstantSiteMonitorAsyncHandler;
 			typedef Outcome<Error, Model::CreateMetricRuleResourcesResult> CreateMetricRuleResourcesOutcome;
 			typedef std::future<CreateMetricRuleResourcesOutcome> CreateMetricRuleResourcesOutcomeCallable;
 			typedef std::function<void(const CmsClient*, const Model::CreateMetricRuleResourcesRequest&, const CreateMetricRuleResourcesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateMetricRuleResourcesAsyncHandler;
@@ -587,6 +594,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DescribeSiteMonitorListResult> DescribeSiteMonitorListOutcome;
 			typedef std::future<DescribeSiteMonitorListOutcome> DescribeSiteMonitorListOutcomeCallable;
 			typedef std::function<void(const CmsClient*, const Model::DescribeSiteMonitorListRequest&, const DescribeSiteMonitorListOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeSiteMonitorListAsyncHandler;
+			typedef Outcome<Error, Model::DescribeSiteMonitorLogResult> DescribeSiteMonitorLogOutcome;
+			typedef std::future<DescribeSiteMonitorLogOutcome> DescribeSiteMonitorLogOutcomeCallable;
+			typedef std::function<void(const CmsClient*, const Model::DescribeSiteMonitorLogRequest&, const DescribeSiteMonitorLogOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeSiteMonitorLogAsyncHandler;
 			typedef Outcome<Error, Model::DescribeSiteMonitorQuotaResult> DescribeSiteMonitorQuotaOutcome;
 			typedef std::future<DescribeSiteMonitorQuotaOutcome> DescribeSiteMonitorQuotaOutcomeCallable;
 			typedef std::function<void(const CmsClient*, const Model::DescribeSiteMonitorQuotaRequest&, const DescribeSiteMonitorQuotaOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeSiteMonitorQuotaAsyncHandler;
@@ -763,6 +773,9 @@ namespace AlibabaCloud
 			CreateHostAvailabilityOutcome createHostAvailability(const Model::CreateHostAvailabilityRequest &request)const;
 			void createHostAvailabilityAsync(const Model::CreateHostAvailabilityRequest& request, const CreateHostAvailabilityAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CreateHostAvailabilityOutcomeCallable createHostAvailabilityCallable(const Model::CreateHostAvailabilityRequest& request) const;
+			CreateInstantSiteMonitorOutcome createInstantSiteMonitor(const Model::CreateInstantSiteMonitorRequest &request)const;
+			void createInstantSiteMonitorAsync(const Model::CreateInstantSiteMonitorRequest& request, const CreateInstantSiteMonitorAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateInstantSiteMonitorOutcomeCallable createInstantSiteMonitorCallable(const Model::CreateInstantSiteMonitorRequest& request) const;
 			CreateMetricRuleResourcesOutcome createMetricRuleResources(const Model::CreateMetricRuleResourcesRequest &request)const;
 			void createMetricRuleResourcesAsync(const Model::CreateMetricRuleResourcesRequest& request, const CreateMetricRuleResourcesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CreateMetricRuleResourcesOutcomeCallable createMetricRuleResourcesCallable(const Model::CreateMetricRuleResourcesRequest& request) const;
@@ -1012,6 +1025,9 @@ namespace AlibabaCloud
 			DescribeSiteMonitorListOutcome describeSiteMonitorList(const Model::DescribeSiteMonitorListRequest &request)const;
 			void describeSiteMonitorListAsync(const Model::DescribeSiteMonitorListRequest& request, const DescribeSiteMonitorListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeSiteMonitorListOutcomeCallable describeSiteMonitorListCallable(const Model::DescribeSiteMonitorListRequest& request) const;
+			DescribeSiteMonitorLogOutcome describeSiteMonitorLog(const Model::DescribeSiteMonitorLogRequest &request)const;
+			void describeSiteMonitorLogAsync(const Model::DescribeSiteMonitorLogRequest& request, const DescribeSiteMonitorLogAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeSiteMonitorLogOutcomeCallable describeSiteMonitorLogCallable(const Model::DescribeSiteMonitorLogRequest& request) const;
 			DescribeSiteMonitorQuotaOutcome describeSiteMonitorQuota(const Model::DescribeSiteMonitorQuotaRequest &request)const;
 			void describeSiteMonitorQuotaAsync(const Model::DescribeSiteMonitorQuotaRequest& request, const DescribeSiteMonitorQuotaAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeSiteMonitorQuotaOutcomeCallable describeSiteMonitorQuotaCallable(const Model::DescribeSiteMonitorQuotaRequest& request) const;

+ 63 - 0
cms/include/alibabacloud/cms/model/CreateInstantSiteMonitorRequest.h

@@ -0,0 +1,63 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_CMS_MODEL_CREATEINSTANTSITEMONITORREQUEST_H_
+#define ALIBABACLOUD_CMS_MODEL_CREATEINSTANTSITEMONITORREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/cms/CmsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cms
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CMS_EXPORT CreateInstantSiteMonitorRequest : public RpcServiceRequest
+			{
+
+			public:
+				CreateInstantSiteMonitorRequest();
+				~CreateInstantSiteMonitorRequest();
+
+				int getRandomIspCity()const;
+				void setRandomIspCity(int randomIspCity);
+				std::string getAddress()const;
+				void setAddress(const std::string& address);
+				std::string getTaskType()const;
+				void setTaskType(const std::string& taskType);
+				std::string getTaskName()const;
+				void setTaskName(const std::string& taskName);
+				std::string getIspCities()const;
+				void setIspCities(const std::string& ispCities);
+				std::string getOptionsJson()const;
+				void setOptionsJson(const std::string& optionsJson);
+
+            private:
+				int randomIspCity_;
+				std::string address_;
+				std::string taskType_;
+				std::string taskName_;
+				std::string ispCities_;
+				std::string optionsJson_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CMS_MODEL_CREATEINSTANTSITEMONITORREQUEST_H_

+ 62 - 0
cms/include/alibabacloud/cms/model/CreateInstantSiteMonitorResult.h

@@ -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.
+ */
+
+#ifndef ALIBABACLOUD_CMS_MODEL_CREATEINSTANTSITEMONITORRESULT_H_
+#define ALIBABACLOUD_CMS_MODEL_CREATEINSTANTSITEMONITORRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/cms/CmsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cms
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CMS_EXPORT CreateInstantSiteMonitorResult : public ServiceResult
+			{
+			public:
+				struct CreateResultListItem
+				{
+					std::string taskId;
+					std::string taskName;
+				};
+
+
+				CreateInstantSiteMonitorResult();
+				explicit CreateInstantSiteMonitorResult(const std::string &payload);
+				~CreateInstantSiteMonitorResult();
+				std::string getMessage()const;
+				std::vector<CreateResultListItem> getCreateResultList()const;
+				std::string getCode()const;
+				std::string getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				std::vector<CreateResultListItem> createResultList_;
+				std::string code_;
+				std::string success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CMS_MODEL_CREATEINSTANTSITEMONITORRESULT_H_

+ 26 - 6
cms/include/alibabacloud/cms/model/DescribeMetricRuleListResult.h

@@ -81,28 +81,48 @@ namespace AlibabaCloud
 						std::string expressionListJoin;
 						std::vector<ExpressionListItem> expressionList;
 					};
+					struct Prometheus
+					{
+						struct AnnotationsItem
+						{
+							std::string value;
+							std::string key;
+						};
+						std::vector<AnnotationsItem> annotations;
+						std::string promQL;
+						long times;
+						std::string level;
+					};
+					struct LabelsItem
+					{
+						std::string value;
+						std::string key;
+					};
 					std::string groupName;
-					int silenceTime;
-					std::string contactGroups;
 					std::string noEffectiveInterval;
-					std::string groupBy;
+					std::string options;
 					std::string mailSubject;
 					std::string sourceType;
 					std::string ruleId;
+					Prometheus prometheus;
+					std::string metricName;
+					CompositeExpression compositeExpression;
+					std::string ruleName;
+					int silenceTime;
+					std::string contactGroups;
+					std::string groupBy;
 					std::string period;
 					std::string dimensions;
+					std::vector<Alarm::LabelsItem> labels;
 					std::string _namespace;
 					std::string effectiveInterval;
 					std::string noDataPolicy;
 					std::string alertState;
 					std::string groupId;
-					std::string metricName;
 					Escalations escalations;
 					bool enableState;
-					CompositeExpression compositeExpression;
 					std::string webhook;
 					std::string resources;
-					std::string ruleName;
 				};
 
 

+ 75 - 0
cms/include/alibabacloud/cms/model/DescribeSiteMonitorLogRequest.h

@@ -0,0 +1,75 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_CMS_MODEL_DESCRIBESITEMONITORLOGREQUEST_H_
+#define ALIBABACLOUD_CMS_MODEL_DESCRIBESITEMONITORLOGREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/cms/CmsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cms
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CMS_EXPORT DescribeSiteMonitorLogRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeSiteMonitorLogRequest();
+				~DescribeSiteMonitorLogRequest();
+
+				std::string getCity()const;
+				void setCity(const std::string& city);
+				std::string getIsp()const;
+				void setIsp(const std::string& isp);
+				std::string getStartTime()const;
+				void setStartTime(const std::string& startTime);
+				std::string getTaskIds()const;
+				void setTaskIds(const std::string& taskIds);
+				std::string getNextToken()const;
+				void setNextToken(const std::string& nextToken);
+				std::string getMetricName()const;
+				void setMetricName(const std::string& metricName);
+				int getLength()const;
+				void setLength(int length);
+				std::string getEndTime()const;
+				void setEndTime(const std::string& endTime);
+				std::string getFilter()const;
+				void setFilter(const std::string& filter);
+				std::string getDimensions()const;
+				void setDimensions(const std::string& dimensions);
+
+            private:
+				std::string city_;
+				std::string isp_;
+				std::string startTime_;
+				std::string taskIds_;
+				std::string nextToken_;
+				std::string metricName_;
+				int length_;
+				std::string endTime_;
+				std::string filter_;
+				std::string dimensions_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CMS_MODEL_DESCRIBESITEMONITORLOGREQUEST_H_

+ 59 - 0
cms/include/alibabacloud/cms/model/DescribeSiteMonitorLogResult.h

@@ -0,0 +1,59 @@
+/*
+ * 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_CMS_MODEL_DESCRIBESITEMONITORLOGRESULT_H_
+#define ALIBABACLOUD_CMS_MODEL_DESCRIBESITEMONITORLOGRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/cms/CmsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cms
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CMS_EXPORT DescribeSiteMonitorLogResult : public ServiceResult
+			{
+			public:
+
+
+				DescribeSiteMonitorLogResult();
+				explicit DescribeSiteMonitorLogResult(const std::string &payload);
+				~DescribeSiteMonitorLogResult();
+				std::string getNextToken()const;
+				std::string getMessage()const;
+				std::string getData()const;
+				std::string getCode()const;
+				std::string getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string nextToken_;
+				std::string message_;
+				std::string data_;
+				std::string code_;
+				std::string success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CMS_MODEL_DESCRIBESITEMONITORLOGRESULT_H_

+ 1 - 0
cms/include/alibabacloud/cms/model/PutEventRuleRequest.h

@@ -34,6 +34,7 @@ namespace AlibabaCloud
 				struct EventPattern
 				{
 					std::vector<std::string> levelList;
+					Struct keywordFilter;
 					std::string product;
 					std::vector<std::string> statusList;
 					std::vector<std::string> nameList;

+ 33 - 24
cms/include/alibabacloud/cms/model/PutResourceMetricRuleRequest.h

@@ -41,26 +41,20 @@ namespace AlibabaCloud
 				void setEscalationsWarnComparisonOperator(const std::string& escalationsWarnComparisonOperator);
 				std::string getRuleName()const;
 				void setRuleName(const std::string& ruleName);
-				std::string getEscalationsInfoStatistics()const;
-				void setEscalationsInfoStatistics(const std::string& escalationsInfoStatistics);
 				std::string getEffectiveInterval()const;
 				void setEffectiveInterval(const std::string& effectiveInterval);
-				std::string getEscalationsInfoComparisonOperator()const;
-				void setEscalationsInfoComparisonOperator(const std::string& escalationsInfoComparisonOperator);
 				std::string getNoDataPolicy()const;
 				void setNoDataPolicy(const std::string& noDataPolicy);
 				std::string getNoEffectiveInterval()const;
 				void setNoEffectiveInterval(const std::string& noEffectiveInterval);
 				std::string getEmailSubject()const;
 				void setEmailSubject(const std::string& emailSubject);
-				int getSilenceTime()const;
-				void setSilenceTime(int silenceTime);
+				std::string getOptions()const;
+				void setOptions(const std::string& options);
 				std::string getMetricName()const;
 				void setMetricName(const std::string& metricName);
 				int getEscalationsWarnTimes()const;
 				void setEscalationsWarnTimes(int escalationsWarnTimes);
-				Struct getCompositeExpression()const;
-				void setCompositeExpression(const Struct& compositeExpression);
 				std::string getPeriod()const;
 				void setPeriod(const std::string& period);
 				std::string getEscalationsWarnThreshold()const;
@@ -71,14 +65,32 @@ namespace AlibabaCloud
 				void setEscalationsCriticalStatistics(const std::string& escalationsCriticalStatistics);
 				std::string getGroupId()const;
 				void setGroupId(const std::string& groupId);
+				std::string getGroupName()const;
+				void setGroupName(const std::string& groupName);
+				Array getLabels()const;
+				void setLabels(const Array& labels);
+				std::string getInterval()const;
+				void setInterval(const std::string& interval);
+				std::string getRuleId()const;
+				void setRuleId(const std::string& ruleId);
+				std::string getEscalationsCriticalThreshold()const;
+				void setEscalationsCriticalThreshold(const std::string& escalationsCriticalThreshold);
+				std::string getEscalationsInfoStatistics()const;
+				void setEscalationsInfoStatistics(const std::string& escalationsInfoStatistics);
+				std::string getEscalationsInfoComparisonOperator()const;
+				void setEscalationsInfoComparisonOperator(const std::string& escalationsInfoComparisonOperator);
+				int getSilenceTime()const;
+				void setSilenceTime(int silenceTime);
+				Struct getPrometheus()const;
+				void setPrometheus(const Struct& prometheus);
+				Struct getCompositeExpression()const;
+				void setCompositeExpression(const Struct& compositeExpression);
 				std::string getResources()const;
 				void setResources(const std::string& resources);
 				int getEscalationsInfoTimes()const;
 				void setEscalationsInfoTimes(int escalationsInfoTimes);
 				std::string getGroupBy()const;
 				void setGroupBy(const std::string& groupBy);
-				std::string getGroupName()const;
-				void setGroupName(const std::string& groupName);
 				int getEscalationsCriticalTimes()const;
 				void setEscalationsCriticalTimes(int escalationsCriticalTimes);
 				std::string getEscalationsWarnStatistics()const;
@@ -87,46 +99,43 @@ namespace AlibabaCloud
 				void setEscalationsInfoThreshold(const std::string& escalationsInfoThreshold);
 				std::string get_Namespace()const;
 				void set_Namespace(const std::string& _namespace);
-				std::string getInterval()const;
-				void setInterval(const std::string& interval);
-				std::string getRuleId()const;
-				void setRuleId(const std::string& ruleId);
 				std::string getEscalationsCriticalComparisonOperator()const;
 				void setEscalationsCriticalComparisonOperator(const std::string& escalationsCriticalComparisonOperator);
-				std::string getEscalationsCriticalThreshold()const;
-				void setEscalationsCriticalThreshold(const std::string& escalationsCriticalThreshold);
 
             private:
 				std::string webhook_;
 				std::string escalationsWarnComparisonOperator_;
 				std::string ruleName_;
-				std::string escalationsInfoStatistics_;
 				std::string effectiveInterval_;
-				std::string escalationsInfoComparisonOperator_;
 				std::string noDataPolicy_;
 				std::string noEffectiveInterval_;
 				std::string emailSubject_;
-				int silenceTime_;
+				std::string options_;
 				std::string metricName_;
 				int escalationsWarnTimes_;
-				Struct compositeExpression_;
 				std::string period_;
 				std::string escalationsWarnThreshold_;
 				std::string contactGroups_;
 				std::string escalationsCriticalStatistics_;
 				std::string groupId_;
+				std::string groupName_;
+				Array labels_;
+				std::string interval_;
+				std::string ruleId_;
+				std::string escalationsCriticalThreshold_;
+				std::string escalationsInfoStatistics_;
+				std::string escalationsInfoComparisonOperator_;
+				int silenceTime_;
+				Struct prometheus_;
+				Struct compositeExpression_;
 				std::string resources_;
 				int escalationsInfoTimes_;
 				std::string groupBy_;
-				std::string groupName_;
 				int escalationsCriticalTimes_;
 				std::string escalationsWarnStatistics_;
 				std::string escalationsInfoThreshold_;
 				std::string _namespace_;
-				std::string interval_;
-				std::string ruleId_;
 				std::string escalationsCriticalComparisonOperator_;
-				std::string escalationsCriticalThreshold_;
 
 			};
 		}

+ 72 - 0
cms/src/CmsClient.cc

@@ -375,6 +375,42 @@ CmsClient::CreateHostAvailabilityOutcomeCallable CmsClient::createHostAvailabili
 	return task->get_future();
 }
 
+CmsClient::CreateInstantSiteMonitorOutcome CmsClient::createInstantSiteMonitor(const CreateInstantSiteMonitorRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return CreateInstantSiteMonitorOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return CreateInstantSiteMonitorOutcome(CreateInstantSiteMonitorResult(outcome.result()));
+	else
+		return CreateInstantSiteMonitorOutcome(outcome.error());
+}
+
+void CmsClient::createInstantSiteMonitorAsync(const CreateInstantSiteMonitorRequest& request, const CreateInstantSiteMonitorAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, createInstantSiteMonitor(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CmsClient::CreateInstantSiteMonitorOutcomeCallable CmsClient::createInstantSiteMonitorCallable(const CreateInstantSiteMonitorRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<CreateInstantSiteMonitorOutcome()>>(
+			[this, request]()
+			{
+			return this->createInstantSiteMonitor(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 CmsClient::CreateMetricRuleResourcesOutcome CmsClient::createMetricRuleResources(const CreateMetricRuleResourcesRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -3363,6 +3399,42 @@ CmsClient::DescribeSiteMonitorListOutcomeCallable CmsClient::describeSiteMonitor
 	return task->get_future();
 }
 
+CmsClient::DescribeSiteMonitorLogOutcome CmsClient::describeSiteMonitorLog(const DescribeSiteMonitorLogRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeSiteMonitorLogOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeSiteMonitorLogOutcome(DescribeSiteMonitorLogResult(outcome.result()));
+	else
+		return DescribeSiteMonitorLogOutcome(outcome.error());
+}
+
+void CmsClient::describeSiteMonitorLogAsync(const DescribeSiteMonitorLogRequest& request, const DescribeSiteMonitorLogAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeSiteMonitorLog(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CmsClient::DescribeSiteMonitorLogOutcomeCallable CmsClient::describeSiteMonitorLogCallable(const DescribeSiteMonitorLogRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeSiteMonitorLogOutcome()>>(
+			[this, request]()
+			{
+			return this->describeSiteMonitorLog(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 CmsClient::DescribeSiteMonitorQuotaOutcome CmsClient::describeSiteMonitorQuota(const DescribeSiteMonitorQuotaRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();

+ 95 - 0
cms/src/model/CreateInstantSiteMonitorRequest.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/cms/model/CreateInstantSiteMonitorRequest.h>
+
+using AlibabaCloud::Cms::Model::CreateInstantSiteMonitorRequest;
+
+CreateInstantSiteMonitorRequest::CreateInstantSiteMonitorRequest() :
+	RpcServiceRequest("cms", "2019-01-01", "CreateInstantSiteMonitor")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+CreateInstantSiteMonitorRequest::~CreateInstantSiteMonitorRequest()
+{}
+
+int CreateInstantSiteMonitorRequest::getRandomIspCity()const
+{
+	return randomIspCity_;
+}
+
+void CreateInstantSiteMonitorRequest::setRandomIspCity(int randomIspCity)
+{
+	randomIspCity_ = randomIspCity;
+	setParameter("RandomIspCity", std::to_string(randomIspCity));
+}
+
+std::string CreateInstantSiteMonitorRequest::getAddress()const
+{
+	return address_;
+}
+
+void CreateInstantSiteMonitorRequest::setAddress(const std::string& address)
+{
+	address_ = address;
+	setParameter("Address", address);
+}
+
+std::string CreateInstantSiteMonitorRequest::getTaskType()const
+{
+	return taskType_;
+}
+
+void CreateInstantSiteMonitorRequest::setTaskType(const std::string& taskType)
+{
+	taskType_ = taskType;
+	setParameter("TaskType", taskType);
+}
+
+std::string CreateInstantSiteMonitorRequest::getTaskName()const
+{
+	return taskName_;
+}
+
+void CreateInstantSiteMonitorRequest::setTaskName(const std::string& taskName)
+{
+	taskName_ = taskName;
+	setParameter("TaskName", taskName);
+}
+
+std::string CreateInstantSiteMonitorRequest::getIspCities()const
+{
+	return ispCities_;
+}
+
+void CreateInstantSiteMonitorRequest::setIspCities(const std::string& ispCities)
+{
+	ispCities_ = ispCities;
+	setParameter("IspCities", ispCities);
+}
+
+std::string CreateInstantSiteMonitorRequest::getOptionsJson()const
+{
+	return optionsJson_;
+}
+
+void CreateInstantSiteMonitorRequest::setOptionsJson(const std::string& optionsJson)
+{
+	optionsJson_ = optionsJson;
+	setParameter("OptionsJson", optionsJson);
+}
+

+ 80 - 0
cms/src/model/CreateInstantSiteMonitorResult.cc

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

+ 29 - 0
cms/src/model/DescribeMetricRuleListResult.cc

@@ -83,6 +83,18 @@ void DescribeMetricRuleListResult::parse(const std::string &payload)
 			alarmsObject.resources = valueAlarmsAlarm["Resources"].asString();
 		if(!valueAlarmsAlarm["NoDataPolicy"].isNull())
 			alarmsObject.noDataPolicy = valueAlarmsAlarm["NoDataPolicy"].asString();
+		if(!valueAlarmsAlarm["Options"].isNull())
+			alarmsObject.options = valueAlarmsAlarm["Options"].asString();
+		auto allLabelsNode = valueAlarmsAlarm["Labels"]["LabelsItem"];
+		for (auto valueAlarmsAlarmLabelsLabelsItem : allLabelsNode)
+		{
+			Alarm::LabelsItem labelsObject;
+			if(!valueAlarmsAlarmLabelsLabelsItem["Key"].isNull())
+				labelsObject.key = valueAlarmsAlarmLabelsLabelsItem["Key"].asString();
+			if(!valueAlarmsAlarmLabelsLabelsItem["Value"].isNull())
+				labelsObject.value = valueAlarmsAlarmLabelsLabelsItem["Value"].asString();
+			alarmsObject.labels.push_back(labelsObject);
+		}
 		auto escalationsNode = value["Escalations"];
 		auto infoNode = escalationsNode["Info"];
 		if(!infoNode["ComparisonOperator"].isNull())
@@ -144,6 +156,23 @@ void DescribeMetricRuleListResult::parse(const std::string &payload)
 				expressionListItemObject.id = compositeExpressionNodeExpressionListExpressionListItem["Id"].asString();
 			alarmsObject.compositeExpression.expressionList.push_back(expressionListItemObject);
 		}
+		auto prometheusNode = value["Prometheus"];
+		if(!prometheusNode["PromQL"].isNull())
+			alarmsObject.prometheus.promQL = prometheusNode["PromQL"].asString();
+		if(!prometheusNode["Level"].isNull())
+			alarmsObject.prometheus.level = prometheusNode["Level"].asString();
+		if(!prometheusNode["Times"].isNull())
+			alarmsObject.prometheus.times = std::stol(prometheusNode["Times"].asString());
+		auto allAnnotationsNode = prometheusNode["Annotations"]["AnnotationsItem"];
+		for (auto prometheusNodeAnnotationsAnnotationsItem : allAnnotationsNode)
+		{
+			Alarm::Prometheus::AnnotationsItem annotationsItemObject;
+			if(!prometheusNodeAnnotationsAnnotationsItem["Key"].isNull())
+				annotationsItemObject.key = prometheusNodeAnnotationsAnnotationsItem["Key"].asString();
+			if(!prometheusNodeAnnotationsAnnotationsItem["Value"].isNull())
+				annotationsItemObject.value = prometheusNodeAnnotationsAnnotationsItem["Value"].asString();
+			alarmsObject.prometheus.annotations.push_back(annotationsItemObject);
+		}
 		alarms_.push_back(alarmsObject);
 	}
 	if(!value["Code"].isNull())

+ 139 - 0
cms/src/model/DescribeSiteMonitorLogRequest.cc

@@ -0,0 +1,139 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/cms/model/DescribeSiteMonitorLogRequest.h>
+
+using AlibabaCloud::Cms::Model::DescribeSiteMonitorLogRequest;
+
+DescribeSiteMonitorLogRequest::DescribeSiteMonitorLogRequest() :
+	RpcServiceRequest("cms", "2019-01-01", "DescribeSiteMonitorLog")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+DescribeSiteMonitorLogRequest::~DescribeSiteMonitorLogRequest()
+{}
+
+std::string DescribeSiteMonitorLogRequest::getCity()const
+{
+	return city_;
+}
+
+void DescribeSiteMonitorLogRequest::setCity(const std::string& city)
+{
+	city_ = city;
+	setParameter("City", city);
+}
+
+std::string DescribeSiteMonitorLogRequest::getIsp()const
+{
+	return isp_;
+}
+
+void DescribeSiteMonitorLogRequest::setIsp(const std::string& isp)
+{
+	isp_ = isp;
+	setParameter("Isp", isp);
+}
+
+std::string DescribeSiteMonitorLogRequest::getStartTime()const
+{
+	return startTime_;
+}
+
+void DescribeSiteMonitorLogRequest::setStartTime(const std::string& startTime)
+{
+	startTime_ = startTime;
+	setParameter("StartTime", startTime);
+}
+
+std::string DescribeSiteMonitorLogRequest::getTaskIds()const
+{
+	return taskIds_;
+}
+
+void DescribeSiteMonitorLogRequest::setTaskIds(const std::string& taskIds)
+{
+	taskIds_ = taskIds;
+	setParameter("TaskIds", taskIds);
+}
+
+std::string DescribeSiteMonitorLogRequest::getNextToken()const
+{
+	return nextToken_;
+}
+
+void DescribeSiteMonitorLogRequest::setNextToken(const std::string& nextToken)
+{
+	nextToken_ = nextToken;
+	setParameter("NextToken", nextToken);
+}
+
+std::string DescribeSiteMonitorLogRequest::getMetricName()const
+{
+	return metricName_;
+}
+
+void DescribeSiteMonitorLogRequest::setMetricName(const std::string& metricName)
+{
+	metricName_ = metricName;
+	setParameter("MetricName", metricName);
+}
+
+int DescribeSiteMonitorLogRequest::getLength()const
+{
+	return length_;
+}
+
+void DescribeSiteMonitorLogRequest::setLength(int length)
+{
+	length_ = length;
+	setParameter("Length", std::to_string(length));
+}
+
+std::string DescribeSiteMonitorLogRequest::getEndTime()const
+{
+	return endTime_;
+}
+
+void DescribeSiteMonitorLogRequest::setEndTime(const std::string& endTime)
+{
+	endTime_ = endTime;
+	setParameter("EndTime", endTime);
+}
+
+std::string DescribeSiteMonitorLogRequest::getFilter()const
+{
+	return filter_;
+}
+
+void DescribeSiteMonitorLogRequest::setFilter(const std::string& filter)
+{
+	filter_ = filter;
+	setParameter("Filter", filter);
+}
+
+std::string DescribeSiteMonitorLogRequest::getDimensions()const
+{
+	return dimensions_;
+}
+
+void DescribeSiteMonitorLogRequest::setDimensions(const std::string& dimensions)
+{
+	dimensions_ = dimensions;
+	setParameter("Dimensions", dimensions);
+}
+

+ 79 - 0
cms/src/model/DescribeSiteMonitorLogResult.cc

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

+ 1 - 0
cms/src/model/PutEventRuleRequest.cc

@@ -74,6 +74,7 @@ void PutEventRuleRequest::setEventPattern(const std::vector<EventPattern>& event
 		for(int dep2 = 0; dep2!= eventPatternObj.levelList.size(); dep2++) {
 			setParameter(eventPatternObjStr + ".LevelList."+ std::to_string(dep2), eventPatternObj.levelList.at(dep2));
 		}
+		setParameter(eventPatternObjStr + ".KeywordFilter", std::to_string(eventPatternObj.keywordFilter));
 		setParameter(eventPatternObjStr + ".Product", eventPatternObj.product);
 		for(int dep2 = 0; dep2!= eventPatternObj.statusList.size(); dep2++) {
 			setParameter(eventPatternObjStr + ".StatusList."+ std::to_string(dep2), eventPatternObj.statusList.at(dep2));

+ 2 - 2
cms/src/model/PutEventRuleResult.cc

@@ -39,14 +39,14 @@ void PutEventRuleResult::parse(const std::string &payload)
 	Json::Value value;
 	reader.parse(payload, value);
 	setRequestId(value["RequestId"].asString());
-	if(!value["Success"].isNull())
-		success_ = value["Success"].asString() == "true";
 	if(!value["Code"].isNull())
 		code_ = value["Code"].asString();
 	if(!value["Message"].isNull())
 		message_ = value["Message"].asString();
 	if(!value["Data"].isNull())
 		data_ = value["Data"].asString();
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
 
 }
 

+ 115 - 82
cms/src/model/PutResourceMetricRuleRequest.cc

@@ -60,17 +60,6 @@ void PutResourceMetricRuleRequest::setRuleName(const std::string& ruleName)
 	setParameter("RuleName", ruleName);
 }
 
-std::string PutResourceMetricRuleRequest::getEscalationsInfoStatistics()const
-{
-	return escalationsInfoStatistics_;
-}
-
-void PutResourceMetricRuleRequest::setEscalationsInfoStatistics(const std::string& escalationsInfoStatistics)
-{
-	escalationsInfoStatistics_ = escalationsInfoStatistics;
-	setParameter("EscalationsInfoStatistics", escalationsInfoStatistics);
-}
-
 std::string PutResourceMetricRuleRequest::getEffectiveInterval()const
 {
 	return effectiveInterval_;
@@ -82,17 +71,6 @@ void PutResourceMetricRuleRequest::setEffectiveInterval(const std::string& effec
 	setParameter("EffectiveInterval", effectiveInterval);
 }
 
-std::string PutResourceMetricRuleRequest::getEscalationsInfoComparisonOperator()const
-{
-	return escalationsInfoComparisonOperator_;
-}
-
-void PutResourceMetricRuleRequest::setEscalationsInfoComparisonOperator(const std::string& escalationsInfoComparisonOperator)
-{
-	escalationsInfoComparisonOperator_ = escalationsInfoComparisonOperator;
-	setParameter("EscalationsInfoComparisonOperator", escalationsInfoComparisonOperator);
-}
-
 std::string PutResourceMetricRuleRequest::getNoDataPolicy()const
 {
 	return noDataPolicy_;
@@ -126,15 +104,15 @@ void PutResourceMetricRuleRequest::setEmailSubject(const std::string& emailSubje
 	setParameter("EmailSubject", emailSubject);
 }
 
-int PutResourceMetricRuleRequest::getSilenceTime()const
+std::string PutResourceMetricRuleRequest::getOptions()const
 {
-	return silenceTime_;
+	return options_;
 }
 
-void PutResourceMetricRuleRequest::setSilenceTime(int silenceTime)
+void PutResourceMetricRuleRequest::setOptions(const std::string& options)
 {
-	silenceTime_ = silenceTime;
-	setParameter("SilenceTime", std::to_string(silenceTime));
+	options_ = options;
+	setParameter("Options", options);
 }
 
 std::string PutResourceMetricRuleRequest::getMetricName()const
@@ -159,17 +137,6 @@ void PutResourceMetricRuleRequest::setEscalationsWarnTimes(int escalationsWarnTi
 	setParameter("EscalationsWarnTimes", std::to_string(escalationsWarnTimes));
 }
 
-Struct PutResourceMetricRuleRequest::getCompositeExpression()const
-{
-	return compositeExpression_;
-}
-
-void PutResourceMetricRuleRequest::setCompositeExpression(const Struct& compositeExpression)
-{
-	compositeExpression_ = compositeExpression;
-	setParameter("CompositeExpression", std::to_string(compositeExpression));
-}
-
 std::string PutResourceMetricRuleRequest::getPeriod()const
 {
 	return period_;
@@ -225,6 +192,116 @@ void PutResourceMetricRuleRequest::setGroupId(const std::string& groupId)
 	setParameter("GroupId", groupId);
 }
 
+std::string PutResourceMetricRuleRequest::getGroupName()const
+{
+	return groupName_;
+}
+
+void PutResourceMetricRuleRequest::setGroupName(const std::string& groupName)
+{
+	groupName_ = groupName;
+	setParameter("GroupName", groupName);
+}
+
+Array PutResourceMetricRuleRequest::getLabels()const
+{
+	return labels_;
+}
+
+void PutResourceMetricRuleRequest::setLabels(const Array& labels)
+{
+	labels_ = labels;
+	setParameter("Labels", std::to_string(labels));
+}
+
+std::string PutResourceMetricRuleRequest::getInterval()const
+{
+	return interval_;
+}
+
+void PutResourceMetricRuleRequest::setInterval(const std::string& interval)
+{
+	interval_ = interval;
+	setParameter("Interval", interval);
+}
+
+std::string PutResourceMetricRuleRequest::getRuleId()const
+{
+	return ruleId_;
+}
+
+void PutResourceMetricRuleRequest::setRuleId(const std::string& ruleId)
+{
+	ruleId_ = ruleId;
+	setParameter("RuleId", ruleId);
+}
+
+std::string PutResourceMetricRuleRequest::getEscalationsCriticalThreshold()const
+{
+	return escalationsCriticalThreshold_;
+}
+
+void PutResourceMetricRuleRequest::setEscalationsCriticalThreshold(const std::string& escalationsCriticalThreshold)
+{
+	escalationsCriticalThreshold_ = escalationsCriticalThreshold;
+	setParameter("EscalationsCriticalThreshold", escalationsCriticalThreshold);
+}
+
+std::string PutResourceMetricRuleRequest::getEscalationsInfoStatistics()const
+{
+	return escalationsInfoStatistics_;
+}
+
+void PutResourceMetricRuleRequest::setEscalationsInfoStatistics(const std::string& escalationsInfoStatistics)
+{
+	escalationsInfoStatistics_ = escalationsInfoStatistics;
+	setParameter("EscalationsInfoStatistics", escalationsInfoStatistics);
+}
+
+std::string PutResourceMetricRuleRequest::getEscalationsInfoComparisonOperator()const
+{
+	return escalationsInfoComparisonOperator_;
+}
+
+void PutResourceMetricRuleRequest::setEscalationsInfoComparisonOperator(const std::string& escalationsInfoComparisonOperator)
+{
+	escalationsInfoComparisonOperator_ = escalationsInfoComparisonOperator;
+	setParameter("EscalationsInfoComparisonOperator", escalationsInfoComparisonOperator);
+}
+
+int PutResourceMetricRuleRequest::getSilenceTime()const
+{
+	return silenceTime_;
+}
+
+void PutResourceMetricRuleRequest::setSilenceTime(int silenceTime)
+{
+	silenceTime_ = silenceTime;
+	setParameter("SilenceTime", std::to_string(silenceTime));
+}
+
+Struct PutResourceMetricRuleRequest::getPrometheus()const
+{
+	return prometheus_;
+}
+
+void PutResourceMetricRuleRequest::setPrometheus(const Struct& prometheus)
+{
+	prometheus_ = prometheus;
+	setParameter("Prometheus", std::to_string(prometheus));
+}
+
+Struct PutResourceMetricRuleRequest::getCompositeExpression()const
+{
+	return compositeExpression_;
+}
+
+void PutResourceMetricRuleRequest::setCompositeExpression(const Struct& compositeExpression)
+{
+	compositeExpression_ = compositeExpression;
+	setParameter("CompositeExpression", std::to_string(compositeExpression));
+}
+
 std::string PutResourceMetricRuleRequest::getResources()const
 {
 	return resources_;
@@ -258,17 +335,6 @@ void PutResourceMetricRuleRequest::setGroupBy(const std::string& groupBy)
 	setParameter("GroupBy", groupBy);
 }
 
-std::string PutResourceMetricRuleRequest::getGroupName()const
-{
-	return groupName_;
-}
-
-void PutResourceMetricRuleRequest::setGroupName(const std::string& groupName)
-{
-	groupName_ = groupName;
-	setParameter("GroupName", groupName);
-}
-
 int PutResourceMetricRuleRequest::getEscalationsCriticalTimes()const
 {
 	return escalationsCriticalTimes_;
@@ -313,28 +379,6 @@ void PutResourceMetricRuleRequest::set_Namespace(const std::string& _namespace)
 	setParameter("_Namespace", _namespace);
 }
 
-std::string PutResourceMetricRuleRequest::getInterval()const
-{
-	return interval_;
-}
-
-void PutResourceMetricRuleRequest::setInterval(const std::string& interval)
-{
-	interval_ = interval;
-	setParameter("Interval", interval);
-}
-
-std::string PutResourceMetricRuleRequest::getRuleId()const
-{
-	return ruleId_;
-}
-
-void PutResourceMetricRuleRequest::setRuleId(const std::string& ruleId)
-{
-	ruleId_ = ruleId;
-	setParameter("RuleId", ruleId);
-}
-
 std::string PutResourceMetricRuleRequest::getEscalationsCriticalComparisonOperator()const
 {
 	return escalationsCriticalComparisonOperator_;
@@ -346,14 +390,3 @@ void PutResourceMetricRuleRequest::setEscalationsCriticalComparisonOperator(cons
 	setParameter("EscalationsCriticalComparisonOperator", escalationsCriticalComparisonOperator);
 }
 
-std::string PutResourceMetricRuleRequest::getEscalationsCriticalThreshold()const
-{
-	return escalationsCriticalThreshold_;
-}
-
-void PutResourceMetricRuleRequest::setEscalationsCriticalThreshold(const std::string& escalationsCriticalThreshold)
-{
-	escalationsCriticalThreshold_ = escalationsCriticalThreshold;
-	setParameter("EscalationsCriticalThreshold", escalationsCriticalThreshold);
-}
-